Aller au contenu principal
Velqa

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 :

  1. L'embedding (bge-m3 ou qwen3-embedding-8b) récupère les 20–50 candidats les plus proches.
  2. qwen3-reranker-8b les reclasse et vous gardez le top 3–5.
  3. 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èleTypePrix indicatif (MAD/M tokens input)
qwen3-reranker-8bRerank~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