ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

第一单元——第六课:结构化输出

第一单元——第六课:结构化输出 上一课返回普通字符串这次让模型返回一个带固定字段的 Python 对象。结构化数据更适合存数据库、生成表格或传给其他程序。LangChain 官方说明保存为lesson6_structured_output.pyimport os from pydantic import BaseModel, Field from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import PydanticOutputParser class PythonConcept(BaseModel): name: str Field(description概念名称) explanation: str Field(description面向初学者的解释) example: str Field(description简短的 Python 代码示例) model ChatOpenAI( modeldeepseek-v4-flash, base_urlhttps://api.deepseek.com, api_keyos.environ[DEEPSEEK_API_KEY], ) parser PydanticOutputParser(pydantic_objectPythonConcept) prompt ChatPromptTemplate.from_messages([ ( system, 你是一位耐心的 Python 老师。 必须严格按照下面的格式回答\n{format_instructions} ), (human, 请解释{topic}), ]).partial(format_instructionsparser.get_format_instructions()) chain prompt | model | parser result chain.invoke({ topic: Python 字典 }) print(type(result)) print(名称, result.name) print(解释, result.explanation) print(示例, result.example)运行.venv\Scripts\activate python lesson6_structured_output.py如果是新开的 CMD还需要重新设置环境变量。成功时类型应该类似class __main__.PythonConcept关键点输入 → 提示词 → 模型 → PydanticOutputParser → Python 对象小练习只把主题改成Python 异常处理其他代码保持不变。
返回列表