企业级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)
|
|
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.
|
暂无评论内容