Update app.py
Browse files
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 |
-
#
|
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()
|