import os import json import logging from flask import Flask, request, jsonify import requests app = Flask(__name__) # 设置 DeepSeek API 的相关信息 DEEPSEEK_API_URL = "https://api.deepseek.com/v1/chat/completions" DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY") # 从环境变量获取 API 密钥 DEEPSEEK_API_KEY = input("请设置DEEPSEEK_API_KEY:") # 配置日志记录 logging.basicConfig(level=logging.DEBUG) @app.route('/judge', methods=['POST']) def judge(): data = request.get_json() if not data or 'input_text' not in data or 'prompt' not in data: return jsonify({"error": "请求中缺少 'input_text' 或 'prompt' 字段"}), 400 input_text = data['input_text'] prompt = data['prompt'] # 输入验证 if not isinstance(input_text, str) or not isinstance(prompt, str): return jsonify({"error": "'input_text' 和 'prompt' 必须是字符串"}), 400 logging.debug(f"input_text: {input_text}") logging.debug(f"prompt: {prompt}") # 构建 DeepSeek API 请求的消息 messages = [ {"role": "system", "content": prompt}, {"role": "user", "content": input_text} ] headers = { "Content-Type": "application/json", "Authorization": f"Bearer {DEEPSEEK_API_KEY}" } payload = { "model": "deepseek-chat", # 可以根据实际情况选择合适的模型 "messages": messages } logging.debug(f"payload: {json.dumps(payload, indent=2)}") #if not DEEPSEEK_API_KEY: #exit() if not DEEPSEEK_API_KEY: raise ValueError("请设置 DEEPSEEK_API_KEY 环境变量") try: # 发送请求到 DeepSeek API response = requests.post(DEEPSEEK_API_URL, headers=headers, json=payload, timeout=10) response.raise_for_status() result = response.json() output = result['choices'][0]['message']['content'] print(output) return jsonify({"output": output}) except requests.RequestException as e: logging.error(f"请求 DeepSeek API 时出错: {str(e)}") return jsonify({"error": f"请求 DeepSeek API 时出错: {str(e)}"}), 500 except (KeyError, IndexError) as e: logging.error(f"解析 DeepSeek API 响应时出错: {str(e)}") return jsonify({"error": f"解析 DeepSeek API 响应时出错: {str(e)}"}), 500 except ValueError as e: logging.error(f"JSON 解析错误: {str(e)}") return jsonify({"error": f"JSON 解析错误: {str(e)}"}), 400 if __name__ == '__main__': app.run(debug=True)