Discutez avec vos documents PDF personnels.

Présentation du niveau élevé de cette application Sationlit par fichier.
Cliquez ici pour passer aux instructions d'installation



Huxley.py La fonction main() est responsable de la gestion de l'interface utilisateur et du traitement du fichier PDF téléchargé. Voici une ventilation du code:
La fonction render_header() est appelée pour afficher la section d'en-tête de l'application. Il comprend le titre, la description et une image.
La fonction sidebar() est appelée pour afficher la section de la barre latérale de l'application. Il comprend des informations sur HuxleYPDF, des instructions sur la façon de les utiliser et des champs d'entrée pour la clé API OpenAI.
La fonction setup_environment() est appelée pour configurer l'environnement. Actuellement, il imprime uniquement un message indiquant que la configuration est en cours.
La fonction st.file_uploader() est utilisée pour télécharger un fichier PDF. L'utilisateur est invité à sélectionner un fichier avec la description "Téléchargez votre PDF" et le filtre de type de fichier est défini sur "PDF".
Le code récupère ensuite un fichier PDF distant à l'aide de la classe OnlinePDFLoader à partir de la bibliothèque non structurée. Ceci est commenté pour l'instant.
Si un fichier PDF est téléchargé, le code extrait le texte du PDF à l'aide de la classe PdfReader de la bibliothèque PYMUPDF.
Le texte extrait est divisé en morceaux à l'aide de la classe CharacterTextSplitter de la bibliothèque Langchain. La taille du morceau est définie sur 400 caractères, et le chevauchement entre les morceaux est défini sur 80 caractères.
La classe OpenAIEmbeddings est utilisée pour créer des intégres pour les morceaux de texte.
La fonction FAISS.from_texts() est utilisée pour créer un index FAISS à partir des morceaux de texte et de leurs intégres. Ceci est commenté pour l'instant.
L'utilisateur est invité à saisir une question sur le PDF à l'aide de la fonction st.text_input() .
Si une question est saisie, le code récupère les documents de l'index FAISS qui sont les plus similaires à la question de l'utilisateur à l'aide de la méthode similarity_search() .
La classe OpenAI() est utilisée pour créer une instance de l'API OpenAI.
La fonction load_qa_chain() est utilisée pour créer une chaîne de réponses de questions à l'aide de l'API OpenAI et du type de chaîne "Stuff".
Le gestionnaire de contexte get_openai_callback() est utilisé pour capturer les informations de rappel de l'API OpenAI.
La méthode chain.run() est utilisée pour exécuter la chaîne de réponses aux questions sur les documents d'entrée et la question de l'utilisateur. La réponse est imprimée.
La réponse est affichée à l'aide de la fonction st.write() .
Dans l'ensemble, le code dans la fonction main() gère l'interface utilisateur, traite le fichier PDF téléchargé et effectue une tâche de réponse aux questions à l'aide de l'API OpenAI et de la bibliothèque Langchain.