Table des matières
Aperçu
Caractéristiques
Structure du référentiel
Modules
Commencer
Installation
Exécution de Report.ai
Démarrage rapide
Feuille de route
Contribuer
Licence
Remerciements
Chez Report.ai, notre mission est claire : vous offrir une solide expérience de reporting basée sur l'IA. Nous avons dépassé les limites de la segmentation traditionnelle basée sur la longueur du texte, en optant pour une approche plus intelligente : la segmentation sémantique. Cette méthode innovante garantit une précision inégalée dans l'identification des thèmes généraux et des détails nuancés de votre contenu. De plus, nous faisons un effort supplémentaire en proposant une transcription et un audio dans chaque segment, vous fournissant ainsi un point de référence fiable pour une compréhension complète de votre contenu.
Au lieu de se fier à la longueur du texte, Report.ai segmente vos rapports en fonction de leur signification. Cela se traduit par une répartition plus précise du contenu, améliorant ainsi votre compréhension du matériel.
Nos rapports vont au-delà de la simple représentation textuelle. Chaque morceau sémantique est présenté avec une transcription interactive, vous permettant de naviguer et de référencer de manière transparente les segments audio originaux.
Nous mettons le pouvoir de la personnalisation entre vos mains. Adaptez facilement votre analyse à l’aide de nos modèles personnalisables, vous permettant d’extraire les informations qui vous intéressent.
Que vous travailliez avec des liens YouTube, des fichiers audio au format WAV ou des transcriptions de texte au format TXT, nous avons ce qu'il vous faut. Report.ai gère de manière transparente une variété d'entrées multimédia, rendant votre expérience complète et pratique.
Pour ceux qui cherchent à établir une base de données professionnelle, notre référentiel offre une intégration transparente avec Pinecone et Chroma. Ces outils avancés offrent des capacités supérieures de gestion et de récupération des données, améliorant ainsi la valeur de vos efforts de reporting.
└── lis-moi/ ├── .env ├── VAD.py ├── diviser.py ├── exemple/ │ ├── WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA │ └── batch.txt ├── main.py ├── exigences.txt ├── s2t_whisper.py ├── stockage_vecteur.py ├── résumé.py ├── modèle/ │ ├── général.txt │ └── individuel.txt └── utils.py
Déposer | Résumé |
---|---|
exigences.txt | Fournir une liste de dépendances essentielles au bon fonctionnement du code. |
.env | Le fichier .env sert de référentiel pour les paramètres de configuration relatifs à diverses API, englobant celles d'OpenAI, Azure OpenAI et Pinecone. Dans ce fichier, vous trouverez des informations essentielles telles que les clés API, les noms de modèles et les configurations de stockage. |
utils.py | Dans le fichier utils.py , vous découvrirez une gamme complète de fonctions utilitaires. Ces fonctions sont polyvalentes et couvrent diverses tâches essentielles, notamment : fuzzy_match : pour effectuer une correspondance de chaînes floues. validate_filetype : Assurer la validation du type de fichier. détecter_langue : Détection de la langue d'un fichier texte. get_items : extraction d'éléments à partir de fichiers modèles. add_hyperlink : ajout d'hyperliens dans les documents Word. Divide_audio : découpage des fichiers audio en segments. get_file_list : Récupération des listes de chemins de fichiers. |
résumer.py | Le script summarize.py est dédié à la génération de résumés basés sur les modèles trouvés dans template/general.txt et template/individual.txt. Ces résumés peuvent être traduits, si nécessaire, puis transformés au format de document Microsoft Word (.docx). Tout au long de ce processus, le document est enrichi de liens hypertextes et de détails contextuels supplémentaires. |
s2t_whisper.py | Le s2t_whisper.py fournit des fonctionnalités pour télécharger des vidéos YouTube, extraire l'audio, supprimer le silence, convertir la parole en texte avec horodatage et ajouter de la ponctuation pour le contenu chinois. La transcription résultante est enregistrée aux formats JSON et TXT. |
VAD.py | Le VAD.py est utilisé pour extraire la voix humaine d'un fichier audio. Il divise l'audio en morceaux de 10 minutes, exporte chaque morceau dans un fichier séparé et extrait la voix humaine à l'aide de la bibliothèque Spleeter. Les voix extraites sont ensuite combinées en un seul fichier audio. |
diviser.py | Le divide.py divise un article en sous-thèmes en fonction de sa transcription. La classe dispose de plusieurs méthodes privées : _string_cleaner nettoie la chaîne d'entrée, _get_timestamp_list extrait les horodatages d'un fichier JSON, _add_timestamp ajoute des horodatages aux sous-thèmes, _add_transcript ajoute la transcription en sous-thèmes et _divide_by_subtopics utilise des modèles de langage pour diviser l'article en morceaux. |
main.py | Le main.py est un script polyvalent conçu pour l'analyse de fichiers et la génération de résumés. Il offre une grande flexibilité en acceptant divers arguments de ligne de commande, notamment : File Path : pour spécifier le fichier à analyser. Chunk Size : Vous permettant de définir la taille des segments de texte. Temperature of Language Model : Pour affiner le comportement du modèle de langage. Batch Mode : Permet d'indiquer si le script doit s'exécuter en mode batch. Report Generation : offre la possibilité de créer un rapport. Vector Database Selection : vous permettant de choisir entre les bases de données vectorielles Pinecone et Chroma. ASR (Automatic Speech Recognition) Model : Pour sélectionner le modèle ASR approprié à utiliser. |
stockage_vecteur.py | Le script storage_vector.py propose deux fonctions essentielles : Pinecone_storage et chroma_storage, toutes deux conçues pour faciliter le stockage des résultats dans une base de données vectorielle. |
Déposer | Résumé |
---|---|
individuel.txt | Le contenu du fichier individuel.txt fournit des éléments qui sont analysés au sein de chaque sous-thème. |
général.txt | Le contenu du fichier general.txt fournit des éléments qui sont analysés dans l'ensemble de la transcription. |
Déposer | Résumé |
---|---|
lot.txt | Le fichier batch.txt est utilisé pour faciliter le traitement de plusieurs fichiers. Il y parvient en répertoriant les chemins de fichiers, séparés par des virgules, pour indiquer quels fichiers multiples doivent être traités séquentiellement. |
WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt , contient une transcription des résultats financiers de NVIDIA pour le deuxième trimestre 2023 et une webdiffusion de questions-réponses. |
Drapeau court | Drapeau long | Description | Taper | Statut |
---|---|---|---|---|
-o | --rép_sortie | Définition du répertoire de sortie du rapport, la valeur par défaut est ./docx | chaîne | Option |
-c | --gros morceau | Définition de la taille des morceaux pour l’analyse. recommandation (GPT-3.5 : 10 000 en anglais, 2 000 en zh, GPT-4 : 18 000 en anglais, 3 600 en zh), la valeur par défaut est 2 000 | Chaîne | Option |
-t | --température | Ajustez la température du LLM dans la plage de 0 à 2, une température plus élevée signifie plus de créativité, la valeur par défaut est 0,1 | flotter | Option |
-e | --extrait | Extraire ou non la voix humaine de l'audio (Mac avec Apple Silicon n'est pas pris en charge), la valeur par défaut est False | Booléen | Option |
-b | --lot | Utilisez « Vrai » si le fichier texte d'entrée comprend plusieurs chemins de fichiers, la valeur par défaut est False. | Booléen | Option |
-v | --vecteurDB | Choisissez la base de données vectorielle (pinecoene ou chroma), la valeur par défaut est Aucune | chaîne | Option |
-m | --modèle | Choisissez le modèle Whisper ("minuscule", "base", "petit", "moyen", "grand-v2"), la valeur par défaut est moyenne | chaîne | Option |
Dépendances
Veuillez vous assurer que les dépendances suivantes sont installées sur votre système :
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
Clonez le dépôt Report.ai :
clone git https://github.com/Shou-Hsu/Report.ai.git
Accédez au répertoire du projet :
cd Report.ai
Installez le conda :
installez le minicode via https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html
Créez un environnement virtuel :
conda create -n Report.ai python=3.9
Activer l'environnement virtuel :
conda activer Report.ai
Installez la torche :
installez pytorch via https://pytorch.org/get-started/locally/
Installez le ffmpeg et le fichier libsnd :
conda install -c conda-forge ffmpeg libsndfile
Installez les dépendances :
pip install -r exigences.txt
(Mac uniquement) Mettez à jour les dépendances :
pip install -U numéro
python main.py <chemin_fichier> -c 10000
Définition des informations d'identification Openai ou Azure openai dans le fichier .env. De plus, définissez les informations d'identification de Pinecone ou de Chroma si vous souhaitez stocker des données dans VectorDB.
# choisissez l'un des fournisseurs de modèles 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= #uniquement si vous utilisez Azure OpenAI# # Informations d'identification OpenAIOPENAI_API_KEY= MODEL_NAME=# # identifiant Pinecone (option)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB (option)PERSIST_DIR= COLLCTION_NAME=
Modifier les fichiers tempelete/general.txt et tempelete/individuel.txt (éléments d'analyse séparés par ",")
#Par exemple, si vous souhaitez analyser un « appel de résultats » : vous pouvez définir « Sujet, Résumé, explication du directeur financier sur la situation financière à court terme, description du PDG sur les perspectives de l'entreprise, les questions qui préoccupent le marché » dans tempelete/ général.txt Simultanément, définissez « Résumé, Informations sur l'investissement, Mots-clés » dans tempelete/individuel.txt#Si vous souhaitez créer un bref résumé de la « réunion de routine » : vous pouvez définir « Sujet, Résumé, Fonctionnalité » dans tempelete/ général.txt Simultanément, définissez "Résumé, élément d'action, Mots-clés" dans tempelete/individuel.txt
Exécutez Report.ai dans la ligne de recommandation
exemple 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.
Discussions
Rejoignez la discussion ici.
Nouveau numéro
Signalez un bug ou demandez une fonctionnalité ici.
Lignes directrices de contribution
MIT.
Langchain, OpenAI, Pomme de Pin, Chroma, Spleeter
Retour