AWS Bedrock KB Retrieval
ทางการสอบถาม Amazon Bedrock Knowledge Bases โดยใช้ภาษาธรรมชาติเพื่อดึงข้อมูลที่เกี่ยวข้องจากแหล่งข้อมูลของคุณ
คุณทำอะไรได้บ้างด้วย 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
- เรียงลำดับผลลัพธ์ตามความเกี่ยวข้องกับคำถามของคุณ
ข้อกำหนดเบื้องต้น
ข้อกำหนดการติดตั้ง
- ติดตั้ง
uvจาก Astral หรือ GitHub README - ติดตั้ง Python โดยใช้
uv python install 3.10
ข้อกำหนด AWS
- การกำหนดค่า AWS CLI: คุณต้องกำหนดค่า AWS CLI ด้วยข้อมูลประจำตัวและ AWS_PROFILE ที่สามารถเข้าถึง Amazon Bedrock และ Knowledge Bases
- Amazon Bedrock Knowledge Base: คุณต้องมี Amazon Bedrock Knowledge Base อย่างน้อยหนึ่งรายการที่มีคีย์แท็ก
mcp-multirag-kbพร้อมค่าของtrue - สิทธิ์ IAM: บทบาท/ผู้ใช้ IAM ของคุณต้องมีสิทธิ์ที่เหมาะสมในการ:
- แสดงรายการและอธิบาย knowledge bases
- เข้าถึงแหล่งข้อมูล
- สืบค้น knowledge bases
ข้อกำหนดการจัดลำดับใหม่
หากคุณต้องการใช้ฟังก์ชันการจัดลำดับใหม่ Knowledge Base ของ Bedrock ของคุณต้องมีสิทธิ์เพิ่มเติม:
- บทบาท IAM ของคุณต้องมีสิทธิ์สำหรับการดำเนินการทั้ง
bedrock:Rerankและbedrock:InvokeModel - บทบาทบริการ Amazon Bedrock Knowledge Bases ต้องมีสิทธิ์เหล่านี้ด้วย
- ความพร้อมใช้งานของการจัดลำดับใหม่แตกต่างกัน ตามโมเดล:
amazon.rerank-v1:0ไม่มีให้บริการในus-east-1ในขณะที่cohere.rerank-v3-5:0มีให้บริการ เซิร์ฟเวอร์จะตรวจสอบคู่ (ภูมิภาค, โมเดล) และล้มเหลวอย่างรวดเร็วพร้อมข้อความที่ชัดเจน โปรดอ้างอิง เอกสารประกอบ อย่างเป็นทางการสำหรับรายการภูมิภาคที่รองรับล่าสุด - เปิดใช้งานการเข้าถึงโมเดลสำหรับโมเดลการจัดลำดับใหม่ที่มีอยู่ในภูมิภาคที่ระบุ
ข้อกำหนดการดึงข้อมูลแบบ Agentic
เครื่องมือ AgenticQueryKnowledgeBases เรียก AgenticRetrieveStream ซึ่งรองรับสำหรับ
managed knowledge bases เท่านั้น (type: MANAGED) โดยจะวางแผนกลยุทธ์การดึงข้อมูล และเว้นแต่
คุณจะส่ง generate_response=false จะเรียกใช้โมเดลพื้นฐานเพื่อเขียนคำตอบพร้อมการอ้างอิง
- บทบาท IAM ของคุณต้องมี
bedrock:AgenticRetrieveStreamบน knowledge base นอกเหนือจาก สิทธิ์ที่ระบุไว้ข้างต้น - เนื่องจากเรียกใช้โมเดลพื้นฐาน จึงมีค่าใช้จ่ายสูงกว่าอย่างมากต่อการเรียกเมื่อเทียบกับ
QueryKnowledgeBasesส่งgenerate_response=falseสำหรับการดึงข้อมูลโดยไม่มีการสังเคราะห์ RetrieveAndGenerateไม่รองรับสำหรับ managed knowledge bases ดังนั้นการดึงข้อมูลแบบ agentic ด้วยgenerate_response=trueจึงเป็นวิธีที่จะได้รับคำตอบที่สร้างขึ้นจากสิ่งนั้น
การควบคุมการจัดลำดับใหม่
การจัดลำดับใหม่สามารถเปิดหรือปิดใช้งานทั่วโลกได้โดยใช้ตัวแปรสภาพแวดล้อม BEDROCK_KB_RERANKING_ENABLED:
- ตั้งค่าเป็น
false(ค่าเริ่มต้น): ปิดใช้งานการจัดลำดับใหม่สำหรับคำสั่งทั้งหมดเว้นแต่เปิดใช้งานอย่างชัดเจน - ตั้งค่าเป็น
true: เปิดใช้งานการจัดลำดับใหม่สำหรับคำสั่งทั้งหมดเว้นแต่ปิดใช้งานอย่างชัดเจน
ตัวแปรสภาพแวดล้อมยอมรับรูปแบบต่าง ๆ:
- สำหรับการเปิดใช้งาน: 'true', '1', 'yes' หรือ 'on' (ไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก)
- สำหรับการปิดใช้งาน: ค่าอื่นใดหรือไม่ได้ตั้งค่า (พฤติกรรมเริ่มต้น)
การตั้งค่านี้ให้ค่าเริ่มต้นทั่วโลก ในขณะที่การเรียก API แต่ละรายการยังสามารถแทนที่ได้โดยการตั้งค่าพารามิเตอร์ reranking อย่างชัดเจน
สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการตั้งค่า knowledge bases โปรดดู:
- สร้าง knowledge base
- การจัดการสิทธิ์สำหรับ Amazon Bedrock knowledge bases
- สิทธิ์สำหรับการจัดลำดับใหม่ใน Amazon Bedrock
การติดตั้ง
| Kiro | Cursor | 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 และมีให้บริการเฉพาะในบางภูมิภาคเท่านั้น