【langchain学习】使用JsonOutputParser让大模型生成结构化JSON数据

使用Langchain处理结构化数据,以JsonOutputParser为例。以下是具体步骤和代码示例:

  1. 导入所需库

    from config import llm
    from langchain_core.output_parsers import JsonOutputParser
    from langchain_core.prompts import PromptTemplate
    from langchain_core.pydantic_v1 import BaseModel, Field
    
  2. 定义数据模型

    class People(BaseModel):
        name: str = Field(description="人物的名称")
        age: str = Field(description="人物的年龄")
        country: str = Field(description="人物的国籍")
    
  3. 设置JsonOutputParser

    parser = JsonOutputParser(pydantic_object=People)
    
  4. 设置提示模板

    prompt = PromptTemplate(
        template="Answer the user query.\n{format_instructions}\n{query}\n",
        input_variables=["query"],
        partial_variables={"format_instructions": parser.get_format_instructions()},
    )
    
  5. 定义链操作

    chain = prompt | llm | parser
    
  6. 调用链操作并处理查询

    query = "姚明"
    result = chain.invoke({"query": query})
    print(result)
    
  7. 示例输出

{'name': '姚明', 'age': '40', 'country': '中国'}

Process finished with exit code 0
  • 27
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值