القصد من هذا الريبو هو استخدام Openai للإجابة على الأسئلة استنادًا إلى قاعدة بيانات SQL وعدد قليل من مهام الإجابة على أسئلة الاسترجاع الأخرى باستخدام Langchain.
يتم استخدام Corpus Movie-Dialog Corpus من Cornell في هذا الريبو ويتم معالجته المسبقة مع تحويله إلى قاعدة بيانات SQL العلائقية مع إضافة قيود DB العلائقية مثل المفتاح الأساسي ، المفتاح الأجنبي ، إلخ.
تم تنفيذ المعالجة المسبقة على Corpus الأولي (دليل الأفلام-ديالوج-كوربوس) ويتم تصدير قاعدة البيانات كقاعدة بيانات SQLite في دليل قاعدة البيانات. يتوفر دفتر الملاحظات في دليل دفاتر الملاحظات للمعالجة المسبقة والتحويل (preprocess_and_convert_to_sqlite_db.ipynb). (يمكن تخطي دفتر الملاحظات هذا حيث يتوفر ملف SQLite DB في الريبو ويمكن استخدامه مباشرة في دفتر الملاحظات التالي)
تتم الإجابة على الأسئلة باستخدام نموذج Davinci من Openai جنبًا إلى جنب مع Langchain ، يتم وصف النهج في دفتر الملاحظات. QUESTING_ANSWERENG_ON_SQL_DATABASE.IPYNB. يستخدم دفتر الملاحظات قاعدة بيانات SQLite التي تم إنشاؤها في دفتر الملاحظات السابق.
لجلب/تجريد البيانات من عناوين URL لفيلم البرنامج النصي وإنشاء فهارس قاعدة بيانات المتجهات المستندة إلى FAISS باستخدام Openai Openings ، راجع دفتر Notebook fetch_movie_scripts_and_create_indexes.ipynb. يمكن تخطي دفتر الملاحظات ويمكن تنزيل الملفات التي تم إنشاؤها من مجلد Google Drive.
للاستعلام من Openai لأي استعلام بعد الحصول على فهارس ذات صلة من فهارس Vector التي تم إنشاؤها في دفتر الملاحظات السابق ، استخدم دفتر Notebook querying_from_openai_after_retrival_from_indexes
لاستخدام الوكلاء والانضمام إلى أدوات متعددة معًا وإنشاء نظام إجابة أسئلة أساسية للانضمام إلى كل من وحدة قاعدة بيانات SQL والاستعلام المستند إلى المتجه على البرامج النصية للأفلام والأدوات الإضافية ، انتقل إلى دفتر الملاحظات باستخدام _agents_for_qa_on_sql_and_vectordb.ipynb.ipynb
يمكن الاطلاع على SQLite Database File FiledDB.DB باستخدام عارض لقاعدة بيانات SQLITE مثل https://sqlitebrowser.org/
لعرض قاعدة البيانات في Python ، قم بتشغيل الرمز أدناه في نفس الدليل كقاعدة بيانات
import sqlite3
import pandas as pd
con = sqlite3.connect("moviesdb.db")
df = pd.read_sql_query("SELECT * from movie_titles", con)
مخطط ER لقاعدة البيانات أدناه: -