mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-03-18 12:40:06 +08:00
- 修复 ZhipuAiClient 初始化时未传入 base_url 参数的问题 - 使配置文件中的 zhipu_ai_api_base 配置项生效 - 支持智谱国际版(z.ai)等自定义API端点 - 同时修复对话和图片生成功能 - 添加日志输出便于确认使用的API地址 Fixes #2659
39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
from common.log import logger
|
||
from config import conf
|
||
|
||
|
||
# ZhipuAI提供的画图接口
|
||
|
||
class ZhipuAIImage(object):
|
||
def __init__(self):
|
||
from zai import ZhipuAiClient
|
||
# 初始化客户端,支持自定义 API base URL(例如智谱国际版 z.ai)
|
||
api_key = conf().get("zhipu_ai_api_key")
|
||
api_base = conf().get("zhipu_ai_api_base")
|
||
|
||
if api_base:
|
||
self.client = ZhipuAiClient(api_key=api_key, base_url=api_base)
|
||
logger.info(f"[ZHIPU_AI_IMAGE] 使用自定义 API Base URL: {api_base}")
|
||
else:
|
||
self.client = ZhipuAiClient(api_key=api_key)
|
||
logger.info("[ZHIPU_AI_IMAGE] 使用默认 API Base URL")
|
||
|
||
def create_img(self, query, retry_count=0, api_key=None, api_base=None):
|
||
try:
|
||
if conf().get("rate_limit_dalle"):
|
||
return False, "请求太快了,请休息一下再问我吧"
|
||
logger.info("[ZHIPU_AI] image_query={}".format(query))
|
||
response = self.client.images.generations(
|
||
prompt=query,
|
||
n=1, # 每次生成图片的数量
|
||
model=conf().get("text_to_image") or "cogview-3",
|
||
size=conf().get("image_create_size", "1024x1024"), # 图片大小,可选有 256x256, 512x512, 1024x1024
|
||
quality="standard",
|
||
)
|
||
image_url = response.data[0].url
|
||
logger.info("[ZHIPU_AI] image_url={}".format(image_url))
|
||
return True, image_url
|
||
except Exception as e:
|
||
logger.exception(e)
|
||
return False, "画图出现问题,请休息一下再问我吧"
|