سلام
هدف ما پیادهسازی جستجوی معنایی (Vector Search) با استفاده از Elasticsearch و مدلهای OpenAI است. فرآیند کلی به این صورت است که ابتدا query کاربر دریافت، پردازش و به بردار (embedding) تبدیل میشود؛ سپس این بردار در Elasticsearch جستجو میگردد.
ما تمام موارد زیر رو انجام دادیم اما نتایج قابل قبول نیست
حالا دنبال کسی هستم که بتونه کار رو نهایی کنه و نتایج رو بهبود بده
گام 1: پیشپردازش Query
دریافت Query: متن جستجوی کاربر دریافت میشود.
نرمالسازی: متن query به کلاس TextProcessor فرستاده میشود تا پیشپردازشهای لازم (مانند نرمالسازی) روی آن انجام شود. برای جستجوی معنایی، معمولاً پارامترها طوری تنظیم میشوند که کلمات کلیدی (stopwords) حذف نشوند و ریشهیابی (stemming) اعمال نگردد تا معنای کاملتری حفظ شود.
گام 2: تولید Embedding برای Query
ارسال به Generator: متن پردازششده به EmbeddingGenerator.get_embedding ارسال میشود.
چانکبندی (در صورت نیاز): اگر query طولانی باشد، ابتدا به قطعات (chunks) کوچکتر تقسیم میشود.
فراخوانی OpenAI: برای هر چانک، یک فراخوانی به API OpenAI (مدل text-embedding-3-large) زده میشود تا بردار آن ساخته شود.
میانگینگیری: اگر query به چند چانک تبدیل شده باشد، بردارهای حاصل با هم "میانگینگیری ساده" (Average) میشوند تا یک بردار نهایی واحد برای کل query به دست آید.
گام 3: جستجو در Elasticsearch (KNN)
ساخت کوئری KNN: یک کوئری Elasticsearch از نوع knn ساخته میشود.
تنظیمات جستجو: این کوئری شامل بردار query (به دست آمده از گام 2) و پارامترهایی مانند k (تعداد نتایج) و num_candidates است.
تعیین فیلدها: جستجو روی فیلدهای برداری (مانند title_embedding و content_embedding) که در mapping به عنوان dense_vector تعریف شدهاند، انجام میشود.
اجرای جستجو: کوئری به es.search() ارسال میشود. Elasticsearch بر اساس شباهت کسینوسی (cosine similarity) نزدیکترین بردارها را در ایندکس پیدا میکند.
گام 4: بازگرداندن نتایج
دریافت نتایج: Elasticsearch لیستی از اسناد (hits) را برمیگرداند.
قالببندی: هر نتیجه شامل اطلاعاتی مانند _id, _index, _score (امتیاز شباهت) و _source (دادههای اصلی سند) است که برای نمایش آماده میشود.
این آگهی از وبسایت پونیشا پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پونیشا برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.