refactor config

This commit is contained in:
geekan 2024-02-01 13:53:57 +08:00
parent 62ca2ca90d
commit 97868beacf
11 changed files with 65 additions and 67 deletions

View file

@ -14,17 +14,15 @@ s3:
secure: false
bucket: "mock"
AZURE_TTS_SUBSCRIPTION_KEY: "xxx"
AZURE_TTS_REGION: "eastus"
azure_tts_subscription_key: "xxx"
azure_tts_region: "eastus"
IFLYTEK_APP_ID: "xxx"
IFLYTEK_API_KEY: "xxx"
IFLYTEK_API_SECRET: "xxx"
iflytek_app_id: "xxx"
iflytek_api_key: "xxx"
iflytek_api_secret: "xxx"
METAGPT_TEXT_TO_IMAGE_MODEL_URL: "http://mock.com"
metagpt_tti_url: "http://mock.com"
PYPPETEER_EXECUTABLE_PATH: "/usr/bin/chromium"
REPAIR_LLM_OUTPUT: true
repair_llm_output: true

View file

@ -27,7 +27,7 @@ async def test_text_to_image(mocker):
mocker.patch.object(S3, "cache", return_value="http://mock/s3")
config = Config.default()
assert config.METAGPT_TEXT_TO_IMAGE_MODEL_URL
assert config.metagpt_tti_url
data = await text_to_image("Panda emoji", size_type="512x512", config=config)
assert "base64" in data or "http" in data
@ -52,7 +52,7 @@ async def test_openai_text_to_image(mocker):
mocker.patch.object(S3, "cache", return_value="http://mock.s3.com/0.png")
config = Config.default()
config.METAGPT_TEXT_TO_IMAGE_MODEL_URL = None
config.metagpt_tti_url = None
assert config.get_openai_llm()
data = await text_to_image("Panda emoji", size_type="512x512", config=config)

View file

@ -20,9 +20,9 @@ from metagpt.utils.s3 import S3
async def test_azure_text_to_speech(mocker):
# mock
config = Config.default()
config.IFLYTEK_API_KEY = None
config.IFLYTEK_API_SECRET = None
config.IFLYTEK_APP_ID = None
config.iflytek_api_key = None
config.iflytek_api_secret = None
config.iflytek_app_id = None
mock_result = mocker.Mock()
mock_result.audio_data = b"mock audio data"
mock_result.reason = ResultReason.SynthesizingAudioCompleted
@ -32,11 +32,11 @@ async def test_azure_text_to_speech(mocker):
mocker.patch.object(S3, "cache", return_value="http://mock.s3.com/1.wav")
# Prerequisites
assert not config.IFLYTEK_APP_ID
assert not config.IFLYTEK_API_KEY
assert not config.IFLYTEK_API_SECRET
assert config.AZURE_TTS_SUBSCRIPTION_KEY and config.AZURE_TTS_SUBSCRIPTION_KEY != "YOUR_API_KEY"
assert config.AZURE_TTS_REGION
assert not config.iflytek_app_id
assert not config.iflytek_api_key
assert not config.iflytek_api_secret
assert config.azure_tts_subscription_key and config.azure_tts_subscription_key != "YOUR_API_KEY"
assert config.azure_tts_region
config.copy()
# test azure
@ -48,8 +48,8 @@ async def test_azure_text_to_speech(mocker):
async def test_iflytek_text_to_speech(mocker):
# mock
config = Config.default()
config.AZURE_TTS_SUBSCRIPTION_KEY = None
config.AZURE_TTS_REGION = None
config.azure_tts_subscription_key = None
config.azure_tts_region = None
mocker.patch.object(IFlyTekTTS, "synthesize_speech", return_value=None)
mock_data = mocker.AsyncMock()
mock_data.read.return_value = b"mock iflytek"
@ -58,11 +58,11 @@ async def test_iflytek_text_to_speech(mocker):
mocker.patch.object(S3, "cache", return_value="http://mock.s3.com/1.mp3")
# Prerequisites
assert config.IFLYTEK_APP_ID
assert config.IFLYTEK_API_KEY
assert config.IFLYTEK_API_SECRET
assert not config.AZURE_TTS_SUBSCRIPTION_KEY or config.AZURE_TTS_SUBSCRIPTION_KEY == "YOUR_API_KEY"
assert not config.AZURE_TTS_REGION
assert config.iflytek_app_id
assert config.iflytek_api_key
assert config.iflytek_api_secret
assert not config.azure_tts_subscription_key or config.azure_tts_subscription_key == "YOUR_API_KEY"
assert not config.azure_tts_region
# test azure
data = await text_to_speech("panda emoji", config=config)

View file

@ -28,10 +28,10 @@ async def test_azure_tts(mocker):
mocker.patch.object(Path, "exists", return_value=True)
# Prerequisites
assert config.AZURE_TTS_SUBSCRIPTION_KEY and config.AZURE_TTS_SUBSCRIPTION_KEY != "YOUR_API_KEY"
assert config.AZURE_TTS_REGION
assert config.azure_tts_subscription_key and config.azure_tts_subscription_key != "YOUR_API_KEY"
assert config.azure_tts_region
azure_tts = AzureTTS(subscription_key=config.AZURE_TTS_SUBSCRIPTION_KEY, region=config.AZURE_TTS_REGION)
azure_tts = AzureTTS(subscription_key=config.azure_tts_subscription_key, region=config.azure_tts_region)
text = """
女儿看见父亲走了进来问道
<mstts:express-as role="YoungAdultFemale" style="calm">

View file

@ -15,8 +15,8 @@ from metagpt.tools.iflytek_tts import IFlyTekTTS, oas3_iflytek_tts
async def test_iflytek_tts(mocker):
# mock
config = Config.default()
config.AZURE_TTS_SUBSCRIPTION_KEY = None
config.AZURE_TTS_REGION = None
config.azure_tts_subscription_key = None
config.azure_tts_region = None
mocker.patch.object(IFlyTekTTS, "synthesize_speech", return_value=None)
mock_data = mocker.AsyncMock()
mock_data.read.return_value = b"mock iflytek"
@ -24,15 +24,15 @@ async def test_iflytek_tts(mocker):
mock_reader.return_value.__aenter__.return_value = mock_data
# Prerequisites
assert config.IFLYTEK_APP_ID
assert config.IFLYTEK_API_KEY
assert config.IFLYTEK_API_SECRET
assert config.iflytek_app_id
assert config.iflytek_api_key
assert config.iflytek_api_secret
result = await oas3_iflytek_tts(
text="你好hello",
app_id=config.IFLYTEK_APP_ID,
api_key=config.IFLYTEK_API_KEY,
api_secret=config.IFLYTEK_API_SECRET,
app_id=config.iflytek_app_id,
api_key=config.iflytek_api_key,
api_secret=config.iflytek_api_secret,
)
assert result

View file

@ -24,7 +24,7 @@ async def test_draw(mocker):
mock_post.return_value.__aenter__.return_value = mock_response
# Prerequisites
assert config.METAGPT_TEXT_TO_IMAGE_MODEL_URL
assert config.metagpt_tti_url
binary_data = await oas3_metagpt_text_to_image("Panda emoji")
assert binary_data