This commit is contained in:
2025-08-18 15:46:09 +08:00
parent 9585dbaf9c
commit 9b065722bf
3 changed files with 62 additions and 13 deletions

View File

@@ -1,15 +1,10 @@
from Config.GoApiConst import MODEL_GPT35, MODEL_GPT4 from Config.GoApiConst import MODEL_GPT35, MODEL_GPT4
from Util.GoApiUtil import ModelInteractor from Util.GoApiUtil import ModelInteractor
import sys
# 示例使用 def initialize_chat_history():
if __name__ == "__main__": """初始化对话历史,包含系统提示"""
# 创建模型交互器实例 system_prompt = """
interactor = ModelInteractor()
# 使用不同的模型和提示词
model_name = MODEL_GPT4
firstPrompt = """
STRICT RULES STRICT RULES
Be an approachable-yet-dynamic teacher,who helps the user learn by guiding Be an approachable-yet-dynamic teacher,who helps the user learn by guiding
them through their studies. them through their studies.
@@ -35,8 +30,62 @@ not alecture.
Above all:DO NOT DO THE USER'S WORK FOR THEM. Don't answer homework questions - Help the user find the answer,by working Above all:DO NOT DO THE USER'S WORK FOR THEM. Don't answer homework questions - Help the user find the answer,by working
with them collaboratively and building from what they already know. with them collaboratively and building from what they already know.
""" """
return [{
"role": "system",
"content": system_prompt
}]
prompt_text = firstPrompt + "下面是问题:讲解一下勾股定理的证明。" # 示例使用
if __name__ == "__main__":
# 创建模型交互器实例
interactor = ModelInteractor()
# 发送流式请求 # 使用不同的模型
interactor.stream_request(model_name, prompt_text) model_name = MODEL_GPT4
print(f"使用模型: {model_name}")
# 初始化对话历史
chat_history = initialize_chat_history()
# 第一轮问题(可选)
first_question = "讲解一下勾股定理的证明。"
print(f"\n初始问题: {first_question}")
chat_history.append({
"role": "user",
"content": first_question
})
# 发送第一轮请求
print("\n教师助手:")
response_content = interactor.stream_request(model_name, chat_history)
chat_history.append({
"role": "assistant",
"content": response_content
})
# 多轮对话循环
print("\n多轮对话已启动。输入 'exit''退出' 结束对话。")
while True:
# 获取用户输入
user_input = input("\n你: ")
# 检查是否退出
if user_input.lower() in ['exit', '退出']:
print("对话已结束。")
sys.exit(0)
# 添加用户输入到对话历史
chat_history.append({
"role": "user",
"content": user_input
})
# 发送请求
print("\n教师助手:")
response_content = interactor.stream_request(model_name, chat_history)
# 添加助手回复到对话历史
chat_history.append({
"role": "assistant",
"content": response_content
})