输出解析器 StrOutputParser,它把模型返回的AIMessage自动变成普通字符串,方便保存、拼接或交给下一步处理。官方示例
保存为lesson5_output_parser.py:
import os from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser model = ChatOpenAI( model="deepseek-v4-flash", base_url="https://api.deepseek.com", api_key=os.environ["DEEPSEEK_API_KEY"], ) prompt = ChatPromptTemplate.from_messages([ ("system", "你是一位耐心的 Python 老师。"), ("human", "请用一句话解释:{topic}"), ]) parser = StrOutputParser() chain = prompt | model | parser result = chain.invoke({ "topic": "Python 函数" }) print(type(result)) print(result)运行:
.venv\Scripts\activate python lesson5_output_parser.py结果中的类型应为:
<class 'str'>核心变化只有两处:
parser = StrOutputParser() chain = prompt | model | parser数据流变成:
输入 → 提示词 → 模型 → 字符串解析器小练习:在最后增加下面一行,观察普通字符串可以怎样继续处理:
print("AI 的答案:" + result)执行结果: