Reranking avec Velqa.dev — reclasser vos résultats de RAG (FR / AR)
Velqa propose le reranking multilingue via qwen3-reranker-8b (Alibaba), sur l'API https://api.velqa.dev/v1/rerank. Le reranker prend une requête et une liste de documents, puis les reclasse par pertinence réelle vis-à-vis de la requête — il complète l'embedding dans un pipeline RAG pour remonter les meilleurs passages avant de les envoyer au modèle de chat. Il est inclus dans tous les plans (Starter, Dev, Pro, Recharge Boost).
Pourquoi un reranker ?
La recherche par embeddings est rapide mais approximative : elle rapproche des vecteurs, pas forcément le sens exact. Un reranker relit chaque paire (requête, document) et attribue un relevance_score fin. Le schéma typique :
- L'embedding (
bge-m3ouqwen3-embedding-8b) récupère les 20–50 candidats les plus proches. qwen3-reranker-8bles reclasse et vous gardez le top 3–5.- Vous envoyez ce top au modèle de chat comme contexte.
Tarification
Facturé aux tokens d'entrée (requête + documents), sans tokens de sortie.
| Modèle | Type | Prix indicatif (MAD/M tokens input) |
|---|---|---|
qwen3-reranker-8b | Rerank | ~0,6 MAD |
Le prix exact est affiché dans le tableau de bord et dépend du taux de change USD/MAD en vigueur.
Exemple avec curl
curl https://api.velqa.dev/v1/rerank \
-H "Authorization: Bearer $VELQA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-reranker-8b",
"query": "Comment recharger mon solde en dirhams ?",
"documents": [
"Le paiement se fait en MAD depuis le tableau de bord.",
"Whisper transcrit l'\''audio en français et en darija.",
"Choisissez Recharger puis un montant en dirhams."
]
}'Exemple avec Python
import requests
resp = requests.post(
"https://api.velqa.dev/v1/rerank",
headers={"Authorization": "Bearer VELQA_API_KEY"},
json={
"model": "qwen3-reranker-8b",
"query": "Comment recharger mon solde en dirhams ?",
"documents": [
"Le paiement se fait en MAD depuis le tableau de bord.",
"Whisper transcrit l'audio en français et en darija.",
"Choisissez Recharger puis un montant en dirhams.",
],
},
)
for r in resp.json()["results"]:
print(round(r["relevance_score"], 3), r["index"])La réponse contient results, une liste triée du plus pertinent au moins pertinent, où chaque élément expose index (position du document dans votre requête) et relevance_score. Réordonnez vos documents avec index et gardez les meilleurs pour votre contexte.
Voir aussi
- Embeddings — la première étape du pipeline RAG.
- Modèles disponibles — catalogue complet et prix en MAD.
