news 2026/6/10 17:52:47

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/6/10 10:58:01

基于深度学习的聊天机器人设计(源码+文档)

项目简介基于深度学习的聊天机器人设计实现了以下功能:本系统的主要使用角色为普通用户和管理员用户,两者的功能几乎是一致的,但管理员用户比普通用户多了用户管理的功能,可以对系统内的用户进行管理。普通用户比管理员用户多了注…

作者头像 李华
网站建设 2026/6/10 10:56:18

怎么把论文AI检测降下来?3个实战案例分享

怎么把论文AI检测降下来?3个实战案例分享 真实案例,真实效果 怎么把论文AI检测降下来?看看这3个真实案例,学习他们的成功经验。 案例一:小王的本科毕业论文 背景: 管理学专业论文12000字初始AI率&#xff1…

作者头像 李华
网站建设 2026/6/10 11:01:17

论文AIGC检测怎么降?从源头控制AI率的方法

论文AIGC检测怎么降?从源头控制AI率的方法 与其事后降AI,不如事前控制 论文AIGC检测怎么降?很多同学只关注降AI,却忽略了从源头控制AI率。 为什么要从源头控制? 事后降AI耗时耗力处理不当可能影响质量有些内容处理…

作者头像 李华
网站建设 2026/6/10 12:38:39

论文AIGC检测怎么降下来?2026届毕业生必看攻略

论文AIGC检测怎么降下来?2026届毕业生必看攻略 毕业季,这件事比什么都重要 论文AIGC检测怎么降下来?2026届毕业生,这可能是你毕业路上最后一道关卡了。 2026年AIGC检测形势 比往年更严格: 几乎所有高校都开始检测…

作者头像 李华
网站建设 2026/6/10 12:43:05

基于微信小程序的南京博物馆文创系统的设计与实现

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

作者头像 李华