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
6 changes: 6 additions & 0 deletions core/llm/llms/OVHcloud.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,16 @@ export class OVHcloud extends OpenAI {
"llama3.1-70b": "Meta-Llama-3_1-70B-Instruct",
"llama3.3-70b": "Meta-Llama-3_3-70B-Instruct",
"qwen2.5-coder-32b": "Qwen2.5-Coder-32B-Instruct",
"qwen3-32b": "Qwen3-32B",
"qwen3-coder-30b-a3b": "Qwen3-Coder-30B-A3B-Instruct",
"qwen2.5-vl-72b": "Qwen2.5-VL-72B-Instruct",
"codestral-mamba-latest": "mamba-codestral-7B-v0.1",
"mistral-7b": "Mistral-7B-Instruct-v0.3",
"mistral-8x7b": "Mixtral-8x7B-Instruct-v0.1",
"mistral-nemo": "Mistral-Nemo-Instruct-2407",
"mistral-small-3.2-24b": "Mistral-Small-3.2-24B-Instruct-2506",
"gpt-oss-20b": "gpt-oss-20b",
"gpt-oss-120b": "gpt-oss-120b",
"DeepSeek-R1-Distill-Llama-70B": "DeepSeek-R1-Distill-Llama-70B",
};

Expand Down
23 changes: 23 additions & 0 deletions core/llm/toolSupport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,29 @@ export const PROVIDER_TOOL_SUPPORT: Record<string, (model: string) => boolean> =
}
}

return false;
},
ovhcloud: (model) => {
const lower = model.toLowerCase();

// Models that support tools according to OVHcloud AI Endpoints catalog
const toolSupportingModels = [
"llama-3.1-8b-instruct",
"qwen3-32b",
"qwen3-coder-30b-a3b-instruct",
"meta-llama-3_3-70b-instruct",
"deepseek-r1-distill-llama-70b",
"mistral-small-3.2-24b-instruct-2506",
"gpt-oss-120b",
"mistral-nemo-instruct-2407",
"gpt-oss-20b",
"qwen2.5-coder-32b-instruct",
];

if (toolSupportingModels.some((m) => lower === m)) {
return true;
}

return false;
},
};
Expand Down
82 changes: 81 additions & 1 deletion docs/customize/model-providers/more/ovhcloud.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,50 @@ OVHcloud AI Endpoints is a serverless inference API that provides access to a cu
## Chat model

We recommend configuring **Qwen2.5-Coder-32B-Instruct** as your chat model.
Check our [catalog](https://endpoints.ai.cloud.ovh.net/catalog) to see all of our models hsoted on AI Endpoints.
Check our [catalog](https://endpoints.ai.cloud.ovh.net/catalog) to see all of our models hosted on AI Endpoints.

### Available Models

OVHcloud AI Endpoints provides access to the following models:

**Llama Models:**
- `llama3.1-8b` - Llama 3.1 8B Instruct (supports function calling)
- `llama3.1-70b` - Llama 3.1 70B Instruct
- `llama3.3-70b` - Llama 3.3 70B Instruct (supports function calling)

**Qwen Models:**
- `qwen2.5-coder-32b` - Qwen 2.5 Coder 32B Instruct (supports function calling)
- `qwen3-32b` - Qwen 3 32B (supports function calling)
- `qwen3-coder-30b-a3b` - Qwen 3 Coder 30B A3B Instruct (supports function calling)
- `qwen2.5-vl-72b` - Qwen 2.5 VL 72B Instruct (vision-language model)

**Mistral Models:**
- `mistral-7b` - Mistral 7B Instruct v0.3
- `mistral-8x7b` - Mixtral 8x7B Instruct v0.1
- `mistral-nemo` - Mistral Nemo Instruct 2407 (supports function calling)
- `mistral-small-3.2-24b` - Mistral Small 3.2 24B Instruct (supports function calling)

**OpenAI Models:**
- `gpt-oss-20b` - GPT-OSS 20B (supports function calling)
- `gpt-oss-120b` - GPT-OSS 120B (supports function calling)

**DeepSeek Models:**
- `DeepSeek-R1-Distill-Llama-70B` - DeepSeek R1 Distill Llama 70B (supports function calling)

**Other Models:**
- `codestral-mamba-latest` - Codestral Mamba 7B v0.1

### Function Calling Support

Many OVHcloud models support function calling (tool use), which enables the model to interact with external tools and APIs. Models with function calling support include:

- Llama 3.1 8B, Llama 3.3 70B
- All Qwen 3 models and Qwen 2.5 Coder
- GPT-OSS 20B and 120B
- DeepSeek R1 Distill Llama 70B
- Mistral Small 3.2 24B, Mistral Nemo

Function calling is automatically enabled for supported models when using Continue.

<Tabs>
<Tab title="YAML">
Expand Down Expand Up @@ -47,6 +90,43 @@ Check our [catalog](https://endpoints.ai.cloud.ovh.net/catalog) to see all of ou
</Tab>
</Tabs>

### Example: Model with Function Calling

Here's an example configuration for a model that supports function calling:

<Tabs>
<Tab title="YAML">
```yaml title="config.yaml"
name: My Config
version: 0.0.1
schema: v1

models:
- name: GPT-OSS-120B
provider: ovhcloud
model: gpt-oss-120b
apiKey: <YOUR_AIENDPOINTS_API_KEY>
capabilities:
- tool_use
```
</Tab>
<Tab title="JSON">
```json title="config.json"
{
"models": [
{
"title": "GPT-OSS-120B",
"provider": "ovhcloud",
"model": "gpt-oss-120b",
"apiKey": "<YOUR_AIENDPOINTS_API_KEY>",
"capabilities": ["tool_use"]
}
]
}
```
</Tab>
</Tabs>

## Embeddings model

We recommend configuring **bge-multilingual-gemma2** as your embeddings model.
Expand Down
6 changes: 6 additions & 0 deletions extensions/vscode/config_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1414,10 +1414,16 @@
"llama3.1-70b",
"llama3.3-70b",
"qwen2.5-coder-32b",
"qwen3-32b",
"qwen3-coder-30b-a3b",
"qwen2.5-vl-72b",
"codestral-mamba-latest",
"mistral-7b",
"mistral-8x7b",
"mistral-nemo",
"mistral-small-3.2-24b",
"gpt-oss-20b",
"gpt-oss-120b",
"DeepSeek-R1-Distill-Llama-70B"
]
},
Expand Down
87 changes: 82 additions & 5 deletions gui/src/pages/AddNewModel/configs/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,24 @@ export const models: { [key: string]: ModelPackage } = {
contextLength: 128_000,
},
icon: "openai.png",
providerOptions: ["vllm"],
dimensions: [
{
name: "Provider",
description: "The provider to use for this model",
options: {
vllm: {
model: "openai/gpt-oss-20b",
title: "gpt-oss-20b (vLLM)",
},
ovhcloud: {
model: "gpt-oss-20b",
title: "gpt-oss-20b (OVHcloud)",
contextLength: 131072,
},
},
},
],
providerOptions: ["vllm", "ovhcloud"],
isOpenSource: true,
},
gptOss120B: {
Expand All @@ -112,7 +129,24 @@ export const models: { [key: string]: ModelPackage } = {
contextLength: 128_000,
},
icon: "openai.png",
providerOptions: ["vllm"],
dimensions: [
{
name: "Provider",
description: "The provider to use for this model",
options: {
vllm: {
model: "openai/gpt-oss-120b",
title: "gpt-oss-120b (vLLM)",
},
ovhcloud: {
model: "gpt-oss-120b",
title: "gpt-oss-120b (OVHcloud)",
contextLength: 131072,
},
},
},
],
providerOptions: ["vllm", "ovhcloud"],
isOpenSource: true,
},
llama318BChat: {
Expand Down Expand Up @@ -1896,6 +1930,49 @@ export const models: { [key: string]: ModelPackage } = {
providerOptions: ["scaleway", "nebius", "ovhcloud", "ncompass"],
isOpenSource: true,
},
Qwen3Coder30BA3B: {
title: "Qwen 3 Coder 30B A3B",
description:
"Qwen3-Coder-30B-A3B-Instruct is Alibaba Cloud's advanced code-specialized LLM that excels in agentic coding tasks and supports extended context lengths for handling large code repositories.",
refUrl: "https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct",
params: {
title: "Qwen 3 Coder 30B A3B",
model: "qwen3-coder-30b-a3b",
contextLength: 262144,
},
icon: "qwen.png",
providerOptions: ["ovhcloud"],
isOpenSource: true,
},
Qwen25VL72B: {
title: "Qwen 2.5 VL 72B",
description:
"Qwen2.5-VL is a powerful vision-language model, designed for advanced image understanding. It can generate detailed image captions, analyze documents, OCR, detect objects, and answer questions based on visuals.",
refUrl: "https://huggingface.co/Qwen/Qwen2.5-VL-72B-Instruct",
params: {
title: "Qwen 2.5 VL 72B",
model: "qwen2.5-vl-72b",
contextLength: 32768,
},
icon: "qwen.png",
providerOptions: ["ovhcloud"],
isOpenSource: true,
},
MistralSmall32: {
title: "Mistral Small 3.2 24B",
description:
"Building upon Mistral Small 3 (2501), Mistral Small 3.2 (2506) adds state-of-the-art vision understanding and enhances long context capabilities up to 128k tokens without compromising text performance.",
refUrl:
"https://huggingface.co/mistralai/Mistral-Small-3.2-24B-Instruct-2506",
params: {
title: "Mistral Small 3.2 24B",
model: "mistral-small-3.2-24b",
contextLength: 131072,
},
icon: "mistral.png",
providerOptions: ["ovhcloud"],
isOpenSource: true,
},
grokCodeFast1: {
title: "Grok Code Fast 1",
description:
Expand Down Expand Up @@ -2215,11 +2292,11 @@ export const models: { [key: string]: ModelPackage } = {
description: "Qwen 3 32B model from Alibaba",
params: {
title: "Qwen 3 32B",
model: "Qwen3-32B",
contextLength: 8192,
model: "qwen3-32b",
contextLength: 32768,
},
icon: "qwen.png",
providerOptions: ["sambanova"],
providerOptions: ["sambanova", "ovhcloud"],
isOpenSource: true,
},
gptOss120b: {
Expand Down
6 changes: 6 additions & 0 deletions gui/src/pages/AddNewModel/configs/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,12 @@ export const providers: Partial<Record<string, ProviderInfo>> = {
models.mistralOs,
models.mistralNemo,
models.Qwen25Coder32b,
models.Qwen3Coder30BA3B,
models.Qwen25VL72B,
models.qwen332B,
models.MistralSmall32,
models.gptOss20B,
models.gptOss120B,
models.deepseekR1DistillLlama70B,
],
apiKeyUrl: "https://endpoints.ai.cloud.ovh.net/",
Expand Down