mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-03-12 18:01:30 +08:00
37 lines
1.5 KiB
Python
37 lines
1.5 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)
|
||
else:
|
||
self.client = ZhipuAiClient(api_key=api_key)
|
||
|
||
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, "画图出现问题,请休息一下再问我吧"
|