1. 简述LangChain
LangChain是一个开源库,它致力于让开发基于LLM的AI应用更简单,它是一个AI开发领域的万能适配器。
它抽象化了与大语言模型(如OpenAI模型、文心模型等等)交互的复杂性,以及集成了周边的各种工具生态,让开发者可以专注于实现AI应用的逻辑和功能。LangChain提供了一系列易于使用的工具和抽象,使得与大语言模型的交互变得尽可能的简单明了。
使用之前,先安装LangChain:
复制代码pip install langchain
2. LangChain使用OpenAI模型
LangChain与各种AI大模型都做了适配,下面以OpenAI的模型为例,可以简单地通过LangChain来调用它。当然国内使用原生的OpenAI会有些障碍,本文主要使用代理模式,比如https://api.aigc369.com/v1
。
2.1、使用OpenAI的接口
ini复制代码from openai import OpenAI
# 实例化OpenAI模型
client = OpenAI(api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
base_url="https://api.aigc369.com/v1")
# 使用LangChain的接口与模型交互
messages = [
{
"role": "system",
"content": "请你作为我的生活小助手。"
},
{
"role": "user",
"content": "胳膊上起了红疹子怎么办?"
}
]
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages= messages
)
content = response.choices[0].message.content
print(content)
2.2、使用LangChain的接口调用OpenAI的模型
ini复制代码from langchain_openai import ChatOpenAI
# 实例化OpenAI模型
model = ChatOpenAI(model="gpt-3.5-turbo",
openai_api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
openai_api_base="https://api.aigc369.com/v1")
# 使用LangChain的接口与模型交互
from langchain.schema.messages import HumanMessage, SystemMessage, AIMessage
messages = [
SystemMessage(content="请你作为我的生活小助手。"),
HumanMessage(content="胳膊上起了红疹子怎么办?"),
]
response = model.invoke(messages)
print(response.content)
3. 什么是提示词模板
在上一篇《Prompt提示词助力AI写作》里已经聊过Prompt提示词的概念,提示词的主要作用是为了更好的与AI对话,帮助引导AI产生更精确、更相关的文本。所以要尽可能的给AI讲清楚任务、背景、任务等核心要素。
**那Prompt提示词模板是啥呢?**Prompt提示词模板是在LangChain中使用,LangChain 中通过提示模板来构建最终的 Prompt。提示模板
是 LangChain 的核心功能之一。
4. 怎么使用提示词模板
设想一下,如果你想让AI帮你把一段中文翻译成多种语言。那你可能要写多条类似的提示词,让AI一个个的去执行任务。或者你想让AI帮你批量的生成一些固定的邮件,只是中间的人名不同,你肯定也不想写多条类似的提示词。
此时使用提示词模板是最合适的。接下来举个例子,让AI将中文按照我们的要求翻译成多种语言:
ini复制代码from langchain_openai import ChatOpenAI
from langchain.prompts import (
SystemMessagePromptTemplate,
AIMessagePromptTemplate,
HumanMessagePromptTemplate,
)
system_template_text = "你是一位专业的翻译,能够将{input_language}翻译成{output_language}。请只输出翻译后的文本,不要有任何其它内容。"
system_prompt_template = SystemMessagePromptTemplate.from_template(system_template_text)
human_template_text = "文本:{text}"
human_prompt_template = HumanMessagePromptTemplate.from_template(human_template_text)
model = ChatOpenAI(model="gpt-3.5-turbo",
openai_api_key="sk-BuQK7SGbqCZP2i2z7fF267AeD0004eF095AbC78d2f79E019",
openai_api_base="https://api.aigc369.com/v1")
prompt_input_variables = [
{
"input_language": "中文",
"output_language": "英语",
"text": "我今天去超级买衣服",
},
{
"input_language": "中文",
"output_language": "法语",
"text": "我今天去超级买衣服",
},
{
"input_language": "中文",
"output_language": "俄语",
"text": "我今天去超级买衣服",
},
{
"input_language": "中文",
"output_language": "日语",
"text": "我今天去超级买衣服",
},
{
"input_language": "中文",
"output_language": "韩语",
"text": "我今天去超级买衣服",
},
{
"input_language": "中文",
"output_language": "意大利语",
"text": "我今天去超级买衣服",
}
]
for input in prompt_input_variables:
response = model.invoke([
system_prompt_template.format(input_language=input["input_language"], output_language=input["output_language"]),
human_prompt_template.format(text=input["text"])])
print(response.content)
SystemMessagePromptTemplate
代码系统模板,HumanMessagePromptTemplate
代表是用户消息模板。{input_language}
、{output_language}
、{text}
是变量,最终通过format
方法,替换成实际的值来生成最终的Prompt。最终使用LangChain的大模型类执行Prompt即可。
执行结果如下:
5. 什么是LangChainHub
如果碰到复杂场景,需要模型接入各种工具时,就要写复杂的提示词了,比如类似这样这个链接里的提示词模板。这么复杂的提示词写起来就有点尴尬了,幸好有LangChainHub。smith.langchain.com/hub/hwchase…。
LangChainHub 是一个围绕 LangChain 生态系统构建的平台。它能够让开发者更轻松地发现、分享和利用其他人创建的工作流、模板和组件。它相当于是一个丰富的社区资源库。
在 LangChainHub,你可以找到:
- 提示词模板库:这些模板可以帮助你快速开始一个特定任务,比如生成特定格式的文本,或者进行一些复杂的逻辑处理。
- 可重复使用的流程:如果你有常见的工作流,你可以在LangChainHub上找到现成的流程,或者将你的工作流分享给社区。
- 最佳实践的共享:在 LangChainHub 上,开发者可以分享他们的经验教训和解决方案,帮助其他开发者避坑。
比如,从 LangChainHub 寻找某个功能的提示词模板,可以直接这样搞:
python复制代码from langchain import hub
prompt = hub.pull("hwchase17/structured-chat-agent")
print(prompt)
后续再继续详聊LangChainHub。
总结
本文主要聊了LangChain,还聊了如何使用LangChain与OpenAI模型进行提示词模板的交互。希望对你有帮助。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
资源分享
大模型AGI学习包
资料目录
- 成长路线图&学习规划
- 配套视频教程
- 实战LLM
- 人工智能比赛资料
- AI人工智能必读书单
- 面试题合集
《人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取!

1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
3.LLM
大家最喜欢也是最关心的LLM(大语言模型)
《人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取!
