Comma-Separated List Output Parser in LangChain

https://python.langchain.com.cn/docs/modules/model_io/output_parsers/comma_separated

Comma-Separated List Output Parser in LangChain

This content is based on LangChain's official documentation (langchain.com.cn) and explains the CommaSeparatedListOutputParser---a tool to convert LLM outputs into comma-separated lists---in simplified terms. It strictly preserves original source codes, retains all knowledge points, and avoids arbitrary additions or modifications.

1. What is CommaSeparatedListOutputParser?

This output parser converts unstructured LLM responses into clean, comma-separated lists (Python lists).

  • Use case: When you need the LLM to return a list of items (e.g., ice cream flavors, book titles) and want to directly use the result as a Python list (no manual string splitting).
  • Key feature: It provides built-in format_instructions to guide the LLM to output comma-separated items, ensuring the parser can correctly parse the result.

2. Step 1: Import Required Modules

The code below imports all necessary classes---exactly as in the original documentation:

python 复制代码
from langchain.output_parsers import CommaSeparatedListOutputParser
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI  # Included as in original import (even if not used in the example)

3. Step 2: Initialize the Output Parser

Create an instance of CommaSeparatedListOutputParser and get its format instructions (guidelines for the LLM to follow):

python 复制代码
output_parser = CommaSeparatedListOutputParser()
format_instructions = output_parser.get_format_instructions()  # Tells LLM to output comma-separated items

Note: The format_instructions automatically generated by the parser typically says: "Your response should be a list of comma-separated values. Do not include any additional text."

4. Step 3: Create a Prompt Template

Define a prompt template that includes the LLM task and the format instructions. This ensures the LLM outputs items in a comma-separated format:

python 复制代码
prompt = PromptTemplate(
    template="List five {subject}.\n{format_instructions}",
    input_variables=["subject"],  # Dynamic input (e.g., "ice cream flavors")
    partial_variables={"format_instructions": format_instructions}  # Fixed format guidelines
)

5. Step 4: Initialize the LLM and Generate Output

Use OpenAI (with temperature=0 for consistent results) to generate a response based on the formatted prompt:

python 复制代码
model = OpenAI(temperature=0)
_input = prompt.format(subject="ice cream flavors")  # Fill in the dynamic "subject"
output = model(_input)  # LLM generates comma-separated items

6. Step 5: Parse the LLM Output into a Python List

Use the output parser to convert the LLM's string output into a structured Python list. The original code and output are preserved exactly:

Code:

python 复制代码
output_parser.parse(output)

Output (exact as original):

python 复制代码
['Vanilla',
 'Chocolate',
 'Strawberry',
 'Mint Chocolate Chip',
 'Cookies and Cream']

Key Takeaways

  • CommaSeparatedListOutputParser simplifies converting LLM text outputs into usable Python lists.
  • get_format_instructions() ensures the LLM follows the correct output format (comma-separated items).
  • The prompt template combines the task (e.g., "List five ice cream flavors") and format guidelines for reliability.
  • Works with both LLMs (e.g., OpenAI) and chat models (e.g., ChatOpenAI)---the core logic remains the same.
相关推荐
大模型真好玩1 天前
LangChain DeepAgents 速通指南(九)—— 生产级智能体框架 DeepAgents Code 源码导读
人工智能·langchain·agent
早点睡啊4 天前
精读 LangChain 官方文档(二)Model 篇:把模型调用升级成工程化推理接口
人工智能·langchain
星始流年5 天前
从 Tool 到 Skill——基于 LangChain 的服务端Skill实现
前端·langchain·agent
codedx6 天前
LangChain 和 LangGraph 构建的 Agent 项目模版
后端·langchain·agent
颜酱6 天前
LangGraph 入门指南
langchain
武子康8 天前
调查研究-186 LangChain 和 LangGraph 的区别:从快速构建 Agent 到生产级工作流编排
人工智能·langchain·llm
葫芦和十三10 天前
渐进发现|代码库不是文档库
langchain·agent·ai编程
柒和远方11 天前
LangGraph 深度解析:从增强型 LLM 到生产级 Agent
langchain·llm·agent
qq_3692243311 天前
Windows全系通用!ntdll.dll文件丢失、报错、闪退问题的完整排查与修复教程
windows·dll·dll修复·dll丢失·dll错误
阿米亚波12 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm