Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 118 additions & 0 deletions docs/community/model-providers/ovhcloud-ai-endpoints.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# OVHcloud AI Endpoints

{{ community_contribution_banner }}

[OVHcloud](https://www.ovhcloud.com) is a global player and the leading European cloud provider operating over 450,000 servers within 40 data centers across 4 continents to reach 1.6 million customers in over 140 countries. [OVHcloud AI Endpoints](https://www.ovhcloud.com/en/public-cloud/ai-endpoints/) offers access to various models with sovereignty, data privacy and GDPR compliance.

OVHcloud AI Endpoints provides OpenAI-compatible API access to a wide range of language models. This allows easy and portable integration with the Strands Agents SDK using the familiar OpenAI interface.

## Installation

The Strands Agents SDK provides access to OVHcloud AI Endpoints models through the OpenAI compatibility layer, configured as an optional dependency. To install, run:

```bash
pip install 'strands-agents[openai]' strands-agents-tools
```

## Usage

After installing the `openai` package, you can import and initialize the Strands Agents' OpenAI-compatible provider for OVHcloud AI Endpoints models as follows:

```python
from strands import Agent
from strands.models.openai import OpenAIModel
from strands_tools import calculator

model = OpenAIModel(
client_args={
"api_key": "", # Optional: empty string or omit for free tier with rate limit
"base_url": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
},
model_id="Meta-Llama-3_3-70B-Instruct", # See catalog for available models
params={
"max_tokens": 5000,
"temperature": 0.1
}
)

agent = Agent(model=model, tools=[calculator])
agent("What is 2+2?")
```

### Using with an API Key

If you have an API key, you can use it to access higher rate limits and additional features:

```python
model = OpenAIModel(
client_args={
"api_key": "<OVHCLOUD_API_KEY>", # Your OVHcloud AI Endpoints API key
"base_url": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
},
model_id="Meta-Llama-3_3-70B-Instruct",
params={
"max_tokens": 5000,
"temperature": 0.1
}
)
```

## Configuration

### Client Configuration

The `client_args` configure the underlying OpenAI-compatible client. When using OVHcloud AI Endpoints, you must set:

* `api_key`: Your OVHcloud AI Endpoints API key (optional).
* **Free tier**: You can use an empty string `""` or omit the `api_key` parameter entirely to access the API with rate limits.
* **With API key**: To generate an API key, go to the [OVHcloud Manager](https://ovh.com/manager), then navigate to **Public Cloud** → **AI & Machine Learning** → **AI Endpoints** → **API keys**.
* `base_url`: `https://oai.endpoints.kepler.ai.cloud.ovh.net/v1`

### Model Configuration

The `model_config` specifies which OVHcloud AI Endpoints model to use and any additional parameters.

| Parameter | Description | Example | Options |
| ---------- | ------------------------- | ------------------------------------------ | ------------------------------------------------------------------ |
| `model_id` | Model name | `Meta-Llama-3_3-70B-Instruct` | See [OVHcloud AI Endpoints Catalog](https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/) |
| `params` | Model-specific parameters | `{"max_tokens": 5000, "temperature": 0.7}` | Standard OpenAI-compatible parameters |

## Getting an API Key

To generate an API key for OVHcloud AI Endpoints:

1. Go to the [OVHcloud Manager](https://ovh.com/manager)
2. Navigate to **Public Cloud** section
3. Select **AI & Machine Learning** → **AI Endpoints**
4. Go to **API keys** section
5. Create a new API key

You can use the API for free with rate limits if you don't provide an API key or use an empty string.

## Troubleshooting

### `ModuleNotFoundError: No module named 'openai'`

You must install the `openai` dependency to use this provider:

```bash
pip install 'strands-agents[openai]'
```

### Unexpected model behavior?

Ensure you're using a model ID from the [OVHcloud AI Endpoints Catalog](https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/), and your `base_url` is set to `https://oai.endpoints.kepler.ai.cloud.ovh.net/v1`.

### Rate limit errors

If you encounter rate limit errors, consider:
- Using an API key for higher rate limits
- Reviewing the [OVHcloud AI Endpoints documentation](https://www.ovhcloud.com/en/public-cloud/ai-endpoints/) for rate limit details

## References

* [OVHcloud AI Endpoints](https://www.ovhcloud.com/en/public-cloud/ai-endpoints/)
* [OVHcloud AI Endpoints Catalog](https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog/)
* [OVHcloud Manager](https://ovh.com/manager)
* [Strands Agents API](../../api-reference/models.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

<auto-redirect />

This guide has moved to [community/model-providers/ovhcloud-ai-endpoints](../../../community/model-providers/ovhcloud-ai-endpoints.md).

1 change: 1 addition & 0 deletions docs/user-guide/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,7 @@ Strands Agents supports several other model providers beyond Amazon Bedrock:
- **[Cohere <sup> community</sup>](../community/model-providers/cohere.md)** - Use Cohere models through an OpenAI compatible interface
- **[CLOVA Studio<sup> community</sup>](../community/model-providers/clova-studio.md)** - Korean-optimized AI models from Naver Cloud Platform
- **[FireworksAI<sup> community</sup>](../community/model-providers/fireworksai.md)** - Use FireworksAI models through an OpenAI compatible interface
- **[OVHcloud AI Endpoints<sup> community</sup>](../community/model-providers/ovhcloud-ai-endpoints.md)** - Use OVHcloud AI Endpoints models with sovereignty, data privacy and GDPR compliance.
- **[Custom Providers](concepts/model-providers/custom_model_provider.md)** - Build your own provider for specialized needs

## Capturing Streamed Data & Events
Expand Down
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ nav:
- Cohere<sup> community</sup>: user-guide/concepts/model-providers/cohere.md # ALWAYS ADD A SPACE BEFORE COMMUNITY
- CLOVA Studio<sup> community</sup>: user-guide/concepts/model-providers/clova-studio.md
- FireworksAI<sup> community</sup>: user-guide/concepts/model-providers/fireworksai.md
- OVHcloud AI Endpoints<sup> community</sup>: user-guide/concepts/model-providers/ovhcloud-ai-endpoints.md
- Streaming:
- Overview: user-guide/concepts/streaming/overview.md
- Async Iterators: user-guide/concepts/streaming/async-iterators.md
Expand Down Expand Up @@ -161,6 +162,7 @@ nav:
- Cohere: community/model-providers/cohere.md
- CLOVA Studio: community/model-providers/clova-studio.md
- Fireworks AI: community/model-providers/fireworksai.md
- OVHcloud AI Endpoints: community/model-providers/ovhcloud-ai-endpoints.md
- Session Managers:
- Amazon AgentCore Memory: community/session-managers/agentcore-memory.md
- Valkey/Redis: community/session-managers/strands-valkey-session-manager.md
Expand Down