智能体(AI Agent)开发实战之【LangChain】(一)接入大模型输出结果

LangChain 是一个强大的开源框架,专为构建与大语言模型(LLMs)相关的应用而设计。通过将多个 API、数据源和外部工具无缝集成,LangChain 能帮助开发者更高效地构建智能应用。

一、环境准备

安装LangChain,langChain-core等库,我安装时LangChain版本是:0.3.21,langChain-core版本是当时最新版本:0.3.48。因为一些常用的大模型都遵循 OpenAI API 规范,还需要安装OPENAI相关库。如果使用国内的大模型也要安装相应的库如:DeepSeek库。如以下相关截图:

二、编写代码接入开源大模型并输出结果

因相关原因,访问国外开源大模型有限制。我通过对比和实践,选择了国内的开源大模型Qwen并使用国内的一个平台API来实现接入大模型并输出结果。

1.导入必要的库和类

javascript 复制代码
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage

2.配置ChatOpenAI实例

ini 复制代码
chat_model = ChatOpenAI(    
#model="deepseek-chat",    
#model = "Pro/deepseek-ai/DeepSeek-R1",    
#model = "Qwen/Qwen2.5-72B-Instruct",    
model = "Qwen/Qwen2.5-7B-Instruct",    
openai_api_key=DEEPSEEK_API_KEY,    
openai_api_base=DEEPSEEK_API_BASE,    
temperature=0.7,     
max_tokens=500,     
stream=False)

3.构建消息列表

ini 复制代码
messages = [    
SystemMessage(content="你是一个知识渊博的助手,能回答各种问题。"),   
HumanMessage(content="介绍一下长城")]

4.调用大模型并获取返回结果

ini 复制代码
# 调用大模型
response = chat_model.invoke(messages)
# 输出模型的响应结果print(response.content)

5.ChatOpenAI类的自定义配置参数说明

model_name:指定要使用的具体模型名称,例如ChatOpenAI中可以指定model_name="gpt - 3.5 - turbo"

temperature:控制生成文本的随机性,取值范围在 0 到 1 之间,值越大生成的文本越随机

max_tokens:限制生成文本的最大 token 数量

stream:如果设置为True(默认值是False),模型将以流式输出的方式返回结果,即边生成边返回,而不是等整个生成过程结束后再返回,适用于需要实时获取生成结果的场景。

6.运行代码输出结果

三、总结

LangChain 提供了丰富的接口用于和不同的大模型集成和交互,可帮助开发者轻松地构建出功能强大的对话式智能应用。

相关推荐
Dm_dotnet2 小时前
公益站Agent Router注册送200刀额度竟然是真的
人工智能
算家计算2 小时前
7B参数拿下30个世界第一!Hunyuan-MT-7B本地部署教程:腾讯混元开源业界首个翻译集成模型
人工智能·开源
机器之心2 小时前
LLM开源2.0大洗牌:60个出局,39个上桌,AI Coding疯魔,TensorFlow已死
人工智能·openai
Juchecar3 小时前
交叉熵:深度学习中最常用的损失函数
人工智能
林木森ai3 小时前
爆款AI动物运动会视频,用Coze(扣子)一键搞定全流程(附保姆级拆解)
人工智能·aigc
聚客AI4 小时前
🙋‍♀️Transformer训练与推理全流程:从输入处理到输出生成
人工智能·算法·llm
BeerBear5 小时前
【保姆级教程-从0开始开发MCP服务器】一、MCP学习压根没有你想象得那么难!.md
人工智能·mcp
小气小憩6 小时前
“暗战”百度搜索页:Monica悬浮球被“围剿”,一场AI Agent与传统巨头的流量攻防战
前端·人工智能
神经星星6 小时前
准确度提升400%!印度季风预测模型基于36个气象站点,实现城区尺度精细预报
人工智能
IT_陈寒9 小时前
JavaScript 性能优化:5 个被低估的 V8 引擎技巧让你的代码快 200%
前端·人工智能·后端