Files
chatbot-napcat/model/ai_models/aliyun.py

60 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import toml
from model.logger import setup_logger
from http import HTTPStatus
from dashscope import Application
from model.sql_tools import init_db
from model.sql_tools import get_uuid
from model.sql_tools import add_uuid
logger = setup_logger()
def main(message, group_openid):
with open('./config.toml', 'r', encoding='utf-8') as f:
config = toml.load(f)
error_message = config.get("error_message")
# aliyun
aliyun_app_id = config.get("aliyun_app_id")
aliyun_api_key = config.get("aliyun_api_key")
init_db()
uuid = get_uuid(group_openid)
if uuid == "":
logger.info("未找到 UUID")
else:
logger.info(f"找到 UUID: {uuid}")
logger.info("请求平台aliyun")
# 发送请求
response = Application.call(
# 若没有配置环境变量可用百炼API Key将下行替换为api_key="sk-xxx"。但不建议在生产环境中直接将API Key硬编码到代码中以减少API Key泄露风险。
api_key=aliyun_api_key,
app_id=aliyun_app_id,
prompt= message,
session_id = group_openid
)
# 检查响应状态码
if response.status_code != HTTPStatus.OK:
logger.info(f"请求失败!状态码: {response.status_code}")
logger.info(f"错误信息: {response.message}") # 打印错误信息
return error_message
else:
logger.info("请求成功!返回结果:")
print(f"message: {response.output.text}, session_id: {response.output.session_id}") # test
# 存储uuid
if uuid == "":
uuid = response.output.session_id
add_uuid(group_openid, uuid)
# 提取 answer 值
answer = response.output.text
return answer