LangChain快速入门
LangChain安装
要安装LangChain,可以使用pip命令进行安装。以下是安装LangChain的步骤:
pip install langchain
AI写代码
python
运行
如果要使用OpenAI的LLM,安装命令为(pip不仅会安装LangChain库的核心部分,还会安装与使用OpenAI模型相关的所有必需依赖项):
pip install langchain[openai]
AI写代码
python
运行
注意:请大家确保安装的Python版本为3.10或更高版本。我们可以从Python官网地址:Welcome to Python.org下载并安装。
若使用OpenAI的LLM,必须要设置OpenAI API Key,否则运行代码会报错。
第一种方式为:在环境变量->系统变量->新建系统变量,变量名称为OPENAI_API_KEY,变量值为你自己的OpenAI API Key。操作完成后要重启电脑,该环境变量才能生效。
第二种方式为:在上述Pyhon代码中将os.environ["OPENAI_API_KEY"]这行代码取消注释,等号右边输入你的OpenAI API Key。
虽然两种方法都可行,但是博主并不推荐第二种方式,因为当别人获取到你的代码就知道你的OpenAI API Key是多少了。
上述步骤安装完成后,使用代码进行测试:
测试代码
import os
from langchain_openai import ChatOpenAI
from langchain.schema import HumanMessage
# os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY" # 如果已设置OPENAI_API_KEY环境变量,此步骤可跳过。
chat_model = ChatOpenAI(model_name="gpt-3.5-turbo")
# 创建一个HumanMessage
message = HumanMessage(content="请写一个关于春天的短诗")
# 使用模型预测并获取回复
response = chat_model.invoke([message])
print(response.content)
AI写代码
python
运行
运行结果
春天来了,鸟语花香,
百花盛开,春雨润长。
阳光明媚,春风拂面,
大地一片生机勃勃的景象。
柳枝垂垂,燕子飞舞,
万物复苏,一派生机。
春天的美丽,无处不在,
让我们心旷神怡,享受这份美好。
进程已结束,退出代码为 0
AI写代码
python
运行
LangChain快速入门示例
我们使用ChatOpenAI(它是LangChain中一个非常重要的类,充当了与OpenAI的聊天模型进行交互的接口)来帮助我们回答问题。使用该类回答问题时,需创建并实例化一个对象,传入使用的 OpenAI大模型名称(如gpt-3.5-turbo等),并且可根据需求设置temperature、max_tokens等其他相关参数,以实现与相应大模型的交互并获取回答。
此外,我们还可以通过提示词模板(Prompt Template)生成提示词,然后再向大模型发送指令。下面演示如何创建一个简单LLM的链(Chain):
完整代码
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
# 如果已设置OPENAI_API_KEY环境变量,此步骤可跳过。
# os.environ["OPENAI_API_KEY"] = "你的OPENAI_API_KEY"
# 实例化ChatOpenAI类,创建一个聊天模型对象
# model_name参数指定使用的OpenAI模型名称,这里使用的是gpt-3.5-turbo
chat_model = ChatOpenAI(model_name="gpt-3.5-turbo")
# 使用ChatPromptTemplate的from_messages方法创建一个对话提示模板
# 传入的列表中包含两个元组,分别代表系统消息和用户消息
# 系统消息用于向模型提供一些基本的指令或上下文信息,这里告知模型它是专业的微信公众号写作助手
# 用户消息使用占位符{input},表示后续可以动态传入具体的用户输入内容
prompt = ChatPromptTemplate.from_messages([
("system", "你是专业的微信公众号写作助手"),
("user", "{input}")
])
# 实例化StrOutputParser类,创建一个输出解析器对象
# 该解析器用于将模型的输出结果解析为字符串类型
output_parser = StrOutputParser()
# 使用管道操作符|将提示模板、聊天模型和输出解析器连接起来,形成一个处理链
# 这个链的作用是: 先根据提示模板生成输入消息,然后将消息传递给聊天模型进行处理,最后将模型的输出进行解析
chain = prompt | chat_model | output_parser
# 调用链的invoke方法,传入一个字典作为参数
# 字典中的键"input"对应提示模板中的占位符{input},值为具体的用户需求
# 这里要求模型帮写一篇关于人工智能的微信公众号文章,字数要求100字
result = chain.invoke({"input": "帮我写一篇关于内容关于人工智能的微信公众号,要求100个字"})
# 打印模型生成的结果
print(result)
AI写代码
python
运行
运行结果
当代科技领域的热门话题——人工智能,让我们走进未来的世界。在这个微信公众号中,我们将探讨人工智能在各个领域的应用,介绍最新的技术进展和研究成果,让读者了解人工智能对社会、经济和生活的影响。同时,我们也将分享人工智能的发展历程、伦理道德的讨论以及未来发展的趋势。让我们一起探讨人工智能的无限可能性!
进程已结束,退出代码为 0
AI写代码
python
运行
我们看到上述代码中,实例化了一个StrOutputParser对象,并应用到了Chain里。使用了StrOutputParser后,就可以直接得到干净的文本内容了,如上运行结果所示。假如没有使用StrOutputParser,result得到的结果是一个包含多种信息的复杂对象。如不使用StrOutputParser则运行结果如下所示:
不使用StrOutputParser运行结果
content='当今高度发达的人工智能技术改变着我们的生活与工作方式。本公众号将为您详细解读人工智能在各领域的应用,带您了解最新的AI技术发展和趋势。无论您是对人工智能感兴趣的新手还是专业人士,我们将为您提供有趣且深入的内容,让您深入了解这个神奇的领域。敬请关注!#人工智能# #AI#' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 156, 'prompt_tokens': 57, 'total_tokens': 213, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'gpt-3.5-turbo-0125', 'system_fingerprint': 'fp_0165350fbb', 'finish_reason': 'stop', 'logprobs': None} id='run-8a3e48c1-1bd0-474e-8010-f628b746ab29-0' usage_metadata={'input_tokens': 57, 'output_tokens': 156, 'total_tokens': 213, 'input_token_details': {}, 'output_token_details': {}}
进程已结束,退出代码为 0
AI写代码
python
运行
结束
好了,以上就是本次分享的全部内容了。不知道大家有没有理解并掌握我今天所讲的要点。
如果大家之前看过我分享的关于微软AutoGen的内容,应该能发现,LangChain和微软AutoGen在不少方面存在着相似性。由于今天只对LangChain进行快速入门的讲解,所以这里就不列举出它们的相似性和区别了(博主担心一些对LangChain新入门的小伙伴不理解)。
原文链接:https://blog.csdn.net/chengyidechengxu/article/details/145655198
浙公网安备 33010602011771号