当前位置: 代码网 > it编程>前端脚本>Python > Langchain开发环境部署及使用本地模型详解

Langchain开发环境部署及使用本地模型详解

2025年12月30日 Python 我要评论
作为ai工程框架,langchain实际是对llm能力的扩展和补充。如果把llm比作人的大脑,langchain则是人的躯干和四肢,协助llm完成“思考”之外的“脏

作为ai工程框架,langchain实际是对llm能力的扩展和补充。

如果把llm比作人的大脑,langchain则是人的躯干和四肢,协助llm完成“思考”之外的“脏活累活”。

一、安装环境

1、创建并激活虚拟环境

创建名为 mylc 的虚拟环境

python -m venv mylc

激活虚拟环境

cd c:\users\amdin
mylc\scripts\activate

也可采用conda做虚拟环境管理

2、安装核心库

  • langchain (核心)
  • langchain-openai (与openai模型交互)
  • langchain-core: 包含所有核心抽象和运行时逻辑(如 llm, chain, runnable 等)
  • langchain-community (社区维护的集成)
pip install langchain langchain-openai langchain-core langchain-community -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

3、安装常用依赖

  • tiktoken: openai 用于计算文本 token 数量的工具。
  • chromadb: 一个开源的向量数据库,用于存储文档嵌入向量。
  • faiss-cpu: facebook ai 开发的高效向量相似度搜索库。
  • python-dotenv: 用于从 .env 文件中加载环境变量 (如 api 密钥)。
pip install tiktoken chromadb faiss-cpu python-dotenv -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

4、验证开发环境

编写并执行test.py文件

import sys
import langchain
import openai

# 打印已安装库的版本
print(f"langchain version: {langchain.__version__}")
print(f"openai version: {openai.__version__}")

# 打印 python 解释器版本
print(f"python version: {sys.version}")

二、如何在 langchain 中使用本地模型?

chatopenai 这个类是专门为 openai 官方 api 设计的集成。

它的工作原理是:

封装 api 请求:当你调用 chat_model.invoke(…) 时,chatopenai 类会将你的输入(如问题、消息列表)格式化成符合 openai api 规范的 json 数据。

发送网络请求:它通过网络将这个 json 数据发送到 openai 的服务器。

接收并解析响应:openai 的服务器在其强大的 gpu 集群上运行模型,生成回答后,将结果以 json 格式返回。chatopenai 类接收这个响应,并将其解析成 langchain 内部的数据结构(如 aimessage)。

关键点在于:chatopenai 是一个 “客户端” 或 “api 封装器”,它本身不包含任何模型的计算逻辑,所有的计算都发生在 openai 的远程服务器上。 因此,它无法加载和执行你本地的模型文件。

那么如何在 langchain 中使用本地模型?

要在 langchain 中使用本地模型,你需要使用 langchain 为本地模型推理框架提供的集成。

这些框架负责在你的本地机器(cpu 或 gpu)上加载和运行模型,而 langchain 则提供一个统一的接口来调用它们。

1、使用vllm部署本地模型

#使用本机的18000端口,–model执行本地模型路径,–served-model-name为模型别名,方便后续langchain指定

python -m vllm.entrypoints.openai.api_server --model modelpath --host 0.0.0.0 --port 18000 --served-model-name deepseek-r1-local

注:也可以使用ollma或者其它方式部署本地模型。

2、使用langchain进行推理

编写测试文件test_langchain.py

from langchain_openai import chatopenai
# --- core cfg ---
# user chatopenai class obj,and configure it to point to deepseek's api
# 1. model_name:  deepseek model name,
# 2. openai_api_base: deepseek api point,default is https://api.deepseek.com
# 3. openai_api_key: local mode need to set it to "none"
# 4. max_tokens: max token num
llm = chatopenai(    
model_name="deepseek-r1-localg",      
openai_api_base="http://127.0.0.1:18000/v1/",    
openai_api_key="none",      
max_tokens=1024,    
temperature=0.7
)
try:    
print("calling local deepseek-r1 model...")    
response = llm.invoke("who are you ? and explain how you differ from openai's gpt model?")        
print("\n--- local deepseek-r1 answer ---")    
print(response.content)    
print("------------------------")
except exception as e:    
print(f"error: {e}")

执行test_langchain.py,即可看到终端打印的输出内容,至此langchain调用本地模型的开发环境准备完毕。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com