This commit is contained in:
@@ -46,6 +46,20 @@ class BailianService:
|
|||||||
prompt = evaluation.prompt
|
prompt = evaluation.prompt
|
||||||
content = task.transcription
|
content = task.transcription
|
||||||
|
|
||||||
|
# 准备章节/时间戳数据以辅助分析发言节奏
|
||||||
|
chapter_context = ""
|
||||||
|
if task.auto_chapters_data:
|
||||||
|
try:
|
||||||
|
# 确保是字符串格式
|
||||||
|
if isinstance(task.auto_chapters_data, (dict, list)):
|
||||||
|
chapters_str = json.dumps(task.auto_chapters_data, ensure_ascii=False, indent=2)
|
||||||
|
else:
|
||||||
|
chapters_str = str(task.auto_chapters_data)
|
||||||
|
|
||||||
|
chapter_context = f"\n\n【章节与时间戳信息】\n{chapters_str}\n\n(提示:请结合上述章节时间戳信息,分析发言者的语速、节奏变化及停顿情况。)"
|
||||||
|
except Exception as e:
|
||||||
|
logger.warning(f"Failed to process auto_chapters_data: {e}")
|
||||||
|
|
||||||
# 截断过长的内容以防止超出Token限制 (简单处理,取前10000字)
|
# 截断过长的内容以防止超出Token限制 (简单处理,取前10000字)
|
||||||
if len(content) > 10000:
|
if len(content) > 10000:
|
||||||
content = content[:10000] + "...(内容过长已截断)"
|
content = content[:10000] + "...(内容过长已截断)"
|
||||||
@@ -53,7 +67,7 @@ class BailianService:
|
|||||||
# Construct messages
|
# Construct messages
|
||||||
messages = [
|
messages = [
|
||||||
{'role': 'system', 'content': 'You are a helpful assistant designed to output JSON.'},
|
{'role': 'system', 'content': 'You are a helpful assistant designed to output JSON.'},
|
||||||
{'role': 'user', 'content': f"{prompt}\n\n以下是需要评估的内容:\n{content}"}
|
{'role': 'user', 'content': f"{prompt}\n\n以下是需要评估的内容:\n{content}{chapter_context}"}
|
||||||
]
|
]
|
||||||
|
|
||||||
completion = self.client.chat.completions.create(
|
completion = self.client.chat.completions.create(
|
||||||
|
|||||||
Reference in New Issue
Block a user