mirror of
https://github.com/linyqh/NarratoAI.git
synced 2025-12-16 07:02:54 +00:00
refactor(webui): 优化剧本生成功能
- 调整 API 请求方式,使用 JSON 数据发送请求 - 添加请求头,指定内容类型为 application/json -优化异常处理,捕获具体异常信息
This commit is contained in:
parent
bfc601e679
commit
6fa80d1266
@ -497,15 +497,19 @@ def generate_script(tr, params):
|
|||||||
raise Exception("没有有效的帧内容可以处理")
|
raise Exception("没有有效的帧内容可以处理")
|
||||||
|
|
||||||
# ===================开始生成文案===================
|
# ===================开始生成文案===================
|
||||||
update_progress(90, "正在生成文案...")
|
update_progress(80, "正在生成文案...")
|
||||||
# 校验配置
|
# 校验配置
|
||||||
api_params = {
|
api_params = {
|
||||||
'vision_model_name': vision_model,
|
"vision_api_key": vision_api_key,
|
||||||
'vision_api_key': vision_api_key,
|
"vision_model_name": vision_model,
|
||||||
'vision_base_url': vision_base_url,
|
"vision_base_url": vision_base_url or "",
|
||||||
'text_model_name': text_model,
|
"text_api_key": text_api_key,
|
||||||
'text_api_key': text_api_key,
|
"text_model_name": text_model,
|
||||||
'text_base_url': text_base_url
|
"text_base_url": text_base_url or ""
|
||||||
|
}
|
||||||
|
headers = {
|
||||||
|
'accept': 'application/json',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
}
|
}
|
||||||
session = requests.Session()
|
session = requests.Session()
|
||||||
retry_strategy = Retry(
|
retry_strategy = Retry(
|
||||||
@ -518,13 +522,13 @@ def generate_script(tr, params):
|
|||||||
try:
|
try:
|
||||||
response = session.post(
|
response = session.post(
|
||||||
f"{config.app.get('narrato_api_url')}/video/config",
|
f"{config.app.get('narrato_api_url')}/video/config",
|
||||||
params=api_params,
|
headers=headers,
|
||||||
|
json=api_params,
|
||||||
timeout=30,
|
timeout=30,
|
||||||
verify=True # 启用证书验证
|
verify=True
|
||||||
)
|
)
|
||||||
except:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
custom_prompt = st.session_state.get('custom_prompt', '')
|
custom_prompt = st.session_state.get('custom_prompt', '')
|
||||||
processor = ScriptProcessor(
|
processor = ScriptProcessor(
|
||||||
model_name=text_model,
|
model_name=text_model,
|
||||||
@ -536,7 +540,7 @@ def generate_script(tr, params):
|
|||||||
# 处理帧内容生成脚本
|
# 处理帧内容生成脚本
|
||||||
script_result = processor.process_frames(frame_content_list)
|
script_result = processor.process_frames(frame_content_list)
|
||||||
|
|
||||||
# 将结果转换为JSON字符串
|
# <EFBFBD><EFBFBD>结果转换为JSON字符串
|
||||||
script = json.dumps(script_result, ensure_ascii=False, indent=2)
|
script = json.dumps(script_result, ensure_ascii=False, indent=2)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -561,7 +565,7 @@ def generate_script(tr, params):
|
|||||||
if not api_key:
|
if not api_key:
|
||||||
raise ValueError("未配置 Narrato API Key,请在基础设置中配置")
|
raise ValueError("未配置 Narrato API Key,请在基础设置中配置")
|
||||||
|
|
||||||
# 准备API请求
|
# 准<EFBFBD><EFBFBD><EFBFBD>API请求
|
||||||
headers = {
|
headers = {
|
||||||
'X-API-Key': api_key,
|
'X-API-Key': api_key,
|
||||||
'accept': 'application/json'
|
'accept': 'application/json'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user