Qwen: Qwen3 Embedding 4B
Qwen3-Embedding-4B représente le texte sous forme de vecteurs sémantiques pour la recherche multilingue, la recherche de code, la classification et le regroupement. Ce modèle 4B prend en charge des séquences de 32K jetons et des dimensions vectorielles personnalisées de 32 à 2 560.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Qwen3-Embedding-4B est l’édition 4B de plongement textuel de la famille de modèles de plongement et de reclassement de Qwen. Construit sur le modèle de fondation dense Qwen3, il convertit un segment de texte en une représentation numérique de son sens. Qwen cite la recherche de texte, la recherche de code, la classification, le regroupement et l’extraction de textes parallèles parmi les domaines d’application. Il est utile lorsqu’une application doit retrouver des passages liés, regrouper des enregistrements similaires ou comparer des textes entre langues. Le modèle produit un vecteur de plongement, et non une réponse conversationnelle ou un document réécrit.
Cette édition précise dispose d’une longueur de séquence de 32K jetons et d’une dimension de plongement allant jusqu’à 2 560. Elle prend en charge des dimensions de sortie personnalisées de 32 à 2 560 grâce à Matryoshka Representation Learning. La longueur vectorielle choisie influe sur le stockage et la comparaison de la représentation : conservez donc la même pour les vecteurs de requêtes et de documents au sein d’une collection. Qwen3-Embedding-8B possède une taille de modèle différente et une dimension maximale de 4 096; ni cette taille de sortie ni l’identité du modèle 8B ne s’appliquent à cette édition 4B. Un index existant doit conserver ses propres choix de représentation cohérents.
Le fabricant décrit la prise en charge de plus de 100 langues, y compris des langages de programmation, avec des fonctions de recherche multilingue, interlingue et de code. Par exemple, une recherche dans un centre d’aide peut comparer la question d’un utilisateur à des passages rédigés dans plusieurs langues, puis renvoyer les passages d’origine correspondant au sujet. Une recherche de code peut comparer une description en langage naturel à des fonctions pertinentes et à leur documentation. Lors de la préparation du texte, préservez les titres utiles, les termes du domaine et les identifiants, et conservez le lien entre chaque passage représenté et sa source pour que l’application puisse afficher les éléments correspondants.
Qwen3-Embedding-4B tient compte des instructions. Qwen recommande d’accompagner chaque requête d’une description de la tâche en une phrase, adaptée à la relation de recherche souhaitée, et préconise des instructions en anglais pour les scénarios multilingues. L’exemple direct place Instruct: avant la description de la tâche et Query: avant le texte de la requête. Les documents à rechercher sont encodés sans cette instruction de requête. Une instruction pratique originale peut demander de retrouver des passages de documentation expliquant une erreur signalée ou des extraits de code source mettant en œuvre le comportement décrit. Cela oriente la représentation vers la question de l’application, plutôt que de demander au modèle de rédiger une réponse.
Les exemples officiels encodent les textes des requêtes et des documents, comparent leurs plongements par similarité cosinus et montrent l’agrégation de l’état caché du dernier jeton suivie d’une normalisation. Dans cet exemple de plus bas niveau, l’entrée est tronquée selon un réglage choisi de 8 192 jetons; la longueur de séquence documentée du modèle reste de 32K. Pour des contenus longs, choisissez les passages à représenter et vérifiez que la troncature n’élimine pas silencieusement la partie dont la requête a besoin. Stockez les vecteurs avec des références de source stables, comparez la requête préparée à la collection et renvoyez les passages associés par ordre de similarité.
Le modèle de plongement de Qwen utilise une approche à double encodeur, tandis que ses modèles de reclassement distincts utilisent un encodeur croisé pour évaluer les paires requête–document. La publication décrit l’utilisation conjointe de ces modules : les plongements trouvent les premiers candidats, puis un modèle de reclassement peut affiner leur ordre. Qwen3-Embedding-4B fournit lui-même la représentation d’un seul texte. Son vecteur n’est ni un score de reclassement, ni une affirmation vérifiée, ni une réponse générée. Si le processus final répond à des questions à partir des éléments retrouvés, les passages sources sélectionnés restent les preuves transmises à cette étape ultérieure.
Ailoot Ultra · Embeddings POST /v1/embeddings qwen/qwen3-embedding-4b
qwen/qwen3-embedding-4bPour commencer
Qwen3-Embedding-4B représente le texte sous forme de vecteurs sémantiques pour la recherche multilingue, la recherche de code, la classification et le regroupement. Ce modèle 4B prend en charge des séquences de 32K jetons et des dimensions vectorielles personnalisées de 32 à 2 560.
- Entrées acceptées
- Texte · token_ids
- Résultats
- embedding
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Embeddings POST /v1/embeddings
- Entrée
text,token_ids- Sortie
embedding- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites qwen/qwen3-embedding-4b | Par défaut— |
Champinput | Typestring|string[]|integer[]|integer[][] | ExigenceObligatoire | Valeurs et limites Nombre minimal d’éléments: 1 Conditions: Lot homogène non vide. Les identifiants de jetons sont des entiers positifs ou nuls. Budget d’entrée : Maximum: 32 768 · Unité de texte: octets UTF8 · Unité de jetons: éléments du tableau de jetons | Par défaut— |
Champencoding_format | Typestring | ExigenceFacultatif | Valeurs et limites float | Par défautfloat |
Champdimensions | Typeinteger | ExigenceNon pris en charge | Valeurs et limites Minimum: 1 | Par défaut— |
Champuser | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Le code source autorise ce champ de métadonnées JSON ; sa sémantique exacte en amont dépend du modèle. | Par défaut— |
Champsession_id | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Le code source autorise ce champ de métadonnées JSON ; sa sémantique exacte en amont dépend du modèle. | Par défaut— |
Champtrace | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Le code source autorise ce champ de métadonnées JSON ; sa sémantique exacte en amont dépend du modèle. | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites Conditions: provider.options est refusé | Par défaut— |
Combinaisons d’éléments d’entrée
text_to_embedding
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, input |
Paramètreinput_shapes | Contratstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Paramètreencoding_format | Contratfloat |
Paramètredimensions_override | Contratfalse |
Paramètremax_input_budget_units | Contrat32768 |
Paramètremultimodal_objects | Contratfalse |
Paramètrematerial_types | Contrattext, token_ids |
Cycle de vie : synchronous_json
Conservez tous les indices et toutes les dimensions des vecteurs.
Un nom de modèle multimodal n’autorise pas les objets image sur ce chemin précis.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
| Configuration | Barème tarifaire | Coût |
|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Coût Entrée · Jetons en entrée $0.00004 / 1K jetons Sortie · Jetons en sortie $0 / 1K jetons Entrée · Lecture du cache — / 1K jetons Entrée · Écriture dans le cache — / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Embeddings
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen/qwen3-embedding-4b", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='qwen/qwen3-embedding-4b',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Recevoir et enregistrer les résultats
Ailoot Ultra · Embeddings
json
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez chaque vecteur avec son indice. Le nombre de vecteurs doit être égal au nombre d’entrées ; les dimensions doivent être cohérentes.
Si la réponse d’origine doit être vérifiée
Aucun point de terminaison dédié aux tâches d’embedding n’est ajouté.
Champs de la réponse
| Champ | Type |
|---|---|
Champobject | Typestring |
Champmodel | Typestring |
Champdata[].index | Typeinteger |
Champdata[].embedding | Typefinite float[] |
Champusage | Typeobject |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des éléments fournis ou valeur de paramètre invalides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra qwen/qwen3-embedding-4b
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Qwen: Qwen3 Embedding 4B
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/embeddings·qwen/qwen3-embedding-4b:text,token_ids→embedding- Quels champs la requête utilise-t-elle ?
POST /v1/embeddings·qwen/qwen3-embedding-4b:model,input,encoding_format,provider- Quelles limites s’appliquent ?
POST /v1/embeddings·qwen/qwen3-embedding-4b:input.budget.maximum:32768(octets UTF8);input.min_items:1