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