from flask import Flask, request, Response, render_template_string import json from openai import OpenAI import logging # 配置日志 logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) app = Flask(__name__) # 初始化OpenAI客户端 client = OpenAI( api_key="none", base_url="http://localhost:8998/v1" ) # 对话配置 MODEL_NAME = "model-identifier" SYSTEM_PROMPT = "你是一个有帮助的AI助手,请用中文回答" MAX_HISTORY = 6 # 保留最近3轮对话 class ChatManager: def __init__(self): self.conversations = {} # 存储对话历史的字典 def get_conversation(self, session_id): """获取或初始化对话历史""" if session_id not in self.conversations: self.conversations[session_id] = [ {"role": "system", "content": SYSTEM_PROMPT} ] return self.conversations[session_id] def update_conversation(self, session_id, user_input, assistant_response): """更新对话历史""" conv = self.conversations[session_id] conv.extend([ {"role": "user", "content": user_input}, {"role": "assistant", "content": assistant_response} ]) # 保留最近N轮对话(考虑系统提示) self.conversations[session_id] = conv[-MAX_HISTORY*2:] chat_manager = ChatManager() @app.route('/') def home(): return render_template_string('''