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.
相关推荐
lee_curry20 分钟前
第十周完整学习笔记:继续升级为“检索更准、权限安全、索引可维护、失败可恢复、长期可运行”的企业级 RAG 系统
python·ai·langchain·agent·langgraph
IsITGirl41 分钟前
VMware Fusion(Mac)Windows ARM 虚拟机 NAT (vmnet8) 报错解决记录
windows·macos·.net·桥接模式
Rudon滨海渔村1 小时前
台式机Win10实现“音量+”和“音量-”,键盘映射方案
windows·计算机外设·powertoys
2501_915921431 小时前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
谙弆悕博士2 小时前
debian快速换源
linux·运维·windows·debian·下载·换源·网络问题
破烂三角裤15 小时前
AI 没有记忆?我给儿童故事 Agent 搭了一套“长期记忆”系统
langchain
云和数据.ChenGuang17 小时前
光哥说Python 异常深度解析:从异常模型到工程化实践
java·前端·人工智能·python·langchain
?re?ta?rd?ed?17 小时前
C++11新特性,{}与左值
c++·windows
必须得开心呀20 小时前
windows10系统任务栏图标消失修复
windows
Maiko Star20 小时前
【HM-LC】LangChain RAG查询优化详解:查询重写、混合检索与重排序实战
langchain·rag