这个程序实现了与AI医生的实时流式对话,可以边生成边显示回复内容
from chat_saver import ChatSaver
client = anthropic.Anthropic(
base_url="https://api.xueai.me"
chat_saver = ChatSaver()
load_messages = chat_saver.load_conversation()
messages = load_messages or []
# strip()去除前后空白字符,确保输入有效
user_input = input("\n你: ").strip()
messages.append({"role": "user", "content": user_input})
print("AI: ", end="", flush=True)
# stream=True参数启用流式响应,可以边生成边显示
with client.messages.stream(
model="claude-sonnet-4-6",
# 限制最大回复长度(注意:当前API可能忽略此参数)
# 系统提示:强制极简回复(因为max_tokens被API忽略)
# 温度参数控制回复的创造性(0.9表示比较有创造性)
for text in stream.text_stream:
print(text, end="", flush=True)
# role为"assistant"标识这是AI的回复
messages.append({"role": "assistant", "content": reply_text})
# 获取流式响应的最终完整消息对象,包含了所有元数据信息
message = stream.get_final_message()
chat_saver.save_conversation(user_input, message)