هوش داده افلاطون
جستجوی عمودی و هوش مصنوعی

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

تاریخ:

بستر آمازون طیف گسترده ای از مدل ها را از آمازون و ارائه دهندگان شخص ثالث، از جمله Anthropic، AI21، Meta، Cohere، و Stability AI ارائه می دهد و طیف گسترده ای از موارد استفاده، از جمله تولید متن و تصویر، جاسازی، چت، عوامل سطح بالا را پوشش می دهد. با استدلال و ارکستراسیون، و بیشتر. پایگاه های دانش برای آمازون بستر به شما امکان می دهد برنامه های کاربردی و سفارشی بازیابی نسل افزوده (RAG) را در بالای AWS و فروشگاه های وکتور شخص ثالث با استفاده از مدل های AWS و شخص ثالث بسازید. پایگاه‌های دانش برای Amazon Bedrock همگام‌سازی داده‌های شما با ذخیره‌سازی برداری را به‌طور خودکار انجام می‌دهد، از جمله تغییر داده‌ها هنگام به‌روزرسانی، بارگیری سند، و قطعه‌سازی، و همچنین جاسازی معنایی. این به شما امکان می دهد تا به طور یکپارچه اعلان های RAG و استراتژی های بازیابی خود را سفارشی کنید - ما منبع منبع را ارائه می دهیم و مدیریت حافظه را به طور خودکار مدیریت می کنیم. پایگاه‌های دانش کاملاً بدون سرور هستند، بنابراین نیازی به مدیریت هیچ زیرساختی ندارید و هنگام استفاده از پایگاه‌های دانش، فقط هزینه مدل‌ها، پایگاه‌های داده برداری و فضای ذخیره‌سازی مورد استفاده شما دریافت می‌شود.

RAG یک تکنیک محبوب است که استفاده از داده های خصوصی را با مدل های زبان بزرگ (LLM) ترکیب می کند. RAG با یک مرحله اولیه برای بازیابی اسناد مربوطه از یک فروشگاه داده (معمولاً یک نمایه برداری) بر اساس درخواست کاربر شروع می شود. سپس از یک مدل زبان برای تولید پاسخ با در نظر گرفتن اسناد بازیابی شده و پرس و جو اصلی استفاده می کند.

در این پست، نحوه ایجاد یک گردش کار RAG با استفاده از پایگاه‌های دانش برای Amazon Bedrock برای یک مورد استفاده از کشف دارو را نشان می‌دهیم.

مروری بر پایگاه های دانش برای آمازون بستر

پایگاه های دانش برای Amazon Bedrock از طیف گسترده ای از انواع فایل های رایج، از جمله txt.، .docx، .pdf، .csv. و غیره پشتیبانی می کند. برای فعال کردن بازیابی موثر از داده های خصوصی، یک روش معمول این است که ابتدا این اسناد را به قطعات قابل مدیریت تقسیم کنید. پایگاه‌های دانش یک استراتژی تقسیم‌بندی پیش‌فرض را پیاده‌سازی کرده است که در بیشتر موارد به خوبی کار می‌کند تا به شما امکان می‌دهد سریع‌تر شروع کنید. اگر می‌خواهید کنترل بیشتری داشته باشید، پایگاه‌های دانش به شما امکان می‌دهد استراتژی انفصال را از طریق مجموعه‌ای از گزینه‌های از پیش تنظیم‌شده کنترل کنید. شما می توانید حداکثر اندازه نشانه و میزان همپوشانی ایجاد شده در بین تکه ها را کنترل کنید تا زمینه منسجمی را برای جاسازی فراهم کنید. پایگاه های دانش برای Amazon Bedrock فرآیند همگام سازی داده ها را مدیریت می کند سرویس ذخیره سازی ساده آمازون سطل (Amazon S3)، آن را به تکه های کوچکتر تقسیم می کند، جاسازی های برداری تولید می کند و جاسازی ها را در یک شاخص برداری ذخیره می کند. این فرآیند با تفاوت هوشمند، توان عملیاتی و مدیریت شکست همراه است.

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

پایگاه های دانش برای Amazon Bedrock از چندین پایگاه داده برداری پشتیبانی می کند بدون سرور جستجوی باز آمازون, آمازون شفق قطبی، Pinecone و Redis Enterprise Cloud. API های Retrieve و RetrieveAndGenerate به برنامه های کاربردی شما این امکان را می دهند که مستقیماً با استفاده از یک نحو یکپارچه و استاندارد، بدون نیاز به یادگیری API های جداگانه برای هر پایگاه داده برداری مختلف، فهرست را جستجو کنند، و نیاز به نوشتن پرس و جوهای فهرست سفارشی در برابر فروشگاه برداری شما را کاهش می دهد. Retrieve API پرس و جوی ورودی را می گیرد، آن را به یک بردار جاسازی تبدیل می کند و با استفاده از الگوریتم های پیکربندی شده در سطح پایگاه داده برداری، از ذخیره پشتیبان پرس و جو می کند. RetrieveAndGenerate API از یک LLM پیکربندی شده توسط کاربر ارائه شده توسط Amazon Bedrock استفاده می کند و پاسخ نهایی را به زبان طبیعی ایجاد می کند. پشتیبانی ردیابی بومی به برنامه درخواست کننده در مورد منابع مورد استفاده برای پاسخ به یک سوال اطلاع می دهد. برای پیاده سازی سازمانی، پایگاه های دانش پشتیبانی می کند سرویس مدیریت کلید AWS رمزگذاری (AWS KMS)، AWS CloudTrail ادغام، و بیشتر.

در بخش‌های بعدی، نحوه ایجاد یک گردش کار RAG با استفاده از پایگاه‌های دانش برای Amazon Bedrock، با پشتیبانی از موتور برداری بدون سرور OpenSearch، برای تجزیه و تحلیل مجموعه داده‌های کارآزمایی بالینی بدون ساختار برای یک مورد استفاده از کشف دارو را نشان می‌دهیم. این داده ها غنی از اطلاعات هستند اما می توانند بسیار ناهمگن باشند. استفاده صحیح از اصطلاحات و مفاهیم تخصصی در قالب های مختلف برای شناسایی بینش ها و اطمینان از یکپارچگی تحلیلی ضروری است. با پایگاه های دانش برای Amazon Bedrock، می توانید از طریق پرس و جوهای ساده و طبیعی به اطلاعات دقیق دسترسی پیدا کنید.

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

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

  1. در کنسول آمازون بستر، زیر تنظیم و ارکستراسیون در قسمت ناوبری، را انتخاب کنید دانش محور.
  2. را انتخاب کنید ایجاد پایگاه دانش.

  1. در جزئیات پایه دانش بخش، نام و توضیحات اختیاری را وارد کنید.
  2. در مجوزهای IAM بخش، انتخاب کنید یک نقش سرویس جدید ایجاد و استفاده کنید.
  3. برای نقش نام سرویس، نامی برای نقش خود وارد کنید که باید با آن شروع شود AmazonBedrockExecutionRoleForKnowledgeBase_.
  4. را انتخاب کنید بعدی.

  1. در منبع اطلاعات بخش، یک نام برای منبع داده خود و URI S3 که مجموعه داده در آن قرار دارد وارد کنید. پایگاه های دانش از فرمت های فایل زیر پشتیبانی می کند:
    • متن ساده (txt.)
    • Markdown (.md)
    • زبان نشانه گذاری فرامتن (.html)
    • سند Microsoft Word (.doc/.docx)
    • مقادیر جدا شده با کاما (csv.)
    • صفحه گسترده Microsoft Excel (xls/.xlsx.)
    • فرمت سند قابل حمل (pdf.)
  1. تحت تنظیمات اضافی¸ استراتژی انشعاب دلخواه خود را انتخاب کنید (برای این پست، ما انتخاب می کنیم تکه شدن اندازه ثابت) و اندازه قطعه و همپوشانی را به درصد مشخص کنید. همچنین می توانید از تنظیمات پیش فرض استفاده کنید.
  2. را انتخاب کنید بعدی.

  1. در مدل جاسازی بخش، مدل Titan Embeddings را از Amazon Bedrock انتخاب کنید.
  2. در پایگاه داده برداری بخش، انتخاب کنید سریع یک فروشگاه برداری جدید ایجاد کنید، که فرآیند راه اندازی فروشگاه برداری را مدیریت می کند.
  3. را انتخاب کنید بعدی.

  1. تنظیمات را بررسی کرده و انتخاب کنید ایجاد پایگاه دانش.

  1. منتظر بمانید تا ایجاد پایگاه دانش تکمیل شود و وضعیت آن را تأیید کنید آماده تحویل.
  2. در منبع اطلاعات را انتخاب کنید همگام سازی برای راه‌اندازی فرآیند بارگیری داده‌ها از سطل S3، تقسیم آن به تکه‌هایی با اندازه‌ای که مشخص کرده‌اید، ایجاد جاسازی‌های برداری با استفاده از مدل تعبیه متن انتخاب‌شده، و ذخیره آن‌ها در فروشگاه برداری که توسط پایگاه‌های دانش برای Amazon Bedrock مدیریت می‌شود.

تابع همگام سازی از جذب، به روز رسانی و حذف اسناد از نمایه برداری بر اساس تغییرات اسناد در آمازون S3 پشتیبانی می کند. شما همچنین می توانید استفاده کنید StartIngestionJob API برای راه‌اندازی همگام‌سازی از طریق AWS SDK.

وقتی همگام سازی کامل شد، سابقه همگام سازی وضعیت را نشان می دهد تکمیل شده

پایگاه دانش را جویا شوید

در این بخش، نحوه دسترسی به اطلاعات دقیق در پایگاه دانش را از طریق پرس و جوهای ساده و طبیعی نشان می دهیم. ما از یک مجموعه داده مصنوعی بدون ساختار متشکل از فایل‌های PDF استفاده می‌کنیم، شماره صفحه هر کدام از 10 تا 100 صفحه، شبیه‌سازی طرح کارآزمایی بالینی یک داروی جدید پیشنهادی شامل روش‌های تجزیه و تحلیل آماری و فرم‌های رضایت شرکت‌کننده. ما از پایگاه های دانش برای Amazon Bedrock استفاده می کنیم retrieve_and_generate و retrieve API ها با ادغام آمازون بستر LangChain.

قبل از اینکه بتوانید اسکریپت هایی بنویسید که از Amazon Bedrock API استفاده می کنند، باید نسخه مناسب AWS SDK را در محیط خود نصب کنید. برای اسکریپت های پایتون، این خواهد بود AWS SDK برای پایتون (Boto3):

pip install langchain
pip install boto3

علاوه بر این، دسترسی به مدل Amazon Titan Embeddings و Anthropic Claude v2 یا v1 را فعال کنید. برای اطلاعات بیشتر مراجعه کنید دسترسی مدل.

با استفاده از Amazon Bedrock سوالاتی ایجاد کنید

ما می‌توانیم از Anthropic Claude 2.1 برای Amazon Bedrock استفاده کنیم تا فهرستی از سؤالات را در مجموعه داده‌های کارآزمایی بالینی مطرح کنیم:

import boto3
from langchain.llms.bedrock import Bedrock

bedrock_client = boto3.client("bedrock-runtime")

# Start with the query
prompt = "For medical research trial consent forms to sign, what are the top 5 questions can be asked?"

claude_llm = Bedrock(
    model_id="anthropic.claude-v2:1",
    model_kwargs={"temperature": 0, "top_k": 10, "max_tokens_to_sample": 3000},
    client=bedrock_client,
)

# Provide the prompt to the LLM to generate an answer to the query without any additional context provided
response = claude_llm(prompt)
questions = [
    item.split(".")[1].strip() for item in response.strip().split("nn")[1:-1]
]
questions
>>> answer:
'What is the purpose of the study? Make sure you understand the goals of the research and what the study procedures will entail',
'What are the risks and potential benefits? The form should explain all foreseeable risks, side effects, or discomforts you might experience from participating',
'What will participation involve? Get details on what tests, medications, lifestyle changes, or procedures you will go through, how much time it will take, and how long the study will last',
'Are there any costs or payments? Ask if you will be responsible for any costs related to the study or get paid for participating',
'How will my privacy be protected? The form should explain how your personal health information will be kept confidential before, during, and after the trial'

از Amazon Bedrock RetrieveAndGenerate API استفاده کنید

برای یک تجربه RAG کاملاً مدیریت شده، می‌توانید از پایگاه‌های دانش بومی برای Amazon Bedrock استفاده کنید RetrieveAndGenerate API برای دریافت مستقیم پاسخ ها:

bedrock_agent_client = boto3.client("bedrock-agent-runtime")

kb_id = "<YOUR_KNOWLEDGE_BASE_ID>"

def retrieveAndGenerate(
    input: str,
    kbId: str,
    region: str = "us-east-1",
    sessionId: str = None,
    model_id: str = "anthropic.claude-v2:1",
):
    model_arn = f"arn:aws:bedrock:{region}::foundation-model/{model_id}"

    if sessionId:
        return bedrock_agent_client.retrieve_and_generate(
            input={"text": input},
            retrieveAndGenerateConfiguration={
                "type": "KNOWLEDGE_BASE",
                "knowledgeBaseConfiguration": {
                    "knowledgeBaseId": kbId,
                    "modelArn": model_arn,
                },
            },
            sessionId=sessionId,
        )

    else:
        return bedrock_agent_client.retrieve_and_generate(
            input={"text": input},
            retrieveAndGenerateConfiguration={
                "type": "KNOWLEDGE_BASE",
                "knowledgeBaseConfiguration": {
                    "knowledgeBaseId": kbId,
                    "modelArn": model_arn,
                },
            },
        )

response = retrieveAndGenerate(
    "What are the potential risks and benefits of participating?", kb_id
)

generated_text = response["output"]["text"]
>>> "The potential risks include side effects from the study medication lithium such as nausea, loose stools, thirst, urination changes, shakiness, headaches, sweating, fatigue, decreased concentration, and skin rash. There is also a risk of lithium interaction with other medications. For women, there is a risk of birth defects if lithium is taken during pregnancy. There are no guaranteed benefits, but possible benefits include new information that could help the participant from the interviews and tests conducted during the study."

منبع اطلاعات ذکر شده را می توان از طریق کد زیر به دست آورد (با برخی از خروجی ها برای اختصار ویرایش شده است):

response["citations"]

>>> [
    {
        "generatedResponsePart": {
            "textResponsePart": {
                "text": " The potential risks include side effects from the study...",
                "span": {"start": 0, "end": 361},
            }
        },
        "retrievedReferences": [
            {
                "content": {
                    "text": "590 ICF#2 Page 7 of 19 The primary risks and discomforts of participation…"
                },
                "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
            },
            {
                "content": {
                    "text": "N/A CSP 590 ICF#2 Page 10 of 19 Risks associated with suddenly stopping study medications..."
                },
                "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
            },
        ],
    },
    {
        "generatedResponsePart": {
            "textResponsePart": {
                "text": " There are no guaranteed benefits, but possible benefits include...",
                "span": {"start": 363, "end": 531},
            }
        },
        "retrievedReferences": [
            {
                "content": {
                    "text": "research, not usual clinical care. After these are done we ask..."
                },
                "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
            }
        ],
    },
]

با گذراندن شناسه جلسه از RetrieveAndGenerate API، می‌توانید زمینه مکالمه را حفظ کنید و سؤالات بعدی را بپرسید. برای مثال، بدون متن، اگر جزئیات بیشتری از پاسخ قبلی بخواهید، ممکن است نتواند به درستی پاسخ دهد:

retrieveAndGenerate("elaborate more on the first side effect", kb_id, sessionId=None)["output"]["text"]
>>> "The search results do not provide additional details about the mild nausea side effect that would allow me to elaborate further on it."

اما با ارسال شناسه جلسه، خط لوله RAG می‌تواند زمینه مربوطه را شناسایی کرده و پاسخ‌های مربوطه را برگرداند:

retrieveAndGenerate("elaborate more on the first side effect", kb_id, sessionId=response["sessionId"])["output"]["text"]
>>> "The search results provide details that nausea from taking lithium is usually mild and goes away after days or weeks for most people. Specifically, up to 75% of people may experience mild nausea when first starting lithium, but this goes away in 90-99% of people who continue taking it."

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

سوال پاسخ
هدف از مطالعه چیست؟ اطمینان حاصل کنید که اهداف تحقیق و روش های مطالعه را درک می کنید. هدف از این مطالعه آزمایش این است که آیا لیتیوم در پیشگیری از خشونت های خودگردان مکرر خودکشی در بیماران مبتلا به افسردگی یا اختلال دوقطبی موثر است یا خیر.
خطرات و مزایای بالقوه چیست؟ این فرم باید تمام خطرات قابل پیش بینی، عوارض جانبی یا ناراحتی هایی را که ممکن است از شرکت در آن تجربه کنید توضیح دهد. خطرات یا ناراحتی های احتمالی عبارتند از: سوالات مصاحبه که باعث ناراحتی می شود، عوارض جانبی داروهای لیتیوم مانند حالت تهوع، مدفوع شل، تشنگی، تغییرات ادرار، لرزش، سردرد، تعریق، خستگی، کاهش تمرکز، بثورات پوستی، تغییرات تیروئید، بدتر شدن آکنه. پسوریازیس، سمیت لیتیوم و خطرات در صورت قطع ناگهانی دارو. مزایای بالقوه این است که آزمایش‌ها ممکن است به اطلاعات جدیدی برای کمک به شرکت‌کننده منجر شود، و لیتیوم ممکن است به جلوگیری از تکرار خشونت‌های خودگردانی خودکشی برای افراد مبتلا به افسردگی یا اختلال دوقطبی کمک کند.
مشارکت شامل چه مواردی خواهد بود؟ جزئیات مربوط به آزمایش‌ها، داروها، تغییرات سبک زندگی یا روش‌هایی را که طی می‌کنید، مدت زمانی که طول می‌کشد و مدت مطالعه طول می‌کشد، دریافت کنید. مشارکت شامل تکمیل مصاحبه و پرسشنامه‌هایی است که شامل تفکر، رفتار، درمان سلامت روان، داروها، مصرف الکل و مواد مخدر، حمایت‌های خانگی و اجتماعی، و درک مطالعه پژوهشی می‌شود. این کار حدود دو ساعت طول می کشد و می توان در جلسات متعدد، حضوری و تلفنی انجام داد. در صورت واجد شرایط بودن برای مطالعه کامل، حدود 20 بازدید مطالعه در طول یک سال وجود خواهد داشت. این شامل مصرف داروهای مورد مطالعه، بررسی علائم حیاتی، تکمیل پرسشنامه ها، بررسی عوارض جانبی و ادامه مراقبت های پزشکی و سلامت روانی عادی است.
آیا هزینه یا پرداختی وجود دارد؟ بپرسید که آیا شما مسئول هر گونه هزینه مربوط به مطالعه خواهید بود یا برای شرکت پول دریافت می کنید. بله، هزینه ها و پرداخت ها در نتایج جستجو بحث شده است. هیچ هزینه ای برای درمان یا روشی که بخشی از مطالعه است از شما دریافت نمی شود. با این حال، شما همچنان مجبور خواهید بود برای مراقبت و داروهایی که به مطالعه مرتبط نیستند، هرگونه مشارکت معمولی VA را بپردازید. برای شرکت پولی به شما پرداخت نمی شود، اما مطالعه هزینه های مربوط به مشارکت مانند حمل و نقل، پارکینگ و غیره را بازپرداخت می کند. مبالغ بازپرداخت و فرآیند ارائه شده است.
چگونه از حریم خصوصی من محافظت می شود؟ این فرم باید توضیح دهد که چگونه اطلاعات سلامت شخصی شما قبل، در طول و بعد از آزمایش محرمانه نگه داشته می شود. حریم خصوصی شما با انجام مصاحبه به صورت خصوصی، نگه داشتن یادداشت های مکتوب در پرونده ها و دفاتر قفل شده، ذخیره اطلاعات الکترونیکی در فایل های رمزگذاری شده و محافظت شده با رمز عبور، و دریافت گواهی محرمانه بودن از وزارت بهداشت و خدمات انسانی برای جلوگیری از افشای اطلاعاتی که شما را شناسایی می کند محافظت می شود. . اطلاعاتی که شما را شناسایی می کند ممکن است با پزشکان مسئول مراقبت از شما یا ممیزی ها و ارزیابی ها توسط سازمان های دولتی به اشتراک گذاشته شود، اما صحبت ها و مقالات مربوط به مطالعه شما را شناسایی نمی کند.

با استفاده از Amazon Bedrock Retrieve API پرس و جو کنید

برای سفارشی کردن گردش کار RAG خود، می توانید از Retrieve API برای واکشی تکه های مربوطه بر اساس درخواست خود و ارسال آن به هر LLM ارائه شده توسط Amazon Bedrock استفاده کنید. برای استفاده از Retrieve API، آن را به صورت زیر تعریف کنید:

def retrieve(query: str, kbId: str, numberOfResults: int = 5):
    return bedrock_agent_client.retrieve(
        retrievalQuery={"text": query},
        knowledgeBaseId=kbId,
        retrievalConfiguration={
            "vectorSearchConfiguration": {"numberOfResults": numberOfResults}
        },
    )

متن مربوطه را بازیابی کنید (با برخی از خروجی ها برای اختصار ویرایش شده است):

query = "What is the purpose of the medical research study?"
response = retrieve(query, kb_id, 3)
retrievalResults = response["retrievalResults"]
>>> [
    {
        "content": {"text": "You will not be charged for any procedures that..."},
        "location": {"type": "S3", "s3Location": {"uri": "s3://XXXXX/XXXX.pdf"}},
        "score": 0.6552521,
    },
    {
        "content": {"text": "and possible benefits of the study. You have been..."},
        "location": {"type": "S3", "s3Location": {"uri": "s3://XXXX/XXXX.pdf"}},
        "score": 0.6581577,
    },
    ...,
]

متن را برای الگوی درخواستی استخراج کنید:

def get_contexts(retrievalResults):
    contexts = []
    for retrievedResult in retrievalResults:
        contexts.append(retrievedResult["content"]["text"])
    return " ".join(contexts)

contexts = get_contexts(retrievalResults)

ماژول‌های پایتون را وارد کنید و قالب درخواست پاسخ‌دهی به سوالات درون متنی را تنظیم کنید، سپس پاسخ نهایی را ایجاد کنید:

from langchain.prompts import PromptTemplate

PROMPT_TEMPLATE = """
Human: You are an AI system working on medical trial research, and provides answers to questions 
by using fact based and statistical information when possible.
Use the following pieces of information to provide a concise answer to the question enclosed in <question> tags.
If you don't know the answer, just say that you don't know, don't try to make up an answer.

<context>
{context_str}
</context>

<question>
{query_str}
</question>

The response should be specific and use statistics or numbers when possible.

Assistant:"""

claude_prompt = PromptTemplate(
    template=PROMPT_TEMPLATE, input_variables=["context_str", "query_str"]
)

prompt = claude_prompt.format(context_str=contexts, query_str=query)
response = claude_llm(prompt)
>>> "Based on the context provided, the purpose of this medical research study is to evaluate the efficacy of lithium compared to a placebo in preventing suicide over a 1 year period. Specifically, participants will be randomly assigned to receive either lithium or a placebo pill for 1 year, with their doctors and the participants themselves not knowing which treatment they receive (double-blind). Blood lithium levels will be monitored and doses adjusted over the first 6-8 visits, then participants will be followed monthly for 1 year to assess outcomes."

پرس و جو با استفاده از ادغام آمازون بستر LangChain

برای ایجاد یک برنامه پرسش و پاسخ سفارشی شده سرتاسر، پایگاه های دانش برای Amazon Bedrock یکپارچه سازی با LangChain را فراهم می کند. برای راه‌اندازی بازیابی LangChain، شناسه پایگاه دانش را ارائه کنید و تعداد نتایجی را که باید از پرس‌وجو بازگردانده شوند را مشخص کنید:

from langchain.retrievers.bedrock import AmazonKnowledgeBasesRetriever

retriever = AmazonKnowledgeBasesRetriever(
    knowledge_base_id=kb_id,
    retrieval_config={"vectorSearchConfiguration": {"numberOfResults": 4}},
)

اکنون LangChain RetrievalQA را راه اندازی کنید و پاسخ ها را از پایگاه دانش تولید کنید:

from langchain.chains import RetrievalQA

qa = RetrievalQA.from_chain_type(
    llm=claude_llm,
    chain_type="stuff",
    retriever=retriever,
    return_source_documents=True,
    chain_type_kwargs={"prompt": claude_prompt},
)

[qa(q)["result"] for q in questions]

با این کار، پاسخ‌های مربوطه مشابه موارد ذکر شده در جدول قبلی ایجاد می‌شود.

پاک کردن

برای جلوگیری از تحمیل هزینه های اضافی، حتما منابع زیر را حذف کنید:

نتیجه

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


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

مارک روی یک معمار اصلی یادگیری ماشین برای AWS است که به مشتریان در طراحی و ساخت راه‌حل‌های AI/ML کمک می‌کند. کار مارک طیف گسترده ای از موارد استفاده از ML را پوشش می دهد، با علاقه اولیه به بینایی کامپیوتر، یادگیری عمیق، و مقیاس بندی ML در سراسر سازمان. او به شرکت ها در بسیاری از صنایع از جمله بیمه، خدمات مالی، رسانه و سرگرمی، مراقبت های بهداشتی، آب و برق و تولید کمک کرده است. مارک دارای شش گواهینامه AWS، از جمله گواهینامه تخصصی ML است. قبل از پیوستن به AWS، مارک به مدت بیش از 25 سال، از جمله 19 سال در خدمات مالی، معمار، توسعه دهنده و رهبر فناوری بود.

مانی خانوجه یک رهبر فناوری – متخصصان هوش مصنوعی مولد، نویسنده کتاب – یادگیری ماشین کاربردی و محاسبات با عملکرد بالا در AWS، و عضو هیئت مدیره بنیاد آموزش زنان در تولید است. او پروژه های یادگیری ماشینی (ML) را در حوزه های مختلف مانند بینایی کامپیوتر، پردازش زبان طبیعی و هوش مصنوعی مولد رهبری می کند. او به مشتریان کمک می کند تا مدل های بزرگ یادگیری ماشین را در مقیاس بسازند، آموزش دهند و به کار گیرند. او در کنفرانس های داخلی و خارجی مانند re:Invent، Women in Manufacturing West، وبینارهای یوتیوب و GHC 23 صحبت می کند. او در اوقات فراغت خود دوست دارد برای دویدن طولانی در کنار ساحل برود.

دکتر بایچوان سان، که در حال حاضر به عنوان معمار راه حل AI/ML Sr. در AWS فعالیت می کند، بر هوش مصنوعی مولد تمرکز دارد و دانش خود را در علم داده و یادگیری ماشین برای ارائه راه حل های تجاری عملی و مبتنی بر ابر استفاده می کند. او با تجربه در مشاوره مدیریت و معماری راه حل های هوش مصنوعی، به طیف وسیعی از چالش های پیچیده، از جمله بینایی کامپیوتری روباتیک، پیش بینی سری های زمانی، و تعمیر و نگهداری پیش بینی کننده، می پردازد. کار او در زمینه مدیریت پروژه، تحقیق و توسعه نرم افزار و فعالیت های آکادمیک استوار است. خارج از محل کار، دکتر سان از تعادل مسافرت و گذراندن وقت با خانواده و دوستان لذت می برد.

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

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

نیهیر چادروالا یک معمار راه حل های AI/ML Sr. در تیم بهداشت جهانی و علوم زندگی است. تخصص او در ساختن راه حل های مبتنی بر داده های بزرگ و هوش مصنوعی برای مشکلات مشتریان به ویژه در حوزه زیست پزشکی، علوم زیستی و مراقبت های بهداشتی است. او همچنین در مورد تلاقی علم اطلاعات کوانتومی و هوش مصنوعی هیجان زده است و از یادگیری و مشارکت در این فضا لذت می برد. او در اوقات فراغت خود از بازی تنیس، مسافرت و یادگیری در مورد کیهان شناسی لذت می برد.

نقطه_img

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

نقطه_img

چت با ما

سلام! چگونه می توانم به شما کمک کنم؟