langchain输出解析器

1.json格式

output_parser = JsonOutputParser()

定义输出解析器

调用的提示词里面明确指定使用json格式

复制代码
from langchain_core.output_parsers import JsonOutputParser
from langchain_core.prompts import ChatPromptTemplate

import utils

#获得访问大模型客户端
client = utils.get_client()
output_parser = JsonOutputParser()

# 提示模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个专业的程序员"),
    ("user", "{input}")
])
# 将提示和模型合并以进行调用
chain = prompt | client | output_parser

#明确告诉大模型,要用JSON格式的输出,这个时候我们的JsonOutputParser才能发挥作用,把大模型的输出变成json格式,再方便后期处理
result = chain.invoke({"input": "langchain是什么? 问题用question 回答用ans 返回一个JSON格式"})
print(type(result))
print(result)

2.csv

output_parser = CommaSeparatedListOutputParser()

必须以逗号分隔

复制代码
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import CommaSeparatedListOutputParser
import utils

# 获得访问大模型客户端
client = utils.get_client()
# 创建解析器
output_parser = CommaSeparatedListOutputParser()
# 提示模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个专业的程序员"),
    ("user", "{input}")
])
# 将提示和模型合并以进行调用
chain = prompt | client | output_parser
# 示例调用
print(chain.invoke({"input": "列出Python的三个主要版本, 用逗号分隔"}))

3.datetime

output_parser = DatetimeOutputParser()

相关推荐
Jolyne_5 分钟前
如何实现无感刷新Token
前端
葵续浅笑10 分钟前
LeetCode - 杨辉三角 / 二叉树的最大深度
java·数据结构·算法·leetcode
用户40993225021212 分钟前
Vue3响应式系统的底层原理与实践要点你真的懂吗?
前端·ai编程·trae
装不满的克莱因瓶19 分钟前
【Java架构师】各个微服务之间有哪些调用方式?
java·开发语言·微服务·架构·dubbo·restful·springcloud
qq_4798754328 分钟前
RVO和移动语义
前端·算法
加菲喵28 分钟前
深度解析:在vue3中使用自定义Hooks
前端
N 年 后32 分钟前
cursor和传统idea的区别是什么?
java·人工智能·intellij-idea
serve the people35 分钟前
Prompt Serialization in LangChain
数据库·langchain·prompt
AI Echoes35 分钟前
LangChain 使用语义路由选择不同的Prompt模板
人工智能·python·langchain·prompt·agent
hxmmm44 分钟前
js中生成器和迭代器
前端