Réadmettre
Ce ReadMe documente normalement les étapes nécessaires pour mettre votre application en cours d'exécution.
Pile technologique
- Python 3.9
- Fastapi
- FAISS-CPU == 1.7.4
- Langchain == 0.0.207
- pignon
- pgvecteur
Intégrations tiers
- SendGrid - Envoi de courriels
- YouTube-Transcript-API - Obtenir un texte URL YouTube
- docx2txt - obtenir du texte à partir du fichier docx
- PYPDF - Obtenir du texte à partir du fichier PDF
- Sélénium -getting Text à partir du fichier d'URL
- autres chargeurs de documents et analyse de données bibliothérapie
Configuration du projet
Installez les dépendances dans les fichiers exigences
- pip install -r exigences.txt
Ajouter Openai et autre clé API dans le fichier env
Reportez-vous à Sample.env pour les noms de variables et utilisez Backend.env comme fichier Env réel
Configurez les variables constantes dans constant.py en fonction de votre cas d'utilisation
Configuration de la base de données vectorielle:
- Configurez l'application en fonction de votre base de données vectorielle
D'autres directives:
- Modifier la façon dont les données sont analysées en fonction de l'adaptation de votre exigence personnalisée
- Modifier les variables constantes en fonction des cas d'utilisation
- Modifiez le code de passe-partout pour les cas d'utilisation spécifiques de votre projet
caractéristiques
- Points de terminaison et utilites pour les fonctions génériques
- Créer des incorporations vectorielles - à partir de la vidéo YouTube, de la page HTML, des sitemaps, de l'URL, du PDF, du DOCX, du JSON, du fichier texte, du CSV ou de la base de données relationnelle
- Question et réponse basées sur des données personnalisées avec des sources exactes
- Le nombre de jetons et le jeton ont dépassé la gestion des erreurs avec tiktoken
- Support DB vectoriel différent pour différents points de terminaison
amélioration future
- Streaming la réponse Openai en temps réel à Frontend
- Ajoutez une fonction d'utilitaires et améliorez les fonctionnalités de celles existantes.
- Rendre le code plus modulaire et configurable
IDE
- Pycharme
- VS Code
- Texte sublime
Configuration du projet
- Résumé de la configuration
- Configuration
- Dépendances
- Configuration de la base de données
- Comment exécuter des tests
- Instructions de déploiement
Conventions de codage
- Pep8
- Écrire du code modulaire et configurable
- Ne mettez pas le code commenté ou les importations inutilisées dans le code principal
- Les importations absolues doivent être utilisées au lieu des importations relatives
- Utilisation de cordes F au lieu de .format () ou% s
- Les noms de classe doivent être dans Camelcase
- Les noms de fonction et les noms de variables doivent être dans Snake_Case
- Utilisation des indices de type
- Utilisation des docstrings
- Utilisation de l'exploitation forestière
Lignes directrices de contribution
- Tests d'écriture
- Revue de code
- Autres directives
REDIS INTÉGATION
- Installer redis: pip install redis aioredis
- geler les exigences: PIP Freeze> exigences.txt
- Ajouter redis_host_url dans le fichier .env
- L'instance redis est créée dans le fichier main.py, dans l'événement on_startup
Intégration du céleri
- Installer le céleri: PIP Installer le céleri
- geler les exigences: PIP Freeze> exigences.txt
- Ajouter CELERY_BROKER_URL dans le fichier .env
- L'instance de céleri est créée dans le module de base, dans cery_app
- Les tâches de céleri sont créées dans un module de travail dans le répertoire racine
- Le travailleur de céleri est démarré à l'aide de la commande: Celery -a app.worker worker -l info -c 1
Intégration du céleri
- Installer le céleri: PIP Installer le céleri
- geler les exigences: PIP Freeze> exigences.txt
- Le Celey Beat Instance est créé dans le module de travail dans Root Directory
- Tout en ajoutant de nouvelles tâches, ajoutez-les dans le module de travail dans le répertoire racine avec un temps prévu en quelques secondes
- Celey Beat est démarré à l'aide de la commande: Celery -a app.worker beat -l info
Intégration Sentry
- Installer Sentry SDK: PIP Installer Sentry-Sdk
- geler les exigences: PIP Freeze> exigences.txt
- L'instance Sentry est créée dans le fichier main.py