mirror of
https://github.com/linyqh/NarratoAI.git
synced 2025-12-12 19:52:48 +00:00
feat(utils): 优化 Moonshot生成逻辑并添加重试机制- 在 Moonshot 生成逻辑中添加了对 429错误的重试机制
- 当遇到 429 错误时,等待 65秒后重试 - 更新了测试示例,直接返回固定文本以简化测试过程 - 更新了资源下载链接
This commit is contained in:
parent
af9e7fa279
commit
1a16d2b655
@ -7,5 +7,5 @@ os.environ["HTTPS_PROXY"] = config.proxy.get("https")
|
||||
|
||||
genai.configure(api_key=config.app.get("vision_gemini_api_key"))
|
||||
model = genai.GenerativeModel("gemini-1.5-flash")
|
||||
response = model.generate_content("Explain how AI works")
|
||||
response = model.generate_content("直接回复我文本'当前网络可用'")
|
||||
print(response.text)
|
||||
|
||||
@ -7,6 +7,7 @@ from typing import List, Dict
|
||||
from datetime import datetime
|
||||
from openai import OpenAI
|
||||
import google.generativeai as genai
|
||||
import time
|
||||
|
||||
|
||||
class BaseGenerator:
|
||||
@ -222,17 +223,24 @@ class MoonshotGenerator(BaseGenerator):
|
||||
}
|
||||
|
||||
def _generate(self, messages: list, params: dict) -> any:
|
||||
"""实现Moonshot特定的生成逻辑"""
|
||||
try:
|
||||
response = self.client.chat.completions.create(
|
||||
model=self.model_name,
|
||||
messages=messages,
|
||||
**params
|
||||
)
|
||||
return response
|
||||
except Exception as e:
|
||||
logger.error(f"Moonshot generation error: {str(e)}")
|
||||
raise
|
||||
"""实现Moonshot特定的生成逻辑,包含429错误重试机制"""
|
||||
while True:
|
||||
try:
|
||||
response = self.client.chat.completions.create(
|
||||
model=self.model_name,
|
||||
messages=messages,
|
||||
**params
|
||||
)
|
||||
return response
|
||||
except Exception as e:
|
||||
error_str = str(e)
|
||||
if "Error code: 429" in error_str:
|
||||
logger.warning("Moonshot API 触发限流,等待65秒后重试...")
|
||||
time.sleep(65) # 等待65秒后重试
|
||||
continue
|
||||
else:
|
||||
logger.error(f"Moonshot generation error: {error_str}")
|
||||
raise
|
||||
|
||||
def _process_response(self, response: any) -> str:
|
||||
"""处理Moonshot的响应"""
|
||||
|
||||
@ -18,7 +18,7 @@ set "urls_paths[1]=https://zenodo.org/records/13293144/files/MicrosoftYaHeiNorma
|
||||
set "urls_paths[2]=https://zenodo.org/records/13293144/files/STHeitiLight.ttc|.\resource\fonts"
|
||||
set "urls_paths[3]=https://zenodo.org/records/13293144/files/STHeitiMedium.ttc|.\resource\fonts"
|
||||
set "urls_paths[4]=https://zenodo.org/records/13293144/files/UTM%20Kabel%20KT.ttf|.\resource\fonts"
|
||||
set "urls_paths[5]=https://zenodo.org/records/13293129/files/demo.mp4|.\resource\videos"
|
||||
set "urls_paths[5]=https://zenodo.org/records/14167125/files/test.mp4|.\resource\videos"
|
||||
set "urls_paths[6]=https://zenodo.org/records/13293150/files/output000.mp3|.\resource\songs"
|
||||
set "urls_paths[7]=https://zenodo.org/records/13293150/files/output001.mp3|.\resource\songs"
|
||||
set "urls_paths[8]=https://zenodo.org/records/13293150/files/output002.mp3|.\resource\songs"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user