手机网站建设动态杭州最好的seo公司
flask_app/ # 项目根目录
│
├── app.py # Flask 主程序
├── templates/ # 存放 HTML 模板文件
│ └── index.html # 前端页面
├── static/ # 存放静态文件
│ └── script.js # JavaScript 文件
└── requirements.txt # 项目依赖文件
requirements.txt
PyMySQL~=1.1.1
flask~=3.1.0
openai~=1.65.4
$(document).ready(function() {// 加载系统列表$.get('/get_systems', function(data) {data.forEach(function(system) {// 检查是否已经存在相同的选项if (!$('#system-select option[value="' + system.id + '"]').length) {$('#system-select').append(`<option value="${system.id}">${system.systm}</option>`);}});});// 当选择系统时,加载对应的用户内容$('#system-select').change(function() {const systemId = $(this).val();$('#user-select').empty().append('<option value="">--Select a User Content--</option>');if (systemId) {$.get(`/get_users/${systemId}`, function(data) {data.forEach(function(user) {// 检查是否已经存在相同的选项if (!$('#user-select option[value="' + user.content + '"]').length) {$('#user-select').append(`<option value="${user.content}">${user.content}</option>`);}});});}});// 当选择用户内容时,将其放入文本框$('#user-select').change(function() {const userContent = $(this).val();$('#message-box').val(userContent);});// 发送消息到 DeepSeek$('#send-button').click(function() {const systemId = $('#system-select').val();const userMessage = $('#message-box').val();if (!systemId || !userMessage) {alert('请选择系统和输入消息内容!');return;}// 清空响应区域$('#response-text').text('');$.ajax({url: '/ask_deepseek',method: 'POST',contentType: 'application/json',data: JSON.stringify({system_id: systemId,user_message: userMessage}),success: function(data) {const htmlContent = marked.parse(data.response);$('#response-text').text(htmlContent);document.getElementById('response-text').innerHTML = htmlContent;},error: function(xhr, status, error) {console.error('Error:', error);alert('请求失败,请稍后重试!');}});});
});
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flask App</title><script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script><script src="{{ url_for('static', filename='script.js') }}"></script></head>
<body><h1>准备咨询的内容:</h1><label for="system-select">选择大类:</label><select id="system-select"><option value="">--请选择--</option></select><br><br><label for="user-select">选择细节:</label><select id="user-select" multiple size="10"><option value="">--请选择--</option></select><br><br><textarea id="message-box" rows = 10, placeholder="在这里输入您的信息..."></textarea><button id="send-button">Send</button><div id="response-area" width ="80%"><h2>反馈[请稍等]:</h2><div id="response-text"> </div></div><script src="{{ url_for('static', filename='script.js') }}"></script>
</body>
</html>
from flask import Flask, render_template, request, jsonify
import pymysql
from openai import OpenAIapp = Flask(__name__)# MySQL数据库配置
DB_CONFIG = {'host': 'mysql.sqlpub.com','port': 3306,'user': 'laocooon','password': 'fc12f7a5215e8e0a', # 替换为你的密码'database': 'huangjin','cursorclass': pymysql.cursors.DictCursor # 返回字典格式的结果
}def get_db_connection():return pymysql.connect(**DB_CONFIG)@app.route('/')
def index():return render_template('index.html')@app.route('/get_systems')
def get_systems():conn = get_db_connection()try:with conn.cursor() as cursor:cursor.execute('SELECT id, systm FROM systm')systems = cursor.fetchall()# print(systems)return jsonify(systems)finally:conn.close()@app.route('/get_users/<int:system_id>')
def get_users(system_id):conn = get_db_connection()try:with conn.cursor() as cursor:cursor.execute('SELECT id, content FROM user WHERE systemid = %s', (system_id,))users = cursor.fetchall()return jsonify(users)finally:conn.close()@app.route('/ask_deepseek', methods=['POST'])
def ask_deepseek():# print(request.json)system_id = request.json.get('system_id')user_message = request.json.get('user_message')conn = get_db_connection()try:with conn.cursor() as cursor:cursor.execute('SELECT systm FROM systm where id = %s', (system_id,))systems = cursor.fetchall()system_name = systems[0]['systm']finally:conn.close()# 这里调用DeepSeek的API# 假设你有一个函数 `call_deepseek_api(system_name, user_message)` 来处理API调用response = call_deepseek_api(system_id, user_message)# 假设response是DeepSeek的API返回的结果# print(response)return jsonify({'response': response})def call_deepseek_api(system_name, user_message):# 这里是调用DeepSeek API的逻辑# 你需要根据DeepSeek的API文档来实现# 这里只是一个示例client = OpenAI(api_key="sk-382a17fc1a914b4e804332c46a41ba46", base_url="https://api.deepseek.com")response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": system_name},{"role": "user", "content": user_message},],stream=False)return response.choices[0].message.contentif __name__ == '__main__':# print(get_systems())app.run(debug=True)