fix:优化界面

This commit is contained in:
丹尼尔
2026-03-11 00:22:41 +08:00
parent 0655410134
commit 0e8639fde1
4268 changed files with 1224126 additions and 92 deletions

41
backend/qwen_client.py Normal file
View File

@@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-
"""千问Qwen模型调用读取配置文件中的 API Key使用 OpenAI 兼容接口。"""
import logging
import os
from typing import List, Optional
logger = logging.getLogger("wechat-backend.qwen")
# 优先 QWEN_API_KEY其次 DASHSCOPE_API_KEY最后 APIKEY.env 中可配置千问 key
QWEN_API_KEY = os.getenv("QWEN_API_KEY") or os.getenv("DASHSCOPE_API_KEY") or os.getenv("APIKEY")
QWEN_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
QWEN_MODEL = os.getenv("QWEN_MODEL", "qwen-turbo")
async def qwen_chat(messages: List[dict], api_key: Optional[str] = None) -> Optional[str]:
"""调用千问对话,返回 assistant 回复文本。messages 格式 [{"role":"user","content":"..."}] 或含 system。"""
key = api_key or QWEN_API_KEY
if not key:
logger.warning("No QWEN_API_KEY / APIKEY in env, skip qwen call")
return None
try:
from openai import AsyncOpenAI
client = AsyncOpenAI(api_key=key, base_url=QWEN_BASE_URL)
r = await client.chat.completions.create(model=QWEN_MODEL, messages=messages)
text = r.choices[0].message.content if r.choices else None
return text
except Exception as e:
logger.exception("qwen_chat error: %s", e)
return None
async def generate_greeting(remark_name: str, region: str = "", tags: List[str] = None) -> Optional[str]:
"""根据客户备注、地区、标签生成一句简短个性化问候语。"""
tags = tags or []
user = f"请生成一句简短的微信问候语1-2句话客户备注名{remark_name}"
if region:
user += f",地区:{region}"
if tags:
user += f",标签:{','.join(tags)}"
user += "。不要解释,只输出问候语本身。"
return await qwen_chat([{"role": "user", "content": user}])