feat: 改异步

This commit is contained in:
莘权 马 2023-08-28 15:42:47 +08:00
parent 6acf3f6282
commit 6794645ff6
14 changed files with 78 additions and 50 deletions

View file

@ -8,11 +8,11 @@
"""
import asyncio
import base64
from pydantic import BaseModel
from metagpt.learn.text_to_embedding import text_to_embedding
from metagpt.tools.openai_text_to_embedding import ResultEmbedding
async def mock_text_to_embedding():
@ -25,7 +25,7 @@ async def mock_text_to_embedding():
for i in inputs:
seed = Input(**i)
data = text_to_embedding(seed.input)
data = await text_to_embedding(seed.input)
v = ResultEmbedding(**data)
assert len(v.data) > 0

View file

@ -25,10 +25,17 @@ async def mock_text_to_image():
for i in inputs:
seed = Input(**i)
base64_data = text_to_image(seed.input)
base64_data = await text_to_image(seed.input)
assert base64_data != ""
print(f"{seed.input} -> {base64_data}")
assert base64.b64decode(base64_data, validate=True)
flags = ";base64,"
assert flags in base64_data
ix = base64_data.find(flags) + len(flags)
declaration = base64_data[0: ix]
assert declaration
data = base64_data[ix:]
assert data
assert base64.b64decode(data, validate=True)
def test_suite():

View file

@ -24,10 +24,17 @@ async def mock_text_to_speech():
for i in inputs:
seed = Input(**i)
base64_data = text_to_speech(seed.input)
base64_data = await text_to_speech(seed.input)
assert base64_data != ""
print(f"{seed.input} -> {base64_data}")
assert base64.b64decode(base64_data, validate=True)
flags = ";base64,"
assert flags in base64_data
ix = base64_data.find(flags) + len(flags)
declaration = base64_data[0: ix]
assert declaration
data = base64_data[ix:]
assert data
assert base64.b64decode(data, validate=True)
def test_suite():

View file

@ -7,6 +7,7 @@
@Modified By: mashenquan, 2023-8-9, add more text formatting options
@Modified By: mashenquan, 2023-8-17, move to `tools` folder.
"""
import asyncio
import sys
from pathlib import Path
@ -19,7 +20,7 @@ from metagpt.utils.common import initialize_environment
def test_azure_tts():
initialize_environment()
azure_tts = AzureTTS()
azure_tts = AzureTTS(subscription_key="", region="")
text = """
女儿看见父亲走了进来问道
<mstts:express-as role="YoungAdultFemale" style="calm">
@ -33,11 +34,13 @@ def test_azure_tts():
path = WORKSPACE_ROOT / "tts"
path.mkdir(exist_ok=True, parents=True)
filename = path / "girl.wav"
result = azure_tts.synthesize_speech(
loop = asyncio.new_event_loop()
v = loop.create_task(azure_tts.synthesize_speech(
lang="zh-CN",
voice="zh-CN-XiaomoNeural",
text=text,
output_file=str(filename))
output_file=str(filename)))
result = loop.run_until_complete(v)
print(result)