Englisches Doc 中文文档
ChatWeb kann jede Webseite kriechen oder Text von PDF-, DOCX-, TXT -Dateien extrahieren und eine eingebettete Zusammenfassung erstellen. Es kann auch Ihre Fragen basierend auf dem Inhalt des Textes beantworten. Es wird mithilfe der Chatapi und der Einbettung basierend auf GPT3.5 sowie einer Vektordatenbank implementiert.
Das Grundprinzip ähnelt vorhandenen Projekten wie CHATPDF und automatisierter Kundendienst -KI.
Crawl-Webseiten extrahieren Textinhalte Verwenden Sie die API von GPT3.5, um Vektoren für jeden Absatz zu generieren. Berechnen Sie die Ähnlichkeitsbewertung zwischen den einzelnen Absätzen und dem gesamten Textvektor, um eine Zusammenfassung zu generieren. Speichern Sie die Vektor-Text-Zuordnung in einer Vektor-Datenbank generieren Keywords aus Benutzereingaben aus Benutzereingaben generieren Sie Keywords aus Benutzereingaben. Generieren Sie einen Vektor aus den Schlüsselwörtern. Verwenden Sie die Vektor -Datenbank, um eine nächste Nachbarsuchung durchzuführen und eine Liste der ähnlichsten verwendetesten Texte zurückzugeben Die Chat -API von GPT3.5, um eine Eingabeaufforderung zu entwerfen, die die Frage des Benutzers basierend auf den ähnlichen Texten in der Liste beantwortet. Die Idee ist, relevante Inhalte aus einer großen Menge Text zu extrahieren und dann Fragen anhand dieses Inhalts zu beantworten, die einen ähnlichen Effekt wie das Durchbrechen von Token -Grenzen erzielen können.
Es wurde eine Verbesserung vorgenommen, um Vektoren eher auf Schlüsselwörtern als auf der Frage des Benutzers zu generieren, wodurch die Genauigkeit der Suche nach relevanten Texten erhöht wird.
git clone https://github.com/SkywalkerDarren/chatWeb.git ausführencd chatWeb ausführenconfig.example.json in config.jsonconfig.json und open_ai_keypip3 install -r requirements.txtpython3 main.py ausführen Wenn Sie es vorziehen, können Sie dieses Projekt auch mit Docker ausführen:
docker-compose build (nur einmal benötigt, wenn Sie nicht planen, sich an dieses Repo zu befassen)config.example.json in config.json und setzen Sie alle benötigten Dinge. Die Beispielkonfiguration ist bereits in Ordnung für das Ausführen mit Docker. Sie müssen dort nichts ändern. Wenn Sie nicht die Open_AI_Key in Ihren Env -Variablen haben, können Sie sie auch hier oder später festlegen, wenn Sie diese App ausführen.http://localhost:7860 config.json , setzen Sie language auf English oder eine andere Sprache config.json und setzen Sie mode auf console , api oder webui um den Startmodus auszuwählen.console die Befehle an /help um Befehle anzuzeigen.api -Modus kann der Außenwelt ein API -Dienst zur Verfügung gestellt werden. api_port und api_host können in config.json festgelegt werden.webui -Modus kann ein Web -User -Interface -Dienst bereitgestellt werden. webui_port kann in config.json festgelegt werden, was auf http://127.0.0.1:7860 abfällt. config.json und setzen Sie use_stream auf true . config.json und setzen Sie temperature auf einen Wert zwischen 0 und 1.config.json und fügen Sie open_ai_proxy für Ihre Proxy -Adresse hinzu, zum Beispiel: "open_ai_proxy": {
"http": "socks5://127.0.0.1:1081",
"https": "socks5://127.0.0.1:1081"
}
config.json und setzen Sie use_postgres auf true .postgresql://localhost:5432/mydb oder Sie können sie in config.json festlegen.Kompilieren und installieren Sie die Erweiterung (Support Postgres 11+).
git clone --branch v0.4.0 https://github.com/pgvector/pgvector.git
cd pgvector
make
make install # may need sudoLaden Sie es dann in die Datenbank, in der Sie sie verwenden möchten
CREATE EXTENSION vector;
pip3 install psycopg2Please enter the link to the article or the file path of the PDF/TXT/DOCX document: https://gutenberg.ca/ebooks/hemingwaye-oldmanandthesea/hemingwaye-oldmanandthesea-00-e.html
Please wait for 10 seconds until the webpage finishes loading.
The article has been retrieved, and the number of text fragments is: 663
...
=====================================
Query fragments used tokens: 7219, cost: $ 0.0028876
Query fragments used tokens: 7250, cost: $ 0.0029000000000000002
Query fragments used tokens: 7188, cost: $ 0.0028752
Query fragments used tokens: 7177, cost: $ 0.0028708
Query fragments used tokens: 2378, cost: $ 0.0009512000000000001
Embeddings have been created with 663 embeddings, using 31212 tokens, costing $ 0.0124848
The embeddings have been saved.
=====================================
Please enter your query (/help to view commands):