from openai import OpenAI
import json
class Chat(object):
def __init__(self,api_key,base_url,model_name="deepseek-ai/DeepSeek-V2.5",init_content="You are a helpful assistant.",):
self.client = OpenAI(
api_key=api_key,
base_url=base_url
)
self.messages=[
{"role": "system", "content": init_content},
]
self.model_name=model_name
def add_message(self,content="hello world",role_type="user"):
self.messages.append(
{"role":role_type,"content":content}
)
def assistant(self,content=""):
self.assistant_info={"role":"assistant","content":""}
self.add_message(content,"assistant")
def response(self,chat_message):
self.add_message(chat_message)
rep=self.client.chat.completions.create(
model=self.model_name,
messages=self.messages
)
end=rep.choices[0].message.content
self.assistant(end)
print(self.model_name,">>>: ",end)
return end
def init_message(self,init_content="You are a helpful assistant."):
self.messages=[
{"role": "system", "content": init_content},
]
api_key="sk-shanpdouituaxbqjscaymfviktf******"
base_url="https://api.siliconflow.cn/v1"
model_name="Pro/deepseek-ai/DeepSeek-R1"
chat=Chat(api_key,base_url,model_name)
# print(chat.messages)
chat.response("1+1等于几")
# print(chat.messages)
chat.response("再加1等于几")
# print(chat.messages)
chat.response("再加2等于几")
# print(chat.messages)
print("I am ",model_name,"!")
while 1:
ask=input("You>>>: ")
chat.response(ask)
# time.sleep(1)
chat=Chat(api_key,base_url,model_name)
chat.response(“1+1等于几”)
#开始会话,保保存上下文的记忆
chat.init_message()
#重启会话
配置3个参数 ,直接就可以调用了,可以使用连续对话。