Readme
Diese Readme dokumentiert normalerweise alle Schritte, die erforderlich sind, um Ihre Bewerbung zum Laufen zu bringen.
Technologiestapel
- Python 3.9
- Fastapi
- FAISS-CPU == 1.7.4
- Langchain == 0,0.207
- Timecone-Client
- pgVector
Integrationen von Drittanbietern
- SENDGRID - E -Mails senden
- YouTube-transkript-api-Erhalten Sie Text YouTube-URL
- docx2txt - Text aus der DOCX -Datei abrufen
- PYPDF - Text aus der PDF -Datei abrufen
- Selenium -Getting -Text aus der URL -Datei
- Andere Dokumentenlader und Datenspitzenbibliotheks
Projekt -Setup
Installieren Sie die Abhängigkeiten in Anforderungsdateien
- PIP Installation -r Anforderungen.txt
Fügen Sie OpenAI und andere API -Schlüssel in der Env -Datei hinzu
Siehe Beispiel für Variablennamen und verwenden Sie Backend.env als tatsächliche Env -Datei
Konfigurieren Sie die konstanten Variablen konstant.py gemäß Ihrem Anwendungsfall
Vektordatenbankkonfiguration:
- Konfigurieren Sie die Anwendung gemäß Ihrer Vektor -Datenbank
Weitere Richtlinien:
- Ändern Sie die Art und Weise, wie Daten entsprechend Ihrer benutzerdefinierten Anforderungen angemessen sind
- Ändern Sie die konstanten Variablen nach Anwendungsfällen
- Ändern Sie den Boilerplate -Code für Ihre projektspezifischen Anwendungsfälle
Merkmale
- Endpunkte und Utiliten für generische Funktionen
- Vektor -Einbettungen erstellen - von YouTube Video, HTML -Seite, Sitemaps, URL, PDF, DOCX, JSON, Textdatei, CSV oder relationaler Datenbank
- Frage und Antwort basierend auf benutzerdefinierten Daten mit genauen Quellen
- Token Count und Token übertraten die Fehlerbehandlung mit Tiktoken
- Verschiedene Vektor -DB -Unterstützung für verschiedene Endpunkte
zukünftige Verbesserung
- Streaming der OpenAI -Antwort in Echtzeit zum Frontend zum Frontend
- Fügen Sie einige Dienstprogrammfunktionen hinzu und verbessern Sie die Funktionalität vorhanden.
- Machen Sie den Code modularer und konfigurierbarer
Ide
- Pycharm
- Vs Code
- Erhabener Text
Projekt -Setup
- Zusammenfassung der Einrichtung
- Konfiguration
- Abhängigkeiten
- Datenbankkonfiguration
- So führen Sie Tests aus
- Bereitstellungsanweisungen
Konventionen codieren
- Pep8
- Schreiben Sie modularer und konfigurierbarer Code
- Fügen Sie keinen kommentierten Code oder nicht verwendeten Importe in den Hauptcode ein
- Absolute Importe sollten anstelle von relativen Importen verwendet werden
- Verwendung von F-Stringen anstelle von .format () oder %s
- Klassennamen sollten in Kamelase sein
- Funktionsnamen und Variablennamen sollten in Snake_Case sein
- Verwendung von Typ -Tipps
- Verwendung von Docstrings
- Verwendung von Protokollierung
Beitragsrichtlinien
- Schreiben von Tests
- Code Review
- Andere Richtlinien
REDIS -Integiert
- Installieren Sie Redis: PIP Installieren Sie Redis Aioredis
- Die Anforderungen einfrieren: PIP Freeze> Anforderungen.txt
- Fügen Sie Redis_Host_url in .Env -Datei hinzu
- Die Redis -Instanz wird in der Main.py -Datei im ON_STARTUP -Ereignis erstellt
Sellerie -Integration
- Sellerie installieren: PIP Installieren Sie Sellerie
- Die Anforderungen einfrieren: PIP Freeze> Anforderungen.txt
- Fügen Sie Celery_Broker_url in .Env -Datei hinzu
- Die Sellerie -Instanz wird im Kernmodul in celery_app erstellt
- Sellerieaufgaben werden im Worker -Modul im Root -Verzeichnis erstellt
- Selleriearbeiter wird mit dem Befehl mit dem Befehl gestartet: Sellerie -a App.Worker Worker -l info -c 1
Sellerie -Beat -Integration
- Sellerie installieren: PIP Installieren Sie Sellerie
- Die Anforderungen einfrieren: PIP Freeze> Anforderungen.txt
- Die Sellerie -Beat -Instanz wird im Arbeitermodul im Root -Verzeichnis erstellt
- Fügen Sie beim Hinzufügen neuer Aufgaben sie mit geplanter Zeit in Sekunden im Worker -Modul im Root -Verzeichnis hinzu
- Celery Beat wird mit dem Befehl eingeleitet: Sellerie -a App.Worker Beat -l -Info
Sentry -Integration
- Installieren Sie Sentry SDK: PIP Installation Sentry-SDK
- Die Anforderungen einfrieren: PIP Freeze> Anforderungen.txt
- Sentry -Instanz wird in der Main.py -Datei erstellt