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()
相关推荐
特立独行的猫A4 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
码事漫谈7 小时前
我花了一周时间,看AI公司怎么"管"AI,结果越看越后背发凉
后端
爱学习的程序媛10 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
GISer_Jing10 小时前
Agent核心内容
后端·ai·langchain
budingxiaomoli11 小时前
Spring统一功能处理
java·后端·spring
某鹏12 小时前
网关选型:Go、Java、Graal 谁都不能完胜
后端
用户02478365309712 小时前
从屎山到防线:14 行状态迁移表,给任务系统装上防瞎跳闸门
后端
CQU_JIAKE12 小时前
11.13[体系结构】指标,五级流水线,八级流水线,虚实地址思考
后端
panbook14 小时前
从0到1实现一个分布式时序数据库(三):主从复制、故障检测与切换
后端
上线再说14 小时前
图片从 8.2MB 压到 296KB:我把小程序图片链路的账单拆了一遍
后端