LangChain使用入门

安装LangChain

sh 复制代码
uv add langchain
uv add langchain-openai

本地启动一个大模型

参考文章juejin.cn/post/762965...

sh 复制代码
(base) gillbert@pop-os:~$ conda activate llm
(llm) gillbert@pop-os:~$ cd models/
(llm) gillbert@pop-os:~/models$ vllm serve DeepSeek-R1-Distill-Qwen-1.5B --tensor-parallel-size 1 --gpu-memory-utilization 0.7 --max-model-len 4096 --host 0.0.0.0 --port 8000 --api-key 123456

连接模型

python 复制代码
from langchain.chat_models import init_chat_model

model = init_chat_model(
    model="DeepSeek-R1-Distill-Qwen-1.5B",
    model_provider="openai",
    api_key="123456",
    base_url="http://192.168.0.23:8000/v1"
)

print(model.invoke("你是谁").content)

print("*" * 50)

输出如下

流式输出

python 复制代码
from langchain.chat_models import init_chat_model
import logging

from langchain_core.language_models import BaseChatModel

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

def init_llm_client() -> BaseChatModel:
    model = init_chat_model(
        model="DeepSeek-R1-Distill-Qwen-1.5B",
        model_provider="openai",
        api_key="123456",
        base_url="http://192.168.0.23:8000/v1"
    )

    return model

def main():
    try:
        chat = init_llm_client()
        logger.info("LLM客户端初始化成功")
        # 流式输出
        response_stream = chat.stream("介绍一下日语的动词变形")
        for chunk in response_stream:
            print(chunk.content, end="")
    except Exception as e:
        logger.error(e)


if __name__ == "__main__":
    main()
相关推荐
卷福同学5 小时前
AI编程出海第二步:验证关键词能否做站
前端·人工智能·后端
Csvn6 小时前
📊 SQL 入门 Day 11:CASE 表达式:SQL 里的 if-else 魔法
后端·sql
QQ_21696290966 小时前
Spring Boot 养老院管理系统:从入住、护理到费用结算的全流程实现(源码可领)
java·spring boot·后端
万少8 小时前
DeepSeek-V4-Flash 正式版上线了,但这 3 个坑我帮你提前踩了
前端·javascript·后端
明月_清风9 小时前
🚀 Palantir Foundry 本体论实战:当 Ontology 从"知识图谱"进化为"企业操作系统"
前端·后端
明月_清风9 小时前
从概念到代码:用 Ontology 构建你的第一个知识图谱
前端·后端
Python私教9 小时前
Django 6.1 邮件配置大改:旧项目如何平稳升级?
后端·python·django
Python私教9 小时前
Django 6.1 升级避坑:数据库版本不兼容怎么解决?
后端·python·django
Python私教9 小时前
Django 接口开发实测:新手还需要使用 REST 框架吗?
后端·python·django
techdashen9 小时前
Go设计取舍之三: 0.3ns每次的错误Benchmark
开发语言·后端·golang