AWS Bedrock KB Retrieval

ทางการ

สอบถาม Amazon Bedrock Knowledge Bases โดยใช้ภาษาธรรมชาติเพื่อดึงข้อมูลที่เกี่ยวข้องจากแหล่งข้อมูลของคุณ

GitHub
9.7k
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย AWS Bedrock KB Retrieval MCP?

  • ค้นหาฐานความรู้ — สอบถามเพื่อแสดงรายการฐานความรู้ Bedrock ทั้งหมดที่มีและแหล่งข้อมูลของฐานความรู้นั้นผ่าน ListKnowledgeBases
  • สอบถามด้วยภาษาธรรมชาติ — ถามคำถามเชิงสนทนาเพื่อดึงข้อความที่เกี่ยวข้องพร้อมการอ้างอิงจากฐานความรู้ของคุณ
  • กรองตามแหล่งข้อมูล — เน้นการดึงข้อมูลจากแหล่งข้อมูลเฉพาะ โดยรวมหรือแยกแหล่งข้อมูลเหล่านั้นออกจากผลลัพธ์
  • การดึงข้อมูลแบบเอเจนต์พร้อมการสังเคราะห์ — ขอแผนการดึงข้อมูลแบบหลายขั้นตอนพร้อมคำตอบที่มีการอ้างอิงจากฐานความรู้ที่จัดการหลายแห่งโดยใช้ AgenticQueryKnowledgeBases
  • เข้าถึงเนื้อหาที่ป้องกันด้วย ACL — ส่ง user_id เพื่อดึงเนื้อหาจากแหล่งข้อมูลที่รองรับ ACL เช่น SharePoint หรือ Confluence
  • จัดอันดับผลลัพธ์ใหม่ — ปรับปรุงความเกี่ยวข้องของการดึงข้อมูลโดยเปิดใช้การจัดอันดับใหม่ด้วยโมเดล Amazon Bedrock เช่น cohere.rerank-v3-5:0

เอกสาร

เซิร์ฟเวอร์ MCP สำหรับการดึงข้อมูลจาก Amazon Bedrock Knowledge Base

เซิร์ฟเวอร์ MCP สำหรับเข้าถึง Amazon Bedrock Knowledge Bases

คุณสมบัติ

ค้นพบ knowledge bases และแหล่งข้อมูลของพวกเขา

  • ค้นหาและสำรวจ knowledge bases ที่มีอยู่ทั้งหมด
  • ค้นหา knowledge bases ด้วยชื่อหรือแท็ก
  • แสดงรายการแหล่งข้อมูลที่เชื่อมโยงกับแต่ละ knowledge base

สืบค้น knowledge bases ด้วยภาษาธรรมชาติ

  • ดึงข้อมูลโดยใช้คำถามเชิงสนทนา
  • รับข้อความที่เกี่ยวข้องจาก knowledge bases ของคุณ
  • เข้าถึงข้อมูลการอ้างอิงสำหรับผลลัพธ์ทั้งหมด

กรองผลลัพธ์ตามแหล่งข้อมูล

  • มุ่งเน้นคำถามของคุณไปยังแหล่งข้อมูลเฉพาะ
  • รวมหรือแยกแหล่งข้อมูลเฉพาะ
  • จัดลำดับความสำคัญของผลลัพธ์จากแหล่งข้อมูลเฉพาะ

การดึงข้อมูลแบบ Agentic บน managed knowledge bases

  • วางแผนกลยุทธ์การดึงข้อมูลหลายขั้นตอนและสังเคราะห์คำตอบพร้อมการอ้างอิง
  • ค้นหา knowledge bases หลายแห่งในการเรียกครั้งเดียว
  • บันทึกขั้นตอนการวางแผนและการดึงข้อมูลของ agent แบบย่อ (ไม่บังคับ)
  • รองรับเฉพาะ managed knowledge bases เท่านั้น; เครื่องมือจะปฏิเสธประเภทอื่นพร้อมข้อความที่ชัดเจน

เข้าถึงเนื้อหาที่ป้องกันด้วย ACL

  • ส่ง user_id เพื่อดึงเนื้อหาจากแหล่งข้อมูลที่รองรับ ACL (SharePoint, OneDrive, Confluence พร้อม ACL ต่อเอกสาร)
  • หากไม่มีสิ่งนี้ เนื้อหานั้นจะไม่สามารถเข้าถึงได้ และขั้นตอนการขยายเอกสารเต็มรูปแบบของการดึงข้อมูลแบบ agentic จะล้มเหลวด้วยข้อความ "UserContext is required for ACL-aware data sources"
  • ผลลัพธ์จะถูกกรองตามสิ่งที่ผู้ใช้ได้รับอนุญาตให้ดู

รองรับทั้ง managed และ vector knowledge bases

  • ทำงานร่วมกับ vector knowledge bases (type: VECTOR) และ managed knowledge bases (type: MANAGED)
  • ประเภทของ knowledge base จะถูกตรวจพบโดยอัตโนมัติและส่งการกำหนดค่า Retrieve ที่ถูกต้อง (vectorSearchConfiguration หรือ managedSearchConfiguration)
  • การกรองแหล่งข้อมูลใช้คีย์ metadata ที่เหมาะสมกับประเภทของ knowledge base
  • เครื่องมือ ListKnowledgeBases รายงาน type ของแต่ละ knowledge base

จัดลำดับผลลัพธ์ใหม่

  • ปรับปรุงความเกี่ยวข้องของผลลัพธ์การดึงข้อมูล
  • ใช้ความสามารถการจัดลำดับใหม่ของ Amazon Bedrock
  • เรียงลำดับผลลัพธ์ตามความเกี่ยวข้องกับคำถามของคุณ

ข้อกำหนดเบื้องต้น

ข้อกำหนดการติดตั้ง

  1. ติดตั้ง uv จาก Astral หรือ GitHub README
  2. ติดตั้ง Python โดยใช้ uv python install 3.10

ข้อกำหนด AWS

  1. การกำหนดค่า AWS CLI: คุณต้องกำหนดค่า AWS CLI ด้วยข้อมูลประจำตัวและ AWS_PROFILE ที่สามารถเข้าถึง Amazon Bedrock และ Knowledge Bases
  2. Amazon Bedrock Knowledge Base: คุณต้องมี Amazon Bedrock Knowledge Base อย่างน้อยหนึ่งรายการที่มีคีย์แท็ก mcp-multirag-kb พร้อมค่าของ true
  3. สิทธิ์ IAM: บทบาท/ผู้ใช้ IAM ของคุณต้องมีสิทธิ์ที่เหมาะสมในการ:
    • แสดงรายการและอธิบาย knowledge bases
    • เข้าถึงแหล่งข้อมูล
    • สืบค้น knowledge bases

ข้อกำหนดการจัดลำดับใหม่

หากคุณต้องการใช้ฟังก์ชันการจัดลำดับใหม่ Knowledge Base ของ Bedrock ของคุณต้องมีสิทธิ์เพิ่มเติม:

  1. บทบาท IAM ของคุณต้องมีสิทธิ์สำหรับการดำเนินการทั้ง bedrock:Rerank และ bedrock:InvokeModel
  2. บทบาทบริการ Amazon Bedrock Knowledge Bases ต้องมีสิทธิ์เหล่านี้ด้วย
  3. ความพร้อมใช้งานของการจัดลำดับใหม่แตกต่างกัน ตามโมเดล: amazon.rerank-v1:0 ไม่มีให้บริการใน us-east-1 ในขณะที่ cohere.rerank-v3-5:0 มีให้บริการ เซิร์ฟเวอร์จะตรวจสอบคู่ (ภูมิภาค, โมเดล) และล้มเหลวอย่างรวดเร็วพร้อมข้อความที่ชัดเจน โปรดอ้างอิง เอกสารประกอบ อย่างเป็นทางการสำหรับรายการภูมิภาคที่รองรับล่าสุด
  4. เปิดใช้งานการเข้าถึงโมเดลสำหรับโมเดลการจัดลำดับใหม่ที่มีอยู่ในภูมิภาคที่ระบุ

ข้อกำหนดการดึงข้อมูลแบบ Agentic

เครื่องมือ AgenticQueryKnowledgeBases เรียก AgenticRetrieveStream ซึ่งรองรับสำหรับ managed knowledge bases เท่านั้น (type: MANAGED) โดยจะวางแผนกลยุทธ์การดึงข้อมูล และเว้นแต่ คุณจะส่ง generate_response=false จะเรียกใช้โมเดลพื้นฐานเพื่อเขียนคำตอบพร้อมการอ้างอิง

  1. บทบาท IAM ของคุณต้องมี bedrock:AgenticRetrieveStream บน knowledge base นอกเหนือจาก สิทธิ์ที่ระบุไว้ข้างต้น
  2. เนื่องจากเรียกใช้โมเดลพื้นฐาน จึงมีค่าใช้จ่ายสูงกว่าอย่างมากต่อการเรียกเมื่อเทียบกับ QueryKnowledgeBases ส่ง generate_response=false สำหรับการดึงข้อมูลโดยไม่มีการสังเคราะห์
  3. RetrieveAndGenerate ไม่รองรับสำหรับ managed knowledge bases ดังนั้นการดึงข้อมูลแบบ agentic ด้วย generate_response=true จึงเป็นวิธีที่จะได้รับคำตอบที่สร้างขึ้นจากสิ่งนั้น

การควบคุมการจัดลำดับใหม่

การจัดลำดับใหม่สามารถเปิดหรือปิดใช้งานทั่วโลกได้โดยใช้ตัวแปรสภาพแวดล้อม BEDROCK_KB_RERANKING_ENABLED:

  • ตั้งค่าเป็น false (ค่าเริ่มต้น): ปิดใช้งานการจัดลำดับใหม่สำหรับคำสั่งทั้งหมดเว้นแต่เปิดใช้งานอย่างชัดเจน
  • ตั้งค่าเป็น true: เปิดใช้งานการจัดลำดับใหม่สำหรับคำสั่งทั้งหมดเว้นแต่ปิดใช้งานอย่างชัดเจน

ตัวแปรสภาพแวดล้อมยอมรับรูปแบบต่าง ๆ:

  • สำหรับการเปิดใช้งาน: 'true', '1', 'yes' หรือ 'on' (ไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก)
  • สำหรับการปิดใช้งาน: ค่าอื่นใดหรือไม่ได้ตั้งค่า (พฤติกรรมเริ่มต้น)

การตั้งค่านี้ให้ค่าเริ่มต้นทั่วโลก ในขณะที่การเรียก API แต่ละรายการยังสามารถแทนที่ได้โดยการตั้งค่าพารามิเตอร์ reranking อย่างชัดเจน

สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการตั้งค่า knowledge bases โปรดดู:

การติดตั้ง

KiroCursorVS Code
Add to KiroInstall MCP ServerInstall on VS Code

กำหนดค่าเซิร์ฟเวอร์ MCP ในการกำหนดค่าไคลเอนต์ MCP ของคุณ (เช่น สำหรับ Kiro แก้ไข ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "awslabs.bedrock-kb-retrieval-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.bedrock-kb-retrieval-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-profile-name",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR",
        "KB_INCLUSION_TAG_KEY": "optional-tag-key-to-filter-kbs",
        "BEDROCK_KB_RERANKING_ENABLED": "false"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

การติดตั้งบน Windows

สำหรับผู้ใช้ Windows รูปแบบการกำหนดค่าเซิร์ฟเวอร์ MCP จะแตกต่างกันเล็กน้อย:

{
  "mcpServers": {
    "awslabs.bedrock-kb-retrieval-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.bedrock-kb-retrieval-mcp-server@latest",
        "awslabs.bedrock-kb-retrieval-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

หรือ docker หลังจากการ docker build -t awslabs/bedrock-kb-retrieval-mcp-server . ที่สำเร็จ:

# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
  {
    "mcpServers": {
      "awslabs.bedrock-kb-retrieval-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "--interactive",
          "--env",
          "FASTMCP_LOG_LEVEL=ERROR",
          "--env",
          "KB_INCLUSION_TAG_KEY=optional-tag-key-to-filter-kbs",
          "--env",
          "BEDROCK_KB_RERANKING_ENABLED=false",
          "--env",
          "AWS_REGION=us-east-1",
          "--env-file",
          "/full/path/to/file/above/.env",
          "awslabs/bedrock-kb-retrieval-mcp-server:latest"
        ],
        "env": {},
        "disabled": false,
        "autoApprove": []
      }
    }
  }

หมายเหตุ: ข้อมูลประจำตัวของคุณจะต้องได้รับการรีเฟรชอย่างต่อเนื่องจากโฮสต์ของคุณ

ข้อจำกัด

  • ผลลัพธ์ที่มีประเภทเนื้อหา IMAGE จะไม่รวมอยู่ในการตอบสนองการสืบค้น KB
  • พารามิเตอร์ reranking ต้องมีสิทธิ์เพิ่มเติม การเข้าถึงโมเดล Amazon Bedrock และมีให้บริการเฉพาะในบางภูมิภาคเท่านั้น