2025-11-16 15:30:36 +00:00

1532 lines
112 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 35,
"id": "bfa1b6ff",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"start loading dataset\n",
"start loading corpus\n",
"start loading queries\n",
"start creating dataset\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 532751/532751 [00:19<00:00, 27357.60it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"length of dataset: 532751\n"
]
}
],
"source": [
"import json\n",
"from datasets import load_dataset\n",
"from tqdm import tqdm\n",
"\n",
"print(\"start loading dataset\")\n",
"name = \"MCINext/msmarco-fa\"\n",
"dataset_qrel = load_dataset(name)[\"train\"]\n",
"\n",
"print(\"start loading corpus\")\n",
"dataset_corpus_list = load_dataset(name,data_files=\"corpus.jsonl\")[\"train\"]\n",
"dataset_corpus = {}\n",
"for data in dataset_corpus_list:\n",
" dataset_corpus[str(data[\"_id\"])] = data[\"text\"]\n",
"\n",
"print(\"start loading queries\")\n",
"dataset_queries_list = load_dataset(name,data_files=\"queries.jsonl\")[\"train\"]\n",
"dataset_queries = {}\n",
"for data in dataset_queries_list:\n",
" dataset_queries[str(data[\"_id\"])] = data[\"text\"]\n",
"\n",
"\n",
"dataset = []\n",
"print(\"start creating dataset\")\n",
"for data in tqdm(dataset_qrel):\n",
"\n",
" if data[\"query-id\"] in dataset_queries and data[\"corpus-id\"] in dataset_corpus:\n",
" dataset.append({\n",
" \"question\": dataset_queries[data[\"query-id\"]],\n",
" \"passage_positive\": [dataset_corpus[data[\"corpus-id\"]]],\n",
" \"passage_negative\": [],\n",
" \"passage_negative_random\": [],\n",
" })\n",
"\n",
"print(f\"length of dataset: {len(dataset)}\")\n",
"with open(f\"../../data/v2/msmarco.json\", \"w\") as f:\n",
" json.dump(dataset, f, indent=4, ensure_ascii=False)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "fd1c1128",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'query-id': '457407', 'corpus-id': '1172', 'score': '1'}"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset_qrel[10]"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "55036ec4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'سوزوکی SX4 یکی از مطمئن\\u200cترین و مقرون به صرفه\\u200cترین خودروهای چهارچرخ متحرک است.'"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset_corpus[\"1172\"]"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "2dbfb99c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'فولکس واگن پاسات 4موشن یکی از دست کم گرفته\\u200cشده\\u200cترین خودروهای بازار کارکرده در شرایط آب و هوایی است. Passat 4Motion با داشتن سیستمی مشابه با چهار چرخ\\u200cمحرک\\u200cهای افسانه\\u200cای آئودی، در سخت\\u200cترین شرایط بسیار توانایی دارد.'"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset_corpus[\"1171\"]"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "436bf745",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'مطمئن ترین خودروهای مقرون به صرفه'"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset_queries[\"457407\"]"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "c46c6b01",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"question is : هلن میرن اینستاگرام\n",
"{\"is_good\": \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه گروهی آهنگ پلکان بهشت ​​را خواندند\n",
"{\"is_good\": \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی دیورتیکولیت را تشدید می کند\n",
"{\"is_good\": \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : ژلاتوس چیست\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : ایران اسلامی است\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : آیا سلول های سرطانی تمایز ضعیفی دارند؟\n",
"{\"is_good\": \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : مالدن مو در کدام شهرستان است\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : اعداد رهگیری فدرال اکسپرس چند رقمی هستند\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : ایندیاناپولیس آن تا جزیره کینگز چقدر فاصله دارد\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : برنامه مسابقات قهرمانان جهان IAAF\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : معافیت مشروط و آزادی در پرداخت پیشرفت چیست\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه غذاهایی کلسترول شما را افزایش می دهند\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : یک ساز کوبه ای با صدای مشخص است\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : مالتا، اوهایو در کدام شهرستان است\n",
"{\"is_good\": \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه مواد تشکیل دهنده سس دامداری است\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : تست آزمایشگاهی ck چیست؟\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چند کالری در یک دام دام\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : سه روش انگیزشی چیست\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی می تواند باعث معده درد شود\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی می تواند باعث معده درد شود\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : در شیشه crt چیست؟\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : معنی اوسگود\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : معنی اپیدمی ها\n",
"{\"is_good\" : \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : آبهای مانیتویش در کدام شهرستان است\n",
"{\"is_good\": \"true\"}\n",
"\n",
"--------------------------------\n",
"\n",
"question is : استراتژی تامین مالی چیست\n",
"{\"is_good\" : \"false\"}\n",
"\n",
"--------------------------------\n",
"\n"
]
}
],
"source": [
"import requests\n",
"from dotenv import load_dotenv\n",
"import os\n",
"import time\n",
"from tqdm import tqdm\n",
"\n",
"load_dotenv()\n",
"\n",
"qwen = False\n",
"if qwen:\n",
" url = \"https://qwen3.chatllm.aiengines.ir/v1/chat/completions\"\n",
" model = \"Qwen/Qwen3-4B-Instruct-2507\"\n",
" headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {os.getenv('LLM_AS_RERANKER_PASS')}\"}\n",
"else:\n",
" url = \"http://192.168.130.206:4001/v1/chat/completions\"\n",
" model = \"google/gemma-3-27b-it\"\n",
" headers = {\"Content-Type\": \"application/json\"}\n",
"\n",
"instruction = \"\"\"\n",
"You are a helpful assistant that help me remove unclear and vague questions.\n",
"I will give you a persian question and you must tell me that we can answer to this question independently or not.\n",
"\n",
"unclear question samples:\n",
"- sample 1 : \"محتوای این کتاب چیست؟\" : {\"is_good\" : \"false\"} : because it did not mention the book name\n",
"- sample 2 : \"چه راه حلی برای این مساله هست؟\" : {\"is_good\" : \"false\"} : because it did not mention the problem\n",
"\n",
"return {\"is_good\" : \"false\"} for unclear questions\n",
"otherwise return {\"is_good\" : \"true\"}\n",
"\n",
"just return {\"is_good\" : \"true\"} or {\"is_good\" : \"false\"} in json format nothing else.\n",
"\"\"\"\n",
"\n",
"for data in dataset[7008:7008+25]:\n",
" print(f\"question is : {data['question']}\")\n",
" input_message = f\"\"\"{{\"text\": \"{data['question']}\"}}\"\"\"\n",
" messages = [{\"role\": \"system\", \"content\": instruction}, {\"role\": \"user\", \"content\": input_message}]\n",
"\n",
" payload = {\n",
" \"model\": model,\n",
" \"messages\": messages,\n",
" \"max_tokens\": 100,\n",
" }\n",
" start_time = time.time()\n",
" req = requests.post(url, headers=headers, json=payload)\n",
" print(req.json()['choices'][0]['message']['content'])\n",
" # print(f\"time taken: {time.time() - start_time} seconds\")\n",
" print(\"--------------------------------\\n\")"
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "22b12f88",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'question': 'استفاده از خمیر میسو',\n",
" 'passage_positive': ['به جای انبار یا علاوه بر آن استفاده کنید. میسو را می توان در جایی که ممکن است از یک استاک استفاده کنید، یا به جای آن استوک یا برای تقویت طعم یک استاک با طعم کمتر. به جای سس سویا، نمک یا خمیر آنچوی استفاده کنید. این افزودنی\\u200cهای نمکی به غذا را می\\u200cتوان به راحتی با میسو جایگزین کرد، بدون اینکه جرقه شوری از بین برود.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'برای مدیر مدرسه به چه چیزی نیاز دارید',\n",
" 'passage_positive': ['در آن مرحله، معلمانی که می خواهند مدیر شوند ممکن است مراحل زیر را دنبال کنند: 1 کسب مدرک کارشناسی ارشد در آموزش، رهبری آموزش و پرورش، یا مدیریت آموزشی.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'اساساً جنبه خرده فروشی کسب و کار الکترونیکی است',\n",
" 'passage_positive': ['تعریف «خرده فروشی الکترونیکی-خرده فروشی الکترونیکی». فروش کالا و خدمات از طریق اینترنت. خرده\\u200cفروشی الکترونیکی یا خرده\\u200cفروشی الکترونیکی می\\u200cتواند شامل فروش تجارت به کسب\\u200cوکار و کسب\\u200cوکار به مصرف\\u200cکننده باشد. درآمد خرده\\u200cفروشی الکترونیکی می\\u200cتواند از فروش محصولات و خدمات، از طریق اشتراک در محتوای وب\\u200cسایت یا از طریق تبلیغات حاصل شود. این بازی با کلمات خرده فروشی و تجارت الکترونیکی است. فروش کالا و خدمات از طریق اینترنت. خرده\\u200cفروشی الکترونیکی یا خرده\\u200cفروشی الکترونیکی می\\u200cتواند شامل فروش تجارت به کسب\\u200cوکار و تجارت به مصرف\\u200cکننده باشد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'شکافتن اتم چه کرد؟',\n",
" 'passage_positive': ['شکافتن یک اتم را شکافت هسته ای می نامند، فرآیندی که در سال 1938 کشف شد. شکافتن مکرر اتم ها در شکافت، واکنش زنجیره ای نامیده می شود. در حالی که اکثر مردم تجهیزات لازم برای انجام این کار را ندارند، اگر تا به حال کنجکاو شده اید که چگونه این کار انجام می شود، در اینجا یک مرور کلی وجود دارد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'مقوا تعریف',\n",
" 'passage_positive': ['1 یک مقوای نازک و سفت که برای تابلوها، جعبه ها و غیره استفاده می شود. 2 شبیه مقوا، به ویژه. در شلوغی: آپارتمانی با دیوارهای مقوایی. 3 کاملاً واقعی نیست. کم عمق دو بعدی: بازی با شخصیت های مقوایی.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'سلطان نشین دهلی به چه معناست',\n",
" 'passage_positive': ['سلطان نشین دهلی اشاره به سلسله های مختلف مسلمانی دارد که در هند حکومت می کردند (1210-1526). پس از محمد غور محمد غور، د. 1206، فاتح افغان شمال هند. او که برادر سلطان غور بود، در سال 1173 به فرمانداری غزنی منصوب شد و از آنجا به هندوستان حمله کرد. تا سال 1186 او امپراتوری مسلمانان پنجاب را فتح کرد. برای اطلاعات بیشتر روی لینک کلیک کنید.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'خم برگشتی شکم چیست؟',\n",
" 'passage_positive': ['خم برگشتی ABS DWV NIBCO 2 اینچی برای استفاده در برنامه های زهکشی بهداشتی، زباله و هواکش بدون فشار (DWV) طراحی شده است. این خم دارای اتصالات جوشی با حلال است. ABS نیازی به استفاده از پرایمر ندارد. قسمت پایینی تله P بدون تمیز کردن مبله شده است.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'تیغه atb چیست',\n",
" 'passage_positive': ['این تیغه ها همچنین به عنوان تیغه های «چند منظوره» یا «تیغه های 4+1» نیز شناخته می شوند. هدف ساخت تیغه ای است که می تواند برای هر برش معمولی نجاری استفاده شود. به عنوان یک تیغه ترکیبی، تیغه های ATBR یک سازش هستند که سرعت و کیفیت را در همان زمان ارائه می دهند. آنها مقداری از سرعت تیغه برش پارگی را قربانی می کنند تا مقداری از سطح صافی که توسط تیغه برش متقاطع ایجاد می شود به دست آورند. این کار با استفاده از ترکیبی از دندان\\u200cهای ATB (مخبط بالا) و دندان\\u200cهای FTG (تخت رویه صاف) انجام می\\u200cشود.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'بزرگترین اسکلت انسان کشف شده',\n",
" 'passage_positive': ['به گفته د لاپوژ، استخوان های فسیلی ممکن است متعلق به یکی از بزرگترین انسان هایی باشد که تاکنون وجود داشته است. او با توجه به اندازه استخوان تخمین زد که انسان ممکن است حدود 3.50 متر (11.5 فوت) قد داشته باشد. هیچ مطالعه بررسی شده مدرن در مورد قطعات استخوان غول پیکر منتشر نشده است. کشف. این استخوان\\u200cها توسط انسان\\u200cشناس ژرژ واچر دو لاپوژ در قبرستان عصر برنز کاستلنو لولز فرانسه در زمستان 1890 کشف شد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'پوشش گالوانیزه چیست',\n",
" 'passage_positive': ['10 حقیقت برتر در مورد جهان. فرآیندی که در آن روی روی فلزات خورنده پوشانده می شود، به عنوان گالوانیزه شناخته می شود. این در واقع روشی برای پوشش دادن فلزات خورنده مانند فولاد و آهن با یک فلز غیر خورنده است.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'استریسایکل چقدر شارژ می شود',\n",
" 'passage_positive': ['حقوق استریسایکل. میانگین حقوق استریسایکل 82000 دلار، متوسط \\u200b\\u200bحقوق 82000 دلار با دامنه حقوق بین 80000 تا 84000 دلار است. حقوق استری سیکل از سازمان ها و شرکت های دولتی دریافت می شود. هر حقوق با یک موقعیت شغلی واقعی همراه است. آمار حقوق استریسایکل انحصاری نیست و فقط برای مرجع است.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'مدیر تدارکات چه می کند',\n",
" 'passage_positive': ['به عنوان یک مدیر خرید یا تدارکات، شما مسئول خرید تجهیزات، کالاها و خدمات با بهترین کیفیت برای شرکت خود با رقابتی ترین نرخ ها هستید. اگر در مذاکره، شبکه سازی و برخورد با ارقام مهارت دارید، این شغل می تواند انتخاب خوبی باشد. برای شما. 0-40 در هفته. به عنوان یک مدیر خرید یا تدارکات، شما مسئول خرید تجهیزات، کالاها و خدمات با بهترین کیفیت برای شرکت خود با رقابتی ترین نرخ ها هستید. اگر در مذاکره، شبکه سازی و برخورد با چهره ها مهارت دارید، این شغل می تواند انتخاب خوبی برای شما باشد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'تعریف محیط زیست و بازار',\n",
" 'passage_positive': ['محیط بازار یک اصطلاح بازاریابی است و به عوامل و نیروهایی اشاره دارد که بر توانایی یک شرکت برای ایجاد و حفظ روابط موفق با مشتریان تأثیر می گذارد. سه سطح از محیط عبارتند از 3: محیط میکرو (داخلی) - نیروهای کوچک در درون شرکت که بر توانایی آن در خدمت به مشتریان تأثیر می گذارد. محیط Meso - صنعتی که یک شرکت در آن فعالیت می کند و بازار(های) صنعت. محیط کلان (ملی) - نیروهای اجتماعی بزرگتر که بر محیط خرد تأثیر می گذارند.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'چه فرودگاهی به جزیره هاچینسون فلوریدا نزدیک است',\n",
" 'passage_positive': ['نزدیکترین فرودگاه اصلی به جزیره هاچینسون: نزدیکترین فرودگاه اصلی به جزیره هاچینسون فرودگاه بین المللی پالم بیچ (PBI / KPBI) است. این فرودگاه در وست پالم بیچ فلوریدا است و 57 مایلی از مرکز جزیره هاچینسون فاصله دارد. اگر به دنبال پروازهای بین المللی یا داخلی به PBI هستید، خطوط هوایی که به PBI پرواز می کنند را بررسی کنید. پروازهای مستقیم از شهر خود را جستجو کنید و هتل\\u200cهایی را در نزدیکی جزیره هاچینسون پیدا کنید، یا برای فرودگاه\\u200cهای بین\\u200cالمللی یا فرودگاه\\u200cهای داخلی بیشتر به پایین بروید. اگر خلبان هستید، می توانید فرودگاه های محلی را نیز مرور کنید.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'سه قسمت معده چیست',\n",
" 'passage_positive': ['4 ناحیه معده را نام برده و آنها را شرح دهید. کاردیا سوراخ قلب را احاطه کرده است، قسمت گنبدی شکل فوندوس در زیر دیافراگم، قسمت میانی معده، ناحیه پیلور، قسمت دیستال معده.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'دو نوع سرور دسترسی از راه دور چیست؟',\n",
" 'passage_positive': ['سیستم عامل های مایکروسافت شامل کلاینت های دسترسی از راه دور و سرورهای دسترسی از راه دور است که از اتصالات شبکه خصوصی مجازی و شماره گیری پشتیبانی می کنند. سیستم عامل های مایکروسافت شامل مجموعه ای غنی از دسترسی از راه دور و ویژگی های امنیتی است که انعطاف پذیری و امنیت را برای راه حل دسترسی از راه دور شما فراهم می کند.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'دو نوع سرور دسترسی از راه دور چیست؟',\n",
" 'passage_positive': ['بهترین مثال شبکه خصوصی مجازی، مشتری VPN است که به یک سرور دسترسی از راه دور متصل به اینترنت متصل می شود. سرور دسترسی از راه دور به تماس مجازی پاسخ می دهد، تماس گیرنده را احراز هویت می کند و داده ها را بین مشتری VPN و شبکه شرکت منتقل می کند.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'دو نوع سرور دسترسی از راه دور چیست؟',\n",
" 'passage_positive': ['بهترین مثال از شبکه dial-up، یک کلاینت شبکه dial-up است که شماره تلفن یکی از پورت های یک سرور دسترسی از راه دور را شماره گیری می کند. شبکه Dial-up از طریق تلفن آنالوگ یا ISDN یک اتصال فیزیکی مستقیم بین مشتری شبکه Dial-up و سرور شبکه Dial-up است.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'm.a چیست؟',\n",
" 'passage_positive': ['Master of Arts (لاتین: Magister Artii؛ به اختصار M.A. یا MA؛ همچنین به لاتین: Artium Magister، به اختصار A.M. یا AM) فردی است که در یک نوع مدرک کارشناسی ارشد که توسط دانشگاه های بسیاری از کشورها اعطا می شود پذیرفته شده است و این مدرک نیز می باشد. به نام استاد هنر در گفتار محاوره ای.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'هراس در دیسکو چه ژانری است؟',\n",
" 'passage_positive': ['گزارش تخلف من هراس را طبقه بندی می کنم! در دیسکو به عنوان پاپ پانک و آلترناتیو راک. علاوه بر این، شما باید این سایت را بررسی کنید: http://www.allmusic.com/artist/panic%21-... Brandon · 2 سال پیش. شست بالا.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'اسید و باز چیست',\n",
" 'passage_positive': ['به طور خلاصه، اسید ترکیبی است که می\\u200cتواند یک یون هیدروژن (یک پروتون، H+) را در محلول تولید کند. باز ترکیبی است که می تواند پروتون را بپذیرد. اگر به معادلات شیمیایی نگاه می کنید، اسید ترکیبی خواهد بود که اتم های هیدروژن بیشتری دارد. معمولاً، یک اسید دارای بار مثبت است. خلاصه، یک اسید ترکیبی است که می تواند یک یون هیدروژن (یک پروتون، H+) را از خود خارج کند. راه حل باز ترکیبی است که می تواند پروتون را بپذیرد. اگر به معادلات شیمیایی نگاه می کنید، اسید ترکیبی است که اتم های هیدروژن بیشتری دارد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'اسید و باز چیست',\n",
" 'passage_positive': ['اسید ماده ای است که یون هیدروژن را اهدا می کند. به همین دلیل، هنگامی که یک اسید در آب حل می شود، تعادل بین یون های هیدروژن و یون های هیدروکسید تغییر می کند. اکنون در محلول یون های هیدروژن از یون های هیدروکسید بیشتر است. این نوع محلول اسیدی است. باز ماده ای است که یون های هیدروژن را می پذیرد. هنگامی که یک باز در آب حل می شود تعادل بین یون های هیدروژن و یون های هیدروکسید برعکس تغییر می کند. . از آنجایی که پایه یون های هیدروژن را جذب می کند، نتیجه محلولی با یون های هیدروکسید بیشتر از یون های هیدروژن است. این نوع محلول قلیایی است. به همین دلیل، هنگامی که اسید در آب حل می شود، تعادل بین یون های هیدروژن و یون های هیدروکسید تغییر می کند. اکنون تعداد یون های هیدروژن از یون های هیدروکسید در محلول بیشتر است. این نوع محلول اسیدی است. باز ماده ای است که یون های هیدروژن را می پذیرد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'تعداد مورد نیاز روزهای مدرسه در کالیفرنیا',\n",
" 'passage_positive': ['در سال تحصیلی کالیفرنیا معمولاً 180 روز مدرسه برای کودکان وجود دارد... در سال تحصیلی کالیفرنیا معمولاً 180 روز مدرسه برای کودکان وجود دارد. تغییرات از 180 روز از طریق معافیت از هیئت آموزش ایالتی اعطا می شود. سنوات کاری معلمان معمولاً به دلیل نیازهای آماده سازی و توسعه کارکنان بیشتر از شاگردان است.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'چند اونس در مشروب شات',\n",
" 'passage_positive': ['متوسط \\u200b\\u200b\\u200b\\u200bکوکتل از: 1 1/2 اونس (متوسط \\u200b\\u200bشات) یک مشروب پایه (به عنوان مثال ودکا، جین، رام و غیره) استفاده می کند. لیکورها معمولاً در 1/2 تا 3/4 اونس ریخته می شوند. آب لهجه (مانند لیمو و لیموترش) معمولاً از 1/4 تا 1/2 اونس استفاده می شود. پر کردن یک نوشیدنی هایبال یا بلند با آبمیوه یا نوشابه اغلب به 4 تا 6 اونس نیاز دارد.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []},\n",
" {'question': 'تعریف ژن brca1',\n",
" 'passage_positive': ['BRCA1: ژنی که معمولاً برای مهار رشد سلول\\u200cهای سینه عمل می\\u200cکند، اما وقتی جهش پیدا می\\u200cکند، مستعد ابتلا به سرطان سینه است. نام کامل این ژن سرطان پستان 1 با شروع زودرس است. ژن BRCA1 متعلق به دسته\\u200cای از ژن\\u200cهایی است که به عنوان ژن\\u200cهای سرکوبگر تومور شناخته می\\u200cشوند. هر کدام با افزایش خطر سرطان مرتبط هستند. این جهش\\u200cها می\\u200cتوانند تغییر در یک یا تعداد کمی از جفت\\u200cهای باز DNA، یا در برخی موارد، بازآرایی بزرگ DNA باشند. یک ژن جهش یافته BRCA1 معمولاً پروتئینی را می سازد که به دلیل کوتاه بودن غیر طبیعی به درستی عمل نمی کند.'],\n",
" 'passage_negative': [],\n",
" 'passage_negative_random': []}]"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset[58008:58008+25]"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "56aa3e67",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"question is : هلن میرن اینستاگرام\n",
"passage is : صفحه اینستاگرام هلن میرن ساخته شده توسط Fast 8 costar Tyrese. دیم هلن میرن ملکه جدید اینستاگرام است. این بازیگر برنده اسکار به لطف تایرز بازیگر فیلم Fast & Furious 8 که اکانت او را راه اندازی کرد و در همان اولین پست او را مسخره کرد، رسماً در رسانه های اجتماعی حضور دارد. نام کاربری اینستاگرام او ukqueenofhearts@ است و در بیو نوشته شده است، â[Tyrese] این را نوشته است!\n",
"```json\n",
"{\"new_question\": \"چه کسی صفحه اینستاگرام هلن میرن را ایجاد کرد و نام کاربری او چیست؟\"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه گروهی آهنگ پلکان بهشت ​​را خواندند\n",
"passage is : 1977: گروه راک لد زپلین روی صحنه اجرا کرد. از چپ به راست: جیمی پیج، رابرت پلانت و جان بونهام (1947 - 1980). (عکس از Hulton Archive/Getty Images). âStairway to Heavenâ برای دهه ها جزء اصلی رادیو راک بوده است و هنوز هم در WZLX و در سرتاسر جهان به طور منظم پخش می شود. مسلماً این بزرگترین آهنگ راک تاریخ است. عکس از Hulton Archive/Getty تصاویر). âStairway to Heavenâ برای چندین دهه یکی از اصلی ترین رادیوهای راک بوده است و هنوز هم در WZLX و در سراسر جهان پخش منظمی دارد. مسلماً این بزرگترین آهنگ راک تاریخ است.\n",
"```json\n",
"{\"new_question\": \"کدام گروه موسیقی قطعه‌ی «پلکان بهشت» را اجرا کرد؟\"}\n",
"```\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی دیورتیکولیت را تشدید می کند\n",
"passage is : فلفل قرمز ممکن است دیورتیکولیت را تشدید کند. عکس اعتبار چیلی عکس توسط photorich از Fotolia.com. دیورتیکولیت از دیورتیکولوز ایجاد می شود، بیماری که در آن کیسه های کوچک یا دیورتیکول ها در روده بزرگ تشکیل می شوند. هنگامی که این کیسه های کوچک ملتهب می شوند، این بیماری دیورتیکولیت نامیده می شود. علائم دیورتیکولیت شامل درد در سمت چپ پایین شکم، استفراغ، تب، یبوست و اسهال است. دیورتیکولیت از دیورتیکولوز ایجاد می شود، بیماری که در آن کیسه های کوچک یا دیورتیکول ها در روده بزرگ تشکیل می شوند. هنگامی که این کیسه های کوچک ملتهب می شوند، این بیماری دیورتیکولیت نامیده می شود.\n",
"```json\n",
"{\n",
"\"new_question\": \"چه عواملی باعث بدتر شدن التهاب روده بزرگ می شود؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : ژلاتوس چیست\n",
"passage is : Gelato نسخه ایتالیایی بستنی است و از چند جهت با بستنی آمریکایی متفاوت است: چگالی آن، محتوای قند آن و دمای آن. اول، و در درجه اول، ژلاتو بسیار متراکم تر از بستنی آمریکایی است. به دو دلیل چگال تر است: یکی، حاوی چربی کره ای بسیار کمتری نسبت به بستنی معمولی است.\n",
"```json\n",
"{\n",
" \"new_question\": \"What distinguishes Italian frozen dessert from American ice cream?\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : ایران اسلامی است\n",
"passage is : تهران پایتخت و بزرگترین شهر است. ایران هجدهمین کشور بزرگ جهان است. بیش از 80 میلیون نفر جمعیت دارد. ایران از سال 1945 به عضویت سازمان ملل متحد درآمده است. این کشور عضو سازمان کشورهای صادرکننده نفت (اوپک) است. جمهوری اسلامی است.\n",
"```json\n",
"{\"new_question\": \"آیا جمهوری ایران یک کشور است؟\"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : آیا سلول های سرطانی تمایز ضعیفی دارند؟\n",
"passage is : بنابراین سرطان ها از سلول هایی ساخته شده اند که ممکن است شباهت زیادی به سلول های طبیعی داشته باشند (به خوبی تمایز یافته اند)، یا دارای جهش های زیادی هستند که سلول ها را چنان آشفته به نظر می رساند که اصلاً شبیه سلول های خود نیستند. به عنوان (تمایز ضعیف) شروع شد.\n",
"```json\n",
"{\n",
" \"new_question\": \"آیا سلول‌های بدخیم، خصوصیات مشابه با سلول‌های عادی را نشان نمی‌دهند؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : مالدن مو در کدام شهرستان است\n",
"passage is : مالدن، میسوری مالدن شهری در گوشه شمال شرقی شهرستان دانکلین، میسوری، ایالات متحده آمریکا است که در نزدیکی تقاطع مسیر 25 میسوری و مسیر 62 ایالات متحده واقع شده است. جمعیت در سرشماری سال 2010، 4277 نفر بود، مالدن در منطقه هشتم کنگره میسوری قرار دارد.\n",
"```json\n",
"{\"new_question\": \"در کدام منطقه، شهر مالدن واقع شده است؟\"}\n",
"```\n",
"--------------------------------\n",
"\n",
"question is : اعداد رهگیری فدرال اکسپرس چند رقمی هستند\n",
"passage is : ردیابی FedEx رایج‌ترین قالب شماره رهگیری 12 رقمی (به عنوان مثال 9999 9999 9999) یا 15 رقمی (مثلاً 9999 9999 9999 9999) است. برخی از قالب‌های کمتر رایج دیگر نیز ممکن است وجود داشته باشد، مانند 20 رقمی و 22 رقمی. خدمات مشتری. در صورت داشتن هرگونه سوال در مورد فرآیند تحویل بسته، با شماره 3339-463-800 [+1] تماس بگیرید.\n",
"```json\n",
"{\n",
" \"new_question\": \"What is the typical length, in digits, of a FedEx tracking number?\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : ایندیاناپولیس آن تا جزیره کینگز چقدر فاصله دارد\n",
"passage is : جزیره کینگز در میسون، OH 45040 در 126 مایلی ایندیاناپولیس، واقع شده است... 1 فاصله جزیره کینگز در اوهایو تا ایندیاناپولیس، ایندیانا چقدر است؟\n",
"```json\n",
"{\n",
" \"new_question\": \"فاصله بین ایندیاناپولیس و جزیره کینگز در ایالت اوهایو چقدر است؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : برنامه مسابقات قهرمانان جهان IAAF\n",
"passage is : مسابقات جهانی دو و میدانی 2017. مسابقات جهانی IAAF 2017 شانزدهمین دوره است و قرار است در آگوست 2017 در لندن، انگلستان برگزار شود. لندن رسماً توسط IAAF در موناکو در 11 نوامبر 2011 به مسابقات قهرمانی اهدا شد. این قهرمانی آخرین قهرمانی یوسین بولت دونده سرعت و مو فرح دونده مسافت است.\n",
"```json\n",
"{\n",
" \"new_question\": \"What is the schedule for the 2017 IAAF World Championships in Athletics, and which notable athletes were featured in this event?\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : معافیت مشروط و آزادی در پرداخت پیشرفت چیست\n",
"passage is : چشم پوشی مشروط و رهایی پس از پرداخت پیشرفت مطمئن ترین چشم پوشی برای آن است. پیمانکاران سقف یک چشم پوشی مشروط و آزادی پس از پیشرفت پرداخت به طور کلی مشخص می کند. که اگر واقعاً حقوق پیمانکار سقف تا به امروز پرداخت شده باشد، معافیت دلیل مؤثری است. هرگونه ادعای حق وثیقه در مورد ملک\n",
"```json\n",
"{\"new_question\": \"What is a conditional waiver and release upon progress payment, and how does it function as secure documentation for roofers?\"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه غذاهایی کلسترول شما را افزایش می دهند\n",
"passage is : 7 غذای پرکلسترول که باید از آنها اجتناب کنید. طبق گزارش موسسه ملی سرطان، اینها منابع غذایی اصلی کلسترول در بین مردم ساکن در ایالات متحده هستند: (2) تخم مرغ و غذاهای مخلوط تخم مرغ - 25 درصد. غذاهای مخلوط مرغ و مرغ 13 درصد. گوشت گاو، غذاهای مخلوط گوشت گاو و همبرگر 11 درصد.\n",
"```json\n",
"{\n",
" \"new_question\": \"کدام خوراکی‌ها باعث بالا رفتن میزان چربی خون می‌شوند؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : یک ساز کوبه ای با صدای مشخص است\n",
"passage is : ستون هوا: فضای درون ساز کوبه ای که گام را تعیین می کند. پرکاشن: صداهایی که از ضربه زدن به ساز با پتک یا چوب یا ضربه زدن به ساز به ساز دیگر ایجاد می شود. 2. فرآیند تشکیل فرضیه و پیش بینی را مرور کنید.\n",
"```json\n",
"{\"new_question\": \"چه نوع آلات موسیقی با ایجاد ارتعاش در یک محفظه هوایی، نت های صوتی متمایزی تولید می کنند؟\"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : مالتا، اوهایو در کدام شهرستان است\n",
"passage is : مالت، اوهایو مالت (به انگلیسی: Malta) یک روستا در ایالات متحده آمریکا است که در شهرستان مورگان، اوهایو واقع شده‌است. جمعیت این شهر در سرشماری سال ۲۰۱۰، ۶۷۱ نفر بوده است.\n",
"```json\n",
"{\"new_question\": \"روستای مالت، واقع در ایالت اوهایو، در کدام منطقه اداری قرار دارد؟\"}\n",
"```\n",
"--------------------------------\n",
"\n",
"question is : چه مواد تشکیل دهنده سس دامداری است\n",
"passage is : فقط مخلوط کنید و خنک کنید. سس سیر خود را با استفاده از سس مایونز، دوغ، تخم مرغ آب پز و مقدار زیادی پودر سیر درست کنید. این سس طعم و مزه‌ای دارد و با طراوت، کمی تند و طعم سنتی مزرعه منفجر می‌شود. این برای کسانی است که گیاهان را به جای ادویه ترجیح می دهند.\n",
"```json\n",
"{\n",
" \"new_question\": \"برای تهیه‌ی چاشنی سیر، از چه عناصری استفاده می‌شود؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : تست آزمایشگاهی ck چیست؟\n",
"passage is : تست کراتین کیناز (CK) این آزمایش خون آنزیمی به نام کراتین کیناز (CK) یا کراتین فسفوکیناز (CPK) را اندازه گیری می کند. آنزیم ها مواد شیمیایی هستند که به عملکرد سلول های بدن شما کمک می کنند. سلول های ماهیچه ای آنزیم کراتین کیناز را می سازند. هنگامی که سلول های عضلانی آسیب می بینند یا بیمار می شوند، آنزیم ها از سلول ها نشت کرده و وارد جریان خون می شوند.\n",
"```json\n",
"{\n",
" \"new_question\": \"اندازه گیری آنزیم CPK در خون چه معنایی دارد؟\"\n",
"}\n",
"```\n",
"--------------------------------\n",
"\n",
"question is : چند کالری در یک دام دام\n",
"passage is : هر Dum Dums Pop تنها 25 کالری دارد و چربی ندارد. یکی از راه‌های کمک به پیشگیری از چاقی، کنترل مصرف است. Dum Dums یک خوراکی با اندازه کامل است که یک خوراکی سریع و با طعم بالا و بدون مصرف زیاد ارائه می دهد. بسته بندی بیانیه حساسیت زا ندارد.\n",
"```json\n",
"{\n",
" \"new_question\": \"میزان انرژی موجود در یک آبنبات دام دامز چقدر است؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : سه روش انگیزشی چیست\n",
"passage is : به عنوان یک مدیر، سه روش انگیزشی در بین بقیه برجسته است. این روش ها عبارتند از سلسله مراتب نیازهای مزلو، نظریه انتظار ویکتور وروم و نظریه طراحی شغل ویلیام گالاگر (لومباردی و شرمرهورن، 2007). سلسله مراتب نیازهای مزلو.\n",
"```json\n",
"{\n",
" \"new_question\": \"Which three motivational approaches stand out for a leader, according to research?\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی می تواند باعث معده درد شود\n",
"passage is : علل شایع معده درد شماره 1. شما اضافه وزن دارید. ریموند می‌گوید حمل پوندهای اضافی می‌تواند شما را مستعد ابتلا به سنگ‌های صفراوی، رسوبات جامد کلسترول یا نمک‌های کلسیم کند که می‌تواند باعث دردهای شدید بالای معده در شکم راست شود.\n",
"```json\n",
"{\n",
" \"new_question\": \"افزایش وزن چه تاثیری بر ایجاد ناراحتی در ناحیه شکم دارد؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی می تواند باعث معده درد شود\n",
"passage is : سوء هاضمه یکی از دلایل شایع معده درد است و ممکن است به دلایل مختلفی رخ دهد. علل شایع سوء هاضمه عبارتند از خوردن غذاهای تند، نوشیدن الکل، غذاهای چرب، تنباکو، استرس و داروها.\n",
"```json\n",
"{\n",
" \"new_question\": \"علت های ناراحتی شکمی چه مواردی می باشند؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : در شیشه crt چیست؟\n",
"passage is : CRT ها ظروف شیشه ای هستند که هوا از آنها خارج می شود. آنها دارای شیشه بسیار ضخیم در ناحیه صفحه نمایش و شیشه نازکتر در ناحیه گردن باریک هستند. این باعث می شود یک CRT نسبتاً شکننده باشد وقتی که در رایانه یا قاب قرار نگیرد. ناحیه گردن مخصوصاً به راحتی شکسته می شود یا ترک می خورد.\n",
"```json\n",
"{\n",
" \"new_question\": \"چه چیزی ساختار یک مانیتور قدیمی CRT را تشکیل می دهد؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : معنی اوسگود\n",
"passage is : معنی اسم اوسگود خدا گوت است. ریشه نام Osgood انگلیسی است. این همان فرهنگی است که نام در آن شکل گرفته است، یا در مورد یک کلمه، زبان. قبیله آلمانی افرادی که نام اسگود را دوست دارند نیز دوست دارند: فرانسیس، لورت، جورج، لوول، کوئنتین، آموس، گیدئون. آنجلینا، پریسیلا، آنایس، مارا، ریچل، الودی، گلوریا.\n",
"```json\n",
"{\n",
" \"new_question\": \"What is the interpretation of the name Osgood, and what is its origin?\"\n",
"}\n",
"```\n",
"--------------------------------\n",
"\n",
"question is : معنی اپیدمی ها\n",
"passage is : تعریف اپیدمی - وقوع گسترده یک بیماری عفونی در یک جامعه در یک زمان خاص تعریف اپیدمی - وقوع گسترده یک بیماری عفونی در یک جامعه در یک زمان خاص\n",
"```json\n",
"{\"new_question\": \"What is the definition of a widespread infectious disease outbreak in a population?\"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n",
"question is : آبهای مانیتویش در کدام شهرستان است\n",
"passage is : درباره Manitowish Waters منطقه Manitowish Waters نقطه ایده آلی برای دور شدن از آن است. Manitowish Waters واقع در شهرستان ویلاس شمال غربی در نورث وودز ویسکانسین، به‌خاطر محیطی آرام و کم استرس که برای تعطیلات خانوادگی، اتحاد مجدد، استراحت‌های عاشقانه، شکار یا ماهیگیری، یا سفرهای تفریحی یک روزه مناسب است، شناخته شده است.\n",
"```json\n",
"{\n",
" \"new_question\": \"در کدام ناحیه، منطقه آبی مانیتویش قرار دارد؟\"\n",
"}\n",
"```\n",
"--------------------------------\n",
"\n",
"question is : استراتژی تامین مالی چیست\n",
"passage is : یک استراتژی تامین مالی جزء لاینفک برنامه استراتژیک یک سازمان است. نحوه برنامه ریزی سازمان برای تأمین مالی عملیات کلی خود برای دستیابی به اهداف خود در حال حاضر و آینده را مشخص می کند.\n",
"```json\n",
"{\n",
" \"new_question\": \"چگونه یک شرکت منابع مالی خود را مدیریت می‌کند و این مدیریت با برنامه‌ریزی کلان سازمان چه ارتباطی دارد؟\"\n",
"}\n",
"```\n",
"\n",
"--------------------------------\n",
"\n"
]
}
],
"source": [
"import requests\n",
"from dotenv import load_dotenv\n",
"import os\n",
"import time\n",
"from tqdm import tqdm\n",
"\n",
"load_dotenv()\n",
"\n",
"qwen = False\n",
"if qwen:\n",
" url = \"https://qwen3.chatllm.aiengines.ir/v1/chat/completions\"\n",
" model = \"Qwen/Qwen3-4B-Instruct-2507\"\n",
" headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {os.getenv('LLM_AS_RERANKER_PASS')}\"}\n",
"else:\n",
" url = \"http://192.168.130.206:4001/v1/chat/completions\"\n",
" model = \"google/gemma-3-27b-it\"\n",
" headers = {\"Content-Type\": \"application/json\"}\n",
"\n",
"instruction = \"\"\"\n",
"You are a helpful assistant that help to change and modify the question.\n",
"I will give you a question and its answer, you must change the question and replace its keywords with synonyms as muuch as possible.\n",
"or you can make a new question from the text.\n",
"\n",
"return the question in json format of {\"new_question\": \"new question\"}\n",
"\"\"\"\n",
"\n",
"for data in dataset[7008:7008+25]:\n",
" print(f\"question is : {data['question']}\")\n",
" print(f\"passage is : {data['passage_positive'][0]}\")\n",
" input_message = f\"\"\"{{\"query\": \"{data['question']}\", \"passages\": {data['passage_positive'][0]}}}\"\"\"\n",
" messages = [{\"role\": \"system\", \"content\": instruction}, {\"role\": \"user\", \"content\": input_message}]\n",
"\n",
" payload = {\n",
" \"model\": model,\n",
" \"messages\": messages,\n",
" \"max_tokens\": 100,\n",
" }\n",
" start_time = time.time()\n",
" req = requests.post(url, headers=headers, json=payload)\n",
" print(req.json()['choices'][0]['message']['content'])\n",
" # print(f\"time taken: {time.time() - start_time} seconds\")\n",
" print(\"--------------------------------\\n\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "62c2f2a4",
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"\n",
"with open(\"/home/firouzi/embedding_model/data/v2/msmarco.json\", \"r\", encoding=\"utf-8\") as f:\n",
" dataset = json.load(f)\n"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "a401fe12",
"metadata": {},
"outputs": [],
"source": [
"from hazm import word_tokenize, Normalizer, Stemmer\n",
"\n",
"\n",
"class TextPreprocessor:\n",
" def __init__(self, stopwords_path=\"/home/firouzi/embedding_model/data_preprocess/stopwords.txt\"):\n",
" with open(stopwords_path, encoding='utf-8') as f:\n",
" self.persian_stopwords = set(f.read().splitlines())\n",
" self.normalizer = Normalizer()\n",
" self.stemmer = Stemmer()\n",
"\n",
" def remove_stopwords(self, text):\n",
" text = self.normalizer.normalize(text)\n",
" tokens = word_tokenize(text)\n",
" stems = [self.stemmer.stem(token) for token in tokens]\n",
" stems = [stem for stem in stems if stem not in self.persian_stopwords]\n",
" return stems\n",
" \n",
"\n",
" def similar_score(self, query:str, passage:str):\n",
" query_tokens = self.remove_stopwords(query)\n",
" passage_tokens = self.remove_stopwords(passage)\n",
"\n",
" count = 0\n",
" for token in query_tokens:\n",
" if token in passage_tokens:\n",
" count += 1\n",
"\n",
" return count / len(query_tokens)\n",
"\n",
"\n",
"text_preprocessor = TextPreprocessor()\n"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "5b4added",
"metadata": {},
"outputs": [],
"source": [
"from hazm import Normalizer\n",
"import requests\n",
"import numpy as np\n",
"from dotenv import load_dotenv\n",
"import os\n",
"\n",
"load_dotenv()\n",
"\n",
"\n",
"class TextEmbedder:\n",
" def __init__(self, model_name=\"BAAI/bge-m3\"):\n",
" self.model_name = model_name\n",
" self.headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {os.getenv('EMBEDDING_PASS')}\"}\n",
" self.normalizer = Normalizer()\n",
" \n",
" def preprocess_embedder(self, text:str):\n",
" text = text.replace(\"\\n\", \".\")\n",
" text = self.normalizer.normalize(text)\n",
" \n",
" return text\n",
" \n",
"\n",
" def embed_texts(self, texts:list[str])->list[list[float]]:\n",
" \"\"\"\n",
" Embed texts using the model.\n",
" \"\"\"\n",
" if texts == []:\n",
" return []\n",
" \n",
" texts = [self.preprocess_embedder(text) for text in texts]\n",
" \n",
" payload = {\n",
" \"model\": self.model_name,\n",
" \"input\": texts\n",
" }\n",
" responses = requests.post(\"http://78.38.161.78:3094/v1/embeddings\", headers=self.headers, json=payload)\n",
" embeddings = [np.array(response[\"embedding\"], dtype=np.float32) for response in responses.json()[\"data\"]]\n",
" \n",
" return embeddings\n",
" \n",
"text_embedder = TextEmbedder()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c3c3ba6f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"question is : آپنکس چیست\n",
"passage is : AppNexus AppNexus یک شرکت فناوری جهانی است که پلت فرم نرم‌افزار مبتنی بر ابر آن تبلیغات آنلاین برنامه‌ای را فعال و بهینه می‌کند. رسانه)؛ مایکل روبنشتاین، معاون سابق و مدیر کل دابل کلیک گوگل، در سپتامبر 2009 به عنوان رئیس به AppNexus پیوست.\n",
"چه کسی در سپتامبر 2009 به ریاست اپ‌نکسوس منصوب شد؟\n",
"old similar score: 0.0\n",
"new similar score: 0.4\n",
"similar old_embeddings: 0.4430588483810425\n",
"similar new_embeddings: 0.5697304010391235\n",
"--------------------------------\n",
"\n",
"question is : وضعیت جانبازی ویژه معلول چیست؟\n",
"passage is : از آنجایی که جانبازان دارای معلولیت ویژه، کهنه سربازان دوران ویتنام یا سایر کهنه سربازان محافظت شده برای استخدام در نظر گرفته می شوند، فقط آن بخش از اسناد نظامی و معافیت مربوط به شرایط شغلی خاص ممکن است توسط دفتر منابع انسانی بررسی شود.\n",
"کدام مدارک نظامی توسط بخش استخدام بررسی می‌گردد؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.5714285714285714\n",
"similar old_embeddings: 0.5375531911849976\n",
"similar new_embeddings: 0.6112977266311646\n",
"--------------------------------\n",
"\n",
"question is : نرم کننده طبیعی مدفوع برای افراد چیست؟\n",
"passage is : فیبر برای سلامت روده بزرگ و مقابله با یبوست بسیار عالی است زیرا فیبر در روده بزرگ حجیم شده و موسیلاژین می شود و دیواره های روده بزرگ را جارو می کند. هیدراتاسیون نقش مهمی در مدیریت روده دارد. آب یک نرم کننده طبیعی مدفوع است و به نرم شدن مدفوع و همچنین روان نگه داشتن روده بزرگ کمک می کند. از آنجایی که آب الکتریکی است، مانند میوه ها و سبزیجات خام، پریستالتیک را نیز تحریک می کند. همچنین، آب و آنزیم ها با هم کار می کنند! بسیاری از آمریکایی ها آب آشامیدنی را دوست ندارند.\n",
"چه ماده‌ای به عنوان یک نرم‌کننده طبیعی برای مدفوع عمل می‌کند؟\n",
"old similar score: 0.75\n",
"new similar score: 0.6\n",
"similar old_embeddings: 0.6408635973930359\n",
"similar new_embeddings: 0.6358652114868164\n",
"--------------------------------\n",
"\n",
"question is : معنی کارور\n",
"passage is : تعریف کارور - شخصی که یک ماده سخت را به صورت حرفه ای تراش می دهد، چاقویی که برای برش دادن گوشت طراحی شده است، شخصی که گوشت را برش می دهد و در یک تعریف کارور سرو می کند - شخصی که یک ماده سخت را به صورت حرفه ای حک می کند، چاقویی که برای برش دادن گوشت طراحی شده است. .، شخصی که گوشت را در اصطلاحنامه فرهنگ لغت بریده و سرو می کند\n",
"چه کسی به طور تخصصی ماده‌ای سخت را می‌تراشد یا نقش می‌کند؟\n",
"old similar score: 0.5\n",
"new similar score: 0.4\n",
"similar old_embeddings: 0.6634120941162109\n",
"similar new_embeddings: 0.5598353147506714\n",
"--------------------------------\n",
"\n",
"question is : پهنای باند بی سیم است؟\n",
"passage is : پهنای باند بی سیم توسط یک روتر بی سیم امکان پذیر می شود، بنابراین هر سرویس ADSL (خط تلفن) یا کابلی باند پهن را می توان به سادگی با تغییر روتر به یک اتصال بی سیم تبدیل کرد. برای دریافت بسته پهنای باند جدید نیازی به ثبت نام ندارید.\n",
"آیا می‌توان اتصال پرسرعتِ کابلی یا تلفنی را بدون ثبت‌نام، به صورت بی‌سیم بهره‌مند شد؟\n",
"old similar score: 1.0\n",
"new similar score: 0.6666666666666666\n",
"similar old_embeddings: 0.6816040873527527\n",
"similar new_embeddings: 0.6986428499221802\n",
"--------------------------------\n",
"\n",
"question is : carrboro nc در کدام شهرستان واقع شده است\n",
"passage is : کاربورو (به انگلیسی: Carrboro) یک منطقهٔ مسکونی در ایالات متحده آمریکا است که در شهرستان اورنج در کارولینای شمالی واقع شده‌است. جمعیت این شهر در سرشماری سال ۲۰۱۰ میلادی ۱۹٬۵۸۲ نفر بوده است. این شهر که بخشی از منطقه آماری شهری رالی-دورهام-چپل هیل است، به افتخار جولیان شکسپیر کار، صنعتگر کارولینای شمالی نامگذاری شده است.\n",
"این شهر به نام چه کسی نامگذاری شده است؟\n",
"old similar score: 0.2\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.6947093605995178\n",
"similar new_embeddings: 0.38762056827545166\n",
"--------------------------------\n",
"\n",
"question is : تعریف استرس رزمی و عملیاتی\n",
"passage is : امتیاز دادن به آن 1/5 به آن بدهید 2/5 به آن بدهید 3/5 به آن بدهید 4/5 به آن 5/5 بدهید. میانگین: 4.2 (13 رای) استرس رزمی (که گاهی اوقات استرس رزمی و عملیاتی یا واکنش استرس رزمی و عملیاتی نامیده می‌شود) یک پاسخ متداول به تلاش ذهنی و عاطفی اعضای سرویس در هنگام مواجهه با موقعیت‌های سخت و خطرناک است.\n",
"نمرهٔ متوسط این مورد چقدر است؟\n",
"old similar score: 0.75\n",
"new similar score: 0.0\n",
"similar old_embeddings: 0.7303898334503174\n",
"similar new_embeddings: 0.5011197328567505\n",
"--------------------------------\n",
"\n",
"question is : نام واقعی هودور چیست؟\n",
"passage is : هودور پسری است که در وینترفل خدمت می کند. نام اصلی او والدر است، اما معمولاً او را هودور می نامند زیرا تنها کلمه ای است که می گوید. در اقتباس تلویزیونی بازی تاج و تخت او توسط کریستین نایرن و همچنین سم کولمن در یک فلش بک فصل ششم به تصویر کشیده شده است.\n",
"این جوان در وینترفل با چه نامی شناخته می‌شود؟\n",
"old similar score: 0.5\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.6628088355064392\n",
"similar new_embeddings: 0.4944605827331543\n",
"--------------------------------\n",
"\n",
"question is : برآمدگی های معده را چه می نامند\n",
"passage is : به برجستگی ها روگا می گویند. آنها سطح بیشتری را برای غذا برای معده فراهم می کنند. هنگامی که غذا وارد معده می شود، این چین و چروک ها گسترش یافته و کشیده می شوند. هدف این است که به آن اجازه گسترش داده شود. بنابراین این اجازه می دهد تا حجم خوک افزایش یابد. به برجستگی ها روگا می گویند. آنها سطح بیشتری را برای غذا برای معده فراهم می کنند. وقتی غذا وارد معده می شود، این چین و چروک ها منبسط شده و کشیده می شوند. هدف این است که به آن اجازه گسترش داده شود. بنابراین این اجازه می دهد تا حجم خوک افزایش یابد.\n",
"چین و چروک‌های درون معده چه نقشی در هضم غذا دارند؟\n",
"old similar score: 0.3333333333333333\n",
"new similar score: 0.6666666666666666\n",
"similar old_embeddings: 0.6097066402435303\n",
"similar new_embeddings: 0.6058677434921265\n",
"--------------------------------\n",
"\n",
"question is : remlap al در کدام شهرستان است\n",
"passage is : Remlap, Blount County, Alabama زمین برای فروش به دنبال خانه و زمین روستایی برای فروش در Remlap, Blount County, Alabama هستید؟ LandWatch.com هزاران ملک روستایی در Remlap، شهرستان Blount، آلاباما، از جمله املاک شکار و ماهیگیری، کابین، زمین برای فروش و مزایده زمین دارد.\n",
"آیا به دنبال زمین مسکونی در منطقه‌ی رملپ ایالت آلاباما هستید؟\n",
"old similar score: 0.25\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.5504748821258545\n",
"similar new_embeddings: 0.6717383861541748\n",
"--------------------------------\n",
"\n",
"question is : lp shunt چیست\n",
"passage is : شانت لومبوپریتونئال چیست؟ شانت لومبوپریتونئال (LP) یک اتصال مصنوعی است که توسط جراحان مغز و اعصاب ایجاد می‌شود و به مایع مغزی نخاعی اجازه می‌دهد تا از فضای زیر عنکبوتیه خارج شده و وارد صفاق شود. از آنجا، مایع به راحتی از طریق سیستم گردش خون و کلیه ها جذب و دفع می شود.\n",
"نحوه خروج مایع مغزی نخاعی در شانت لومبوپریتونئال چگونه است؟\n",
"old similar score: 0.3333333333333333\n",
"new similar score: 0.8\n",
"similar old_embeddings: 0.559491753578186\n",
"similar new_embeddings: 0.7174477577209473\n",
"--------------------------------\n",
"\n",
"question is : lp shunt چیست\n",
"passage is : شانت صفاقی کمری (LP) تکنیکی برای انحراف مایع مغزی نخاعی (CSF) از کیسه کمری به حفره صفاقی است.\n",
"چه روشی برای تغییر مسیر مایع نخاعی از ناحیه کمر به شکم وجود دارد؟\n",
"old similar score: 0.0\n",
"new similar score: 0.5\n",
"similar old_embeddings: 0.4705771803855896\n",
"similar new_embeddings: 0.5681021809577942\n",
"--------------------------------\n",
"\n",
"question is : فرمول انحراف ثابت\n",
"passage is : فرمول انحراف استاندارد در این فرمول، x مقدار میانگین، N اندازه نمونه است، و x i نشان دهنده هر مقدار داده از i=1 تا i=N است. نماد â نشان می دهد که باید مجموع را جمع کنید. (x 1 - x) 2 + (x 2 - x) 2 + (x 3 - x) 2 + (x 4 - x) 2 + (x 5 - x) 2. . . + (x N-x) 2.\n",
"در فرمولِ مذکور، \"x\" چه چیزی را نمایان می‌کند؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.6250861883163452\n",
"similar new_embeddings: 0.5667502284049988\n",
"--------------------------------\n",
"\n",
"question is : وسعت یک شهرک چقدر است\n",
"passage is : شهرستان (ایالات متحده آمریکا) شهرستان در ایالات متحده یک منطقه جغرافیایی کوچک است. مساحت شهرک ها از 6 تا 54 مایل مربع (15.6 کیلومتر مربع تا 140.4 کیلومتر مربع) است که 36 مایل مربع (93 کیلومتر مربع) معمول است. این اصطلاح به سه صورت استفاده می شود. یک شهرک بررسی صرفاً یک مرجع جغرافیایی است که برای تعیین مکان ملک برای اسناد و کمک های بلاعوض که توسط اداره کل زمین (GLO) بررسی و تصحیح شده است، استفاده می شود.\n",
"در ایالات متحده، محدوده مساحت یک شهرک معمولاً چقدر است؟\n",
"old similar score: 0.5\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.6818179488182068\n",
"similar new_embeddings: 0.7567613124847412\n",
"--------------------------------\n",
"\n",
"question is : بوزمن مونتانا کدام شهرستان است\n",
"passage is : بوزمن، مونتانا برای افرادی به نام بوزمن، بوزمن (نام خانوادگی) را ببینید. بوزمن شهری در شهرستان گالاتین، مونتانا، ایالات متحده آمریکا است که در بخش جنوب غربی این ایالت واقع شده است. سرشماری سال 2010 جمعیت بوزمن را 37280 نفر و برآورد سرشماری سال 2015 جمعیت را 43405 نفر اعلام کرد و آن را چهارمین شهر بزرگ این ایالت کرد.\n",
"بوزمن در کدام ناحیه از ایالت مونتانا قرار دارد؟\n",
"old similar score: 0.75\n",
"new similar score: 0.6\n",
"similar old_embeddings: 0.7050541043281555\n",
"similar new_embeddings: 0.736852765083313\n",
"--------------------------------\n",
"\n",
"question is : آپومورفین چیست\n",
"passage is : آپومورفین (Apokyn, Ixense, Spontane, Uprima) یک آگونیست غیرانتخابی دوپامین است که گیرنده‌های D1 و D2 مانند را فعال می‌کند و برای زیرگروه‌های دوم ترجیح داده می‌شود. از این رو پسوند-morphine.ithin 3â20 دقیقه از تزریق آپومورفین یک اثر بزرگ (توانایی تبدیل بیمار مبتلا به بیماری پارکینسون به حالت روشن) را نشان می دهد که با L-dopa قابل مقایسه است. یک تزریق زیر جلدی تا 90 دقیقه طول می کشد.\n",
"داروی آپومورفین با تحریک کدام ناقل‌های عصبی اثر می‌گذارد؟\n",
"old similar score: 0.5\n",
"new similar score: 0.14285714285714285\n",
"similar old_embeddings: 0.6220036745071411\n",
"similar new_embeddings: 0.5804558396339417\n",
"--------------------------------\n",
"\n",
"question is : دو لیگ در فوتبال آمریکا چیست؟\n",
"passage is : لیگ فوتبال آمریکا (AFL) یک لیگ حرفه‌ای فوتبال آمریکایی بود که از سال 1960 تا 1969 فعالیت کرد، زمانی که با لیگ فوتبال ملی (NFL) ادغام شد. AFL تازه کار در تمام مدت وجود خود در رقابت مستقیم با NFL معتبرتر عمل کرد.\n",
"چه مدت لیگ فوتبال آمریکا به طور مستقل به فعالیت خود ادامه داد؟\n",
"old similar score: 0.75\n",
"new similar score: 0.7142857142857143\n",
"similar old_embeddings: 0.6078243255615234\n",
"similar new_embeddings: 0.6636970043182373\n",
"--------------------------------\n",
"\n",
"question is : رایس ویل کدام شهرستان است، tn\n",
"passage is : در حال حاضر 50 لیست برای فروش در کد پستی McMinn County TN وجود دارد، از جمله کاندوها، خانه های متعلق به بانک، فروش کوتاه مدت، خانه های شهری، دوبلکس، زمین و لیست لوکس. اگر به دنبال اجاره در Riceville TN هستید، لیست گسترده ما از آپارتمان های لوکس و خانه های شهری را بررسی کنید.\n",
"چند مورد ملک برای خرید در شهرستان مک‌مین، تنسی موجود است؟\n",
"old similar score: 0.0\n",
"new similar score: 0.0\n",
"similar old_embeddings: 0.4351091980934143\n",
"similar new_embeddings: 0.6421483159065247\n",
"--------------------------------\n",
"\n",
"question is : کالری آب آناناس، تازه\n",
"passage is : شمارش کالری یک فنجان آب آناناس تازه حاوی 130 کالری است. برای مقایسه، یک فنجان تکه های آناناس حاوی 82 کالری است. آب آناناس همچنین 325 میلی گرم پتاسیم در هر وعده و 182 درصد از ارزش روزانه توصیه شده برای ویتامین C را فراهم می کند. تجزیه کالری.\n",
"آیا میزان انرژی موجود در آبِ میوه ی آناناس بیشتر است یا تکه های آناناس؟\n",
"old similar score: 1.0\n",
"new similar score: 0.42857142857142855\n",
"similar old_embeddings: 0.7787320017814636\n",
"similar new_embeddings: 0.6838539242744446\n",
"--------------------------------\n",
"\n",
"question is : تعریف مسدود کردن اطلاعات\n",
"passage is : پیشنهاد شده است که برخی از فروشندگان به طور فعال درگیر مسدود کردن اطلاعات هستند، یک امتناع اساسی از تبادل داده های بیمار با سیستم های دیگر. یا آن‌ها یا برای انجام این کار از قایق‌های زیادی پول می‌گیرند، که به نوعی به عنوان نوعی مسدود کردن اطلاعات در نظر گرفته می‌شود، اما نه دقیقاً.\n",
"آیا برخی بازرگانان عمداً مانع دسترسی به داده‌ها می‌شوند؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.25\n",
"similar old_embeddings: 0.602678656578064\n",
"similar new_embeddings: 0.6900491714477539\n",
"--------------------------------\n",
"\n",
"question is : اندازه گیری cl به چه معناست\n",
"passage is : âºâº تعریف: سانتی متر. یک سانتی متر (cL یا cl) یک واحد متریک حجم که برابر با یک صدم لیتر و برابر با کمی بیش از شش دهم (0.6102) اینچ مکعبی یا یک سوم (0.338) اونس سیال است. واحد استخراج شده از SI برای حجم، متر مکعب است. 1 متر مکعب برابر با 100000 cL یا 1000000 میلی لیتر است. توجه داشته باشید که خطاهای گرد کردن ممکن است رخ دهد، بنابراین همیشه نتایج را بررسی کنید.\n",
"یک سانتی‌متر معادل چه حجمی بر حسب لیتر است؟\n",
"old similar score: 0.3333333333333333\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.6363974213600159\n",
"similar new_embeddings: 0.7923870086669922\n",
"--------------------------------\n",
"\n",
"question is : معنی پرچم کلمبیا\n",
"passage is : قرمز: نشان دهنده خونی است که توسط قهرمانانی که آزادی کلمبیا را به دست آورده اند در میدان های جنگ ریخته شده است. هیچ معنای رسمی پرچم کلمبیا وجود ندارد. با این حال دو نظریه رایج در مورد معنای پشت رنگ پرچم کلمبیا وجود دارد. یکی بیان می کند که رنگ زرد نماد حاکمیت و عدالت است. آبی مخفف اشراف، وفاداری و هوشیاری است. در حالی که قرمز نشان دهنده شجاعت، افتخار، سخاوت و پیروزی از طریق خونریزی است.\n",
"رنگ سرخ در پرچم کلمبیا به چه مفهومی اشاره دارد؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.5\n",
"similar old_embeddings: 0.7135001420974731\n",
"similar new_embeddings: 0.7178119421005249\n",
"--------------------------------\n",
"\n",
"question is : معنی عجیب و غریب\n",
"passage is : تعریف عجیب و غریب: تعریف عجیب و غریب به چیزی عجیب، مرموز یا غیرمنتظره اشاره دارد که باعث می شود احساس ناراحتی کنید. (صفت) یک مثال عجیب و غریب این است که کسی تقریباً شبیه همسر شما است ....\n",
"چه چیزی می‌تواند احساس ناخوشایندی ایجاد کند؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.7109912633895874\n",
"similar new_embeddings: 0.5023685097694397\n",
"--------------------------------\n",
"\n",
"question is : استرالیا یک قاره است\n",
"passage is : استرالیا در قاره استرالیا است، هم قاره است و هم یک کشور، بر خلاف تصور اشتباه، در قاره اوس ترالاسیا یا اقیانوسیه نیست، هیچ یک از این قاره ها یک قاره جغرافیایی نیستند، بلکه هر دو منطقه سیاسی هستند گاهی اوقات به آن اشاره می شود. به عنوان یک قاره جزیره ای به دلیل اینکه یکی از تنها دو قاره در جهان است که کاملاً توسط آب احاطه شده است استرالیا بخشی از منطقه جغرافیایی است. اقیانوسیه که طبق تعریف در واقع یک قاره نیست\n",
"آیا استرالیا جزو قاره‌های اقیانوسیه به شمار می‌رود؟\n",
"old similar score: 1.0\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.7819459438323975\n",
"similar new_embeddings: 0.7357531189918518\n",
"--------------------------------\n",
"\n",
"question is : بازرس مورس چگونه مرد\n",
"passage is : جان تاو در 60 سالگی مرده است. بازرس مورس تلویزیون را بازی کرد. جان تاو، بازیگر تلویزیون بریتانیایی که میلیون‌ها نفر او را به عنوان بازرس ارشد مورس آکسفورد می‌شناسند، روز پنجشنبه در خانه‌اش در ویلت‌شایر انگلستان درگذشت. آسوشیتدپرس گزارش داد که او 60 سال داشت. علت آن سرطان گلو بود.\n",
"علت فوت این هنرمند چه بود؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.6111176013946533\n",
"similar new_embeddings: 0.46952638030052185\n",
"--------------------------------\n",
"\n",
"old similar score: 0.5379999999999999\n",
"new similar score: 0.4696190476190477\n",
"similar old_embeddings: 0.6302763819694519\n",
"similar new_embeddings: 0.6224057674407959\n"
]
}
],
"source": [
"import requests\n",
"from dotenv import load_dotenv\n",
"import os\n",
"import time\n",
"from tqdm import tqdm\n",
"import numpy as np\n",
"\n",
"\n",
"load_dotenv()\n",
"\n",
"qwen = True\n",
"if qwen:\n",
" url = \"https://qwen3.chatllm.aiengines.ir/v1/chat/completions\"\n",
" model = \"Qwen/Qwen3-4B-Instruct-2507\"\n",
" headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {os.getenv('LLM_AS_RERANKER_PASS')}\"}\n",
"else:\n",
" url = \"http://192.168.130.206:4001/v1/chat/completions\"\n",
" model = \"google/gemma-3-27b-it\"\n",
" headers = {\"Content-Type\": \"application/json\"}\n",
"\n",
"instruction = \"\"\"\n",
"You are a helpful assistant that help to me to generate a question from the text.\n",
"I will give you a text and you must generate a question from the text.\n",
"\n",
"## Rules:\n",
"- the question must be in fluent persian\n",
"- try to make the question small\n",
"- try to use synonyms or similar words instead of exact keywords from the text\n",
"- the question must be independent of the text\n",
"\n",
"## Important:\n",
"- try to use synonyms or similar words : \n",
" example : instead of \"بهترین خودروی شرکت بنز چیست\" you can use \"بهترین ماشین شرکت بنز چیست\"\n",
"\n",
"- the question must be independent and dont need background information.\n",
" example : instead of \"موضوع این کتاب چیست\" you can use its book name for example \"موضوع کتاب روزگار ابی چیست\"\n",
"\n",
"return the question nothing else.\n",
"\"\"\"\n",
"\n",
"old_similar_score = []\n",
"new_similar_score = []\n",
"\n",
"old_embeddings_list = []\n",
"new_embeddings_list = []\n",
"for data in dataset[8008:8008+25]:\n",
" print(f\"question is : {data['question']}\")\n",
" print(f\"passage is : {data['passage_positive'][0]}\")\n",
" input_message = f\"\"\"{{\"text\": {data['passage_positive'][0]}}}\"\"\"\n",
" messages = [{\"role\": \"system\", \"content\": instruction}, {\"role\": \"user\", \"content\": input_message}]\n",
"\n",
" payload = {\n",
" \"model\": model,\n",
" \"messages\": messages,\n",
" \"max_tokens\": 100,\n",
" }\n",
" start_time = time.time()\n",
" req = requests.post(url, headers=headers, json=payload)\n",
" final_text = req.json()['choices'][0]['message']['content']\n",
" print(final_text)\n",
" \n",
" old_score = text_preprocessor.similar_score(data['question'], data['passage_positive'][0])\n",
" new_score = text_preprocessor.similar_score(final_text, data['passage_positive'][0])\n",
" old_similar_score.append(old_score)\n",
" new_similar_score.append(new_score)\n",
" print(f\"old similar score: {old_score}\")\n",
" print(f\"new similar score: {new_score}\")\n",
"\n",
" old_embeddings = text_embedder.embed_texts([data['question'], data['passage_positive'][0]])\n",
" new_embeddings = text_embedder.embed_texts([final_text, data['passage_positive'][0]])\n",
" old_embed_similarity = np.dot(old_embeddings[0], old_embeddings[1])\n",
" new_embed_similarity = np.dot(new_embeddings[0], new_embeddings[1])\n",
" old_embeddings_list.append(old_embed_similarity)\n",
" new_embeddings_list.append(new_embed_similarity)\n",
" print(f\"similar old_embeddings: {old_embed_similarity}\")\n",
" print(f\"similar new_embeddings: {new_embed_similarity}\")\n",
" # print(f\"time taken: {time.time() - start_time} seconds\")\n",
" print(\"--------------------------------\\n\")\n",
"\n",
"print(f\"old similar score: {np.mean(old_similar_score)}\")\n",
"print(f\"new similar score: {np.mean(new_similar_score)}\")\n",
"print(f\"similar old_embeddings: {np.mean(old_embeddings_list)}\")\n",
"print(f\"similar new_embeddings: {np.mean(new_embeddings_list)}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "04dd680b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"question is : اپیتلیال چیست\n",
"passage is : اپیتلیوم (epi- + thele + -ium) یکی از چهار نوع اساسی بافت حیوانی است. سه نوع دیگر بافت همبند، بافت عضلانی و بافت عصبی هستند. پوشش مری نمونه‌ای از اپیتلیوم لایه‌ای غیرکراتینیزه یا مرطوب است. انتقالی. اپیتلیوم‌های انتقالی در بافت‌هایی یافت می‌شوند که کشیده می‌شوند و زمانی که بافت کشیده نمی‌شود، می‌تواند به صورت مکعبی طبقه‌بندی شده به نظر برسد یا زمانی که اندام متسع شده و بافت کشیده می‌شود، به‌صورت لایه‌های سنگفرشی به نظر برسد.\n",
"اپیتلیال چیست؟\n",
"old similar score: 0.0\n",
"new similar score: 0.0\n",
"similar old_embeddings: 0.522389829158783\n",
"similar new_embeddings: 0.5421788096427917\n",
"--------------------------------\n",
"\n",
"question is : شماره تلفن کرایه ماشین بدون پرداخت\n",
"passage is : 800-729-5377 شماره تلفن خدمات مشتری کرایه اتومبیل Payless است. شماره خدمات مشتری به مشتریان شرکت اجاره خودرو Payless این امکان را می دهد تا شکایات یا پیشنهادات خود را بیان کنند. اگر می خواهید به یک شخص زنده دسترسی پیدا کنید، باید مراحل زیر را دنبال کنید: 1 را فشار دهید. 3 را فشار دهید.\n",
"شماره تلفن اجاره ماشین بدون پرداخت\n",
"old similar score: 0.6\n",
"new similar score: 0.6\n",
"similar old_embeddings: 0.7141170501708984\n",
"similar new_embeddings: 0.7128623127937317\n",
"--------------------------------\n",
"\n",
"question is : نحوه تعیین مادربرد\n",
"passage is : سوکت CPU یک مادربرد عمدتاً با نوع پردازنده ای که برای نگهداری طراحی شده است تعریف می شود، بنابراین این مهمترین تصمیمی است که می گیرید. اکثر مادربردهای فعلی از یکی از پنج سوکت استفاده می کنند: AM3 (یا AM3+) و FM1 برای CPU های AMD. یا LGA1155 و LGA2011 برای پردازنده های اینتل.\n",
"نحوه مشخص کردن مادربرد\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.6005041599273682\n",
"similar new_embeddings: 0.5991948843002319\n",
"--------------------------------\n",
"\n",
"question is : ادگار آلن پو شاعر است\n",
"passage is : تمام اشعار ادگار آلن پو. ادگار آلن پو نویسنده، شاعر، ویراستار و منتقد ادبی آمریکایی بود که بخشی از جنبش رمانتیک آمریکا محسوب می‌شود. پو که بیشتر به خاطر داستان های اسرارآمیز و ترسناکش شناخته می شود، یکی از اولین دست اندرکاران آمریکایی داستان کوتاه بود و به عنوان مخترع ژانر داستانی پلیسی شناخته می شود.\n",
"ادگار آلن پو شاعر است\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.7412228584289551\n",
"similar new_embeddings: 0.7412228584289551\n",
"--------------------------------\n",
"\n",
"question is : هیپا در مورد پاسخ به احضاریه ها چه می گوید\n",
"passage is : بر این اساس، HIPAA تنها به ارائه‌دهنده مراقبت‌های بهداشتی اجازه می‌دهد که PHI را در پاسخ به چنین احضاریه‌ای فاش کند که یکی از شرایط زیر برآورده شود: 1 تضمین‌های کتبی رضایت‌بخش. 2 دستور حفاظتی واجد شرایط 3 ارائه دهنده مراقبت های بهداشتی به بیمار اطلاع می دهد یا دستور حفاظتی را دریافت می کند.\n",
"HIPAA در مورد پاسخ به درخواستهای احضاریه چه میگوید؟\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.531973123550415\n",
"similar new_embeddings: 0.6565057039260864\n",
"--------------------------------\n",
"\n",
"question is : حقوق برای تحلیلگر ارشد تجاری منطقه DC\n",
"passage is : متوسط ​​حقوق برای مشاغل تحلیلگر ارشد کسب و کار در واشنگتن دی سی 94000 دلار است. میانگین حقوق تحلیلگران ارشد تجاری می تواند به دلیل شرکت، محل، صنعت، تجربه و مزایا بسیار متفاوت باشد. این حقوق با استفاده از میانگین حقوق برای همه مشاغل با عبارت ارشد محاسبه شده است. تحلیلگر کسب و کار در هر نقطه از لیست مشاغل. ویژگی مقایسه حقوق و دستمزد تحلیلگر ارشد کسب و کار به جویندگان کار اجازه می دهد تا اطلاعات مورد نیاز را دریافت کنند. تصمیمات شغلی مهم و مذاکره در مورد محدوده حقوق. برای اطلاعات بیشتر درباره حقوق و دستمزد تحلیلگران ارشد کسب و کار، توصیه می کنیم از Payscale.com دیدن کنید.\n",
"حقوق برای تحلیلگر ارشد حوزه تجارت در منطقه واشنگتن دی سی\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.7142857142857143\n",
"similar old_embeddings: 0.7166351079940796\n",
"similar new_embeddings: 0.7821410894393921\n",
"--------------------------------\n",
"\n",
"question is : خنک شدن توسط کف تابشی چیست؟\n",
"passage is : خنک کننده تابشی. خنک کننده تابشی با جذب گرمای ساطع شده از بقیه اتاق، کف یا سقف را خنک می کند. هنگامی که کف سرد می شود، اغلب به عنوان خنک کننده کف تابشی شناخته می شود. خنک سازی سقف معمولاً در خانه هایی با پانل های تابشی انجام می شود. اگرچه به طور بالقوه برای آب و هوای خشک مناسب است، خنک کننده تابشی برای خانه هایی که در آب و هوای مرطوب تر هستند مشکل ساز است.\n",
"خنک شدن توسط کف تابشی چیست؟\n",
"old similar score: 0.75\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.7810415029525757\n",
"similar new_embeddings: 0.7810415029525757\n",
"--------------------------------\n",
"\n",
"question is : صبا چه روزی است\n",
"passage is : روز صبا سابا یک تعطیلات رسمی در تانزانیا است که در 7 ژوئیه جشن گرفته می شود. این روز با نمایشگاه بین المللی تجارت دارالسلام مشخص شده است.\n",
"صبا در چه روزی است\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.6293639540672302\n",
"similar new_embeddings: 0.6221846342086792\n",
"--------------------------------\n",
"\n",
"question is : چه هتل هایی در نیویورک برادوی هستند\n",
"passage is : Millennium Broadway New York Times Square 4 ستاره عالی 4.0 / 5 ( 4,287 نظر واقعی ) جوایز Hotels.com® برای هر 10 شب، 1 رایگان دریافت کنید! 569 نفر در یک ساعت گذشته به این هتل نگاه کردند. آخرین بررسی ما برای سی امین سالگرد ازدواجمان 6 شب را در هتل گذراندیم و اوقات خوشی را سپری کردیم.\n",
"کدام هتل‌هایی در نیویورک در بین‌سالی هستند؟\n",
"old similar score: 0.3333333333333333\n",
"new similar score: 0.25\n",
"similar old_embeddings: 0.5379774570465088\n",
"similar new_embeddings: 0.5492799282073975\n",
"--------------------------------\n",
"\n",
"question is : چه هتل هایی در نیویورک برادوی هستند\n",
"passage is : این هتل نیویورک در مرکز همه رویدادها قرار دارد و در مجموعه تئاترهای برادوی واقع شده است. میدان RIU Plaza نیویورک تایمز. این هتل واقع در آشپزخانه جهنمی، 10 دقیقه پیاده تا تئاتر پالاس، برادوی، و میدان تایمز فاصله دارد.\n",
"چه هتل هایی در نیویورک در منطقه برادوی هستند\n",
"old similar score: 1.0\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.6221870183944702\n",
"similar new_embeddings: 0.6444137096405029\n",
"--------------------------------\n",
"\n",
"question is : چه هتل هایی در نیویورک برادوی هستند\n",
"passage is : دو هتل دیگر برادوی - میدان تایمز در محدوده قیمت پایین تر عبارتند از: هالیدی این اکسپرس نیویورک سیتی پنجم خیابان و همپتون این منهتن/ میدان تایمز جنوبی. The St. Regis New York و همچنین ماندارین اورینتال، نیویورک را بررسی کنید.\n",
"چه هتل‌هایی در نیویورک از نوع برادوی هستند؟\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.6397981643676758\n",
"similar new_embeddings: 0.6323705911636353\n",
"--------------------------------\n",
"\n",
"question is : هزینه قرار دادن توالت در زیرزمین\n",
"passage is : هزینه های معمولی: 1 تبدیل فضای موجود در داخل گاراژ، زیرزمین یا اتاق زیر شیروانی به یک حمام ساده از حدود 3000 تا 6000 دلار شروع می شود. 2 هزینه مواد خود را انجام دهید از حدود 500 تا 1500 دلار شروع می شود، اما بسته به اندازه اتاق، کیفیت وسایل و سایر امکانات می تواند بین 2000 تا 5000 دلار یا بیشتر باشد.\n",
"هزینه نصب حمام در زیرزمین\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.676262378692627\n",
"similar new_embeddings: 0.7217860817909241\n",
"--------------------------------\n",
"\n",
"question is : شرط سنی برای costco\n",
"passage is : شرایط سنی: قوانین کار بر اساس ایالت در ایالات متحده متفاوت است و ممکن است در مکان های بین المللی متفاوت باشد. اکثر فروشگاه های Costco اجازه استخدام در سن 18 سالگی را می دهند. اگر کمتر از 18 سال دارید، قبل از ارسال درخواست آنلاین Costco، با محل کار مورد نظر خود تماس بگیرید.\n",
"شرایط سنی برای Costco\n",
"old similar score: 0.5\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.7203540802001953\n",
"similar new_embeddings: 0.773590087890625\n",
"--------------------------------\n",
"\n",
"question is : چگونه موجودات انرژی دریافت می کنند\n",
"passage is : ارگانیسم هایی مانند گیاهان یا تولیدکنندگان انرژی خورشید را به دام می اندازند و غذای خود را می سازند. این فرآیند فتوسنتز نامیده می شود. فتوسنتز غذایی است که گیاهانی مانند گل‌ها غذای خود را از منابع اطرافشان درست می‌کنند. 21 نفر این را مفید یافتند.\n",
"چگونه موجودات انرژی را دریافت می کنند\n",
"old similar score: 0.3333333333333333\n",
"new similar score: 0.3333333333333333\n",
"similar old_embeddings: 0.6220877170562744\n",
"similar new_embeddings: 0.6214835047721863\n",
"--------------------------------\n",
"\n",
"question is : معنی نام اکتاویو\n",
"passage is : نام اکتاویو یک نام لاتین برای نوزادان است. در لاتین معنی نام Octavio این است: هشتم. معنی آمریکایی: نام Octavio یک نام آمریکایی است.\n",
"معنی نام اکتاویو\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.730915904045105\n",
"similar new_embeddings: 0.730915904045105\n",
"--------------------------------\n",
"\n",
"question is : نمره چیست\n",
"passage is : امتیاز استاندارد نمره استاندارد (که بیشتر به عنوان z-score نامیده می شود) یک آمار بسیار مفید است زیرا (الف) به ما امکان می دهد احتمال وقوع یک امتیاز را در توزیع نرمال خود محاسبه کنیم و (ب) ما را قادر می سازد دو امتیاز را با هم مقایسه کنیم. از توزیع های نرمال مختلف. توزیع عادی استاندارد و امتیاز استاندارد (z-score). هنگامی که یک توزیع فراوانی به طور معمول توزیع می شود، می توانیم با استاندارد کردن امتیازها، که به عنوان امتیازات استاندارد (یا امتیاز z) شناخته می شوند، احتمال وقوع یک امتیاز را دریابیم.\n",
"چیسته امتیاز استاندارد؟\n",
"old similar score: 0.5\n",
"new similar score: 0.6666666666666666\n",
"similar old_embeddings: 0.514167070388794\n",
"similar new_embeddings: 0.7131481766700745\n",
"--------------------------------\n",
"\n",
"question is : ساعات کار در روز به عنوان وکیل\n",
"passage is : ساعات کار وکلا در ایالات متحده بسته به نوع کاری که انجام می دهند و موقعیت آنها در شرکت حقوقی آنها متفاوت است. همکاران جوان در شرکت های بزرگ ممکن است 15 ساعت یا بیشتر در روز کار کنند. شرکای ارشد ممکن است بسته به سن، استقامت و علاقه، 6 تا 8 ساعت یا بیشتر یا کمتر وقت بگذارند. شک دارم که هر وکیلی فقط 40 ساعت در هفته کار می کند و برخی ممکن است شبانه روز یا 80 ساعت در هفته کار کنند. اما هیچ چارچوب زمانی مشخصی که برای وکلا استاندارد باشد وجود ندارد.\n",
"ساعات کار در روز از سوی وکیل‌ها\n",
"old similar score: 0.6666666666666666\n",
"new similar score: 0.6666666666666666\n",
"similar old_embeddings: 0.7323150634765625\n",
"similar new_embeddings: 0.744126558303833\n",
"--------------------------------\n",
"\n",
"question is : اسب های آبجو از چه ساخته شده اند\n",
"passage is : دو اسب سنتی قدیمی بریر و یک مدل استیبل میتس کوچکتر. Breyer Animal Creations (که معمولاً Breyer نامیده می شود)، یک بخش از Reeves International, Inc، تولید کننده حیوانات مدل است. این شرکت در اسب‌های مدل ساخته شده از استات سلولز، نوعی پلاستیک، تخصص دارد و مدل‌های حیوانی دیگری را نیز از همین ماده تولید می‌کند. کمتر شناخته شده است پیکره های اسب چینی و رزین بسیار کلکسیونی آن، که در بازار کلکسیونر بزرگسالان است.\n",
"اسپ های آبجو از چه ماده ساخته شده اند؟\n",
"old similar score: 0.3333333333333333\n",
"new similar score: 0.25\n",
"similar old_embeddings: 0.5724436044692993\n",
"similar new_embeddings: 0.44466477632522583\n",
"--------------------------------\n",
"\n",
"question is : روز سنت پاتریک چه روزی است\n",
"passage is : روز سنت پاتریک روز سنت پاتریک هر ساله در 17 مارس به مناسبت درگذشت سنت پاتریک، قدیس حامی ایرلند برگزار می شود. آنچه به عنوان یک جشن مذهبی در قرن هفدهم آغاز شد، به جشنواره‌های مختلفی در سراسر جهان تبدیل شد که فرهنگ ایرلندی را با رژه‌ها، غذاهای خاص، موسیقی، رقص و مقدار زیادی سبزه جشن می‌گیرند.\n",
"روز سنت پاتریک چه روزی است\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.733284056186676\n",
"similar new_embeddings: 0.733284056186676\n",
"--------------------------------\n",
"\n",
"question is : چوروبوسکو ایندیانا در کدام شهرستان است\n",
"passage is : Churubusco یک شهر روستایی در شمال شرقی ایندیانا است که در گوشه ای از شهرستان ویتلی در حدود 15 دقیقه از شهر فورت وین واقع شده است. شهر در ابتدا با مجموعه ای از خطوط راه آهن تقسیم می شد که سمت شمالی فرانکلین و سمت جنوبی اتحادیه بود. در سال 1847 آمریکا به تازگی در جنگ با مکزیک در یک نبرد بزرگ در چوروبوسکو، مکزیک پیروز شده بود.\n",
"چوروبوسکو ایندیانا در شهرستان کدام است؟\n",
"old similar score: 0.75\n",
"new similar score: 0.75\n",
"similar old_embeddings: 0.6593973636627197\n",
"similar new_embeddings: 0.6443935632705688\n",
"--------------------------------\n",
"\n",
"question is : چه چیزی باعث درد در پاشنه پا می شود\n",
"passage is : اگر درد دارید، برخی از دلایل عبارتند از: التهاب کف پا شایع ترین بیماری است که باعث درد پاشنه پا می شود. فاشیای کف پا به دلیل تحریک و التهاب بافت سفت تشکیل دهنده قوس کف پا است. علائم شایع فاشیای کف پا شامل درد پاشنه پا همراه با راه رفتن و ایستادن طولانی مدت است. خار معمولاً با فاشیای کف پا همراه است.\n",
"چه عاملی منجر به درد در قسمت پایین پا می‌شود؟\n",
"old similar score: 1.0\n",
"new similar score: 0.4\n",
"similar old_embeddings: 0.7387528419494629\n",
"similar new_embeddings: 0.6461360454559326\n",
"--------------------------------\n",
"\n",
"question is : حالت امن را تعریف کنید\n",
"passage is : حالت ایمن یک حالت تشخیصی سیستم عامل کامپیوتر (OS) است. همچنین می تواند به یک حالت عملکرد توسط نرم افزار کاربردی اشاره کند. حالت ایمن برای کمک به رفع اکثر مشکلات در یک سیستم عامل، اگر نه همه، در نظر گرفته شده است. همچنین به طور گسترده ای برای حذف نرم افزارهای امنیتی سرکش استفاده می شود.\n",
"حالت ایمن را تعریف کنید\n",
"old similar score: 0.0\n",
"new similar score: 0.5\n",
"similar old_embeddings: 0.6878832578659058\n",
"similar new_embeddings: 0.7165635824203491\n",
"--------------------------------\n",
"\n",
"question is : ترکیب قلیایی را تعریف کنید\n",
"passage is : قلیایی ها 1 1 : ماده ای که طعم تلخی دارد و با اسید واکنش می دهد و نمک : باز می شود. 2 2 : نمک یا مخلوطی از نمک ها که گاهی اوقات به مقدار زیاد در خاک مناطق خشک یافت می شود.\n",
"ترکیب قلیایی را تعریف کنید\n",
"old similar score: 0.0\n",
"new similar score: 0.0\n",
"similar old_embeddings: 0.6252377033233643\n",
"similar new_embeddings: 0.6252377033233643\n",
"--------------------------------\n",
"\n",
"question is : مزایا در شرکت سنگاپور\n",
"passage is : راهنمای رایگان در راه اندازی کسب و کار در سنگاپور. مزایای داشتن یک شرکت در سنگاپور 1) سنگاپور یکی از پایین ترین نرخ های مالیات شرکتی را در منطقه دارد. و برای تشویق بیشتر کارآفرینی، دولت معافیت مالیاتی کاملی را برای سود 3 ساله اول برای شرکت‌های تازه تاسیس می‌دهد. اصولاً نرخ های مالیات عبارتند از:\n",
"مزایا در شرکت سنگاپور\n",
"old similar score: 1.0\n",
"new similar score: 1.0\n",
"similar old_embeddings: 0.7092146873474121\n",
"similar new_embeddings: 0.7092146873474121\n",
"--------------------------------\n",
"\n",
"question is : داروی مسکن چقدر در سیستم شما باقی می ماند\n",
"passage is : داروها چه مدت در سیستم شما باقی می مانند؟ الکل - 3-5 روز در ادرار (eTg)، تا 90 در مو و حدود 10 تا 12 ساعت در خون. آمفتامین ها - 1 تا 3 روز در ادرار، تا 90 در مو و حدود 12 ساعت در خون. MDMA (اکستازی) 3-4 روز در ادرار، 90 روز در مو و 1 تا 2 روز در خون.\n",
"داروی مسکن چقدر در سیستم شما باقی می ماند؟\n",
"old similar score: 0.6\n",
"new similar score: 0.6\n",
"similar old_embeddings: 0.7062827348709106\n",
"similar new_embeddings: 0.7075145840644836\n",
"--------------------------------\n",
"\n",
"old similar score: 0.6546666666666667\n",
"new similar score: 0.6692380952380952\n",
"similar old_embeddings: 0.6586323380470276\n",
"similar new_embeddings: 0.6718181371688843\n"
]
}
],
"source": [
"import requests\n",
"from dotenv import load_dotenv\n",
"import os\n",
"import time\n",
"from tqdm import tqdm\n",
"import numpy as np\n",
"\n",
"\n",
"load_dotenv()\n",
"\n",
"qwen = False\n",
"if qwen:\n",
" url = \"https://qwen3.chatllm.aiengines.ir/v1/chat/completions\"\n",
" model = \"Qwen/Qwen3-4B-Instruct-2507\"\n",
" headers = {\"Content-Type\": \"application/json\", \"Authorization\": f\"Bearer {os.getenv('LLM_AS_RERANKER_PASS')}\"}\n",
"else:\n",
" url = \"http://192.168.130.206:4001/v1/chat/completions\"\n",
" model = \"google/gemma-3-27b-it\"\n",
" headers = {\"Content-Type\": \"application/json\"}\n",
"\n",
"instruction = \"\"\"\n",
"You are a helpful assistant that help to me to generate modify and change the input question.\n",
"I will give you a question and its text and you must replace the words of question with synonyms or similar words.\n",
"\n",
"## Important:\n",
"- replace the words of question with synonyms or similar words.\n",
"\n",
"return the question nothing else.\n",
"\"\"\"\n",
"\n",
"old_similar_score = []\n",
"new_similar_score = []\n",
"\n",
"old_embeddings_list = []\n",
"new_embeddings_list = []\n",
"for data in dataset[10008:10008+25]:\n",
" print(f\"question is : {data['question']}\")\n",
" print(f\"passage is : {data['passage_positive'][0]}\")\n",
" input_message = f\"\"\"{{\"question\": \"{data['question']}\", \"text\": {data['passage_positive'][0]}}}\"\"\"\n",
" messages = [{\"role\": \"system\", \"content\": instruction}, {\"role\": \"user\", \"content\": input_message}]\n",
"\n",
" payload = {\n",
" \"model\": model,\n",
" \"messages\": messages,\n",
" \"max_tokens\": 100,\n",
" }\n",
" start_time = time.time()\n",
" req = requests.post(url, headers=headers, json=payload)\n",
" final_text = req.json()['choices'][0]['message']['content']\n",
"\n",
" print(final_text)\n",
" \n",
" old_score = text_preprocessor.similar_score(data['question'], data['passage_positive'][0])\n",
" new_score = text_preprocessor.similar_score(final_text, data['passage_positive'][0])\n",
" old_similar_score.append(old_score)\n",
" new_similar_score.append(new_score)\n",
" print(f\"old similar score: {old_score}\")\n",
" print(f\"new similar score: {new_score}\")\n",
"\n",
" old_embeddings = text_embedder.embed_texts([data['question'], data['passage_positive'][0]])\n",
" new_embeddings = text_embedder.embed_texts([final_text, data['passage_positive'][0]])\n",
" old_embed_similarity = np.dot(old_embeddings[0], old_embeddings[1])\n",
" new_embed_similarity = np.dot(new_embeddings[0], new_embeddings[1])\n",
" old_embeddings_list.append(old_embed_similarity)\n",
" new_embeddings_list.append(new_embed_similarity)\n",
" print(f\"similar old_embeddings: {old_embed_similarity}\")\n",
" print(f\"similar new_embeddings: {new_embed_similarity}\")\n",
" # print(f\"time taken: {time.time() - start_time} seconds\")\n",
" print(\"--------------------------------\\n\")\n",
"\n",
"print(f\"old similar score: {np.mean(old_similar_score)}\")\n",
"print(f\"new similar score: {np.mean(new_similar_score)}\")\n",
"print(f\"similar old_embeddings: {np.mean(old_embeddings_list)}\")\n",
"print(f\"similar new_embeddings: {np.mean(new_embeddings_list)}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a59bc4d5",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}