ClassGpt
Chatgpt für meine Vorlesungsfolien

Gebaut mit stromloser, angetrieben von Llamaindex und Langchain.
Verwendet die neueste Chatgpt -API von OpenAI.
Inspiriert von Athengpt
App Demo
Demo.mp4
Wie das funktioniert
- Parses PDF mit PYPDF
- Indexkonstruktion mit
GPTSimpleVectorIndex von Llamaindex- Das
text-embedding-ada-002 -Modell wird zum Erstellen von Einbettungen verwendet - Siehe Vector Store Index -Seite, um mehr zu erfahren
- Hier ist ein Beispielindex
- Indizes und Dateien werden auf S3 gespeichert
- Fragen Sie den Index ab
- Verwendet das neueste Chatgpt-Modell
gpt-3.5-turbo
Verwendung
Konfiguration und Geheimnisse
- AWS konfigurieren (QuickStart)
Erstellen Sie einen S3 -Eimer mit einem eindeutigen Namen
Ändern Sie den Bucket -Namen in der Codebasis (suchen Sie nach bucket_name = "classgpt" zu allem, was Sie erstellt haben.
.env
Lokal
- Python env erstellen
conda create -n classgpt python=3.9
conda activate classgpt- Abhängigkeiten installieren
pip install -r requirements.txt
- Führen Sie die Streamlit -App aus
cd app/
streamlit run app/01_❓_Ask.py Docker
Alternative können Sie Docker verwenden
Öffnen Sie dann eine neue Registerkarte und navigieren Sie zu http: // localhost: 8501/
Todo
FAQ
Token
Token können als Wortstücke betrachtet werden. Bevor die API die Eingabeaufforderungen verarbeitet, wird der Eingang in Token unterteilt. Diese Token werden nicht genau dort geschnitten, wo die Wörter beginnen oder enden - Token können nachfolgende Räume und sogar Unterwürde enthalten. Hier sind einige hilfreiche Faustregeln für das Verständnis von Token in Bezug auf Längen:
- 1 Token ~ = 4 Chars in Englisch
- 1 Token ~ = ¾ Wörter
- 100 Token ~ = 75 Wörter
- 1-2 Satz ~ = 30 Token
- 1 Absatz ~ = 100 Token
- 1.500 Wörter ~ = 2048 Token
Probieren Sie das OpenAI -Tokenizer -Tool aus
Quelle
Einbettungen
Eine Einbettung ist ein Vektor (Liste) der schwimmenden Punktzahlen. Der Abstand zwischen zwei Vektoren misst ihre Verwandtschaft. Kleine Entfernungen deuten auf eine hohe Verwandtschaft und große Entfernungen hin, auf eine geringe Verwandtschaft.
Für text-embedding-ada-002 betragen die Kosten $ 0,0004 / 1k Tokens oder 3000 Seiten / Dollar
- Einbettungen - OpenAI -API
- Was sind Wort- und Satz -Einbettungen?
Modelle
Für gpt-3.5-turbo Modell (CHATGPTAPI) betragen die Kosten $0.002 / 1K tokens
Für text-davinci-003 Modell betragen die Kosten $0.02 / 1K tokens
- CHAT -Abschluss - OpenAI -API
Referenzen
Straffung
- Erhöhen Sie die Upload -Grenze von St.File_Uploader
- St.Cache_Resource - Streamlit Docs
- Sitzungszustand
- Hayabhay/Whisper-ui: stromanische UI für Openais Flüstern
Deplyoment
- Streamlit Deployment Guide (WIKI) - Bereitstellung - Stromleit
- Wie bereitete ich eine stromleuchte Anwendung für AWS bereit? Teil 3
Llamaindex
- Lamaindex -Verwendungsmuster
- Sparenindex
Daten laden
- PDF -Lader
- Lama-Hub Github Repo
- Dokumentklasse
- PDFREADER -Klasse
multimodal
- llama_index/multimodal.ipynb bei main
Chatgpt
- gpt_index/SimpleIndexDemo-chatgpt.ipynb
Langchain
- gpt_index/langchainedemo.ipynb
- Openaichat
Boto3
- Boto3 File_Upload Überprüft es, ob die Datei vorliegt
- Boto 3: Ressource gegen Client
- JSON schreiben, um in S3 Bucket einzulegen
Docker -Zeug
- Amazon Web Services - Was ist der beste Weg, um AWS -Anmeldeinformationen an einen Docker -Container weiterzugeben?
- Docker-Compose-up fehlschlägt aufgrund: Fehler: Rost-Compiler kann nicht finden
- Linux - Bei der Installation von Rust Toolchain in Docker funktioniert der Befehl Bash
source nicht - Software -Installation - So installieren Sie ein Paket mit APT ohne das "Möchten Sie fortfahren [Y/N]?" prompt? - Fragen Sie Ubuntu
- Wie benutze ich sudo in einem Docker -Container?