通过输出解析器输出 json 格式数据

from langchain.output_parsers import ResponseSchema, StructuredOutputParser
from langchain_community.llms.ollama import Ollama
from langchain_core.prompts import PromptTemplate

llm = Ollama(model="qwen:7b")

#你希望你的回复结构模板
response_schems = [
    #定义返回字段
    ResponseSchema(name="user_name", description="这是一个古人的名字"),
    ResponseSchema(name="user_age", description="这是您的回复,给出这个人的存活年龄")
]

#你想如何解析你的输出
output_parser = StructuredOutputParser.from_response_schemas(response_schems)

#查看你创建的用户格式化的提示模板
format_instructions = output_parser.get_format_instructions()

print(format_instructions)

template = """
    你将从用户那里得到一个古人的名字,请给出这个人存活的年龄
    
    {format_instructions}
    
    % 用户输入:
    {user_input}
    
    你的响应:
"""

prompt = PromptTemplate(
    input_variables=["user_input"],
    partial_variables={"format_instructions":format_instructions},
    template=template
)

promptValue = prompt.format(user_input="李白")

print(llm(promptValue))

 

posted @ 2024-04-07 10:16  林**  阅读(177)  评论(0编辑  收藏  举报