Des vecteurs pour vos documents, calculés en France.
L'endpoint d'embeddings d'Evanesca transforme du texte en vecteurs pour la recherche et la génération augmentée par récupération (RAG), au format d'OpenAI. Les deux modèles d'embedding tournent en France — chez Scaleway à Paris —, et chaque appel est payé au token d'entrée, sur le même crédit prépayé que le chat.
BientôtOuverture prochaine : ce qui suit décrit le service tel qu'il fonctionnera.
Un appel, un vecteur par texte
Envoyez model et input — une chaîne ou un tableau de chaînes — à POST /embeddings. La réponse est une liste avec un vecteur par entrée, dans l'ordre d'envoi, et un bloc usage avec les tokens d'entrée payés. La clé est la même que pour le chat (les clés).
curl https://evanesca.app/api/v1/embeddings \
-H "Authorization: Bearer $EVANESCA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-embedding-8b",
"input": ["Clause 4.2 du contrat", "Export de la paie, mars"]
}'import os
from openai import OpenAI
client = OpenAI(base_url="https://evanesca.app/api/v1", api_key=os.environ["EVANESCA_API_KEY"])
vectors = client.embeddings.create(
model="qwen3-embedding-8b",
input=["Clause 4.2 du contrat", "Export de la paie, mars"],
)
print(len(vectors.data[0].embedding)) # 4096import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://evanesca.app/api/v1", apiKey: process.env.EVANESCA_API_KEY });
const vectors = await client.embeddings.create({
model: "qwen3-embedding-8b",
input: ["Clause 4.2 du contrat", "Export de la paie, mars"],
});
console.log(vectors.data[0].embedding.length); // 4096package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{"model": "qwen3-embedding-8b", "input": ["Clause 4.2 du contrat", "Export de la paie, mars"]}`)
req, err := http.NewRequest("POST", "https://evanesca.app/api/v1/embeddings", body)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("EVANESCA_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(res.Status, string(out))
}{
"object": "list",
"model": "qwen3-embedding-8b",
"data": [
{ "object": "embedding", "index": 0, "embedding": [ … ] },
{ "object": "embedding", "index": 1, "embedding": [ … ] }
],
"usage": { "prompt_tokens": 14, "total_tokens": 14 }
}Les modèles d'embedding
Tous tournent en France, chez un opérateur français sans maison mère américaine. Les dimensions ont été mesurées par un vrai appel ; la fenêtre de contexte est la limite que l'opérateur annonce.
| Modèle | Identifiant | Dimensions | Contexte (tokens) | Licence | Opéré par | Lieu | Prix / M tokens d'entrée | Fiche |
|---|---|---|---|---|---|---|---|---|
qwen3-embedding-8b | 4 096 | 40 960 | Apache-2.0 | Scaleway | Paris, France | 0,168 € | Fiche du modèle | |
| BGE Multilingual Gemma2 | bge-multilingual-gemma2 | 3 584 | 8 192 | Gemma Terms of Use | Scaleway | Paris, France | 0,168 € | Fiche du modèle |
Prix par million de tokens d'entrée, marge et TVA comprises. Un embedding n'a pas de prix de sortie.
Ce que gardent les opérateurs
Scaleway applique une conservation zéro par défaut ; quand des requêtes provoquent des erreurs ou paraissent abusives, il peut en garder et en lire le contenu jusqu'à 14 jours (Scaleway).
BGE-M3 est en pause
Depuis le 20 octobre 2026, OVHcloud, le seul opérateur européen qui exécute BGE-M3 (bge-m3) pour Evanesca, ne le sert plus pour le moment : un appel répond 503, sans être facturé. En attendant, prenez Qwen3 Embedding 8B ou BGE Multilingual Gemma2 — et réindexez d'abord, car les vecteurs de deux modèles ne se comparent pas.
Comment choisir
Décidez avant d'indexer quoi que ce soit : la longueur du vecteur entre dans le schéma de votre base, et changer de modèle ensuite oblige à recalculer tous les vecteurs.
- Vecteurs les plus courts : BGE Multilingual Gemma2, 3 584 dimensions — plus légers à stocker et à parcourir.
- Vecteurs les plus longs : Qwen3 Embedding 8B, 4 096 dimensions.
- Textes les plus longs : Qwen3 Embedding 8B lit jusqu'à 40 960 tokens par entrée, les autres s'arrêtent à 8 192. Découpez vos documents à cette taille.
- Prix le plus bas : Qwen3 Embedding 8B et BGE Multilingual Gemma2, 0,168 € par million de tokens d'entrée.
- Licence : Qwen3 Embedding 8B sous licence permissive (Apache-2.0) ; BGE Multilingual Gemma2 relève des conditions d'utilisation de Gemma de Google, pas d'une licence open source — lisez-les avant de bâtir dessus.
Recherche et réponse, toutes deux en Europe
Un RAG demande deux modèles : l'un transforme vos documents et la question en vecteurs, l'autre rédige la réponse à partir des passages retrouvés. Avec un modèle d'embedding de cette page, exécuté en France, et l'un des modèles de chat d'Evanesca, tous exécutés en Europe, les deux moitiés restent en Europe, avec la même clé.
- Découper
Coupez vos documents en passages qui tiennent dans la fenêtre de contexte du modèle.
- Vectoriser et ranger
Envoyez les passages à /embeddings, et gardez les vecteurs dans votre base vectorielle, à côté du texte.
- Retrouver
Vectorisez la question avec le même modèle et cherchez les passages les plus proches.
- Répondre
Envoyez la question et ces passages à /chat/completions, avec l'un des modèles de chat d'Evanesca, tous exécutés en Europe.
Vos vecteurs vivent dans votre propre base. D'un appel d'embeddings, Evanesca note le modèle, le nombre de tokens et le coût — ni texte, ni vecteur.
Facturation
Un appel d'embeddings ne consomme que des tokens d'entrée, payés au prix d'entrée du modèle sur votre crédit prépayé. Pas de prix de sortie, pas d'abonnement : les recharges commencent à 2 € et le crédit n'expire pas (tarifs).
Questions fréquentes
Puis-je utiliser le SDK d'OpenAI pour les embeddings ?
Oui : donnez l'URL de base d'Evanesca à base_url, et client.embeddings.create fonctionne tel quel. Gardez le même modèle pour indexer et pour interroger : les vecteurs de deux modèles différents ne se comparent pas.
Evanesca garde-t-elle mes documents ou mes vecteurs ?
Non. Les textes restent en mémoire le temps que l'opérateur calcule les vecteurs ; de l'appel, Evanesca note le modèle, le nombre de tokens et le coût. Les vecteurs vous reviennent et vivent dans votre propre base. Côté opérateur, une exception : quand des requêtes provoquent des erreurs ou paraissent abusives, Scaleway peut en garder et en lire le contenu jusqu'à 14 jours.
Quel modèle d'embedding coûte le moins cher ?
Qwen3 Embedding 8B et BGE Multilingual Gemma2, à 0,168 € par million de tokens d'entrée, TVA comprise. Il n'y a pas de prix de sortie : un embedding ne produit aucun token de sortie.
Puis-je associer un modèle d'embedding à n'importe quel modèle de chat ?
Oui. Recherche et réponse sont deux appels séparés : n'importe quel modèle de chat peut utiliser les passages retrouvés. Ceux d'Evanesca tournent tous en Europe : les deux moitiés de votre RAG y restent.
Vos vecteurs, calculés en France.
Une clé, le SDK d'OpenAI que vous avez déjà, et l'URL de base d'Evanesca.