【Langchain】OutPutParsers

39 阅读1分钟

OutPutParser是做什么用的

把模型输出的结果 转为 你想要的数据结构,如json

怎么将结果转为想要的数据结构,如json?

思考:是通过某个函数吗?

回答:通过JSONOutputParser() 来转

  parser = JSONOutputParser() 
  data = parser.parse(llm_output)

除了转json 还可以转哪些

1.直接返回字符串

parser = StrOutputParser()
llm_output = "你好,我是 ChatGPT。"
result = parser.parse(llm_output)

2.提取特定数据(用正则)

parser = RegexParser(regex=r"年龄是 (\d+)")
llm_output = "他今年年龄是 32 岁"
data = parser.parse(llm_output)  # 输出: ['32']

3.PydanticParser(类似于对象,可以用 . 访问属性)

parser = PydanticOutputParser(pydantic_object=Person)
llm_output = '{"name": "张三", "age": 32}'
person = parser.parse(llm_output)
print(person.name)  # 张三