python-langchain框架(1-9 返回字符串列表-格式解析器)
段代码演示了如何使用LangChain将大语言模型的自由文本输出转换为结构化的字符串列表。核心目标是让模型返回逗号分隔的多个值并通过专用解析器自动拆分为Python列表。CommaSeparatedListOutputParser专用于解析逗号分隔的文本自动处理空格、引号等边界字符输出类型为List[str]。与StrOutputParser返回纯字符串不同它强制将响应拆分为离散元素适用于多值提取场景。提示词设计必须显式约束输出格式。通过partial_variables注入格式指令如内容1, 内容2, 内容3引导模型生成符合解析器要求的纯列表文本。若缺少格式约束模型可能返回自然语言描述导致解析器机械分割产生语义错误。代码如下123456789101112131415161718192021222324252627282930313233343536fromlangchain.output_parsersimportCommaSeparatedListOutputParserfromlangchain.promptsimportPromptTemplatefromlangchain_openaiimportChatOpenAIimportos#输出-字符串列表output_parserCommaSeparatedListOutputParser()#这里指定分隔符format_instructions您的响应应该是csv格式的逗号分隔值的列表例如内容1, 内容2, 内容3#构建提示词-给出样例提高返回的准确率promptPromptTemplate(template{format_instructions}\n请列出五个 {subject}.,input_variables[subject],partial_variables{format_instructions: format_instructions},)#输出提示词print(#######################)print(prompt.invoke({subject:宠物狗的品种}).text)print(#######################)llmChatOpenAI(api_keyos.getenv(DEEPSEEK_API_KEY),base_urlos.getenv(BASE_URL),# Deepseek 的 API 基础地址modeldeepseek-v3:671b,# Deepseek 对话模型可选deepseek-chat-pro 等高级模型temperature0.7,# 温度参数0-1越低越稳定max_tokens1024# 最大生成 tokens)chainprompt | llm | output_parserresultchain.invoke({subject:宠物狗的品种})print(result)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2460222.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!