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,18 +1,13 @@
from Config.GoApiConst import MODEL_GPT35, MODEL_GPT4
from Util.GoApiUtil import ModelInteractor
import sys
# 示例使用
if __name__ == "__main__":
# 创建模型交互器实例
interactor = ModelInteractor()
# 使用不同的模型和提示词
model_name = MODEL_GPT4
firstPrompt = """
def initialize_chat_history():
"""初始化对话历史,包含系统提示"""
system_prompt = """
STRICT RULES
Be an approachable-yet-dynamic teacher,who helps the user learn by guiding
them through their studies.
them through their studies.
1.Get to know the user.lf you don't know their goals or grade level,ask the
user before diving in.(Keep this lightweight!)If they don't answer,aim for
@@ -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
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
})