LangChain
LangChain是一个用于开发由大型语言模型 (LLM) 驱动的应用程序的框架,帮助开发者使用大型语言模型(LLMs)和聊天模型构建端到端的应用程序。
LangChain库主要由以下几个不同的包组成:
-
langchain-core:基础抽象和LangChain表达语言; -
langchain-community:第三方集成,主要包括langchain集成的第三方组件; -
langchain:主要包括链(chain)、代理(Agent)和检索策略;
LangChain的核心组件:
-
模型(Models):包含各大语言模型的LangChain接口和调用细节,以及输出解析机制; -
提示模板(Prompts):使提示工程流线化,进一步激发大语言模型的潜力; -
数据检索(Indexes):构建并操作文档的方法,接受用户的查询并返回最相关的文档,轻松搭建本地知识库; -
记忆(Memory):通过短时记忆和长时记忆,在对话过程中存储和检索数据,让CahtBot记住你。 -
链(Chains):LangChain中的核心机制,以特定方式封装各种功能,并通过一系列的组合,自动而灵活地完成任务; -
代理(Agents):另一个LangChain中核心的机制,通过“代理”让大模型自主调用外部工具和内部工具,使智能Agent成为可能。
好了,这里就不过多介绍LangChain了,大家可以去LangChain官网了解。
安装LangChain
在开始编写LangChain程序前,首先执行如下代码安装openai和langchain:
pip install openai
pip install langchain-openai
pip install langchain
安装完毕后,接下来我们使用OpenAI、智谱AI、LMStudio的openai服务三种方式来编写LangChain程序。
个人比较推荐使用LMStudio的openai服务。
OpenAI
注意:OpenAI需要科学上网才能使用,不使用科学上网可以跳过这一方式。
进入OpenAI官网,根据图中顺序,创建API keys并复制密钥:


接下来编写LangChain程序,示例代码如下:
from langchain_openai import ChatOpenAI # 导入ChatOpenAI
openai_api_key=刚刚复制的OpenAIAPI密钥
llm=ChatOpenAI(openai_api_key=openai_api_key)
print(llm.invoke('中国的首都是哪里?不需要介绍'))
运行结果为:
北京
注意:如果没有OpenAI的API使用次数,会报错:
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error
大家可以根据需求购买。
如果不想每次都设置OpenAI的API密钥,可以在系统的环境变量中添加密钥,如下图所示:

代码修改为:
from langchain_openai import ChatOpenAI
import os
openai_api_key=os.getenv('OPEN_API_KEY') # 在系统环境变量中获取openAI的API密钥
llm=ChatOpenAI(openai_api_key= openai_api_key)
llm.invoke('中国的首都是哪里?不需要介绍')
智谱AI
由于OpenAI需要科学上网才能使用,所以我们可以使用智谱AI,其新用户免费送2000万次请求,创建API Key并复制密钥如下图所示:

执行如下代码安装智谱AI:
pip install zhipuai
示例代码如下:
from zhipuai import ZhipuAI
client=ZhipuAI(api_key='智谱AI密钥')
response = client.chat.completions.create(
# 使用的模型
model='glm-4',
# 会话内容
messages=[
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "我是人工智能助手"},
{"role": "user", "content": "如何学好LangChain"}
],
# 流式输出
stream=True
)
for chunk in response:
print(chunk.choices[0].delta.content,end="")
运行结果如下:

LMStudio的openai服务
大家可以根据这篇文章安装LMStudio。
安装完毕后,如下图所示,加载模型:


完成以上步骤后,编写如下代码:
from langchain_openai import ChatOpenAI
openai_api_key="google/gemma-3-12b" # 可以不设
openai_api_base="http://127.0.0.1:1234/v1"
chat =ChatOpenAI(
openai_api_key=openai_api_key, # 密钥
openai_api_base=openai_api_base, # openai接口
)
print(chat.invoke("当前使用的大模型版本是多少"))
运行结果如下:



