Doc anglais 中文文档
ChatWeb peut explorer n'importe quelle page Web ou extraire du texte de PDF, DOCX, Fichiers TXT et générer un résumé intégré. Il peut également répondre à vos questions en fonction du contenu du texte. Il est implémenté à l'aide du chatapi et de l'embeddingapi basé sur GPT3.5, ainsi qu'une base de données vectorielle.
Le principe de base est similaire aux projets existants tels que le chatpdf et le service client automatisé AI.
Crawl pages Web Extrait du contenu de texte Utiliser l'API d'intégration de GPT3.5 pour générer des vecteurs pour chaque paragraphe Calculez le score de similitude entre le vecteur de chaque paragraphe et l'ensemble du vecteur du texte pour générer un résumé Store Le mappage de texte vectoriel dans une base de données vectorielle générer des mots clés à partir de l'entrée utilisateur Générer un vecteur à partir des mots clés Utilisez la base de données vectorielle pour effectuer une recherche de voisin le plus proche et renvoyer une liste des textes les plus similaires L'API de chat de GPT3.5 pour concevoir une invite qui répond à la question de l'utilisateur en fonction des textes les plus similaires de la liste. L'idée est d'extraire le contenu pertinent à partir d'une grande quantité de texte, puis de répondre à des questions en fonction de ce contenu, qui peut réaliser un effet similaire à la permission des limites de jetons.
Une amélioration a été apportée pour générer des vecteurs en fonction des mots clés plutôt que de la question de l'utilisateur, ce qui augmente la précision de la recherche de textes pertinents.
git clone https://github.com/SkywalkerDarren/chatWeb.gitcd chatWebconfig.example.json à config.jsonconfig.json et définir open_ai_key sur votre touche API OpenAIpip3 install -r requirements.txtpython3 main.py Si vous préférez, vous pouvez également exécuter ce projet à l'aide de Docker:
docker-compose build (nécessaire une seule fois lorsque vous ne prévoyez pas de contribuer à ce référentiel)config.example.json à config.json et définir toutes les choses nécessaires. L'exemple de configuration est déjà bien pour l'exécution avec Docker, pas besoin de changer quoi que ce soit là-bas, si vous n'avez pas l'Open_AI_KEY dans vos variables Env, vous pouvez également le définir ici, ou plus tard si vous exécutez cette application.http://localhost:7860 config.json , définir language sur English ou toute autre langue config.json et définissez mode sur console , api ou webui pour choisir le mode de démarrage.console , tapez /help à afficher les commandes.api , un service API peut être fourni au monde extérieur. api_port et api_host peut être défini dans config.json .webui , un service d'interface utilisateur Web peut être fourni. webui_port peut être défini dans config.json , défautant vers http://127.0.0.1:7860 . config.json et définir use_stream sur true . config.json et régler temperature sur une valeur comprise entre 0 et 1.config.json et ajouter open_ai_proxy pour votre adresse proxy, par exemple: "open_ai_proxy": {
"http": "socks5://127.0.0.1:1081",
"https": "socks5://127.0.0.1:1081"
}
config.json et définir use_postgres sur true .postgresql://localhost:5432/mydb , ou vous pouvez le définir dans config.json .Compiler et installer l'extension (prendre en charge Postgres 11+).
git clone --branch v0.4.0 https://github.com/pgvector/pgvector.git
cd pgvector
make
make install # may need sudoPuis chargez-le dans la base de données dans laquelle vous souhaitez l'utiliser
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):