BedrockKBRetrieverTool

BedrockKBRetrieverTool 工具使 CrewAI 代理能够使用自然语言查询从 Amazon Bedrock 知识库中检索信息。

安装

uv pip install 'crewai[tools]'

要求

  • 已配置 AWS 凭证(通过环境变量或 AWS CLI)
  • boto3python-dotenv
  • 访问 Amazon Bedrock 知识库的权限

用法

以下是如何在 CrewAI 代理中使用此工具

from crewai import Agent, Task, Crew
from crewai_tools.aws.bedrock.knowledge_base.retriever_tool import BedrockKBRetrieverTool

# Initialize the tool
kb_tool = BedrockKBRetrieverTool(
    knowledge_base_id="your-kb-id",
    number_of_results=5
)

# Create a CrewAI agent that uses the tool
researcher = Agent(
    role='Knowledge Base Researcher',
    goal='Find information about company policies',
    backstory='I am a researcher specialized in retrieving and analyzing company documentation.',
    tools=[kb_tool],
    verbose=True
)

# Create a task for the agent
research_task = Task(
    description="Find our company's remote work policy and summarize the key points.",
    agent=researcher
)

# Create a crew with the agent
crew = Crew(
    agents=[researcher],
    tasks=[research_task],
    verbose=2
)

# Run the crew
result = crew.kickoff()
print(result)   

工具参数

参数类型必需默认值描述
knowledge_base_idstr知识库的唯一标识符(0-10 个字母数字字符)
number_of_resultsint5返回的最大结果数
retrieval_configurationdict知识库查询的自定义配置
guardrail_configurationdict内容过滤设置
next_tokenstr用于分页的令牌

环境变量

BEDROCK_KB_ID=your-knowledge-base-id  # Alternative to passing knowledge_base_id
AWS_REGION=your-aws-region            # Defaults to us-east-1
AWS_ACCESS_KEY_ID=your-access-key     # Required for AWS authentication
AWS_SECRET_ACCESS_KEY=your-secret-key # Required for AWS authentication

响应格式

该工具以 JSON 格式返回结果

{
  "results": [
    {
      "content": "Retrieved text content",
      "content_type": "text",
      "source_type": "S3",
      "source_uri": "s3://bucket/document.pdf",
      "score": 0.95,
      "metadata": {
        "additional": "metadata"
      }
    }
  ],
  "nextToken": "pagination-token",
  "guardrailAction": "NONE"
}

高级用法

自定义检索配置

kb_tool = BedrockKBRetrieverTool(
    knowledge_base_id="your-kb-id",
    retrieval_configuration={
        "vectorSearchConfiguration": {
            "numberOfResults": 10,
            "overrideSearchType": "HYBRID"
        }
    }
)

policy_expert = Agent(
    role='Policy Expert',
    goal='Analyze company policies in detail',
    backstory='I am an expert in corporate policy analysis with deep knowledge of regulatory requirements.',
    tools=[kb_tool]
)

支持的数据源

  • Amazon S3
  • Confluence
  • Salesforce
  • SharePoint
  • 网页
  • 自定义文档位置
  • Amazon Kendra
  • SQL 数据库

使用场景

企业知识集成

  • 使 CrewAI 代理能够访问您组织的专有知识,而无需暴露敏感数据
  • 允许代理根据您公司的特定策略、程序和文档做出决策
  • 创建可以根据您的内部文档回答问题,同时维护数据安全的代理

专业领域知识

  • 将 CrewAI 代理连接到领域特定的知识库(法律、医疗、技术),而无需重新训练模型
  • 利用您 AWS 环境中已维护的现有知识库
  • 将 CrewAI 的推理能力与您的知识库中的领域特定信息相结合

数据驱动决策

  • 将 CrewAI 代理的响应基于您的实际公司数据,而不是通用知识
  • 确保代理根据您的具体业务背景和文档提供建议
  • 通过从知识库中检索事实信息来减少幻觉

可扩展的信息访问

  • 访问数TB的组织知识,而无需将其全部嵌入到模型中
  • 动态查询特定任务所需的仅相关信息
  • 利用 AWS 可扩展的基础设施高效处理大型知识库

合规性与治理

  • 确保 CrewAI 代理提供的响应符合您公司批准的文档
  • 创建代理使用信息源的可审计跟踪记录
  • 控制您的代理可以访问哪些信息源