
KnowledgeGpt est conçu pour recueillir des informations provenant de diverses sources, y compris Internet et les données locales, qui peuvent être utilisées pour créer des invites. Ces invites peuvent ensuite être utilisées par le modèle GPT-3 d'OpenAI pour générer des réponses qui sont ensuite stockées dans une base de données pour référence future.
Pour ce faire, le texte est d'abord transformé en un vecteur de taille fixe à l'aide de modèles open source ou OpenAI. Lorsqu'une requête est soumise, le texte est également transformé en vecteur et comparé aux intérêts de connaissances stockés. Les informations les plus pertinentes sont ensuite sélectionnées et utilisées pour générer un contexte rapide.
KnowledgeGPT prend en charge diverses sources d'informations, notamment des sites Web, des PDF, des fichiers PowerPoint (PPTX) et des documents (DOC). De plus, il peut extraire du texte des sous-titres YouTube et de l'audio (en utilisant la technologie de la parole) et les utiliser comme source d'informations. Cela permet de collecter et d'utiliser un éventail diversifié d'informations pour générer des invites et des réponses.
Installation de PYPI, exécuter dans Terminal: pip install knowledgegpt
Ou vous pouvez utiliser la dernière version à partir du référentiel: pip install -r requirements.txt , puis pip install .
Télécharger le modèle de langue nécessaire pour l'analyse: python3 -m spacy download en_core_web_sm
uvicorn server:app --reload
# Import the library
from knowledgegpt . extractors . web_scrape_extractor import WebScrapeExtractor
# Import OpenAI and Set the API Key
import openai
from example_config import SECRET_KEY
openai . api_key = SECRET_KEY
# Define target website
url = "https://en.wikipedia.org/wiki/Bombard_(weapon)"
# Initialize the WebScrapeExtractor
scrape_website = WebScrapeExtractor ( url = url , embedding_extractor = "hf" , model_lang = "en" )
# Prompt the OpenAI Model
answer , prompt , messages = scrape_website . extract ( query = "What is a bombard?" , max_tokens = 300 , to_save = True , mongo_client = db )
# See the answer
print ( answer )
# Output: 'A bombard is a type of large cannon used during the 14th to 15th centuries.'D'autres exemples peuvent être trouvés dans le dossier Exemples. Mais pour donner une meilleure idée de la façon d'utiliser la bibliothèque, voici un exemple simple:
# Basic Usage
basic_extractor = BaseExtractor ( df )
answer , prompt , messages = basic_extractor . extract ( "What is the title of this PDF?" , max_tokens = 300 ) # PDF Extraction
pdf_extractor = PDFExtractor ( pdf_file_path , extraction_type = "page" , embedding_extractor = "hf" , model_lang = "en" )
answer , prompt , messages = pdf_extractor . extract ( query , max_tokens = 1500 ) # PPTX Extraction
ppt_extractor = PowerpointExtractor ( file_path = ppt_file_path , embedding_extractor = "hf" , model_lang = "en" )
answer , prompt , messages = ppt_extractor . extract ( query , max_tokens = 500 ) # DOCX Extraction
docs_extractor = DocsExtractor ( file_path = "../example.docx" , embedding_extractor = "hf" , model_lang = "en" , is_turbo = False )
answer , prompt , messages =
docs_extractor . extract ( query = "What is an object detection system?" , max_tokens = 300 ) # Extraction from Youtube video (audio)
scrape_yt_audio = YoutubeAudioExtractor ( video_id = url , model_lang = 'tr' , embedding_extractor = 'hf' )
answer , prompt , messages = scrape_yt_audio . extract ( query = query , max_tokens = 1200 )
# Extraction from Youtube video (transcript)
scrape_yt_subs = YTSubsExtractor ( video_id = url , embedding_extractor = 'hf' , model_lang = 'en' )
answer , prompt , messages = scrape_yt_subs . extract ( query = query , max_tokens = 1200 )docker build -t knowledgegptimage .
docker run -p 8888:8888 knowledgegptimage(À étendre ...)
(À mettre à jour avec une meilleure image)