smgc commited on
Commit
45eb20f
1 Parent(s): 76ca5a0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -10
app.py CHANGED
@@ -57,6 +57,23 @@ def validate_api_key():
57
  return jsonify({"error": "Invalid API key"}), 401
58
  return None
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  @app.route('/')
61
  def root():
62
  log_request(request.remote_addr, request.path, 200)
@@ -90,16 +107,8 @@ def messages():
90
  model = json_body.get('model', 'claude-3-opus-20240229') # 动态获取模型,默认 claude-3-opus-20240229
91
  stream = json_body.get('stream', True) # 默认为True
92
 
93
- # 确保 msg['content'] 是字符串,如果是字典则将其转化为 JSON 字符串,如果是列表则将其 join 成字符串
94
- previous_messages = "\n\n".join(
95
- [
96
- msg['content'] if isinstance(msg['content'], str)
97
- else json.dumps(msg['content'], ensure_ascii=False) if isinstance(msg['content'], dict)
98
- else " ".join(msg['content']) if isinstance(msg['content'], list)
99
- else "" # 如果类型不匹配,返回空字符串
100
- for msg in json_body['messages']
101
- ]
102
- )
103
 
104
  msg_id = str(uuid.uuid4())
105
  response_event = Event()
 
57
  return jsonify({"error": "Invalid API key"}), 401
58
  return None
59
 
60
+ def normalize_content(content):
61
+ """
62
+ 递归处理 msg['content'],确保其为字符串。
63
+ 如果 content 是字典或列表,将其转换为字符串。
64
+ """
65
+ if isinstance(content, str):
66
+ return content
67
+ elif isinstance(content, dict):
68
+ # 将字典转化为 JSON 字符串
69
+ return json.dumps(content, ensure_ascii=False)
70
+ elif isinstance(content, list):
71
+ # 对于列表,递归处理每个元素
72
+ return " ".join([normalize_content(item) for item in content])
73
+ else:
74
+ # 如果是其他类型,返回空字符串
75
+ return ""
76
+
77
  @app.route('/')
78
  def root():
79
  log_request(request.remote_addr, request.path, 200)
 
107
  model = json_body.get('model', 'claude-3-opus-20240229') # 动态获取模型,默认 claude-3-opus-20240229
108
  stream = json_body.get('stream', True) # 默认为True
109
 
110
+ # 使用 normalize_content 递归处理 msg['content']
111
+ previous_messages = "\n\n".join([normalize_content(msg['content']) for msg in json_body['messages']])
 
 
 
 
 
 
 
 
112
 
113
  msg_id = str(uuid.uuid4())
114
  response_event = Event()