LangChain快速学习(第3节)-链式调用实现方法

企业级AI落地项目系列课程详解 -> 点击进入

LangChian核心功能:链式调用实现方法

  顾名思义,LangChain之所以被称为LangChain,其核心概念就是Chain。 Chain翻译成中文就是“链”。一个链,指的是可以按照某一种逻辑,按顺序组合成一个流水线的方式。比如我们刚刚实现的问答流程: 用户输入一个问题 –> 发送给大模型 –> 大模型进行推理 –> 将推理结果返回给用户。这个流程就是一个链。

尝试搭建一个简单的链

  例如,我们这里可以先尝试着搭建一个简单的链,将模型输出结果“过滤”为一个纯字符串格式:

Python
from langchain_core.output_parsers import StrOutputParser
from langchain.chat_models import init_chat_model

# 使用 DeepSeek 模型
model = init_chat_model(model=”deepseek-chat”, model_provider=”deepseek”) 

# 直接使用模型 + 输出解析器搭建一个链
basic_qa_chain = model | StrOutputParser()

Python
# 查看输出结果
question = “你好,请你介绍一下你自己。”
result = basic_qa_chain.invoke(question)

Python
result

Plaintext
'你好!我是 **DeepSeek Chat**,由深度求索(DeepSeek)公司研发的智能 AI 助手。我可以帮助你解答各种问题,包括学习、工作、编程、生活小技巧等,还能处理和分析上传的文件(如 PDF、Word、Excel 等)。 

### **我的特点:** 
✅ **免费使用**:目前无需付费,你可以随时向我提问。 
✅ **知识丰富**:我的知识截止到 **2024 年 7 月**,能提供较新的信息。 
✅ **支持长文本**:上下文可达 **128K**,适合处理复杂问题。 
✅ **文件阅读**:可以解析上传的文档,提取关键信息。 
✅ **多语言支持**:能用中文、英文等多种语言交流。 

### **我能帮你做什么?** 
📚 **学习**:解题思路、论文润色、语言学习 
💼 **工作**:写邮件、做 PPT、数据分析 
💻 **编程**:代码调试、算法讲解、项目建议 
📖 **阅读 & 写作**:书籍推荐、文章润色、创意写作 
🔍 **信息查询**:科技、历史、新闻、生活百科 

你可以随时向我提问,我会尽力提供准确、有用的回答!😊 有什么我可以帮你的吗?'

此时result就不再是包含各种模型调用信息的结果,而是纯粹的模型响应的字符串结果。而这里用到的StrOutputParser()实际上就是用于构成LangChain中一个链条的一个对象,其核心功能是用于处理模型输出结果。同时我们也能发现,只需要使用Model | OutputParser,即可高效搭建一个链。

  类似这种结果解析器还有很多,稍后我们会继续进行介绍。

加入提示词模板创建链

  接下来我们尝试为当前的执行流程添加一个提示词模板,我们可以借助ChatPromptTemplate非常便捷的将一个提示词模板,同样以链的形式加入到当前任务中:

Python
from langchain.output_parsers.boolean import BooleanOutputParser
from langchain.prompts import ChatPromptTemplate

prompt_template = ChatPromptTemplate([
    (“system”, “你是一个乐意助人的助手,请根据用户的问题给出回答”),
    (“user”, “这是用户的问题: {topic}, 请用 yes 或 no 来回答”)
])

# 直接使用模型 + 输出解析器
bool_qa_chain = prompt_template | model | StrOutputParser()
# 测试
question = “请问 1 + 1 是否 大于 2?”
result = bool_qa_chain.

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容