Tabla de contenido
Descripción general
Características
estructura del repositorio
Módulos
Empezando
Instalación
Ejecución de Report.ai
Inicio rápido
Hoja de ruta
Contribuyendo
Licencia
Expresiones de gratitud
En Report.ai, nuestra misión es clara: brindarle una sólida experiencia de generación de informes basada en IA. Hemos superado las limitaciones de la segmentación tradicional basada en la longitud del texto y hemos optado por un enfoque más inteligente: la segmentación semántica. Este método innovador garantiza una precisión incomparable en la identificación de temas generales y detalles matizados dentro de su contenido. Además, hacemos un esfuerzo adicional al ofrecer una transcripción y audio dentro de cada segmento, brindándole un punto de referencia confiable para una comprensión integral de su contenido.
En lugar de depender de la longitud del texto, Report.ai segmenta sus informes según su significado. Esto da como resultado un desglose más preciso del contenido, lo que mejora su comprensión del material.
Nuestros informes van más allá de la mera representación textual. Cada fragmento semántico se presenta junto con una transcripción interactiva, lo que le permite navegar y hacer referencia sin problemas a los segmentos de audio originales.
Ponemos el poder de la personalización en tus manos. Adapte su análisis con facilidad utilizando nuestras plantillas personalizables, que le permitirán extraer información importante para usted.
Ya sea que esté trabajando con enlaces de YouTube, archivos de audio en formato WAV o transcripciones de texto en formato TXT, lo tenemos cubierto. Report.ai maneja a la perfección una variedad de entradas multimedia, lo que hace que su experiencia sea completa y conveniente.
Para aquellos que buscan establecer una base de datos profesional, nuestro repositorio proporciona una integración perfecta con Pinecone y Chroma. Estas herramientas avanzadas ofrecen capacidades superiores de gestión y recuperación de datos, lo que mejora el valor de sus esfuerzos de generación de informes.
└── Léame/ ├── .env ├── VAD.py ├── dividir.py ├── ejemplo/ │ ├── MIRAR_EN VIVO_Nvidia_Q2_Earnings_Call_NVDA │ └── lote.txt ├── principal.py ├── requisitos.txt ├── s2t_whisper.py ├── almacenamiento_vector.py ├── resumen.py ├── plantilla/ │ ├── general.txt │ └── individual.txt └── utils.py
Archivo | Resumen |
---|---|
requisitos.txt | Proporcionar una lista de dependencias esenciales cruciales para el correcto funcionamiento del código. |
.env | El archivo .env sirve como depósito de ajustes de configuración relacionados con varias API, incluidas las de OpenAI, Azure OpenAI y Pinecone. Dentro de este archivo, encontrará información esencial como claves API, nombres de modelos y configuraciones de almacenamiento. |
utils.py | Dentro del archivo utils.py , descubrirá una amplia gama de funciones de utilidad. Estas funciones son versátiles y abarcan varias tareas esenciales, que incluyen: fuzzy_match: para realizar coincidencias difusas de cadenas. validar_filetype: Garantizar la validación del tipo de archivo. detect_language: Detectar el idioma de un archivo de texto. get_items: extracción de elementos de archivos de plantilla. add_hyperlink: Agregar hipervínculos dentro de documentos de Word. divide_audio: Cortar archivos de audio en segmentos. get_file_list: Recuperar listas de rutas de archivos. |
resumir.py | El script summarize.py está dedicado a generar resúmenes basados en las plantillas que se encuentran en template/general.txt y template/individual.txt. Estos resúmenes pueden traducirse, si es necesario, y luego transformarse al formato de documento de Microsoft Word (.docx). A lo largo de este proceso, el documento se enriquece con hipervínculos y detalles contextuales adicionales. |
s2t_whisper.py | s2t_whisper.py proporciona funcionalidades para descargar videos de YouTube, extraer el audio, eliminar silencio, convertir voz en texto con marca de tiempo y agregar puntuación para contenido chino. La transcripción resultante se guarda en formato JSON y TXT. |
VAD.py | VAD.py se utiliza para extraer la voz humana de un archivo de audio. Divide el audio en fragmentos de 10 minutos, exporta cada fragmento como un archivo independiente y extrae la voz humana utilizando la biblioteca Spleeter. Luego, las voces extraídas se combinan en un único archivo de audio. |
dividir.py | divide.py sirve para dividir un artículo en subtemas según su transcripción. La clase tiene varios métodos privados: _string_cleaner limpia la cadena de entrada, _get_timestamp_list extrae marcas de tiempo de un archivo JSON, _add_timestamp agrega marcas de tiempo a los subtemas, _add_transcript agrega la transcripción en subtemas y _divide_by_subtopics usa modelos de lenguaje para dividir el artículo en partes. |
principal.py | main.py es un script versátil diseñado para el análisis de archivos y la generación de resúmenes. Ofrece una amplia flexibilidad al aceptar varios argumentos de línea de comandos, que incluyen: File Path : para especificar el archivo a analizar. Chunk Size : le permite definir el tamaño de los segmentos de texto. Temperature of Language Model : para ajustar el comportamiento del modelo de lenguaje. Batch Mode : le permite indicar si el script debe ejecutarse en modo por lotes. Report Generation : brinda la opción de crear un informe. Vector Database Selection : Le permite elegir entre bases de datos de vectores Pinecone y Chroma. ASR (Automatic Speech Recognition) Model : para seleccionar el modelo ASR apropiado que se utilizará. |
vector_almacenamiento.py | El script storage_vector.py ofrece dos funciones esenciales: pinecone_storage y chroma_storage, ambas diseñadas para facilitar el almacenamiento de resultados en una base de datos vectorial. |
Archivo | Resumen |
---|---|
individual.txt | El contenido del individuel.txt proporciona elementos que se analizan dentro de cada subtema. |
general.txt | El contenido del general.txt proporciona elementos que se analizan en toda la transcripción. |
Archivo | Resumen |
---|---|
lote.txt | El archivo batch.txt se utiliza para facilitar el procesamiento de múltiples archivos. Lo logra enumerando las rutas de los archivos, separadas por comas, para indicar qué archivos múltiples se procesarán secuencialmente. |
WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt | WATCH_LIVE_Nvidia_Q2_Earnings_Call_NVDA.txt contiene una transcripción de los resultados financieros del segundo trimestre de 2023 de NVIDIA y un webcast de preguntas y respuestas. |
Bandera corta | Bandera larga | Descripción | Tipo | Estado |
---|---|---|---|---|
-o | --dir_salida | Configurando el directorio de salida para el informe, el valor predeterminado es ./docx | cadena | Opción |
-c | --pedazo | Establecer el tamaño del fragmento para el análisis. Recomendación (GPT-3.5: 10000 en en, 2000 en zh, GPT-4: 18000 en en, 3600 en zh), el valor predeterminado es 2000 | Cadena | Opción |
-t | --temperatura | Ajuste la temperatura de LLM dentro del rango de 0 a 2, una temperatura más alta significa más creatividad, el valor predeterminado es 0,1 | flotar | Opción |
- mi | --extracto | Extraiga la voz humana del audio o no (no se admite Mac con Apple Silicon), el valor predeterminado es Falso | booleano | Opción |
- b | --lote | Utilice 'Verdadero' si el archivo de texto de entrada incluye varias rutas de archivo; el valor predeterminado es Falso | booleano | Opción |
-v | --vectorDB | Elija la base de datos de vectores (pinecoeno o croma), el valor predeterminado es Ninguno | cadena | Opción |
-m | --modelo | Elija el modelo de susurro ('pequeño', 'base', 'pequeño', 'mediano', 'grande-v2'), el valor predeterminado es mediano | cadena | Opción |
Dependencias
Asegúrese de tener las siguientes dependencias instaladas en su sistema:
- Aanaconda or Miniconda
- python >=3.7, <=3.9 (Apple silicon python >= 3.8, <=3.9)
- pytorch
Clona el repositorio Report.ai:
clon de git https://github.com/Shou-Hsu/Report.ai.git
Cambie al directorio del proyecto:
cd Informe.ai
Instale la conda:
instale minicódigo a través de https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html
Crear un entorno virtual:
conda crear -n Report.ai python=3.9
Activar entorno virtual:
conda activar Report.ai
Instale el pytorch:
instale pytorch a través de https://pytorch.org/get-started/locally/
Instale ffmpeg y libsndfile:
instalación de conda -c conda-forge ffmpeg libsndfile
Instale las dependencias:
instalación de pip -r requisitos.txt
(Solo Mac) Actualice las dependencias:
instalación de pip -U numba
python main.py <ruta_archivo> -c 10000
Configuración de la credencial Openai o Azure openai dentro del archivo .env. Además, configure las credenciales de Pinecone o Chroma si desea almacenar datos en VectorDB.
# elija uno de los proveedores de modelos gpt, Azure u OpenAI# Credencial de Azure openAIAZURE_OPENAI_API_KEY= AZURE_OPENAI_API_BASE= AZURE_OPENAI_API_VERSION= AZURE_OPENAI_API_TYPE= AZURE_DEPLOYMENT_NAME= EMBEDDING_DEPLOYMENT_NAME= #solo si usa Azure OpenAI# # credencial OpenAIOPENAI_API_KEY= MODEL_NAME=# # credencial de piña (opción)PINECONE_API_KEY= PINECONE_ENV=# ChromaDB (opción)PERSIST_DIR= COLLCTION_NAME=
Modifique tempelete/general.txt y tempelete/individuel.txt (elementos de análisis separados por ",")
#Por ejemplo, si su objetivo es analizar una "llamada de resultados": puede configurar "Tema, Resumen, explicación del director financiero sobre la situación financiera a corto plazo, descripción del director ejecutivo sobre las perspectivas de la empresa, cuestiones que preocupan al mercado" en tempelete/ general.txt Simultáneamente, configure "Resumen, Información sobre inversiones, Palabras clave" en tempelete/individuel.txt#En caso de que desee crear un breve resumen de la "reunión de rutina": puede configurar "Tema, Resumen, Trabajo destacado" en tempelete/ general.txt Simultáneamente, configure "Resumen, elemento de acción, Palabras clave" en tempelete/individuel.txt
Ejecute Report.ai en la línea de comentarios
ejemplo de 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.
Discusiones
Únase a la discusión aquí.
Nuevo número
Informe un error o solicite una función aquí.
Pautas de contribución
MIT.
Langchain, OpenAI, Pinecone, Chroma, Spleeter
Devolver