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()