> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS Bedrock Embedder

`AwsBedrockEmbedder` 类用于通过 AWS Bedrock API 将文本数据嵌入到向量中。默认情况下，它使用 Cohere Embed Multilingual V3 模型来生成嵌入。

# 设置

## 设置您的 AWS 凭证

```bash theme={null}
export AWS_ACCESS_KEY_ID = xxx
export AWS_SECRET_ACCESS_KEY = xxx
export AWS_REGION = xxx
```

<Note>
  默认情况下，此 embedder 使用 `cohere.embed-multilingual-v3` 模型。在使用此 embedder 之前，您必须在 AWS Bedrock 模型目录中启用对此模型的访问。
</Note>

## 运行 PgVector

```bash theme={null}
docker run - d \
    - e POSTGRES_DB = ai \
    - e POSTGRES_USER = ai \
    - e POSTGRES_PASSWORD = ai \
    - e PGDATA = /var/lib/postgresql/data/pgdata \
    - v pgvolume: / var/lib/postgresql/data \
    - p 5532: 5432 \
    - -name pgvector \
    agnohq/pgvector: 16
```

# 用法

```python cookbook/embedders/aws_bedrock_embedder.py theme={null}

# 将句子嵌入数据库
embeddings = AwsBedrockEmbedder().get_embedding(
    "The quick brown fox jumps over the lazy dog."
)
# 打印嵌入及其维度
print(f"Embeddings: {embeddings[:5]}")
print(f"Dimensions: {len(embeddings)}")

# 结合 PDF 知识库的示例用法
knowledge_base = PDFUrlKnowledgeBase(
    urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
    reader=PDFUrlReader(
        chunk_size=2048
    ),  # 由于 Cohere 模型具有固定的 2048 大小，因此是必需的
    vector_db=PgVector(
        table_name="recipes",
        db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
        embedder=AwsBedrockEmbedder(),
    ),
)
knowledge_base.load(recreate=False)
```

# 参数

| 参数                      | 类型                         | 默认值                              | 描述                                                                                     |
| ----------------------- | -------------------------- | -------------------------------- | -------------------------------------------------------------------------------------- |
| `id`                    | `str`                      | `"cohere.embed-multilingual-v3"` | 要使用的模型 ID。您需要在 AWS Bedrock 模型目录中启用此模型。                                                 |
| `dimensions`            | `int`                      | `1024`                           | 模型生成的嵌入的维度（Cohere 模型为 1024）。                                                           |
| `input_type`            | `str`                      | `"search_query"`                 | 在前面加上特殊标记以区分类型。选项：'search\_document', 'search\_query', 'classification', 'clustering'。 |
| `truncate`              | `Optional[str]`            | `None`                           | 如何处理长度超过最大标记长度的输入。选项：'NONE', 'START', 'END'。                                           |
| `embedding_types`       | `Optional[List[str]]`      | `None`                           | 要返回的嵌入类型。选项：'float', 'int8', 'uint8', 'binary', 'ubinary'。                             |
| `aws_region`            | `Optional[str]`            | `None`                           | 要使用的 AWS 区域。如果未提供，将回退到 AWS\_REGION 环境变量。                                               |
| `aws_access_key_id`     | `Optional[str]`            | `None`                           | AWS 访问密钥 ID。如果未提供，将回退到 AWS\_ACCESS\_KEY\_ID 环境变量。                                      |
| `aws_secret_access_key` | `Optional[str]`            | `None`                           | AWS 密钥访问密钥。如果未提供，将回退到 AWS\_SECRET\_ACCESS\_KEY 环境变量。                                   |
| `session`               | `Optional[Session]`        | `None`                           | 用于身份验证的 boto3 Session 对象。                                                              |
| `request_params`        | `Optional[Dict[str, Any]]` | `None`                           | 要传递给 API 请求的附加参数。                                                                      |
| `client_params`         | `Optional[Dict[str, Any]]` | `None`                           | 要传递给 boto3 客户端的附加参数。                                                                   |
| `client`                | `Optional[AwsClient]`      | `None`                           | 用于发出 API 请求的 AWS Bedrock 客户端实例。                                                        |

# 开发人员资源

* 查看 [Cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/agent_concepts/knowledge/embedders/aws_bedrock_embedder.py)
