Índice
Visão geral
Características
Estrutura do repositório
Módulos
Começando
Instalação
Executando Report.ai
Início rápido
Roteiro
Contribuindo
Licença
Agradecimentos
No Report.ai, nossa missão é clara: capacitar você com uma experiência robusta de relatórios baseada em IA. Ultrapassamos as limitações da segmentação tradicional baseada no comprimento do texto, optando por uma abordagem mais inteligente: a segmentação semântica. Este método inovador garante uma precisão incomparável na identificação de temas abrangentes e detalhes diferenciados em seu conteúdo. Além disso, vamos além ao oferecer uma transcrição e áudio em cada segmento, fornecendo a você um ponto de referência confiável para uma compreensão abrangente de seu conteúdo.
Em vez de depender do comprimento do texto, o Report.ai segmenta seus relatórios de acordo com o significado. Isso resulta em uma análise mais precisa do conteúdo, melhorando sua compreensão do material.
Nossos relatórios vão além da mera representação textual. Cada pedaço semântico é apresentado junto com uma transcrição interativa, permitindo navegar e fazer referência perfeitamente aos segmentos de áudio originais.
Colocamos o poder da personalização em suas mãos. Personalize sua análise com facilidade usando nossos modelos personalizáveis, permitindo extrair insights que são importantes para você.
Esteja você trabalhando com links do YouTube, arquivos de áudio em formato WAV ou transcrições de texto em formato TXT, nós temos o que você precisa. Report.ai lida perfeitamente com uma variedade de entradas multimídia, tornando sua experiência abrangente e conveniente.
Para quem busca estabelecer um banco de dados profissional, nosso repositório oferece integração perfeita com Pinecone e Chroma. Essas ferramentas avançadas oferecem recursos superiores de gerenciamento e recuperação de dados, aumentando o valor dos seus esforços de geração de relatórios.
└── leia-me/ ├── .env ├── VAD.py ├── dividir.py ├── exemplo/ │ ├── ASSISTIR_LIVE_Nvidia_Q2_Earnings_Call_NVDA │ └── lote.txt ├── main.py ├── requisitos.txt ├── s2t_whisper.py ├── storage_vector.py ├── resumo.py ├── modelo/ │ ├── geral.txt │ └── individual.txt └──utils.py
Arquivo | Resumo |
---|---|
requisitos.txt | Fornecendo uma lista de dependências essenciais para o bom funcionamento do código. |
.env | O arquivo .env serve como um repositório para definições de configuração pertencentes a várias APIs, abrangendo aquelas do OpenAI, Azure OpenAI e Pinecone. Neste arquivo, você encontrará informações essenciais como chaves de API, nomes de modelos e configurações de armazenamento. |
utilitários.py | Dentro do arquivo utils.py , você descobrirá uma gama abrangente de funções utilitárias. Essas funções são versáteis e abrangem diversas tarefas essenciais, incluindo: fuzzy_match: Para realizar correspondência difusa de strings. validar_filetype: Garantindo a validação do tipo de arquivo. detect_language: Detectando o idioma de um arquivo de texto. get_items: Extraindo itens de arquivos de modelo. add_hyperlink: Adicionando hiperlinks em documentos do Word. divide_audio: Dividir arquivos de áudio em segmentos. get_file_list: Recuperando listas de caminhos de arquivos. |
resumir.py | O script summarize.py é dedicado a gerar resumos com base nos modelos encontrados em template/general.txt e template/individual.txt. Esses resumos podem ser traduzidos, se necessário, e depois transformados em formato de documento Microsoft Word (.docx). Ao longo deste processo, o documento é enriquecido com hiperlinks e detalhes contextuais adicionais. |
s2t_whisper.py | O s2t_whisper.py oferece funcionalidades para baixar vídeos do YouTube, extrair o áudio, remover o silêncio, converter fala em texto com carimbo de data e hora e adicionar pontuação para conteúdo em chinês. A transcrição resultante é salva nos formatos JSON e TXT. |
VAD.py | O VAD.py é usado para extrair a voz humana de um arquivo de áudio. Ele divide o áudio em pedaços de 10 minutos, exporta cada pedaço como um arquivo separado e extrai a voz humana usando a biblioteca Spleeter. Os vocais extraídos são então combinados em um único arquivo de áudio. |
dividir.py | O divide.py é aquele que divide um artigo em subtópicos com base em sua transcrição. A classe possui vários métodos privados: _string_cleaner limpa a string de entrada, _get_timestamp_list extrai carimbos de data e hora de um arquivo JSON, _add_timestamp adiciona carimbos de data e hora aos subtópicos, _add_transcript adiciona a transcrição em subtópicos e _divide_by_subtopics usa modelos de linguagem para dividir o artigo em partes. |
principal.py | O main.py é um script versátil projetado para análise de arquivos e geração de resumos. Ele oferece ampla flexibilidade ao aceitar vários argumentos de linha de comando, incluindo: File Path : para especificar o arquivo para análise. Chunk Size : permitindo definir o tamanho dos segmentos de texto. Temperature of Language Model : para ajustar o comportamento do modelo de linguagem. Batch Mode : permite indicar se o script deve ser executado em modo em lote. Report Generation : Oferece a opção de criar um relatório. Vector Database Selection : permitindo que você escolha entre bancos de dados de vetores Pinecone e Chroma. ASR (Automatic Speech Recognition) Model : Para selecionar o modelo ASR apropriado a ser usado. |
storage_vector.py | O script storage_vector.py oferece duas funções essenciais: pinecone_storage e chroma_storage, ambas projetadas para facilitar o armazenamento de resultados em um banco de dados vetorial. |
Arquivo | Resumo |
---|---|
indivíduo.txt | O conteúdo do individuel.txt traz itens que são analisados dentro de cada subtópico. |
geral.txt | O conteúdo do general.txt fornece itens que são analisados em toda a transcrição. |
Arquivo | Resumo |
---|---|
lote.txt | O arquivo batch.txt é usado para facilitar o processamento de vários arquivos. Ele consegue isso listando os caminhos dos arquivos, separados por vírgulas, para indicar quais arquivos múltiplos devem ser processados sequencialmente. |
WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt , contém uma transcrição dos resultados financeiros do segundo trimestre de 2023 da NVIDIA e do webcast de perguntas e respostas. |
Bandeira Curta | Bandeira Longa | Descrição | Tipo | Status |
---|---|---|---|---|
-ó | --output_dir | Configurando o diretório de saída do relatório, o padrão é ./docx | corda | Opção |
-c | --chunk | Definir o tamanho do pedaço para análise. recomendação (GPT-3.5: 10.000 em en, 2.000 em zh, GPT-4: 18.000 em en, 3.600 em zh), o padrão é 2.000 | Corda | Opção |
-t | --temperatura | Ajuste a temperatura do LLM dentro da faixa de 0 a 2, temperatura mais alta significa mais criatividade, o padrão é 0,1 | flutuador | Opção |
- e | --extrair | Extraia a voz humana do áudio ou não (Mac com Apple Silicon não é compatível), o padrão é False | Booleano | Opção |
-b | --lote | Use 'True' se o arquivo de texto de entrada incluir vários caminhos de arquivo, o padrão é False | Booleano | Opção |
-v | --vectorDB | Escolha o banco de dados vetorial (pinecoene ou chroma), o padrão é Nenhum | corda | Opção |
- m | --modelo | Escolha o modelo de sussurro ('minúsculo', 'base', 'pequeno', 'médio', 'grande-v2'), o padrão é médio | corda | Opção |
Dependências
Certifique-se de ter as seguintes dependências instaladas em seu sistema:
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
Clone o repositório Report.ai:
clone do git https://github.com/Shou-Hsu/Report.ai.git
Mude para o diretório do projeto:
cd Relatório.ai
Instale o conda:
instale o minicódigo via https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html
Crie um ambiente virtual:
conda criar -n Relatório.ai python=3.9
Ative o ambiente virtual:
conda ativar Report.ai
Instale o pytorch:
instale o pytorch via https://pytorch.org/get-started/locally/
Instale o ffmpeg e o libsndfile:
conda install -c conda-forge ffmpeg libsndfile
Instale as dependências:
pip instalar -r requisitos.txt
(Somente Mac) Atualize as dependências:
pip instalar -U numba
python main.py <caminho_do_arquivo> -c 10000
Configurando a credencial Openai ou Azure openai no arquivo .env. Além disso, definir as credenciais de Pinecone ou Chroma se pretender armazenar dados no VectorDB.
# escolha um dos provedores de modelo gpt Azure ou OpenAI# Azure openAI credentialAZURE_OPENAI_API_KEY= AZURE_OPENAI_API_BASE= AZURE_OPENAI_API_VERSION= AZURE_OPENAI_API_TYPE= AZURE_DEPLOYMENT_NAME= EMBEDDING_DEPLOYMENT_NAME= #somente se você usar Azure OpenAI# # credencial OpenAIOPENAI_API_KEY= MODEL_NAME=# # credencial pinha (opção)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB (opção)PERSIST_DIR= COLLCTION_NAME=
Modifique o tempelete/general.txt e o tempelete/individuel.txt (itens de análise separados por ",")
#Por exemplo, se você pretende analisar uma "televisão de resultados": você pode definir "Tópico, Resumo, explicação do CFO sobre a situação financeira de curto prazo, descrição do CEO sobre as perspectivas da empresa, As questões de preocupação do mercado" em tempelete/ geral.txt Simultaneamente, defina "Resumo, Visão de investimento, Palavras-chave" em tempelete/individuel.txt#Caso você queira criar um breve resumo da "reunião de rotina": você pode definir "Tópico, Resumo, Trabalho de recurso" em tempelete/ geral.txt Simultaneamente, defina "Resumo, item de ação, palavras-chave" em tempelete/individuel.txt
Execute Report.ai na linha de comando
python main.py exemplo/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.
Discussões
Participe da discussão aqui.
Novo problema
Relate um bug ou solicite um recurso aqui.
Diretrizes de contribuição
MIT.
Langchain, OpenAI, Pinha, Chroma, Spleeter
Retornar