'commit'
This commit is contained in:
@@ -17,21 +17,12 @@ class QwenImageGenerator:
|
||||
self.api_key = api_key or ALY_LLM_API_KEY
|
||||
self.model = "qwen-image"
|
||||
|
||||
def generate_image(self, prompt, n=1, size='1328*1328'):
|
||||
def generate_image(self, prompt, size='1328*1328'): # 移除n参数
|
||||
"""生成图片
|
||||
|
||||
Args:
|
||||
prompt: 图片描述提示词
|
||||
n: 生成图片数量
|
||||
size: 图片尺寸
|
||||
|
||||
Returns:
|
||||
dict: 包含生成结果的字典,格式如下:
|
||||
{
|
||||
'success': bool, # 操作是否成功
|
||||
'images': list, # 图片URL列表
|
||||
'error_msg': str # 错误信息,如果成功则为None
|
||||
}
|
||||
"""
|
||||
try:
|
||||
# 调用文心一言图片生成API
|
||||
@@ -39,7 +30,6 @@ class QwenImageGenerator:
|
||||
api_key=self.api_key,
|
||||
model=self.model,
|
||||
prompt=prompt,
|
||||
n=n,
|
||||
size=size
|
||||
)
|
||||
|
||||
@@ -47,6 +37,13 @@ class QwenImageGenerator:
|
||||
if rsp.status_code == HTTPStatus.OK:
|
||||
# 提取图片URL
|
||||
image_urls = [result.url for result in rsp.output.results]
|
||||
# 修改错误消息,移除n参数引用
|
||||
if not image_urls:
|
||||
return {
|
||||
'success': False,
|
||||
'images': [],
|
||||
'error_msg': 'API返回空结果,图片生成失败'
|
||||
}
|
||||
return {
|
||||
'success': True,
|
||||
'images': image_urls,
|
||||
@@ -97,7 +94,7 @@ class QwenImageGenerator:
|
||||
'error_msg': f'保存图片失败: {str(e)}'
|
||||
}
|
||||
|
||||
def generate_and_save_images(self, prompt, n=1, size='1328*1328', save_dir='./'):
|
||||
def generate_and_save_images(self, prompt, size='1328*1328', save_dir='./'):
|
||||
"""生成图片并保存到本地
|
||||
|
||||
Args:
|
||||
@@ -110,7 +107,7 @@ class QwenImageGenerator:
|
||||
dict: 包含生成和保存结果的字典
|
||||
"""
|
||||
# 生成图片
|
||||
generate_result = self.generate_image(prompt, n, size)
|
||||
generate_result = self.generate_image(prompt, size)
|
||||
|
||||
if not generate_result['success']:
|
||||
return generate_result
|
||||
|
Binary file not shown.
@@ -51,7 +51,6 @@ async def generate_image(request: GenerateImageRequest):
|
||||
# 仅生成图片,不保存本地
|
||||
result = generator.generate_image(
|
||||
prompt=request.prompt,
|
||||
n=request.n,
|
||||
size=request.size
|
||||
)
|
||||
|
||||
|
Binary file not shown.
@@ -34,12 +34,11 @@ def test_get_config():
|
||||
return False, None
|
||||
|
||||
|
||||
def test_generate_image(prompt, n=1, size='1328*1328', save_local=True):
|
||||
def test_generate_image(prompt, size='1328*1328', save_local=True):
|
||||
"""测试生成图片接口
|
||||
|
||||
Args:
|
||||
prompt: 图片描述提示词
|
||||
n: 生成图片数量
|
||||
size: 图片尺寸
|
||||
save_local: 是否保存到本地
|
||||
|
||||
@@ -51,13 +50,12 @@ def test_generate_image(prompt, n=1, size='1328*1328', save_local=True):
|
||||
headers = {"Content-Type": "application/json"}
|
||||
data = {
|
||||
"prompt": prompt,
|
||||
"n": n,
|
||||
"size": size,
|
||||
"save_local": save_local
|
||||
}
|
||||
|
||||
logger.info(f"调用生成图片接口: {url}")
|
||||
logger.info(f"请求参数: prompt={prompt[:50]}..., n={n}, size={size}, save_local={save_local}")
|
||||
logger.info(f"请求参数: prompt={prompt[:50]}..., size={size}, save_local={save_local}")
|
||||
|
||||
# 记录开始时间
|
||||
start_time = time.time()
|
||||
@@ -109,7 +107,6 @@ def main():
|
||||
basic_prompt = "一只可爱的小猫在草地上玩耍,阳光明媚,高清细节"
|
||||
generate_success, generate_data = test_generate_image(
|
||||
prompt=basic_prompt,
|
||||
n=1,
|
||||
size="1328*1328",
|
||||
save_local=True
|
||||
)
|
||||
@@ -117,13 +114,11 @@ def main():
|
||||
# 3. 测试生成图片接口 - 不同参数
|
||||
if config_success:
|
||||
supported_sizes = config_data["data"].get("supported_sizes", ["1328*1328"])
|
||||
max_images = min(2, config_data["data"].get("max_images_per_request", 1)) # 为了测试效率,最多请求2张
|
||||
|
||||
logger.info(f"\n3. 测试生成图片接口 - 不同参数(size={supported_sizes[0]}, n={max_images})")
|
||||
|
||||
logger.info(f"\n3. 测试生成图片接口 - 不同参数(size={supported_sizes[0]})")
|
||||
different_prompt = "美丽的山水风景画,中国水墨画风格"
|
||||
test_generate_image(
|
||||
prompt=different_prompt,
|
||||
n=max_images,
|
||||
size=supported_sizes[0],
|
||||
save_local=True
|
||||
)
|
||||
@@ -132,8 +127,7 @@ def main():
|
||||
|
||||
# 输出测试结果摘要
|
||||
success_count = sum([config_success, generate_success])
|
||||
total_count = 2 # 基本测试的接口数量
|
||||
logger.info(f"测试结果: {success_count}/{total_count} 接口测试成功")
|
||||
logger.info(f"测试结果: {success_count} 接口测试成功")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Reference in New Issue
Block a user