|
| 1 | +## Bedrock Embedding |
| 2 | + |
| 3 | +## Supported Embedding Models |
| 4 | + |
| 5 | +| Provider | LiteLLM Route | AWS Documentation | |
| 6 | +|----------|---------------|-------------------| |
| 7 | +| Amazon Titan | `bedrock/amazon.*` | [Amazon Titan Embeddings](https://docs.aws.amazon.com/bedrock/latest/userguide/titan-embedding-models.html) | |
| 8 | +| Cohere | `bedrock/cohere.*` | [Cohere Embeddings](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-cohere-embed.html) | |
| 9 | +| TwelveLabs | `bedrock/us.twelvelabs.*` | [TwelveLabs](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-twelvelabs.html) | |
| 10 | + |
| 11 | +### API keys |
| 12 | +This can be set as env variables or passed as **params to litellm.embedding()** |
| 13 | +```python |
| 14 | +import os |
| 15 | +os.environ["AWS_ACCESS_KEY_ID"] = "" # Access key |
| 16 | +os.environ["AWS_SECRET_ACCESS_KEY"] = "" # Secret access key |
| 17 | +os.environ["AWS_REGION_NAME"] = "" # us-east-1, us-east-2, us-west-1, us-west-2 |
| 18 | +``` |
| 19 | + |
| 20 | +## Usage |
| 21 | +### LiteLLM Python SDK |
| 22 | +```python |
| 23 | +from litellm import embedding |
| 24 | +response = embedding( |
| 25 | + model="bedrock/amazon.titan-embed-text-v1", |
| 26 | + input=["good morning from litellm"], |
| 27 | +) |
| 28 | +print(response) |
| 29 | +``` |
| 30 | + |
| 31 | +### LiteLLM Proxy Server |
| 32 | + |
| 33 | +#### 1. Setup config.yaml |
| 34 | +```yaml |
| 35 | +model_list: |
| 36 | + - model_name: titan-embed-v1 |
| 37 | + litellm_params: |
| 38 | + model: bedrock/amazon.titan-embed-text-v1 |
| 39 | + aws_access_key_id: os.environ/AWS_ACCESS_KEY_ID |
| 40 | + aws_secret_access_key: os.environ/AWS_SECRET_ACCESS_KEY |
| 41 | + aws_region_name: us-east-1 |
| 42 | + - model_name: titan-embed-v2 |
| 43 | + litellm_params: |
| 44 | + model: bedrock/amazon.titan-embed-text-v2:0 |
| 45 | + aws_access_key_id: os.environ/AWS_ACCESS_KEY_ID |
| 46 | + aws_secret_access_key: os.environ/AWS_SECRET_ACCESS_KEY |
| 47 | + aws_region_name: us-east-1 |
| 48 | +``` |
| 49 | +
|
| 50 | +#### 2. Start Proxy |
| 51 | +```bash |
| 52 | +litellm --config /path/to/config.yaml |
| 53 | +``` |
| 54 | + |
| 55 | +#### 3. Use with OpenAI Python SDK |
| 56 | +```python |
| 57 | +import openai |
| 58 | +client = openai.OpenAI( |
| 59 | + api_key="anything", |
| 60 | + base_url="http://0.0.0.0:4000" |
| 61 | +) |
| 62 | + |
| 63 | +response = client.embeddings.create( |
| 64 | + input=["good morning from litellm"], |
| 65 | + model="titan-embed-v1" |
| 66 | +) |
| 67 | +print(response) |
| 68 | +``` |
| 69 | + |
| 70 | +#### 4. Use with LiteLLM Python SDK |
| 71 | +```python |
| 72 | +import litellm |
| 73 | +response = litellm.embedding( |
| 74 | + model="titan-embed-v1", # model alias from config.yaml |
| 75 | + input=["good morning from litellm"], |
| 76 | + api_base="http://0.0.0.0:4000", |
| 77 | + api_key="anything" |
| 78 | +) |
| 79 | +print(response) |
| 80 | +``` |
| 81 | + |
| 82 | +## Supported AWS Bedrock Embedding Models |
| 83 | + |
| 84 | +| Model Name | Usage | Supported Additional OpenAI params | |
| 85 | +|----------------------|---------------------------------------------|-----| |
| 86 | +| Titan Embeddings V2 | `embedding(model="bedrock/amazon.titan-embed-text-v2:0", input=input)` | [here](https://github.com/BerriAI/litellm/blob/f5905e100068e7a4d61441d7453d7cf5609c2121/litellm/llms/bedrock/embed/amazon_titan_v2_transformation.py#L59) | |
| 87 | +| Titan Embeddings - V1 | `embedding(model="bedrock/amazon.titan-embed-text-v1", input=input)` | [here](https://github.com/BerriAI/litellm/blob/f5905e100068e7a4d61441d7453d7cf5609c2121/litellm/llms/bedrock/embed/amazon_titan_g1_transformation.py#L53) |
| 88 | +| Titan Multimodal Embeddings | `embedding(model="bedrock/amazon.titan-embed-image-v1", input=input)` | [here](https://github.com/BerriAI/litellm/blob/f5905e100068e7a4d61441d7453d7cf5609c2121/litellm/llms/bedrock/embed/amazon_titan_multimodal_transformation.py#L28) | |
| 89 | +| TwelveLabs Marengo Embed 2.7 | `embedding(model="bedrock/us.twelvelabs.marengo-embed-2-7-v1:0", input=input)` | Supports multimodal input (text, video, audio, image) | |
| 90 | +| Cohere Embeddings - English | `embedding(model="bedrock/cohere.embed-english-v3", input=input)` | [here](https://github.com/BerriAI/litellm/blob/f5905e100068e7a4d61441d7453d7cf5609c2121/litellm/llms/bedrock/embed/cohere_transformation.py#L18) |
| 91 | +| Cohere Embeddings - Multilingual | `embedding(model="bedrock/cohere.embed-multilingual-v3", input=input)` | [here](https://github.com/BerriAI/litellm/blob/f5905e100068e7a4d61441d7453d7cf5609c2121/litellm/llms/bedrock/embed/cohere_transformation.py#L18) |
| 92 | + |
| 93 | +### Advanced - [Drop Unsupported Params](https://docs.litellm.ai/docs/completion/drop_params#openai-proxy-usage) |
| 94 | + |
| 95 | +### Advanced - [Pass model/provider-specific Params](https://docs.litellm.ai/docs/completion/provider_specific_params#proxy-usage) |
0 commit comments