Integration guide · RAG framework (Python)
LlamaIndex on EU-hosted open models
Build LlamaIndex RAG pipelines and agents on EU-hosted open models with OpenAILike and OpenAILikeEmbedding pointed at Frontière AI. OpenAILike(model, api_base, api_key, …) from llama-index-llms-openai-like.
Tested on 13 October 2026. complete(), a tool call (with allow_parallel_tool_calls=True) and bge-m3 embeddings against the gateway, with llama-index-llms-openai-like 0.8.1 and gpt-oss-120b on OVHcloud (bge-m3 has been paused since 20 October 2026; the example now uses qwen3-embedding-8b).
- API format
- OpenAI-compatible
- Base URL
- https://getfrontiereai.eu/api/v1
- Where it goes
- OpenAILike(model, api_base, api_key, …) from llama-index-llms-openai-like.
- Your prompts
- Straight from your machine to us
Setup
1.LLM and embeddings
Two defaults bite: is_chat_model is False (LlamaIndex then calls the legacy completions endpoint, which Frontière AI does not serve) and context_window is 3,900 tokens. Set both, and is_function_calling_model for agents.
# pip install llama-index-llms-openai-like llama-index-embeddings-openai-like
from llama_index.llms.openai_like import OpenAILike
from llama_index.embeddings.openai_like import OpenAILikeEmbedding
llm = OpenAILike(
model="glm-5.2",
api_base="https://getfrontiereai.eu/api/v1",
api_key="sk-front-...",
context_window=256000,
is_chat_model=True,
is_function_calling_model=True,
)
embed_model = OpenAILikeEmbedding(
model_name="qwen3-embedding-8b",
api_base="https://getfrontiereai.eu/api/v1",
api_key="sk-front-...",
)Which model to pick
24 live models have tool calling measured by a real call through the gateway. Models labeled EU sovereign run at European providers; fast-access models are served through US-controlled infrastructure. Prices are per 100,000 tokens, margin and VAT included.
| Model id | Provider | Label | Context | Input | Output |
|---|---|---|---|---|---|
| pixtral-12b | Scaleway | EU sovereign | 131k | €0.0336 | €0.0336 |
| mistral-small-3.2-24b | Scaleway | EU sovereign | — | €0.0252 | €0.0588 |
| gemma-4-26b | AKI.IO | EU sovereign | 256k | €0.0168 | €0.084 |
| gpt-oss-120b | Scaleway | EU sovereign | — | €0.0252 | €0.1008 |
| mistral-small-4-119b | Mistral AI | EU sovereign | 262k | €0.0278 | €0.1109 |
| deepseek-v4-flash-0731 | Scaleway | EU sovereign | 256k | €0.0672 | €0.1344 |
| qwen3-coder-30b | Scaleway | EU sovereign | 262k | €0.0336 | €0.1344 |
| llama-3.3-70b | Scaleway | EU sovereign | — | €0.1512 | €0.1512 |
| qwen3.6-35b | Scaleway | EU sovereign | 262k | €0.042 | €0.252 |
| deepseek-v4.1-flash | AKI.IO | EU sovereign | 1M | €0.1008 | €0.3024 |
| qwen3-235b | Scaleway | EU sovereign | — | €0.126 | €0.378 |
| apertus-v1.5-70b | Infomaniak | EU sovereign | 100k | €0.1294 | €0.462 |
| qwen3.8-27b | Scaleway | EU sovereign | 262k | €0.1008 | €0.5544 |
| qwen3.5-397b | Scaleway | EU sovereign | — | €0.1008 | €0.6048 |
| mistral-large-4 | Mistral AI | EU sovereign | 524k | €0.2514 | €0.7725 |
| glm-5.2 | Scaleway | EU sovereign | 256k | €0.3024 | €0.924 |
| glm-5.3 | AKI.IO | EU sovereign | 524k | €0.3024 | €0.924 |
| gemma-3-27b | OpenRouter | Fast access (US) | 131k | €0.0135 | €0.074 |
| qwen3.8-flash | OpenRouter | Fast access (US) | — | €0.0252 | €0.0773 |
| glm-5.3-flash | Modal | Fast access (US) | 1M | €0.0689 | €0.2268 |
| deepseek-v4-pro | OpenRouter | Fast access (US) | — | €0.2453 | €0.5124 |
| muse-spark-1.1 | OpenRouter | Fast access (US) | — | €0.205 | €0.6956 |
| muse-spark-1.2 | OpenRouter | Fast access (US) | — | €0.205 | €0.6956 |
| kimi-k3 | Modal | Fast access (US) | 1M | €0.4536 | €2.268 |
Good to know
- One OpenAILike instance per model; the embedding class takes model_name, not model.
- Pass allow_parallel_tool_calls=True to chat_with_tools and agents: LlamaIndex otherwise sends parallel_tool_calls=false, which OVHcloud-hosted models refuse with HTTP 400 (measured on 2026-10-13).
- Only set is_function_calling_model=True on models with measured tool calling.
Where your prompts go
The library runs in your Python process and calls api_base directly; nothing in OpenAILike routes through LlamaCloud.
On our side, a model labeled EU sovereign runs at a European provider, and the gateway itself runs in Paris on Vercel, a US company — our privacy page says so. Billing keeps the model, the token counts and the amount, never the prompt or the reply.
Sources
Official documentation, checked on 12 October 2026:
FAQ
Does LlamaIndex work with Frontière AI?
Yes. OpenAILike(model, api_base, api_key, …) from llama-index-llms-openai-like. We ran it ourselves: complete(), a tool call (with allow_parallel_tool_calls=True) and bge-m3 embeddings against the gateway, with llama-index-llms-openai-like 0.8.1 and gpt-oss-120b on OVHcloud (bge-m3 has been paused since 20 October 2026; the example now uses qwen3-embedding-8b).
Which Frontière AI model should I use with LlamaIndex?
One with measured tool calling, preferably labeled EU sovereign: pixtral-12b, mistral-small-3.2-24b, gemma-4-26b and gpt-oss-120b. The 24 candidates are listed on this page with their context window and price.
Do my prompts stay in Europe with LlamaIndex?
The library runs in your Python process and calls api_base directly; nothing in OpenAILike routes through LlamaCloud. On our side, a model labeled EU sovereign runs at a European provider, and the gateway itself runs in Paris on Vercel, a US company — our privacy page says so. Billing keeps the model, the token counts and the amount, never the prompt or the reply.
Other guides
Get a key and try it
Prepaid credit from €10, no subscription. The key works with every guide on this site.
Create an API key