Chatea con tus documentos personales de PDF.

Descripción general de alto nivel de esta aplicación de transmisión por archivo.
Haga clic aquí para omitir las instrucciones de instalación



Huxley.py La función main() es responsable de manejar la interfaz de usuario y procesar el archivo PDF cargado. Aquí hay un desglose del código:
Se llama a la función render_header() para mostrar la sección del encabezado de la aplicación. Incluye el título, la descripción y una imagen.
Se llama a la función sidebar() para mostrar la sección de la barra lateral de la aplicación. Incluye información sobre HuxLyPDF, instrucciones sobre cómo usarlo y los campos de entrada para la tecla API de OpenAI.
Se llama a la función setup_environment() para configurar el entorno. Actualmente, solo imprime un mensaje que indica que la configuración está en progreso.
La función st.file_uploader() se usa para cargar un archivo PDF. Se solicita al usuario que seleccione un archivo con la descripción "Cargar su PDF" y el filtro de tipo de archivo configurado en "PDF".
El código luego obtiene un archivo PDF remoto utilizando la clase OnlinePDFLoader de la biblioteca no estructurada. Esto se comenta por ahora.
Si se carga un archivo PDF, el código extrae el texto del PDF usando la clase PdfReader de la biblioteca PymUpDF.
El texto extraído se divide en fragmentos utilizando la clase CharacterTextSplitter desde la biblioteca Langchain. El tamaño del fragmento se establece en 400 caracteres, y la superposición entre fragmentos se establece en 80 caracteres.
La clase OpenAIEmbeddings se usa para crear incrustaciones para los trozos de texto.
La función FAISS.from_texts() se usa para crear un índice FAISS a partir de los fragmentos de texto y sus incrustaciones. Esto se comenta por ahora.
Se le solicita al usuario que ingrese una pregunta sobre el PDF utilizando la función st.text_input() .
Si se ingresa una pregunta, el código recupera los documentos del índice FAISS que son más similares a la pregunta del usuario utilizando el método similarity_search() .
La clase OpenAI() se usa para crear una instancia de la API de OpenAI.
La función load_qa_chain() se usa para crear una cadena de preguntas que se respaldan utilizando la API de OpenAI y el tipo de cadena "cosas".
El administrador de contexto get_openai_callback() se utiliza para capturar la información de devolución de llamada de la API de OpenAI.
El método chain.run() se utiliza para ejecutar la cadena de respuesta de preguntas en los documentos de entrada y la pregunta del usuario. La respuesta se imprime.
La respuesta se muestra utilizando la función st.write() .
En general, el código dentro de la función main() maneja la interfaz de usuario, procesa el archivo PDF cargado y realiza una tarea de respuesta de preguntas utilizando la API de OpenAI y la biblioteca Langchain.