langchain-learning/parser/json_parser_demo.py
2026-04-13 20:57:38 +08:00

38 lines
1.0 KiB
Python

import logging
from langchain_core.output_parsers import JsonOutputParser
from langchain_core.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
import os
import dotenv
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
dotenv.load_dotenv()
## 设置环境变量
os.environ['OPENAI_API_KEY'] = os.getenv("SILICONFLOW_API_KEY")
os.environ['OPENAI_BASE_URL'] = os.getenv("SILICONFLOW_BASE_URL")
# 默认的 'model_name': 'deepseek-ai/DeepSeek-V3.1',
llm = ChatOpenAI(model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B")
output_parser = JsonOutputParser()
print(output_parser.get_format_instructions())
message = "讲一个简短的笑话"
prompt = PromptTemplate(
template="用中文回答用户的请求。\n{format_instruction}\n{query}",
input_variables = ["query"],
partial_variables={"format_instruction":output_parser.get_format_instructions()}
)
chain = prompt | llm | output_parser
response = chain.invoke({"query":message})
print(response)
print(type(response))