
تم تصميم KnowledgeGPT لجمع المعلومات من مصادر مختلفة ، بما في ذلك الإنترنت والبيانات المحلية ، والتي يمكن استخدامها لإنشاء مطالبات. يمكن بعد ذلك استخدام هذه المطالبات بواسطة نموذج GPT-3 من Openai لإنشاء إجابات يتم تخزينها لاحقًا في قاعدة بيانات للرجوع إليها في المستقبل.
لإنجاز هذا ، يتم تحويل النص أولاً إلى متجه ثابت بالحجم باستخدام نماذج مفتوحة المصدر أو OpenAI. عند تقديم استعلام ، يتم تحويل النص أيضًا إلى متجه ومقارنة مع تضمينات المعرفة المخزنة. ثم يتم تحديد المعلومات الأكثر صلة واستخدامها لإنشاء سياق موجه.
تدعم KnowledgeGPT مصادر المعلومات المختلفة بما في ذلك مواقع الويب ، PDFs ، ملفات PowerPoint (PPTX) ، والمستندات (مستندات). بالإضافة إلى ذلك ، يمكنه استخراج النص من ترجمات YouTube والصوت (باستخدام تقنية الكلام إلى النص) واستخدامه كمصدر للمعلومات. يتيح ذلك جمع مجموعة متنوعة من المعلومات واستخدامها لتوليد المطالبات والإجابات.
تثبيت PYPI ، تشغيل في المحطة: pip install knowledgegpt
أو يمكنك استخدام أحدث إصدار من المستودع: pip install -r requirements.txt ثم pip install .
تنزيل نموذج اللغة اللازم للحلية: 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.'يمكن العثور على أمثلة أخرى في مجلد الأمثلة. ولكن لإعطاء فكرة أفضل عن كيفية استخدام المكتبة ، إليك مثال بسيط:
# 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(لتمديد ...)
(ليتم تحديثها بصورة أفضل)