Logo Zephyrnet

Sử dụng RAG để khám phá thuốc với Cơ sở Kiến thức dành cho Amazon Bedrock | Dịch vụ web của Amazon

Ngày:

nền tảng Amazon cung cấp nhiều mô hình từ Amazon và các nhà cung cấp bên thứ ba, bao gồm Anthropic, AI21, Meta, Cohere và Stability AI, đồng thời bao gồm nhiều trường hợp sử dụng, bao gồm tạo văn bản và hình ảnh, nhúng, trò chuyện, tác nhân cấp cao với lý luận và sự phối hợp, và nhiều hơn nữa. Cơ sở kiến ​​thức về Amazon Bedrock cho phép bạn xây dựng các ứng dụng Thế hệ truy xuất tăng cường (RAG) tùy chỉnh và hiệu suất cao trên AWS và các cửa hàng vectơ của bên thứ ba bằng cách sử dụng cả mô hình AWS và bên thứ ba. Cơ sở kiến ​​thức dành cho Amazon Bedrock tự động đồng bộ hóa dữ liệu với kho vectơ của bạn, bao gồm phân biệt dữ liệu khi cập nhật, tải tài liệu và phân nhóm cũng như nhúng ngữ nghĩa. Nó cho phép bạn tùy chỉnh liền mạch các lời nhắc RAG và chiến lược truy xuất—chúng tôi cung cấp phân bổ nguồn và chúng tôi tự động xử lý việc quản lý bộ nhớ. Cơ sở Kiến thức hoàn toàn không có máy chủ nên bạn không cần quản lý bất kỳ cơ sở hạ tầng nào và khi sử dụng Cơ sở Kiến thức, bạn chỉ bị tính phí cho các mô hình, cơ sở dữ liệu vectơ và bộ nhớ mà bạn sử dụng.

RAG là một kỹ thuật phổ biến kết hợp việc sử dụng dữ liệu riêng tư với các mô hình ngôn ngữ lớn (LLM). RAG bắt đầu bằng bước đầu tiên để truy xuất các tài liệu có liên quan từ kho lưu trữ dữ liệu (phổ biến nhất là chỉ mục vectơ) dựa trên truy vấn của người dùng. Sau đó, nó sử dụng mô hình ngôn ngữ để tạo ra phản hồi bằng cách xem xét cả tài liệu được truy xuất và truy vấn ban đầu.

Trong bài đăng này, chúng tôi trình bày cách xây dựng quy trình làm việc RAG bằng cách sử dụng Cơ sở kiến ​​thức cho Amazon Bedrock cho trường hợp sử dụng khám phá thuốc.

Tổng quan về Cơ sở Kiến thức của Amazon Bedrock

Cơ sở Kiến thức dành cho Amazon Bedrock hỗ trợ nhiều loại tệp phổ biến, bao gồm .txt, .docx, .pdf, .csv, v.v. Để cho phép truy xuất hiệu quả từ dữ liệu riêng tư, phương pháp phổ biến trước tiên là chia các tài liệu này thành các phần có thể quản lý được. Cơ sở Kiến thức đã triển khai chiến lược phân chia mặc định hoạt động tốt trong hầu hết các trường hợp để cho phép bạn bắt đầu nhanh hơn. Nếu bạn muốn kiểm soát nhiều hơn, Cơ sở Kiến thức cho phép bạn kiểm soát chiến lược phân chia thông qua một tập hợp các tùy chọn được cấu hình sẵn. Bạn có thể kiểm soát kích thước mã thông báo tối đa và số lượng chồng chéo được tạo trên các phần để cung cấp bối cảnh mạch lạc cho quá trình nhúng. Cơ sở Kiến thức dành cho Amazon Bedrock quản lý quá trình đồng bộ hóa dữ liệu từ Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3), chia thành các phần nhỏ hơn, tạo phần nhúng vectơ và lưu trữ phần nhúng trong chỉ mục vectơ. Quá trình này đi kèm với quản lý khác biệt, thông lượng và lỗi thông minh.

Trong thời gian chạy, mô hình nhúng được sử dụng để chuyển đổi truy vấn của người dùng thành vectơ. Sau đó, chỉ mục vectơ được truy vấn để tìm các tài liệu tương tự với truy vấn của người dùng bằng cách so sánh vectơ tài liệu với vectơ truy vấn của người dùng. Ở bước cuối cùng, các tài liệu tương tự về mặt ngữ nghĩa được lấy từ chỉ mục vectơ sẽ được thêm làm ngữ cảnh cho truy vấn ban đầu của người dùng. Khi tạo phản hồi cho người dùng, các tài liệu tương tự về mặt ngữ nghĩa sẽ được nhắc trong mô hình văn bản, cùng với việc ghi nguồn để truy xuất nguồn gốc.

Cơ sở kiến ​​thức cho Amazon Bedrock hỗ trợ nhiều cơ sở dữ liệu vectơ, bao gồm Amazon OpenSearch Serverless, Amazon cực quang, Pinecone và Redis Enterprise Cloud. API Truy xuất và RetrieveAndGenerate cho phép ứng dụng của bạn truy vấn trực tiếp chỉ mục bằng cú pháp tiêu chuẩn và thống nhất mà không cần phải tìm hiểu các API riêng biệt cho từng cơ sở dữ liệu vectơ khác nhau, giảm nhu cầu viết truy vấn chỉ mục tùy chỉnh đối với kho lưu trữ vectơ của bạn. API Truy xuất nhận truy vấn đến, chuyển đổi nó thành một vectơ nhúng và truy vấn kho lưu trữ phụ trợ bằng cách sử dụng các thuật toán được định cấu hình ở cấp cơ sở dữ liệu vectơ; API RetrieveAndGenerate sử dụng LLM do người dùng định cấu hình do Amazon Bedrock cung cấp và tạo ra câu trả lời cuối cùng bằng ngôn ngữ tự nhiên. Hỗ trợ truy xuất nguồn gốc gốc thông báo cho ứng dụng yêu cầu về các nguồn được sử dụng để trả lời một câu hỏi. Để triển khai cho doanh nghiệp, Cơ sở Kiến thức hỗ trợ Dịch vụ quản lý khóa AWS mã hóa (AWS KMS), Đường mòn đám mây AWS hội nhập, và nhiều hơn nữa.

Trong các phần sau, chúng tôi trình bày cách xây dựng quy trình làm việc RAG bằng Cơ sở kiến ​​thức cho Amazon Bedrock, được hỗ trợ bởi công cụ vectơ OpenSearch Serverless, để phân tích tập dữ liệu thử nghiệm lâm sàng phi cấu trúc cho trường hợp sử dụng khám phá thuốc. Dữ liệu này rất giàu thông tin nhưng có thể rất không đồng nhất. Việc xử lý thích hợp các thuật ngữ và khái niệm chuyên ngành ở các định dạng khác nhau là điều cần thiết để phát hiện những hiểu biết sâu sắc và đảm bảo tính toàn vẹn trong phân tích. Với Cơ sở kiến ​​thức dành cho Amazon Bedrock, bạn có thể truy cập thông tin chi tiết thông qua các truy vấn đơn giản, tự nhiên.

Xây dựng nền tảng kiến ​​thức cho Amazon Bedrock

Trong phần này, chúng tôi trình diễn quy trình tạo cơ sở kiến ​​thức cho Amazon Bedrock thông qua bảng điều khiển. Hoàn thành các bước sau:

  1. Trên bảng điều khiển Amazon Bedrock, bên dưới Dàn nhạc trong ngăn điều hướng, chọn Kiến thức cơ bản.
  2. Chọn Tạo nền tảng kiến ​​thức.

  1. Trong tạp chí Chi tiết cơ sở kiến ​​thức phần, nhập tên và mô tả tùy chọn.
  2. Trong tạp chí Quyền IAM phần, chọn Tạo và sử dụng vai trò dịch vụ mới.
  3. Trong Vai trò tên dịch vụ, nhập tên cho vai trò của bạn, tên này phải bắt đầu bằng AmazonBedrockExecutionRoleForKnowledgeBase_.
  4. Chọn Sau.

  1. Trong tạp chí Nguồn dữ liệu phần, hãy nhập tên cho nguồn dữ liệu của bạn và URI S3 chứa tập dữ liệu. Cơ sở Kiến thức hỗ trợ các định dạng tệp sau:
    • Văn bản thuần túy (.txt)
    • Đánh dấu (.md)
    • Ngôn ngữ đánh dấu siêu văn bản (.html)
    • Tài liệu Microsoft Word (.doc/.docx)
    • Các giá trị được phân tách bằng dấu phẩy (.csv)
    • Bảng tính Microsoft Excel (.xls/.xlsx)
    • Định dạng tài liệu di động (.pdf)
  1. Theo Cài đặt thêm¸ chọn chiến lược phân chia ưa thích của bạn (đối với bài đăng này, chúng tôi chọn Phân chia kích thước cố định) và chỉ định kích thước khối và lớp phủ theo tỷ lệ phần trăm. Ngoài ra, bạn có thể sử dụng các cài đặt mặc định.
  2. Chọn Sau.

  1. Trong tạp chí Mô hình nhúng phần này, hãy chọn mô hình Titan Embeddings từ Amazon Bedrock.
  2. Trong tạp chí Cơ sở dữ liệu vectơ phần, chọn Tạo nhanh một cửa hàng vector mới, quản lý quá trình thiết lập một cửa hàng vector.
  3. Chọn Sau.

  1. Xem lại cài đặt và chọn Tạo nền tảng kiến ​​thức.

  1. Đợi quá trình tạo cơ sở kiến ​​thức hoàn tất và xác nhận trạng thái của nó là Sẵn sàng.
  2. Trong tạp chí Nguồn dữ liệu hoặc trên biểu ngữ ở đầu trang hoặc cửa sổ bật lên trong cửa sổ kiểm tra, hãy chọn Đồng bộ để kích hoạt quá trình tải dữ liệu từ bộ chứa S3, chia dữ liệu thành các phần có kích thước bạn đã chỉ định, tạo các phần nhúng vectơ bằng mô hình nhúng văn bản đã chọn và lưu trữ chúng trong kho vectơ do Cơ sở Kiến thức cho Amazon Bedrock quản lý.

Chức năng đồng bộ hóa hỗ trợ nhập, cập nhật và xóa tài liệu khỏi chỉ mục vectơ dựa trên những thay đổi đối với tài liệu trong Amazon S3. Bạn cũng có thể sử dụng StartIngestionJob API để kích hoạt đồng bộ hóa thông qua AWS SDK.

Khi đồng bộ hóa hoàn tất, lịch sử Đồng bộ hóa sẽ hiển thị trạng thái Đã hoàn thành.

Truy vấn cơ sở kiến ​​thức

Trong phần này, chúng tôi trình bày cách truy cập thông tin chi tiết trong cơ sở kiến ​​thức thông qua các truy vấn đơn giản và tự nhiên. Chúng tôi sử dụng tập dữ liệu tổng hợp phi cấu trúc bao gồm các tệp PDF, số trang của mỗi trang từ 10–100 trang, mô phỏng kế hoạch thử nghiệm lâm sàng của một loại thuốc mới được đề xuất bao gồm các phương pháp phân tích thống kê và biểu mẫu chấp thuận của người tham gia. Chúng tôi sử dụng Cơ sở Kiến thức cho Amazon Bedrock retrieve_and_generateretrieve API với Tích hợp Amazon Bedrock LangChain.

Trước khi có thể viết tập lệnh sử dụng API Amazon Bedrock, bạn cần cài đặt phiên bản AWS SDK phù hợp trong môi trường của mình. Đối với các tập lệnh Python, đây sẽ là AWS SDK cho Python (Boto3):

pip install langchain
pip install boto3

Ngoài ra, hãy cho phép truy cập vào mô hình Amazon Titan Embeddings và Anthropic Claude v2 hoặc v1. Để biết thêm thông tin, hãy tham khảo Truy cập mô hình.

Tạo câu hỏi bằng Amazon Bedrock

Chúng ta có thể sử dụng Anthropic Claude 2.1 cho Amazon Bedrock để đề xuất danh sách các câu hỏi cần đặt ra trên tập dữ liệu thử nghiệm lâm sàng:

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'

Sử dụng API Amazon Bedrock RetrieveAndGenerate

Để có trải nghiệm RAG được quản lý hoàn toàn, bạn có thể sử dụng Cơ sở kiến ​​thức gốc dành cho Amazon Bedrock RetrieveAndGenerate API để nhận được câu trả lời trực tiếp:

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."

Nguồn thông tin được trích dẫn có thể được lấy thông qua đoạn mã sau (với một số kết quả đầu ra được biên tập lại để ngắn gọn):

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"}},
            }
        ],
    },
]

Bằng cách chuyển ID phiên của RetrieveAndGenerate API, bạn có thể duy trì bối cảnh cuộc trò chuyện và đặt các câu hỏi tiếp theo. Ví dụ: không có ngữ cảnh, nếu bạn hỏi thêm chi tiết từ câu trả lời trước, nó có thể không trả lời chính xác:

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."

Nhưng bằng cách chuyển ID phiên, quy trình RAG có thể xác định ngữ cảnh tương ứng và trả về các câu trả lời có liên quan:

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."

Bảng sau đây hiển thị các câu trả lời được truy xuất cho tất cả các câu hỏi tương ứng.

câu hỏi Trả lời
Mục đích của việc học là gì? Hãy chắc chắn rằng bạn hiểu mục tiêu của nghiên cứu và các quy trình nghiên cứu sẽ đòi hỏi những gì. Mục đích của nghiên cứu là kiểm tra xem liệu lithium có hiệu quả trong việc ngăn ngừa bạo lực tự sát tái diễn ở bệnh nhân trầm cảm hoặc rối loạn lưỡng cực hay không.
Những rủi ro và lợi ích tiềm năng là gì? Biểu mẫu này phải giải thích tất cả các rủi ro, tác dụng phụ hoặc sự khó chịu có thể thấy trước mà bạn có thể gặp phải khi tham gia. Những rủi ro hoặc khó chịu có thể xảy ra bao gồm: các câu hỏi phỏng vấn gây khó chịu, tác dụng phụ của thuốc lithium như buồn nôn, phân lỏng, khát nước, tiểu tiện thay đổi, run rẩy, nhức đầu, đổ mồ hôi, mệt mỏi, giảm khả năng tập trung, phát ban trên da, thay đổi tuyến giáp, mụn trứng cá ngày càng trầm trọng /bệnh vẩy nến, ngộ độc lithium và những rủi ro nếu ngừng thuốc đột ngột. Lợi ích tiềm tàng là các xét nghiệm có thể dẫn đến thông tin mới giúp ích cho người tham gia và lithium có thể giúp ngăn ngừa bạo lực tự sát lặp đi lặp lại đối với những người bị trầm cảm hoặc rối loạn lưỡng cực.
Việc tham gia sẽ bao gồm những gì? Nhận thông tin chi tiết về những xét nghiệm, thuốc men, thay đổi lối sống hoặc thủ tục bạn sẽ trải qua, thời gian thực hiện và nghiên cứu sẽ kéo dài bao lâu. Việc tham gia sẽ bao gồm việc hoàn thành một cuộc phỏng vấn và bảng câu hỏi bao gồm suy nghĩ, hành vi, điều trị sức khỏe tâm thần, thuốc men, sử dụng rượu và ma túy, hỗ trợ tại nhà và xã hội cũng như hiểu biết về nghiên cứu. Việc này mất khoảng hai giờ và có thể được thực hiện trong nhiều buổi, trực tiếp và qua điện thoại. Nếu đủ điều kiện tham gia nghiên cứu đầy đủ, sẽ có khoảng 20 lượt học tập trong một năm. Điều này sẽ bao gồm việc dùng thuốc nghiên cứu, kiểm tra các dấu hiệu quan trọng, hoàn thành bảng câu hỏi, xem xét các tác dụng phụ và tiếp tục chăm sóc sức khỏe tâm thần và y tế bình thường.
Có bất kỳ chi phí hoặc khoản thanh toán nào không? Hỏi xem bạn có chịu trách nhiệm về bất kỳ chi phí nào liên quan đến nghiên cứu hoặc được trả tiền khi tham gia hay không. Có, có những chi phí và khoản thanh toán được thảo luận trong kết quả tìm kiếm. Bạn sẽ không bị tính phí cho bất kỳ phương pháp điều trị hoặc thủ tục nào là một phần của nghiên cứu. Tuy nhiên, bạn vẫn sẽ phải trả mọi khoản đồng thanh toán VA thông thường cho việc chăm sóc và thuốc men không liên quan đến nghiên cứu. Bạn sẽ không được trả tiền khi tham gia, nhưng nghiên cứu sẽ hoàn trả các chi phí liên quan đến việc tham gia như vận chuyển, đỗ xe, v.v. Số tiền và quy trình hoàn trả được cung cấp.
Quyền riêng tư của tôi sẽ được bảo vệ như thế nào? Biểu mẫu này phải giải thích cách thông tin sức khỏe cá nhân của bạn sẽ được giữ bí mật trước, trong và sau cuộc thử nghiệm. Quyền riêng tư của bạn sẽ được bảo vệ bằng cách thực hiện các cuộc phỏng vấn riêng tư, lưu giữ các ghi chú bằng văn bản trong các tập tin và văn phòng bị khóa, lưu trữ thông tin điện tử trong các tập tin được mã hóa và bảo vệ bằng mật khẩu, đồng thời lấy Chứng chỉ Bảo mật từ Bộ Y tế và Dịch vụ Nhân sinh để ngăn tiết lộ thông tin nhận dạng bạn . Thông tin nhận dạng bạn có thể được chia sẻ với các bác sĩ chịu trách nhiệm chăm sóc cho bạn hoặc để các cơ quan chính phủ kiểm tra và đánh giá, nhưng các cuộc thảo luận và tài liệu về nghiên cứu sẽ không nhận dạng được bạn.

Truy vấn bằng API truy xuất Amazon Bedrock

Để tùy chỉnh quy trình làm việc RAG, bạn có thể sử dụng API Truy xuất để tìm nạp các phần có liên quan dựa trên truy vấn của mình và chuyển nó đến bất kỳ LLM nào do Amazon Bedrock cung cấp. Để sử dụng API truy xuất, hãy xác định nó như sau:

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

Truy xuất bối cảnh tương ứng (với một số đầu ra được sắp xếp lại cho ngắn gọn):

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,
    },
    ...,
]

Trích xuất ngữ cảnh cho mẫu lời nhắc:

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

contexts = get_contexts(retrievalResults)

Nhập mô-đun Python và thiết lập mẫu lời nhắc trả lời câu hỏi trong ngữ cảnh, sau đó tạo câu trả lời cuối cùng:

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."

Truy vấn bằng cách sử dụng tích hợp Amazon Bedrock LangChain

Để tạo một ứng dụng Hỏi & Đáp tùy chỉnh từ đầu đến cuối, Cơ sở Kiến thức dành cho Amazon Bedrock cung cấp khả năng tích hợp với LangChain. Để thiết lập trình truy xuất LangChain, hãy cung cấp ID cơ sở kiến ​​thức và chỉ định số lượng kết quả trả về từ truy vấn:

from langchain.retrievers.bedrock import AmazonKnowledgeBasesRetriever

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

Bây giờ hãy thiết lập LangChain RetrievalQA và tạo câu trả lời từ cơ sở kiến ​​thức:

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]

Điều này sẽ tạo ra các câu trả lời tương ứng tương tự như những câu trả lời được liệt kê trong bảng trước đó.

Làm sạch

Đảm bảo xóa các tài nguyên sau để tránh phát sinh thêm phí:

Kết luận

Amazon Bedrock cung cấp một loạt các dịch vụ tích hợp sâu để hỗ trợ các ứng dụng RAG ở mọi quy mô, giúp bạn dễ dàng bắt đầu phân tích dữ liệu công ty của mình. Cơ sở Kiến thức dành cho Amazon Bedrock tích hợp với các mô hình nền tảng của Amazon Bedrock để xây dựng các quy trình nhúng tài liệu có thể mở rộng và các dịch vụ truy xuất tài liệu nhằm hỗ trợ nhiều ứng dụng nội bộ và hướng tới khách hàng. Chúng tôi rất vui mừng về tương lai phía trước và phản hồi của bạn sẽ đóng vai trò quan trọng trong việc định hướng sự phát triển của sản phẩm này. Để tìm hiểu thêm về các khả năng của Amazon Bedrock và cơ sở kiến ​​thức, hãy tham khảo Cơ sở kiến ​​thức về Amazon Bedrock.


Về các tác giả

Đánh dấu Roy là Kiến trúc sư máy học chính của AWS, giúp khách hàng thiết kế và xây dựng các giải pháp AI/ML. Công việc của Mark bao gồm nhiều trường hợp sử dụng ML, với mối quan tâm chính là thị giác máy tính, học sâu và mở rộng quy mô ML trên toàn doanh nghiệp. Ông đã giúp các công ty trong nhiều ngành công nghiệp, bao gồm bảo hiểm, dịch vụ tài chính, truyền thông và giải trí, chăm sóc sức khỏe, tiện ích và sản xuất. Mark có sáu Chứng nhận AWS, bao gồm cả Chứng nhận Chuyên môn ML. Trước khi gia nhập AWS, Mark là kiến ​​trúc sư, nhà phát triển và lãnh đạo công nghệ trong hơn 25 năm, trong đó có 19 năm làm việc trong lĩnh vực dịch vụ tài chính.

Mani Khanuja là Trưởng nhóm công nghệ – Chuyên gia AI sáng tạo, tác giả cuốn sách – Học máy ứng dụng và tính toán hiệu năng cao trên AWS, đồng thời là thành viên Ban Giám đốc dành cho Phụ nữ trong Ban Tổ chức Giáo dục Sản xuất. Cô lãnh đạo các dự án học máy (ML) trong nhiều lĩnh vực khác nhau như thị giác máy tính, xử lý ngôn ngữ tự nhiên và AI tổng quát. Cô giúp khách hàng xây dựng, đào tạo và triển khai các mô hình máy học lớn trên quy mô lớn. Cô phát biểu trong các hội nghị nội bộ và bên ngoài như re:Invent, Women in Manufacturing West, hội thảo trực tuyến trên YouTube và GHC 23. Khi rảnh rỗi, cô thích chạy bộ dài dọc bãi biển.

Tiến sĩ Baichuan Sun, hiện đang giữ chức vụ Kiến trúc sư giải pháp AI/ML cấp cao tại AWS, tập trung vào AI tổng quát và áp dụng kiến ​​thức của mình về khoa học dữ liệu và học máy để cung cấp các giải pháp kinh doanh thực tế, dựa trên đám mây. Với kinh nghiệm trong lĩnh vực tư vấn quản lý và kiến ​​trúc giải pháp AI, ông giải quyết một loạt thách thức phức tạp, bao gồm thị giác máy tính của robot, dự báo chuỗi thời gian và bảo trì dự đoán, cùng nhiều thách thức khác. Công việc của ông dựa trên nền tảng vững chắc về quản lý dự án, R&D phần mềm và theo đuổi học thuật. Ngoài công việc, Tiến sĩ Sun thích sự cân bằng giữa việc đi du lịch và dành thời gian cho gia đình và bạn bè.

Derrick Choo là Kiến trúc sư giải pháp cấp cao tại AWS tập trung vào việc đẩy nhanh hành trình lên đám mây của khách hàng và chuyển đổi hoạt động kinh doanh của họ thông qua việc áp dụng các giải pháp dựa trên đám mây. Chuyên môn của anh ấy là phát triển ứng dụng full stack và machine learning. Anh giúp khách hàng thiết kế và xây dựng các giải pháp toàn diện bao gồm giao diện người dùng, ứng dụng IoT, tích hợp API và dữ liệu cũng như mô hình học máy. Khi rảnh rỗi, anh thích dành thời gian cho gia đình và thử nghiệm chụp ảnh và quay phim.

Frank Winkler là Kiến trúc sư giải pháp cấp cao và Chuyên gia AI sáng tạo tại AWS có trụ sở tại Singapore, tập trung vào Machine Learning và Generative AI. Anh làm việc với các công ty kỹ thuật số toàn cầu để xây dựng các sản phẩm và dịch vụ có khả năng mở rộng, bảo mật và tiết kiệm chi phí trên AWS. Khi rảnh rỗi, anh dành thời gian cùng con trai và con gái, đi du lịch tận hưởng những con sóng khắp ASEAN.

Nihir Chadderwala là Kiến trúc sư giải pháp AI/ML cấp cao trong nhóm Khoa học đời sống và chăm sóc sức khỏe toàn cầu. Chuyên môn của ông là xây dựng các giải pháp dựa trên Dữ liệu lớn và AI cho các vấn đề của khách hàng, đặc biệt là trong lĩnh vực y sinh, khoa học đời sống và chăm sóc sức khỏe. Anh ấy cũng hào hứng với sự giao thoa giữa khoa học thông tin lượng tử và AI, đồng thời thích học hỏi và đóng góp cho không gian này. Trong thời gian rảnh rỗi, anh thích chơi tennis, đi du lịch và tìm hiểu về vũ trụ học.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img