75 lines
2.1 KiB
Python
75 lines
2.1 KiB
Python
"""
|
|
Custom functions for document processing.
|
|
"""
|
|
|
|
|
|
async def chapter_overview_summary(docs, model_name, temperature, max_tokens):
|
|
"""
|
|
为文档生成章节概述摘要的占位函数。
|
|
|
|
Args:
|
|
docs: 文档列表
|
|
model_name: 模型名称
|
|
temperature: 温度参数
|
|
max_tokens: 最大token数
|
|
|
|
Returns:
|
|
chapter_summaries: 章节摘要字典
|
|
global_summary: 全局摘要字符串
|
|
"""
|
|
chapter_summaries = {}
|
|
global_summary = ""
|
|
|
|
# 简单的占位实现:直接使用文档内容
|
|
for doc in docs:
|
|
h1 = doc.metadata.get("head1", "默认章节") if hasattr(doc, 'metadata') else "默认章节"
|
|
if h1 not in chapter_summaries:
|
|
chapter_summaries[h1] = []
|
|
content = doc.page_content if hasattr(doc, 'page_content') else str(doc)
|
|
chapter_summaries[h1].append(content[:500] if len(content) > 500 else content)
|
|
|
|
# 生成全局摘要
|
|
if docs:
|
|
all_content = " ".join([doc.page_content if hasattr(doc, 'page_content') else str(doc) for doc in docs[:3]])
|
|
global_summary = all_content[:1000] if len(all_content) > 1000 else all_content
|
|
|
|
return chapter_summaries, global_summary
|
|
|
|
|
|
async def chi_translation(docs, prompt_template, model_name, temperature, max_tokens):
|
|
"""
|
|
中文翻译占位函数。
|
|
|
|
Args:
|
|
docs: 文档列表
|
|
prompt_template: 提示模板
|
|
model_name: 模型名称
|
|
temperature: 温度参数
|
|
max_tokens: 最大token数
|
|
|
|
Yields:
|
|
翻译结果字符串
|
|
"""
|
|
for doc in docs:
|
|
content = doc.page_content if hasattr(doc, 'page_content') else str(doc)
|
|
yield content
|
|
|
|
|
|
async def eng_translation(docs, prompt_template, model_name, temperature, max_tokens):
|
|
"""
|
|
英文翻译占位函数。
|
|
|
|
Args:
|
|
docs: 文档列表
|
|
prompt_template: 提示模板
|
|
model_name: 模型名称
|
|
temperature: 温度参数
|
|
max_tokens: 最大token数
|
|
|
|
Yields:
|
|
翻译结果字符串
|
|
"""
|
|
for doc in docs:
|
|
content = doc.page_content if hasattr(doc, 'page_content') else str(doc)
|
|
yield content
|