From d37481f48ca4160946c40c7d6397256566200feb Mon Sep 17 00:00:00 2001 From: jingsongliujing <2262720766@qq.com> Date: Fri, 21 Feb 2025 17:21:27 +0800 Subject: [PATCH] Add the interface testing interface for model API deployment. --- scripts/web_app.py | 190 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 scripts/web_app.py diff --git a/scripts/web_app.py b/scripts/web_app.py new file mode 100644 index 0000000..6170ac7 --- /dev/null +++ b/scripts/web_app.py @@ -0,0 +1,190 @@ +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(''' + + +
+