38 lines
1.0 KiB
Python
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)) |