Merge branch 'ci_sd_ut_new' into 'code_intepreter'

SD unittest

See merge request agents/data_agents_opt!70
This commit is contained in:
林义章 2024-02-01 03:29:29 +00:00
commit e85f749031
3 changed files with 43 additions and 20 deletions

View file

@ -13,7 +13,8 @@ import requests
from aiohttp import ClientSession
from PIL import Image, PngImagePlugin
from metagpt.const import SD_OUTPUT_FILE_REPO
#
from metagpt.const import SD_OUTPUT_FILE_REPO, SOURCE_ROOT
from metagpt.logs import logger
from metagpt.tools.tool_data_type import ToolTypeEnum
from metagpt.tools.tool_registry import register_tool
@ -55,11 +56,9 @@ default_negative_prompt = "(easynegative:0.8),black, dark,Low resolution"
@register_tool(tool_type=ToolTypeEnum.STABLE_DIFFUSION.value)
class SDEngine:
def __init__(self, sd_url=""):
from metagpt.config2 import config
# Initialize the SDEngine with configuration
self.sd_url = sd_url if sd_url else config.get("SD_URL")
self.sd_t2i_url = f"{self.sd_url}{config.get('SD_T2I_API')}"
self.sd_url = sd_url
self.sd_t2i_url = f"{self.sd_url}/sdapi/v1/txt2img"
# Define default payload settings for SD API
self.payload = payload
logger.info(self.sd_t2i_url)
@ -82,7 +81,7 @@ class SDEngine:
return self.payload
def save(self, imgs, save_name=""):
save_dir = config.workspace_path / SD_OUTPUT_FILE_REPO
save_dir = SOURCE_ROOT / SD_OUTPUT_FILE_REPO
if not save_dir.exists():
save_dir.mkdir(parents=True, exist_ok=True)
batch_decode_base64_to_image(imgs, str(save_dir), save_name=save_name)
@ -113,17 +112,10 @@ class SDEngine:
rsp_json = json.loads(data)
imgs = rsp_json["images"]
logger.info(f"callback rsp json is {rsp_json.keys()}")
return imgs
async def run_i2i(self):
# todo: 添加图生图接口调用
raise NotImplementedError
async def run_sam(self):
# todo添加SAM接口调用
raise NotImplementedError
def decode_base64_to_image(img, save_name):
image = Image.open(io.BytesIO(base64.b64decode(img.split(",", 1)[0])))