Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
|
@@ -29,8 +29,24 @@ async def chat_completions(request: Request):
|
|
| 29 |
body = {}
|
| 30 |
|
| 31 |
messages = body.get("messages", [])
|
| 32 |
-
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
headers = {
|
| 36 |
"Authorization": f"Bearer {AIROPS_API_KEY}",
|
|
@@ -40,13 +56,14 @@ async def chat_completions(request: Request):
|
|
| 40 |
# 构造 AirOps 需要的数据格式
|
| 41 |
payload = {
|
| 42 |
"inputs": {
|
| 43 |
-
INPUT_VAR:
|
| 44 |
}
|
| 45 |
}
|
| 46 |
|
| 47 |
async def generate():
|
| 48 |
# 设置 120 秒超时,防止长文本生成失败
|
| 49 |
async with httpx.AsyncClient(timeout=120.0) as client:
|
|
|
|
| 50 |
url = f"https://app.airops.com/public_api/airops_apps/{AIROPS_APP_ID}/execute"
|
| 51 |
|
| 52 |
try:
|
|
|
|
| 29 |
body = {}
|
| 30 |
|
| 31 |
messages = body.get("messages", [])
|
| 32 |
+
|
| 33 |
+
# 【酒馆特供版】将所有历史消息和设定拼接成一个长剧本
|
| 34 |
+
full_context = ""
|
| 35 |
+
for msg in messages:
|
| 36 |
+
role = msg.get("role", "user").upper()
|
| 37 |
+
content = msg.get("content", "")
|
| 38 |
+
|
| 39 |
+
# 统一格式化标签,让 AI 知道是谁在说话
|
| 40 |
+
if role == "SYSTEM":
|
| 41 |
+
full_context += f"[系统设定及角色卡]:\n{content}\n\n"
|
| 42 |
+
elif role == "ASSISTANT":
|
| 43 |
+
full_context += f"[角色回复]:\n{content}\n\n"
|
| 44 |
+
else:
|
| 45 |
+
full_context += f"[我的输入]:\n{content}\n\n"
|
| 46 |
+
|
| 47 |
+
# 如果没有收到任何消息,给个默认值
|
| 48 |
+
if not full_context.strip():
|
| 49 |
+
full_context = "[我的输入]:\n你好"
|
| 50 |
|
| 51 |
headers = {
|
| 52 |
"Authorization": f"Bearer {AIROPS_API_KEY}",
|
|
|
|
| 56 |
# 构造 AirOps 需要的数据格式
|
| 57 |
payload = {
|
| 58 |
"inputs": {
|
| 59 |
+
INPUT_VAR: full_context.strip()
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
async def generate():
|
| 64 |
# 设置 120 秒超时,防止长文本生成失败
|
| 65 |
async with httpx.AsyncClient(timeout=120.0) as client:
|
| 66 |
+
# 已修复:改为 app.airops.com
|
| 67 |
url = f"https://app.airops.com/public_api/airops_apps/{AIROPS_APP_ID}/execute"
|
| 68 |
|
| 69 |
try:
|