بناء خلفية لاسترجاع المستند مع التخزين المؤقت.
أنشأت خوارزمية التخزين المؤقت قائمة انتظار في الخادم والتي ستخزن عددًا محدودًا من العقد من قاعدة بيانات المتجهات من القذائف السابقة. لكل استعلام من المستخدم أولاً ، سيتم مطابقة الاستعلامات في قائمة الانتظار وإذا كان التشابه (جيب التمام) أعلى من 0.9 من تلك العقد التي تم إرجاعها من جدول البحث الذي يتم الحفاظ عليه بشكل منفصل.
الطلب الأول => الوقت المستغرق 787 ms 
طلب مماثل ثانيًا => الوقت المستغرق 54 ms 
اقتراح غير جيد 
نقطة نهاية فحص الصحة
curl --location ' localhost:8001/health 'بحث فحص نقطة النهاية
curl --location ' localhost:8001/search ' --header ' user_id: riondsilva ' --header ' Content-Type: application/json ' --data ' { "text": "Ingredient Substitutions" , "top_k": 5 , "threshold": 0.3 } '*تشغيل بالترتيب
صورة Chroma
docker run -p 8000:8000 chromadb/chromaصورة postgres
docker run --name user-database -p 5432:5432
-e POSTGRES_PASSWORD=your_password -d postgres:12.20-alpine3.20 docker stop user-databaseDoc-Recrival
git clone https://github.com/RionDsilvaCS/document-retrieval-caching.git إنشاء ملف .env في الدليل الرئيسي وأضف المتغيرات أدناه
DATABASE_URL="postgresql://postgres:your_password@localhost:5432/postgres"
COLLECTION_NAME="collection_name"
إنشاء data اسم الدليل وأضف مستندات PDF
mkdir data
قم بتشغيل store_in_db.py لحفظ محتوى ./data إلى chromadb
python store_in_db.pydocker compose up --build /health هي الحصول على نقطة النهاية للتحقق مما إذا كان الخادم هو التشغيل
نقطة النهاية
http://127.0.0.1:8001/health
إجابة
{
"Server Status" : " Successfully running ? "
} /search هو نقطة نهاية للتحدث مع chatbot
نقطة النهاية
http://127.0.0.1:8001/search
رأس
{
"user_id" : " riondsilva "
}جسم json
{
"text" : " How are you? " ,
"top_k" : 3 ,
"threshold" : 0.3
}إجابة
{
"bot_message" : {
"top_k_results" : [
{
"message" : " I am great ? "
},
{
"message" : " I am fine "
},
{
"message" : " I am good "
}
],
"top_k" : 3 ,
"threshold" : 0.9
},
"user_message" : {
"text" : " How are you? " ,
"top_k" : 3 ,
"threshold" : 0.9 ,
"inference_time (secs)" : 1.16
},
"user_info" : " riondsilva "
}