news 2026/4/23 19:16:49

LangChain框架的输入输出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain框架的输入输出

LangChain框架的输入输出(I/O)流程是一个标准化的数据处理管道,主要由提示、语言模型和输出解析器三个核心组件构成,它们协同工作实现与语言模型的交互。

8.2.1 提示

提示(Prompt)是向语言模型提供的输入文本,用于引导模型生成特定类型的回答。LangChain提供了多种提示模板,让你可以动态地构建提示。提示的关键特性包括模板化和多类型支持。

(1)模板化:使用PromptTemplate将用户输入(如变量)动态嵌入预定义的文本模板(如“解释{term}的概念”)。

(2)多类型支持:包括少量示例提示(FewShotPromptTemplate)和对话提示(ChatPromptTemplate)等。

【示例8.1】提示。

from langchain.prompts import PromptTemplate

#创建一个提示模板

prompt = PromptTemplate(

input_variables=["topic"],

template="请简要解释一下{topic}的基本概念。"

)

#格式化提示

formatted_prompt = prompt.format(topic="量子计算")

print(formatted_prompt) #输出: "请简要解释一下量子计算的基本概念。"

输出:

请简要解释一下量子计算的基本概念。

8.2.2 语言模型

LangChain支持多种语言模型(Language Model),包括OpenAI、Hugging Face等。你可以直接调用这些模型来处理提示并生成回答。语言模型接收提示并生成文本输出,主要分为大语言模型(LLM)和聊天模型(Chat Model)。

(1)大语言模型:如OpenAI的text-davinci-003,生成非结构化文本。

(2)聊天模型:如GPT-3.5-Turbo,专为多轮对话设计,输入/输出为结构化消息(HumanMessage、AIMessage)。

【示例8.2】语言模型Qwen+LangChain。

from modelscope import AutoModelForCausalLM, AutoTokenizer

from langchain.prompts import PromptTemplate

import os

#设置镜像和缓存路径

#os.environ['MODELSCOPE_CACHE'] = './model_cache' #直接使用示例2.1下载的模型Qwen3-1.7B

os.environ['MODELSCOPE_MIRROR'] = 'https://www.modelscope.cn'

#创建提示模板

prompt = PromptTemplate(

input_variables=["topic"],

template="请简要解释一下{topic}的基本概念。"

)

formatted_prompt = prompt.format(topic="量子计算")

print(formatted_prompt)

try:

#尝试初始化模型

model_id = "qwen/Qwen3-1.7B"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", trust_remote_code=True)

#生成回答

inputs = tokenizer(formatted_prompt, return_tensors="pt").to("cuda")

outputs = model.generate(**inputs, max_new_tokens=200)

response = tokenizer.decode(outputs[0], skip_special_tokens=True)

print(response)

except Exception as e:

print(f"加载模型时出错: {e}")

print("请检查网络连接或尝试使用离线模式")

输出:

请简要解释一下量子计算的基本概念。

量子计算是一种基于量子力学原理进行信息处理的计算方式。与传统计算机使用二进制位(01)不同,量子计算使用量子比特(qubit),它可以处于01的叠加态,并且多个量子比特之间可以形成纠缠关系。这使得量子计算机在解决某些特定问题(如大数分解、数据库搜索、量子模拟等)时,能够展现出远超传统计算机的计算能力,有望在密码学、材料科学、人工智能等领域带来革命性突破。

8.2.3 输出解析器

输出解析器(Output Parser)用于处理语言模型的输出,将其转换为结构化的数据(如JSON、列表等)。因此,它在需要特定格式回答的场景中特别有用。输出解析器的常用类型包括:

(1)结构化解析器:强制输出为指定格式(如PydanticOutputParser)。

(2)列表解析器:拆分逗号分隔的字符串为列表(CommaSeparatedListOutputParser)。

(3)重试解析器:自动修复格式错误的输出。

【示例8.3】输出解析器。

from langchain.output_parsers import CommaSeparatedListOutputParser

#初始化输出解析器

output_parser = CommaSeparatedListOutputParser()

#假设模型输出是一个逗号分隔的列表

model_output = "人工智能,机器学习,深度学习"

#解析输出

parsed_output = output_parser.parse(model_output)

print(parsed_output) #输出: ['人工智能', '机器学习', '深度学习']

输出:

['人工智能', '机器学习', '深度学习']

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 12:07:06

百度网盘秒传链接全攻略:3分钟掌握高效文件转存技巧

百度网盘秒传链接全攻略:3分钟掌握高效文件转存技巧 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 在数字化文件管理时代,百…

作者头像 李华
网站建设 2026/4/23 5:53:29

面向初学者的torch.matmul教程,通过简单易懂的示例和图示,讲解PyTorch中最常用的矩阵运算函数,帮助新手快速掌握深度学习的基础数学操作。

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个交互式学习模块,包含:1) 矩阵乘法基础概念动画解释;2) 2x2矩阵的逐步计算演示;3) 常见错误示例及解决方法;4) 简…

作者头像 李华
网站建设 2026/4/20 2:31:55

虚拟旅行体验:基于随机街景的5个创新应用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个虚拟旅行体验平台,具有以下功能:1. 每日随机推荐全球特色街景 2. 街景探索游戏模式 3. 地理位置知识问答 4. 用户收藏和分享功能。平台应包含用户账…

作者头像 李华
网站建设 2026/4/16 14:58:29

联想拯救者BIOS隐藏功能一键解锁完整指南

联想拯救者BIOS隐藏功能一键解锁完整指南 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mirrors/le/LEGION_Y7000Series_In…

作者头像 李华
网站建设 2026/4/23 21:35:49

销售生产力革命:工具驱动业绩倍增的底层逻辑

一、销售团队生产力:业绩增长的核心引擎 销售团队的生产力,直接定义了企业营收的天花板。它并非单纯的“人均成单量”,而是涵盖线索转化效率、客户维护质量、流程运转流畅度的综合能力指标。调研数据显示,高效销售团队的线索转化…

作者头像 李华