目录
概述
特征
存储库结构
模块
入门
安装
运行报告.ai
快速入门
路线图
贡献
执照
致谢
在 Report.ai,我们的使命很明确:为您提供强大的人工智能驱动的报告体验。我们已经超越了传统的基于文本长度的分割的限制,选择了一种更智能的方法——语义分割。这种创新方法可确保以无与伦比的精度识别内容中的总体主题和细微差别。此外,我们还加倍努力,在每个片段中提供文字记录和音频,为您提供可靠的参考点,以全面理解您的内容。
Report.ai 不依赖文本长度,而是根据报告的含义对报告进行分段。这样可以更准确地分解内容,增强您对材料的理解。
我们的报告不仅仅是文本表示。每个语义块都与交互式文字记录一起呈现,使您可以无缝导航和引用原始音频片段。
我们将定制的力量交给您。使用我们的可定制模板轻松定制您的分析,使您能够提取对您重要的见解。
无论您是使用 YouTube 链接、WAV 格式的音频文件还是 TXT 格式的文本转录,我们都能满足您的需求。 Report.ai无缝处理各种多媒体输入,让您的体验全面、便捷。
对于那些寻求建立专业数据库的人来说,我们的存储库提供了与 Pinecone 和 Chroma 的无缝集成。这些先进的工具提供卓越的数据管理和检索功能,提高您的报告工作的价值。
└── 自述文件/ ├── .env ├── VAD.py ├── 除法.py ├── 例子/ │ ├── WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA │ └── 批处理.txt ├── main.py ├── 需求.txt ├── s2t_whisper.py ├── storage_vector.py ├── 总结.py ├── 模板/ │ ├── 一般.txt │ └── 个体.txt └── utils.py
文件 | 概括 |
---|---|
要求.txt | 提供对于代码正常运行至关重要的基本依赖项列表。 |
.env | .env 文件用作与各种 API 相关的配置设置的存储库,包括来自 OpenAI、Azure OpenAI 和 Pinecone 的配置设置。在此文件中,您将找到 API 密钥、型号名称和存储配置等基本信息。 |
实用程序.py | 在utils.py 文件中,您将发现一系列全面的实用程序函数。这些函数用途广泛,涵盖各种基本任务,包括: fuzzy_match:用于执行模糊字符串匹配。 validate_filetype:确保文件类型验证。 detector_language:检测文本文件的语言。 get_items:从模板文件中提取项目。 add_hyperlink:在Word文档中添加超链接。 split_audio:将音频文件分割成片段。 get_file_list:检索文件路径列表。 |
总结.py | summarize.py 脚本专门用于根据 template/general.txt 和 template/individual.txt 中找到的模板生成摘要。如果需要,可以翻译这些摘要,然后将其转换为 Microsoft Word 文档格式 (.docx)。在整个过程中,文档中包含了超链接和其他上下文详细信息。 |
s2t_whisper.py | s2t_whisper.py 提供下载 YouTube 视频、提取音频、消除静音、将语音转换为带有时间戳的文本以及为中文内容添加标点符号的功能。生成的文本以 JSON 和 TXT 格式保存。 |
VAD.py | VAD.py 用于从音频文件中提取人声。它将音频分成 10 分钟的块,将每个块导出为单独的文件,并使用 Spleeter 库提取人声。然后将提取的声音组合成一个音频文件。 |
除法.py | divide.py 是根据文章的文字记录将文章划分为子主题。该类有几个私有方法: _string_cleaner 清理输入字符串, _get_timestamp_list 从 JSON 文件中提取时间戳, _add_timestamp 将时间戳添加到子主题, _add_transcript 将记录添加到子主题中, _divide_by_subtopics 使用语言模型将文章划分为块。 |
主要.py | main.py 是一个多功能脚本,专为文件分析和摘要生成而设计。它通过接受各种命令行参数提供了广泛的灵活性,包括: File Path :指定要分析的文件。 Chunk Size :允许您定义文本段的大小。 Temperature of Language Model :微调语言模型的行为。 Batch Mode :使您能够指示脚本是否应以批处理模式运行。 Report Generation :提供创建报告的选项。 Vector Database Selection :允许您在 Pinecone 和 Chroma 矢量数据库之间进行选择。 ASR (Automatic Speech Recognition) Model :用于选择要使用的适当的 ASR 模型。 |
存储向量.py | storage_vector.py 脚本提供了两个基本函数:pinecone_storage 和 chroma_storage,这两个函数都旨在促进矢量数据库中结果的存储。 |
文件 | 概括 |
---|---|
个人.txt | individuel.txt 的内容提供了每个子主题中分析的项目。 |
一般.txt | general.txt 的内容提供了在整个记录中分析的项目。 |
文件 | 概括 |
---|---|
批处理.txt | batch.txt 文件,用于方便处理多个文件。它通过列出文件路径(用逗号分隔)来指示要按顺序处理哪些多个文件来实现此目的。 |
WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt 包含 NVIDIA 2023 年第二季度财务业绩和问答网络广播的文字记录。 |
短旗 | 长旗 | 描述 | 类型 | 地位 |
---|---|---|---|---|
-o | --输出目录 | 设置报告的输出目录,默认为./docx | 细绳 | 选项 |
-c | --块 | 设置分析块大小。推荐(GPT-3.5:en 为 10000,zh 为 2000,GPT-4:en 为 18000,zh 为 3600),默认值为 2000 | 细绳 | 选项 |
-t | - 温度 | 在0到2范围内调整LLM的温度,温度越高创造力越强,默认为0.1 | 漂浮 | 选项 |
-e | - 提炼 | 是否从音频中提取人声(不支持带有苹果芯片的 Mac),默认为 False | 布尔值 | 选项 |
-b | - 批 | 如果输入文本文件包含多个文件路径,则使用“True”,默认值为 False | 布尔值 | 选项 |
-v | --向量数据库 | 选择矢量数据库(松果烯或色度),默认为无 | 细绳 | 选项 |
- 米 | - 模型 | 选择耳语模型('tiny'、'base'、'small'、'medium'、'large-v2'),默认为medium | 细绳 | 选项 |
依赖关系
请确保您的系统上安装了以下依赖项:
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
克隆 Report.ai 存储库:
git 克隆 https://github.com/Shou-Hsu/Report.ai.git
切换到项目目录:
cd 报告.ai
安装康达:
通过 https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html 安装 minicode
创建虚拟环境:
conda create -n Report.ai python=3.9
激活虚拟环境:
conda 激活 Report.ai
安装pytorch:
通过 https://pytorch.org/get-started/locally/ 安装 pytorch
安装 ffmpeg 和 libsndfile:
conda 安装-c conda-forge ffmpeg libsndfile
安装依赖项:
pip install -r 要求.txt
(仅限 Mac)更新依赖项:
pip安装-U numba
python main.py <文件路径> -c 10000
在 .env 文件中设置 Openai 或 Azure openai 凭据。此外,如果旨在将数据存储在 VectorDB 中,请设置 Pinecone 或 Chroma 的凭据。
# 选择 gpt 模型提供商 Azure 或 OpenAI 之一# Azure openAI 凭证AZURE_OPENAI_API_KEY= AZURE_OPENAI_API_BASE= AZURE_OPENAI_API_VERSION= AZURE_OPENAI_API_TYPE= AZURE_DEPLOYMENT_NAME= EMBEDDING_DEPLOYMENT_NAME= #仅当您使用 Azure OpenAI# # OpenAI 凭据OPENAI_API_KEY= MODEL_NAME=# # pinecone 凭证(选项)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB(选项)PERSIST_DIR= COLLCTION_NAME=
修改tempelete/general.txt和tempelete/individuel.txt(分析项以“,”分隔)
#例如,如果您要分析“财报电话会议”:您可以在tempelete/中设置“主题、摘要、CFO对短期财务状况的解释、CEO对公司前景的描述、市场关注的问题”一般.txt 同时在tempelete/individuel.txt中设置“摘要、投资洞察、关键词”#如果您要创建“例行会议”的简要摘要:您可以在tempelete/中设置“主题、摘要、专题工作”一般.txt 同时在tempelete/individuel.txt中设置“摘要、操作项、关键词”
在命令行中运行 Report.ai
python main.py 示例/WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt -c 10000
Publish project as a Python library via PyPI for easy installation.
Make project available as a Docker image on Docker Hub.
讨论
在这里加入讨论。
新一期
在此处报告错误或请求功能。
贡献指南
麻省理工学院。
Langchain、OpenAI、Pinecone、Chroma、Spleter
返回