news 2026/4/14 11:49:27

AI开发-python-langchain框架(1-9 返回字符串列表-格式解析器)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI开发-python-langchain框架(1-9 返回字符串列表-格式解析器)

大模型输出结果通常都是文本信息,如何让他按照你期望的格式输出?

这段代码演示了如何使用LangChain将大语言模型的自由文本输出转换为结构化的字符串列表。核心目标是让模型返回逗号分隔的多个值,并通过专用解析器自动拆分为Python列表。

CommaSeparatedListOutputParser专用于解析逗号分隔的文本,自动处理空格、引号等边界字符,输出类型为List[str]。与StrOutputParser返回纯字符串不同,它强制将响应拆分为离散元素,适用于多值提取场景。
提示词设计必须显式约束输出格式。通过partial_variables注入格式指令(如"内容1, 内容2, 内容3"),引导模型生成符合解析器要求的纯列表文本。若缺少格式约束,模型可能返回自然语言描述,导致解析器机械分割产生语义错误。
代码如下:
from langchain.output_parsers import CommaSeparatedListOutputParser from langchain.prompts import PromptTemplate from langchain_openai import ChatOpenAI import os #输出-字符串列表 output_parser = CommaSeparatedListOutputParser() #这里指定分隔符 format_instructions = "您的响应应该是csv格式的逗号分隔值的列表,例如:'内容1, 内容2, 内容3'" #构建提示词-给出样例,提高返回的准确率 prompt = PromptTemplate( template="{format_instructions}\n请列出五个 {subject}.", input_variables=["subject"], partial_variables={"format_instructions": format_instructions}, ) #输出提示词 print('#######################') print(prompt.invoke({"subject": "宠物狗的品种"}).text) print('#######################') llm = ChatOpenAI( api_key=os.getenv("DEEPSEEK_API_KEY"), base_url=os.getenv("BASE_URL"), # Deepseek 的 API 基础地址 model="deepseek-v3:671b", # Deepseek 对话模型(可选:deepseek-chat-pro 等高级模型) temperature=0.7, # 温度参数(0-1,越低越稳定) max_tokens=1024 # 最大生成 tokens ) chain = prompt | llm | output_parser result = chain.invoke({"subject": "宠物狗的品种"}) print(result)

输出结果如下:

#######################
您的响应应该是csv格式的逗号分隔值的列表,例如:'内容1, 内容2, 内容3'
请列出五个 宠物狗的品种.
#######################
["'拉布拉多", '金毛寻回犬', '德国牧羊犬', '贵宾犬', "比格犬'"]

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

计算机毕业设计之springboot超市货品信息管理系统

随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的超市货品信息管理系统。当前的信息管理存在工作…

作者头像 李华
网站建设 2026/4/14 1:23:56

基于微信小程序的旧物回收系统设计

一、项目技术介绍 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/…

作者头像 李华
网站建设 2026/4/12 15:35:34

设计打车比价工具,输入起点终点,自动查询主流打车平台预估费用,接单时长,对比展示,选择性价比最高,帮用户省钱省时间。

1. 实际应用场景描述场景在城市出行中,用户常需要在多个打车平台(如滴滴、高德、T3、美团打车等)之间比价,以选择价格最低、等待时间最短的方案。尤其在高峰期或长途出行时,不同平台的报价和接单速度差异明显。2. 痛点…

作者头像 李华
网站建设 2026/4/11 20:37:58

怎么降低AIGC论文检测?2026年降AI工具选择指南

怎么降低AIGC论文检测?2026年降AI工具选择指南 工具这么多,到底选哪个? 怎么降低AIGC论文检测?市面上降AI工具五花八门,这份选择指南帮你找到最适合的。 2026年主流降AI工具 第一梯队: 嘎嘎降AI&#xff08…

作者头像 李华
网站建设 2026/4/12 18:29:54

AIGC检测怎么降?2026年免费降AI工具测评来了

AIGC检测怎么降?2026年免费降AI工具测评来了 10款工具实测对比,找到最适合你的 AIGC检测怎么降?这是2026届毕业生最关心的问题。市面上降AI工具琳琅满目,到底哪个好用?今天带来详细测评。 测试环境 测试文本&#xff1…

作者头像 李华