提交 553b27ff 编写于 作者: P practicer2015

Auto Commit

上级 0a575cc3
print('欢迎来到 InsCode')
\ No newline at end of file
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 密钥
if not DEEPSEEK_API_KEY:
raise ValueError("请设置 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)}")
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)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册