2025-07-31 15:35:23 +08:00

533 lines
32 KiB
JSON

{
"file_path": "document/content_transformer.py",
"file_size": 6367,
"line_count": 235,
"functions": [
{
"name": "__init__",
"line_start": 34,
"line_end": 42,
"args": [
{
"name": "self"
},
{
"name": "config",
"type_hint": "Optional[Dict[str, Any]]"
}
],
"return_type": null,
"docstring": "",
"is_async": false,
"decorators": [],
"code": " def __init__(self, config: Optional[Dict[str, Any]] = None):\n self.config = config or {}\n self.supported_formats = {\n 'attraction_standard': self._transform_to_attraction_standard,\n 'product_sales': self._transform_to_product_sales,\n 'travel_guide': self._transform_to_travel_guide,\n 'blog_post': self._transform_to_blog_post,\n 'summary': self._transform_to_summary\n }",
"code_hash": "f19b5b8b0d5eed1c0c7392d2ce0987f8"
},
{
"name": "transform_content",
"line_start": 44,
"line_end": 83,
"args": [
{
"name": "self"
},
{
"name": "integrated_content",
"type_hint": "IntegratedContent"
},
{
"name": "format_type",
"type_hint": "str"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "TransformedContent",
"docstring": "转换内容\n\nArgs:\n integrated_content: 整合后的内容\n format_type: 转换格式类型\n custom_prompt: 自定义提示词\n \nReturns:\n TransformedContent: 转换后的内容",
"is_async": false,
"decorators": [],
"code": " def transform_content(self, \n integrated_content: IntegratedContent,\n format_type: str = 'summary',\n custom_prompt: Optional[str] = None) -> TransformedContent:\n \"\"\"转换内容\n \n Args:\n integrated_content: 整合后的内容\n format_type: 转换格式类型\n custom_prompt: 自定义提示词\n \n Returns:\n TransformedContent: 转换后的内容\n \"\"\"\n if format_type not in self.supported_formats:\n raise ValueError(f\"不支持的格式类型: {format_type}\")\n \n logger.info(f\"开始转换内容,格式: {format_type}\")\n \n # 执行转换\n transform_func = self.supported_formats[format_type]\n transformed_text = transform_func(integrated_content, custom_prompt)\n \n # 生成转换元数据\n transformation_metadata = {\n 'format_type': format_type,\n 'source_document_count': integrated_content.document_count,\n 'source_content_length': integrated_content.total_content_length,\n 'transformed_content_length': len(transformed_text),\n 'key_topics_used': integrated_content.key_topics,\n 'custom_prompt_used': custom_prompt is not None\n }\n \n return TransformedContent(\n original_content=integrated_content,\n transformed_text=transformed_text,\n format_type=format_type,\n transformation_metadata=transformation_metadata,\n transformed_at=datetime.now()\n )",
"code_hash": "b3158819b342ecc0d8b11db5875f250d"
},
{
"name": "_transform_to_attraction_standard",
"line_start": 85,
"line_end": 109,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为景点标准格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_attraction_standard(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为景点标准格式\"\"\"\n template = \"\"\"\n# 景点信息整理\n\n## 基本信息\n- 文档来源: {document_count}个文档\n- 主要主题: {key_topics}\n\n## 详细内容\n{combined_content}\n\n## 内容摘要\n{content_summary}\n\n---\n*基于提供的文档整理,如需更多信息请参考原始文档*\n\"\"\"\n \n return template.format(\n document_count=content.document_count,\n key_topics=\", \".join(content.key_topics[:5]),\n combined_content=content.combined_content,\n content_summary=content.content_summary\n )",
"code_hash": "d3a3f55615511c7d8bd4b02f9aa7e1fe"
},
{
"name": "_transform_to_product_sales",
"line_start": 111,
"line_end": 138,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为产品销售格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_product_sales(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为产品销售格式\"\"\"\n template = \"\"\"\n# 产品销售资料\n\n## 产品特色\n基于{document_count}个文档的信息整理:\n\n{content_summary}\n\n## 详细介绍\n{combined_content}\n\n## 关键卖点\n{key_topics}\n\n---\n*内容整理自提供的文档资料*\n\"\"\"\n \n key_points = \"\\n\".join([f\"• {topic}\" for topic in content.key_topics[:8]])\n \n return template.format(\n document_count=content.document_count,\n content_summary=content.content_summary,\n combined_content=content.combined_content,\n key_topics=key_points\n )",
"code_hash": "a860f96bd784753d94d9f034ae105e7f"
},
{
"name": "_transform_to_travel_guide",
"line_start": 140,
"line_end": 164,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为旅游指南格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_travel_guide(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为旅游指南格式\"\"\"\n template = \"\"\"\n# 旅游指南\n\n## 概述\n{content_summary}\n\n## 详细信息\n{combined_content}\n\n## 重要提示\n- 信息来源: {document_count}个文档\n- 关键主题: {key_topics}\n\n---\n*本指南基于提供的文档整理,出行前请核实最新信息*\n\"\"\"\n \n return template.format(\n content_summary=content.content_summary,\n combined_content=content.combined_content,\n document_count=content.document_count,\n key_topics=\", \".join(content.key_topics[:5])\n )",
"code_hash": "fd420a017573fc6c409be67b2d261e81"
},
{
"name": "_transform_to_blog_post",
"line_start": 166,
"line_end": 195,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为博客文章格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_blog_post(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为博客文章格式\"\"\"\n template = \"\"\"\n# 博客文章\n\n## 前言\n本文基于{document_count}个文档资料整理而成。\n\n## 主要内容\n\n{combined_content}\n\n## 总结\n{content_summary}\n\n## 相关主题\n{key_topics}\n\n---\n*本文内容整理自多个文档资料*\n\"\"\"\n \n topics_list = \"\\n\".join([f\"- {topic}\" for topic in content.key_topics[:10]])\n \n return template.format(\n document_count=content.document_count,\n combined_content=content.combined_content,\n content_summary=content.content_summary,\n key_topics=topics_list\n )",
"code_hash": "6259ddcd588233aa6f3e1b2dff5baba4"
},
{
"name": "_transform_to_summary",
"line_start": 197,
"line_end": 227,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为摘要格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_summary(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为摘要格式\"\"\"\n template = \"\"\"\n# 文档内容摘要\n\n## 文档统计\n- 文档数量: {document_count}\n- 文档类型: {document_types}\n- 内容长度: {content_length}字符\n\n## 内容摘要\n{content_summary}\n\n## 关键主题\n{key_topics}\n\n## 完整内容\n{combined_content}\n\"\"\"\n \n doc_types = \", \".join([f\"{k}({v}个)\" for k, v in content.document_types.items()])\n topics_list = \"\\n\".join([f\"• {topic}\" for topic in content.key_topics])\n \n return template.format(\n document_count=content.document_count,\n document_types=doc_types,\n content_length=content.total_content_length,\n content_summary=content.content_summary,\n key_topics=topics_list,\n combined_content=content.combined_content\n )",
"code_hash": "859feec79f159c45dff61141a5352bf4"
},
{
"name": "get_supported_formats",
"line_start": 229,
"line_end": 231,
"args": [
{
"name": "self"
}
],
"return_type": "List[str]",
"docstring": "获取支持的格式列表",
"is_async": false,
"decorators": [],
"code": " def get_supported_formats(self) -> List[str]:\n \"\"\"获取支持的格式列表\"\"\"\n return list(self.supported_formats.keys())",
"code_hash": "47e50c765f82c40651edf4dfbb844b84"
},
{
"name": "add_custom_format",
"line_start": 233,
"line_end": 236,
"args": [
{
"name": "self"
},
{
"name": "format_name",
"type_hint": "str"
},
{
"name": "transform_func"
}
],
"return_type": null,
"docstring": "添加自定义格式",
"is_async": false,
"decorators": [],
"code": " def add_custom_format(self, format_name: str, transform_func):\n \"\"\"添加自定义格式\"\"\"\n self.supported_formats[format_name] = transform_func\n logger.info(f\"添加自定义格式: {format_name}\") ",
"code_hash": "9885a21f2593a53e6467877bec1bb86a"
}
],
"classes": [
{
"name": "TransformedContent",
"line_start": 23,
"line_end": 29,
"bases": [],
"methods": [],
"docstring": "转换后的内容",
"decorators": [
"dataclass"
],
"code": "class TransformedContent:\n \"\"\"转换后的内容\"\"\"\n original_content: IntegratedContent\n transformed_text: str\n format_type: str\n transformation_metadata: Dict[str, Any]\n transformed_at: datetime",
"code_hash": "6b6a514261663141708e7d495120a97b"
},
{
"name": "ContentTransformer",
"line_start": 31,
"line_end": 236,
"bases": [],
"methods": [
{
"name": "__init__",
"line_start": 34,
"line_end": 42,
"args": [
{
"name": "self"
},
{
"name": "config",
"type_hint": "Optional[Dict[str, Any]]"
}
],
"return_type": null,
"docstring": "",
"is_async": false,
"decorators": [],
"code": " def __init__(self, config: Optional[Dict[str, Any]] = None):\n self.config = config or {}\n self.supported_formats = {\n 'attraction_standard': self._transform_to_attraction_standard,\n 'product_sales': self._transform_to_product_sales,\n 'travel_guide': self._transform_to_travel_guide,\n 'blog_post': self._transform_to_blog_post,\n 'summary': self._transform_to_summary\n }",
"code_hash": "f19b5b8b0d5eed1c0c7392d2ce0987f8"
},
{
"name": "transform_content",
"line_start": 44,
"line_end": 83,
"args": [
{
"name": "self"
},
{
"name": "integrated_content",
"type_hint": "IntegratedContent"
},
{
"name": "format_type",
"type_hint": "str"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "TransformedContent",
"docstring": "转换内容\n\nArgs:\n integrated_content: 整合后的内容\n format_type: 转换格式类型\n custom_prompt: 自定义提示词\n \nReturns:\n TransformedContent: 转换后的内容",
"is_async": false,
"decorators": [],
"code": " def transform_content(self, \n integrated_content: IntegratedContent,\n format_type: str = 'summary',\n custom_prompt: Optional[str] = None) -> TransformedContent:\n \"\"\"转换内容\n \n Args:\n integrated_content: 整合后的内容\n format_type: 转换格式类型\n custom_prompt: 自定义提示词\n \n Returns:\n TransformedContent: 转换后的内容\n \"\"\"\n if format_type not in self.supported_formats:\n raise ValueError(f\"不支持的格式类型: {format_type}\")\n \n logger.info(f\"开始转换内容,格式: {format_type}\")\n \n # 执行转换\n transform_func = self.supported_formats[format_type]\n transformed_text = transform_func(integrated_content, custom_prompt)\n \n # 生成转换元数据\n transformation_metadata = {\n 'format_type': format_type,\n 'source_document_count': integrated_content.document_count,\n 'source_content_length': integrated_content.total_content_length,\n 'transformed_content_length': len(transformed_text),\n 'key_topics_used': integrated_content.key_topics,\n 'custom_prompt_used': custom_prompt is not None\n }\n \n return TransformedContent(\n original_content=integrated_content,\n transformed_text=transformed_text,\n format_type=format_type,\n transformation_metadata=transformation_metadata,\n transformed_at=datetime.now()\n )",
"code_hash": "b3158819b342ecc0d8b11db5875f250d"
},
{
"name": "_transform_to_attraction_standard",
"line_start": 85,
"line_end": 109,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为景点标准格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_attraction_standard(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为景点标准格式\"\"\"\n template = \"\"\"\n# 景点信息整理\n\n## 基本信息\n- 文档来源: {document_count}个文档\n- 主要主题: {key_topics}\n\n## 详细内容\n{combined_content}\n\n## 内容摘要\n{content_summary}\n\n---\n*基于提供的文档整理,如需更多信息请参考原始文档*\n\"\"\"\n \n return template.format(\n document_count=content.document_count,\n key_topics=\", \".join(content.key_topics[:5]),\n combined_content=content.combined_content,\n content_summary=content.content_summary\n )",
"code_hash": "d3a3f55615511c7d8bd4b02f9aa7e1fe"
},
{
"name": "_transform_to_product_sales",
"line_start": 111,
"line_end": 138,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为产品销售格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_product_sales(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为产品销售格式\"\"\"\n template = \"\"\"\n# 产品销售资料\n\n## 产品特色\n基于{document_count}个文档的信息整理:\n\n{content_summary}\n\n## 详细介绍\n{combined_content}\n\n## 关键卖点\n{key_topics}\n\n---\n*内容整理自提供的文档资料*\n\"\"\"\n \n key_points = \"\\n\".join([f\"• {topic}\" for topic in content.key_topics[:8]])\n \n return template.format(\n document_count=content.document_count,\n content_summary=content.content_summary,\n combined_content=content.combined_content,\n key_topics=key_points\n )",
"code_hash": "a860f96bd784753d94d9f034ae105e7f"
},
{
"name": "_transform_to_travel_guide",
"line_start": 140,
"line_end": 164,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为旅游指南格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_travel_guide(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为旅游指南格式\"\"\"\n template = \"\"\"\n# 旅游指南\n\n## 概述\n{content_summary}\n\n## 详细信息\n{combined_content}\n\n## 重要提示\n- 信息来源: {document_count}个文档\n- 关键主题: {key_topics}\n\n---\n*本指南基于提供的文档整理,出行前请核实最新信息*\n\"\"\"\n \n return template.format(\n content_summary=content.content_summary,\n combined_content=content.combined_content,\n document_count=content.document_count,\n key_topics=\", \".join(content.key_topics[:5])\n )",
"code_hash": "fd420a017573fc6c409be67b2d261e81"
},
{
"name": "_transform_to_blog_post",
"line_start": 166,
"line_end": 195,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为博客文章格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_blog_post(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为博客文章格式\"\"\"\n template = \"\"\"\n# 博客文章\n\n## 前言\n本文基于{document_count}个文档资料整理而成。\n\n## 主要内容\n\n{combined_content}\n\n## 总结\n{content_summary}\n\n## 相关主题\n{key_topics}\n\n---\n*本文内容整理自多个文档资料*\n\"\"\"\n \n topics_list = \"\\n\".join([f\"- {topic}\" for topic in content.key_topics[:10]])\n \n return template.format(\n document_count=content.document_count,\n combined_content=content.combined_content,\n content_summary=content.content_summary,\n key_topics=topics_list\n )",
"code_hash": "6259ddcd588233aa6f3e1b2dff5baba4"
},
{
"name": "_transform_to_summary",
"line_start": 197,
"line_end": 227,
"args": [
{
"name": "self"
},
{
"name": "content",
"type_hint": "IntegratedContent"
},
{
"name": "custom_prompt",
"type_hint": "Optional[str]"
}
],
"return_type": "str",
"docstring": "转换为摘要格式",
"is_async": false,
"decorators": [],
"code": " def _transform_to_summary(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为摘要格式\"\"\"\n template = \"\"\"\n# 文档内容摘要\n\n## 文档统计\n- 文档数量: {document_count}\n- 文档类型: {document_types}\n- 内容长度: {content_length}字符\n\n## 内容摘要\n{content_summary}\n\n## 关键主题\n{key_topics}\n\n## 完整内容\n{combined_content}\n\"\"\"\n \n doc_types = \", \".join([f\"{k}({v}个)\" for k, v in content.document_types.items()])\n topics_list = \"\\n\".join([f\"• {topic}\" for topic in content.key_topics])\n \n return template.format(\n document_count=content.document_count,\n document_types=doc_types,\n content_length=content.total_content_length,\n content_summary=content.content_summary,\n key_topics=topics_list,\n combined_content=content.combined_content\n )",
"code_hash": "859feec79f159c45dff61141a5352bf4"
},
{
"name": "get_supported_formats",
"line_start": 229,
"line_end": 231,
"args": [
{
"name": "self"
}
],
"return_type": "List[str]",
"docstring": "获取支持的格式列表",
"is_async": false,
"decorators": [],
"code": " def get_supported_formats(self) -> List[str]:\n \"\"\"获取支持的格式列表\"\"\"\n return list(self.supported_formats.keys())",
"code_hash": "47e50c765f82c40651edf4dfbb844b84"
},
{
"name": "add_custom_format",
"line_start": 233,
"line_end": 236,
"args": [
{
"name": "self"
},
{
"name": "format_name",
"type_hint": "str"
},
{
"name": "transform_func"
}
],
"return_type": null,
"docstring": "添加自定义格式",
"is_async": false,
"decorators": [],
"code": " def add_custom_format(self, format_name: str, transform_func):\n \"\"\"添加自定义格式\"\"\"\n self.supported_formats[format_name] = transform_func\n logger.info(f\"添加自定义格式: {format_name}\") ",
"code_hash": "9885a21f2593a53e6467877bec1bb86a"
}
],
"docstring": "内容转换器 - 将整合的内容转换为指定格式",
"decorators": [],
"code": "class ContentTransformer:\n \"\"\"内容转换器 - 将整合的内容转换为指定格式\"\"\"\n \n def __init__(self, config: Optional[Dict[str, Any]] = None):\n self.config = config or {}\n self.supported_formats = {\n 'attraction_standard': self._transform_to_attraction_standard,\n 'product_sales': self._transform_to_product_sales,\n 'travel_guide': self._transform_to_travel_guide,\n 'blog_post': self._transform_to_blog_post,\n 'summary': self._transform_to_summary\n }\n \n def transform_content(self, \n integrated_content: IntegratedContent,\n format_type: str = 'summary',\n custom_prompt: Optional[str] = None) -> TransformedContent:\n \"\"\"转换内容\n \n Args:\n integrated_content: 整合后的内容\n format_type: 转换格式类型\n custom_prompt: 自定义提示词\n \n Returns:\n TransformedContent: 转换后的内容\n \"\"\"\n if format_type not in self.supported_formats:\n raise ValueError(f\"不支持的格式类型: {format_type}\")\n \n logger.info(f\"开始转换内容,格式: {format_type}\")\n \n # 执行转换\n transform_func = self.supported_formats[format_type]\n transformed_text = transform_func(integrated_content, custom_prompt)\n \n # 生成转换元数据\n transformation_metadata = {\n 'format_type': format_type,\n 'source_document_count': integrated_content.document_count,\n 'source_content_length': integrated_content.total_content_length,\n 'transformed_content_length': len(transformed_text),\n 'key_topics_used': integrated_content.key_topics,\n 'custom_prompt_used': custom_prompt is not None\n }\n \n return TransformedContent(\n original_content=integrated_content,\n transformed_text=transformed_text,\n format_type=format_type,\n transformation_metadata=transformation_metadata,\n transformed_at=datetime.now()\n )\n \n def _transform_to_attraction_standard(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为景点标准格式\"\"\"\n template = \"\"\"\n# 景点信息整理\n\n## 基本信息\n- 文档来源: {document_count}个文档\n- 主要主题: {key_topics}\n\n## 详细内容\n{combined_content}\n\n## 内容摘要\n{content_summary}\n\n---\n*基于提供的文档整理,如需更多信息请参考原始文档*\n\"\"\"\n \n return template.format(\n document_count=content.document_count,\n key_topics=\", \".join(content.key_topics[:5]),\n combined_content=content.combined_content,\n content_summary=content.content_summary\n )\n \n def _transform_to_product_sales(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为产品销售格式\"\"\"\n template = \"\"\"\n# 产品销售资料\n\n## 产品特色\n基于{document_count}个文档的信息整理:\n\n{content_summary}\n\n## 详细介绍\n{combined_content}\n\n## 关键卖点\n{key_topics}\n\n---\n*内容整理自提供的文档资料*\n\"\"\"\n \n key_points = \"\\n\".join([f\"• {topic}\" for topic in content.key_topics[:8]])\n \n return template.format(\n document_count=content.document_count,\n content_summary=content.content_summary,\n combined_content=content.combined_content,\n key_topics=key_points\n )\n \n def _transform_to_travel_guide(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为旅游指南格式\"\"\"\n template = \"\"\"\n# 旅游指南\n\n## 概述\n{content_summary}\n\n## 详细信息\n{combined_content}\n\n## 重要提示\n- 信息来源: {document_count}个文档\n- 关键主题: {key_topics}\n\n---\n*本指南基于提供的文档整理,出行前请核实最新信息*\n\"\"\"\n \n return template.format(\n content_summary=content.content_summary,\n combined_content=content.combined_content,\n document_count=content.document_count,\n key_topics=\", \".join(content.key_topics[:5])\n )\n \n def _transform_to_blog_post(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为博客文章格式\"\"\"\n template = \"\"\"\n# 博客文章\n\n## 前言\n本文基于{document_count}个文档资料整理而成。\n\n## 主要内容\n\n{combined_content}\n\n## 总结\n{content_summary}\n\n## 相关主题\n{key_topics}\n\n---\n*本文内容整理自多个文档资料*\n\"\"\"\n \n topics_list = \"\\n\".join([f\"- {topic}\" for topic in content.key_topics[:10]])\n \n return template.format(\n document_count=content.document_count,\n combined_content=content.combined_content,\n content_summary=content.content_summary,\n key_topics=topics_list\n )\n \n def _transform_to_summary(self, content: IntegratedContent, custom_prompt: Optional[str] = None) -> str:\n \"\"\"转换为摘要格式\"\"\"\n template = \"\"\"\n# 文档内容摘要\n\n## 文档统计\n- 文档数量: {document_count}\n- 文档类型: {document_types}\n- 内容长度: {content_length}字符\n\n## 内容摘要\n{content_summary}\n\n## 关键主题\n{key_topics}\n\n## 完整内容\n{combined_content}\n\"\"\"\n \n doc_types = \", \".join([f\"{k}({v}个)\" for k, v in content.document_types.items()])\n topics_list = \"\\n\".join([f\"• {topic}\" for topic in content.key_topics])\n \n return template.format(\n document_count=content.document_count,\n document_types=doc_types,\n content_length=content.total_content_length,\n content_summary=content.content_summary,\n key_topics=topics_list,\n combined_content=content.combined_content\n )\n \n def get_supported_formats(self) -> List[str]:\n \"\"\"获取支持的格式列表\"\"\"\n return list(self.supported_formats.keys())\n \n def add_custom_format(self, format_name: str, transform_func):\n \"\"\"添加自定义格式\"\"\"\n self.supported_formats[format_name] = transform_func\n logger.info(f\"添加自定义格式: {format_name}\") ",
"code_hash": "73d87f260e5283f6aba0121e65499a04"
}
],
"imports": [
{
"type": "import",
"modules": [
"logging"
],
"aliases": []
},
{
"type": "from_import",
"module": "typing",
"names": [
"Dict",
"Any",
"Optional",
"List"
],
"aliases": [],
"level": 0
},
{
"type": "from_import",
"module": "dataclasses",
"names": [
"dataclass"
],
"aliases": [],
"level": 0
},
{
"type": "from_import",
"module": "datetime",
"names": [
"datetime"
],
"aliases": [],
"level": 0
},
{
"type": "import",
"modules": [
"uuid"
],
"aliases": []
},
{
"type": "from_import",
"module": "content_integrator",
"names": [
"IntegratedContent"
],
"aliases": [],
"level": 1
},
{
"type": "from_import",
"module": "core.ai.ai_agent",
"names": [
"AIAgent"
],
"aliases": [],
"level": 0
},
{
"type": "from_import",
"module": "core.config.manager",
"names": [
"ConfigManager"
],
"aliases": [],
"level": 0
},
{
"type": "from_import",
"module": "utils.file_io",
"names": [
"OutputManager"
],
"aliases": [],
"level": 0
}
],
"constants": [],
"docstring": "内容转换器模块\n使用LLM将解析的文档内容转换为标准化的景区和产品资料格式",
"content_hash": "29c88acacc336c3f98ab977fad672104"
}