هوش داده های تولیدی

پایگاه های دانش برای Amazon Bedrock اکنون از فیلتر ابرداده برای بهبود دقت بازیابی پشتیبانی می کند | خدمات وب آمازون

تاریخ:

At AWS دوباره: اختراع 2023، ما در دسترس بودن عمومی را اعلام کردیم پایگاه های دانش برای آمازون بستر. با پایگاه های دانش برای Amazon Bedrock، می توانید مدل های پایه (FM) را به طور ایمن به آن متصل کنید بستر آمازون به داده های شرکت شما با استفاده از یک مدل کاملاً مدیریت شده بازیابی نسل افزوده (RAG).

برای برنامه های مبتنی بر RAG، دقت پاسخ های تولید شده از FM ها به زمینه ارائه شده به مدل بستگی دارد. متن ها از فروشگاه های برداری بر اساس پرس و جوهای کاربر بازیابی می شوند. در ویژگی اخیراً منتشر شده برای پایگاه های دانش برای Amazon Bedrock، جستجوی ترکیبی، می توانید جستجوی معنایی را با جستجوی کلمه کلیدی ترکیب کنید. با این حال، در بسیاری از مواقع، ممکن است لازم باشد اسنادی را که در یک بازه زمانی مشخص ایجاد شده اند یا با دسته بندی های خاصی برچسب گذاری شده اند، بازیابی کنید. برای اصلاح نتایج جستجو، می‌توانید بر اساس فراداده سند فیلتر کنید تا دقت بازیابی را بهبود بخشد، که به نوبه خود منجر به تولید نسل‌های FM مرتبط‌تر با علایق شما می‌شود.

در این پست، ویژگی جدید فیلتر کردن ابرداده سفارشی در پایگاه‌های دانش برای Amazon Bedrock را مورد بحث قرار می‌دهیم که می‌توانید از آن برای بهبود نتایج جستجو با پیش فیلتر کردن بازیابی‌های خود از فروشگاه‌های برداری استفاده کنید.

نمای کلی فیلتر فراداده

قبل از انتشار فیلتر ابرداده، تمام تکه‌های مرتبط معنایی تا حداکثر از پیش تعیین‌شده به عنوان زمینه برای FM برگردانده می‌شوند تا از آن برای تولید پاسخ استفاده کند. اکنون، با فیلترهای ابرداده، می‌توانید نه تنها تکه‌های مرتبط معنایی، بلکه یک زیرمجموعه کاملاً تعریف‌شده از آن چاک‌های مرتبط را بر اساس فیلترهای ابرداده اعمال‌شده و مقادیر مرتبط بازیابی کنید.

با استفاده از این ویژگی، اکنون می توانید یک فایل فراداده سفارشی (هر کدام تا 10 کیلوبایت) برای هر سند در پایگاه دانش ارائه کنید. می‌توانید فیلترهایی را برای بازیابی‌های خود اعمال کنید، و به فروشگاه برداری دستور دهید تا بر اساس فراداده سند، از قبل فیلتر کند و سپس اسناد مربوطه را جستجو کند. به این ترتیب، شما بر اسناد بازیابی شده کنترل خواهید داشت، به خصوص اگر سوالات شما مبهم باشد. برای مثال، می‌توانید از اسناد قانونی با شرایط مشابه برای زمینه‌های مختلف یا فیلم‌هایی که داستان مشابهی دارند، در سال‌های مختلف منتشر شده استفاده کنید. علاوه بر این، با کاهش تعداد تکه‌هایی که جستجو می‌شوند، به مزایای عملکردی مانند کاهش چرخه‌های CPU و هزینه جستجو در ذخیره‌سازی برداری، علاوه بر بهبود دقت، دست می‌یابید.

برای استفاده از ویژگی فیلتر ابرداده، باید فایل‌های ابرداده را در کنار فایل‌های داده منبع با همان نام فایل داده منبع ارائه کنید و .metadata.json پسوند. ابرداده می تواند رشته ای، عددی یا بولی باشد. نمونه زیر نمونه ای از محتوای فایل فراداده است:

{
    "metadataAttributes" : { 
        "tag" : "project EVE",
        "year" :  2016,
        "team": "ninjas"
    }
}

ویژگی فیلتر ابرداده پایگاه های دانش برای آمازون بستر در مناطق AWS شرق ایالات متحده (N. ویرجینیا) و ایالات متحده غرب (اورگان) موجود است.

موارد زیر موارد استفاده رایج برای فیلتر ابرداده هستند:

  • چت بات سند برای یک شرکت نرم افزاری - این به کاربران امکان می دهد اطلاعات محصول و راهنمای عیب یابی را پیدا کنند. به عنوان مثال، فیلترهای موجود در سیستم عامل یا نسخه برنامه می توانند به جلوگیری از بازیابی اسناد منسوخ یا نامربوط کمک کنند.
  • جستجوی محاوره ای برنامه یک سازمان - این به کاربران امکان می دهد در اسناد، کانبان ها، رونوشت های ضبط جلسات و سایر دارایی ها جستجو کنند. با استفاده از فیلترهای ابرداده در گروه‌های کاری، واحدهای تجاری یا شناسه‌های پروژه، می‌توانید تجربه چت را شخصی کنید و همکاری را بهبود بخشید. به عنوان مثال، «وضعیت پروژه Sphinx و خطرات مطرح شده چیست؟» که در آن کاربران می‌توانند اسناد را برای یک پروژه یا نوع منبع خاص (مانند ایمیل یا اسناد جلسه) فیلتر کنند.
  • جستجوی هوشمند برای توسعه دهندگان نرم افزار - این به توسعه دهندگان اجازه می دهد تا به دنبال اطلاعات یک نسخه خاص باشند. فیلترهای موجود در نسخه انتشار، نوع سند (مانند کد، مرجع API یا مشکل) می توانند به شناسایی دقیق اسناد مرتبط کمک کنند.

بررسی اجمالی راه حل

در بخش‌های بعدی، نحوه آماده‌سازی یک مجموعه داده برای استفاده به‌عنوان پایگاه دانش و سپس پرس و جو با فیلتر کردن ابرداده را نشان می‌دهیم. می توانید با استفاده از یکی از این دو پرس و جو کنید کنسول مدیریت AWS یا SDK.

یک مجموعه داده برای پایگاه های دانش برای Amazon Bedrock آماده کنید

برای این پست از a استفاده می کنیم مجموعه داده نمونه درباره بازی‌های ویدیویی تخیلی برای نشان دادن نحوه جذب و بازیابی ابرداده با استفاده از پایگاه‌های دانش برای Amazon Bedrock. اگر می‌خواهید در حساب AWS خود دنبال کنید، فایل را دانلود کنید.

اگر می‌خواهید در یک پایگاه دانش موجود، متادیتا را به اسناد خود اضافه کنید، فایل‌های فراداده را با نام فایل و طرح مورد انتظار ایجاد کنید، سپس به مرحله همگام‌سازی داده‌های خود با پایگاه دانش برای شروع جذب افزایشی بروید.

در مجموعه داده نمونه ما، سند هر بازی یک فایل CSV جداگانه است (به عنوان مثال، s3://$bucket_name/video_game/$game_id.csv) با ستون های زیر:

title, description, genres, year, publisher, score

ابرداده هر بازی دارای پسوند است .metadata.json (مثلا، s3://$bucket_name/video_game/$game_id.csv.metadata.json) با طرح زیر:

{
  "metadataAttributes": {
    "id": number, 
    "genres": string,
    "year": number,
    "publisher": string,
    "score": number
  }
}

یک پایگاه دانش برای Amazon Bedrock ایجاد کنید

برای دستورالعمل های ایجاد یک پایگاه دانش جدید، نگاه کنید یک پایگاه دانش ایجاد کنید. برای این مثال از تنظیمات زیر استفاده می کنیم:

  • بر منبع داده را تنظیم کنید صفحه، زیر استراتژی خرد کردن، انتخاب کنید بدون تکه تکه شدن، زیرا قبلاً اسناد را در مرحله قبل پردازش کرده اید.
  • در مدل جاسازی بخش، را انتخاب کنید Titan G1 Embeddings – Text.
  • در پایگاه داده برداری بخش، را انتخاب کنید سریع یک فروشگاه برداری جدید ایجاد کنید. ویژگی فیلتر ابرداده برای همه فروشگاه‌های برداری پشتیبانی شده در دسترس است.

همگام سازی مجموعه داده با پایگاه دانش

پس از ایجاد پایگاه دانش، و فایل های داده و فایل های ابرداده شما در یک سرویس ذخیره سازی ساده آمازون (آمازون S3) سطل، شما می توانید مصرف افزایشی را شروع کنید. برای دستورالعمل، نگاه کنید همگام سازی کنید تا منابع داده خود را در پایگاه دانش وارد کنید.

پرس و جو با فیلتر ابرداده در کنسول آمازون بستر

برای استفاده از گزینه‌های فیلتر ابرداده در کنسول Amazon Bedrock، مراحل زیر را انجام دهید:

  1. در کنسول بستر آمازون، انتخاب کنید پایگاه های دانش در صفحه ناوبری
  2. پایگاه دانشی که ایجاد کردید را انتخاب کنید.
  3. را انتخاب کنید پایگاه دانش تست.
  4. انتخاب پیکربندی نماد، سپس گسترش دهید فیلترها برای تصفیه آب.
  5. یک شرط را با استفاده از قالب: کلید = مقدار (به عنوان مثال، ژانرها = استراتژی) وارد کنید و فشار دهید وارد.
  6. برای تغییر کلید، مقدار یا عملگر، شرط را انتخاب کنید.
  7. با شرایط باقی مانده ادامه دهید (برای مثال، (ژانرها = استراتژی و سال >= 2023) یا (رتبه >= 9))
  8. پس از اتمام، درخواست خود را در کادر پیام وارد کنید، سپس انتخاب کنید دویدن.

برای این پست، پرس و جوی «یک بازی استراتژیک با گرافیک جالب منتشر شده پس از سال 2023» را وارد می کنیم.

پرس و جو با فیلتر ابرداده با استفاده از SDK

برای استفاده از SDK، ابتدا کلاینت را برای آن ایجاد کنید نمایندگان آمازون بستر زمان اجرا:

import boto3

bedrock_agent_runtime = boto3.client(
    service_name = "bedrock-agent-runtime"
)

سپس فیلتر را بسازید (در زیر چند نمونه آورده شده است):

# genres = Strategy
single_filter= {
    "equals": {
        "key": "genres",
        "value": "Strategy"
    }
}

# genres = Strategy AND year >= 2023
one_group_filter= {
    "andAll": [
        {
            "equals": {
                "key": "genres",
                "value": "Strategy"
            }
        },
        {
            "GreaterThanOrEquals": {
                "key": "year",
                "value": 2023
            }
        }
    ]
}

# (genres = Strategy AND year >=2023) OR score >= 9
two_group_filter = {
    "orAll": [
        {
            "andAll": [
                {
                    "equals": {
                        "key": "genres",
                        "value": "Strategy"
                    }
                },
                {
                    "GreaterThanOrEquals": {
                        "key": "year",
                        "value": 2023
                    }
                }
            ]
        },
        {
            "GreaterThanOrEquals": {
                "key": "score",
                "value": "9"
            }
        }
    ]
}

فیلتر را به retrievalConfiguration از Retrieval API or RetrieveAndGenerate API ها:

retrievalConfiguration={
        "vectorSearchConfiguration": {
            "filter": metadata_filter
        }
    }

جدول زیر چند پاسخ با شرایط مختلف فیلتر ابرداده را فهرست می کند.

پرس و جو فیلتر ابرداده اسناد بازیابی شده مشاهدات
“یک بازی استراتژیک با گرافیک جالب منتشر شده پس از سال 2023” خاموش

* حماسه وایکینگ: مهاجم دریایی، سال: 2023، ژانر: استراتژی

* قلعه قرون وسطایی: محاصره و فتح، سال:2022ژانرها: استراتژی
* پادشاهی های فانتزی: کرونیکل های الدوریا، سال: 2023، ژانرها: استراتژی

* انقلاب سایبرنتیک: ظهور ماشین‌ها، سال:2022ژانرها: استراتژی
* Steampunk Chronicles: Clockwork Empires، سال:2021، ژانرها: شهرسازی

2/5 بازی شرایط را برآورده می کند (ژانرها = استراتژی و سال >= 2023)
On * حماسه وایکینگ: مهاجم دریایی، سال: 2023، ژانر: استراتژی
* پادشاهی های فانتزی: کرونیکل های الدوریا، سال: 2023، ژانرها: استراتژی
2/2 بازی شرایط را برآورده می کند (ژانرها = استراتژی و سال >= 2023)

علاوه بر ابرداده های سفارشی، می توانید با استفاده از پیشوندهای S3 (که یک ابرداده داخلی است، بنابراین نیازی به ارائه هیچ فایل ابرداده ای ندارید) فیلتر کنید. برای مثال، اگر اسناد بازی را در پیشوندهای ناشر سازماندهی کنید (به عنوان مثال، s3://$bucket_name/video_game/$publisher/$game_id.csv، می توانید با ناشر خاص فیلتر کنید (به عنوان مثال، neo_tokyo_games) با استفاده از نحو زیر:

publisher_filter = {
    "startsWith": {
                    "key": "x-amz-bedrock-kb-source-uri",
                    "value": "s3://$bucket_name/video_game/neo_tokyo_games/"
                }
}

پاک کردن

برای پاکسازی منابع خود، مراحل زیر را انجام دهید:

  1. پایگاه دانش را حذف کنید:
    1. در کنسول بستر آمازون، انتخاب کنید پایگاه های دانش زیر تنظیم و ارکستراسیون در صفحه ناوبری
    2. پایگاه دانشی که ایجاد کردید را انتخاب کنید.
    3. توجه داشته باشید هویت AWS و مدیریت دسترسی (IAM) نام نقش سرویس در نمای کلی پایگاه دانش بخش.
    4. در پایگاه داده برداری بخش، به مجموعه ARN توجه داشته باشید.
    5. را انتخاب کنید حذف، سپس برای تایید آن را وارد کنید.
  2. پایگاه داده برداری را حذف کنید:
    1. بر سرویس جستجوی باز آمازون کنسول، انتخاب کنید مجموعه ها زیر بدون سرور در صفحه ناوبری
    2. مجموعه ARN را که ذخیره کرده اید در نوار جستجو وارد کنید.
    3. مجموعه را انتخاب کرده و انتخاب کنید حذف.
    4. تأیید را در اعلان تأیید وارد کنید، سپس انتخاب کنید حذف.
  3. نقش سرویس IAM را حذف کنید:
    1. در کنسول IAM، را انتخاب کنید نقش در صفحه ناوبری
    2. نام نقشی را که قبلاً ذکر کردید جستجو کنید.
    3. نقش را انتخاب کنید و انتخاب کنید حذف.
    4. نام نقش را در اعلان تایید وارد کنید و نقش را حذف کنید.
  4. مجموعه داده نمونه را حذف کنید:
    1. در کنسول آمازون S3، به سطل S3 که استفاده کردید بروید.
    2. پیشوند و فایل ها را انتخاب کنید، سپس انتخاب کنید حذف.
    3. حذف دائمی را در اعلان تأیید برای حذف وارد کنید.

نتیجه

در این پست به ویژگی فیلتر ابرداده در پایگاه های دانش برای Amazon Bedrock پرداختیم. یاد گرفتید که چگونه ابرداده های سفارشی را به اسناد اضافه کنید و از آنها به عنوان فیلتر هنگام بازیابی و جستجوی اسناد با استفاده از کنسول آمازون بستر و SDK استفاده کنید. این به بهبود دقت زمینه کمک می کند و پاسخ های پرس و جو را حتی مرتبط تر می کند و در عین حال به کاهش هزینه پرس و جو از پایگاه داده برداری می پردازد.

برای منابع اضافی به موارد زیر مراجعه کنید:


درباره نویسنده

کورووس لی یک معمار ارشد GenAI Labs Solutions است که در لندن مستقر است. او مشتاق طراحی و توسعه نمونه های اولیه است که از هوش مصنوعی مولد برای حل مشکلات مشتری استفاده می کنند. او همچنین با استفاده از آنها در سناریوهای دنیای واقعی، با آخرین پیشرفت‌ها در زمینه هوش مصنوعی و تکنیک‌های بازیابی همراه است.

احمد اویس یک معمار ارشد راه حل در آزمایشگاه های AWS GenAI است که به مشتریان کمک می کند تا نمونه های اولیه هوش مصنوعی تولید کنند تا مشکلات تجاری را حل کنند. وقتی با مشتریان همکاری نمی کند، از بازی با بچه ها و آشپزی لذت می برد.

کریس پکورا دانشمند داده های هوش مصنوعی مولد در خدمات وب آمازون است. او علاقه زیادی به ساخت محصولات و راه حل های نوآورانه دارد و در عین حال بر علم وسواس مشتری تمرکز دارد. وقتی آزمایش‌ها را اجرا نمی‌کند و با آخرین پیشرفت‌های GenAI همراه نیست، دوست دارد با بچه‌هایش وقت بگذراند.

نقطه_img

جدیدترین اطلاعات

نقطه_img