Qwen: Qwen3 Embedding 8B
Qwen3-Embedding-8B transforme le texte en vecteurs sémantiques pour la recherche multilingue, la recherche de code, la classification et le regroupement. Il prend en charge une longueur de séquence de 32K tokens et des dimensions de plongement personnalisées de 32 à 4096.
À 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-8B est le modèle de plongement textuel 8B de Qwen, construit à partir du modèle de fondation dense Qwen3. Il représente le texte sous forme de vecteurs numériques, plutôt que de générer des réponses conversationnelles. Qwen répertorie la recherche textuelle, la recherche de code, la classification, le regroupement et l’extraction de textes parallèles parmi les domaines d’application pris en charge. Un système de recherche peut utiliser ces vecteurs pour comparer une question à des passages pertinents ; une collection documentaire peut les utiliser pour trouver des matériaux sémantiquement liés ou organiser les enregistrements en groupes.
Le modèle exact prend en charge une longueur de séquence de 32K tokens et des plongements pouvant atteindre 4096 dimensions. Il prend aussi en charge des dimensions de sortie définies par l’utilisateur, de 32 à 4096, grâce à Matryoshka Representation Learning. La longueur vectorielle devient ainsi un choix de conception délibéré : un vecteur plus court modifie la taille de la représentation, tandis que la sortie complète préserve la dimension maximale du modèle. Gardez la dimension choisie cohérente pour les documents et les requêtes comparés dans un même index. Qwen3-Embedding-4B est une édition distincte avec une dimension maximale différente, plutôt qu’une source vectorielle interchangeable pour une collection 8B existante.
Le producteur décrit la prise en charge de plus de 100 langues, y compris des langages de programmation, ainsi que de la recherche multilingue, entre langues et dans le code. Une collection concrète peut contenir des documents en plusieurs langues tandis que les requêtes recherchent le sens pertinent, ou des passages de code source indexés pour une question en langue naturelle. Préservez les identifiants importants, les titres et les termes du domaine dans l’entrée. Pour le code, gardez l’explication entourant la fonction ou le module avec l’extrait lorsque ce contexte fait partie de la question. La sortie reste une représentation vectorielle ; renvoyer le texte documentaire correspondant constitue l’étape suivante de l’application de recherche.
Le modèle tient compte des instructions. Qwen recommande une instruction d’une phrase adaptée à la tâche de recherche et, pour un usage multilingue, recommande de rédiger cette instruction en anglais. Son exemple direct met une requête en forme avec Instruct: suivi de la description de la tâche, puis Query: suivi de la question. Dans cet exemple, les documents de recherche n’ont pas besoin du même préfixe d’instruction. Un cahier des charges original adapté pourrait décrire la recherche de passages techniques expliquant une erreur de l’utilisateur, puis placer la description précise de l’erreur dans la requête. L’instruction décrit le type de relation sémantique que la recherche doit privilégier.
Les exemples de Qwen encodent séparément les requêtes et les documents, comparent leurs vecteurs par similarité cosinus et montrent une procédure de plus bas niveau qui utilise l’état caché du dernier token comme représentation agrégée et normalise le plongement avant une comparaison par produit scalaire. Un processus utile garde le vecteur de chaque passage attaché à son identifiant source, compare une requête préparée aux vecteurs stockés et renvoie les passages correspondants dans l’ordre de similarité. Le réglage de troncature de 8192 tokens de l’exemple est un réglage choisi de traitement d’entrée, distinct de la longueur de séquence documentée de 32K du modèle. Vérifiez ce qui est conservé lorsque vous préparez des entrées longues.
Les modèles de plongement et de reclassement sont des composants différents de la publication de Qwen. Un modèle de plongement représente un segment de texte et permet une recherche initiale par similarité. Un reclasseur distinct évalue la relation entre une requête et des passages candidats et peut affiner leur ordre. Qwen décrit la combinaison des deux modules, mais Qwen3-Embedding-8B renvoie lui-même des plongements, plutôt que le jugement de pertinence d’un reclasseur ou une réponse écrite. Pour une recherche suivie d’une réponse, conservez le texte source correspondant et transmettez ces éléments à l’étape de réponse. Choisissez et gardez un modèle, une dimension et une instruction de requête cohérents pour la collection interrogée.
Ailoot Ultra · Embeddings POST /v1/embeddings qwen/qwen3-embedding-8b
qwen/qwen3-embedding-8bPremiers pas
Qwen3-Embedding-8B transforme le texte en vecteurs sémantiques pour la recherche multilingue, la recherche de code, la classification et le regroupement. Il prend en charge une longueur de séquence de 32K tokens et des dimensions de plongement personnalisées de 32 à 4096.
- Entrées acceptées
- Texte · token_ids
- Résultats
- embedding
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Embeddings POST /v1/embeddings
- Types d’entrée
text,token_ids- Types de sortie
embedding- Contexte
- 32 768 tokens
- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites qwen/qwen3-embedding-8b | 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 tokens: éléments du tableau de tokens | 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: 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: 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: 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
- Tarif standard Lorsque le mode rapide est sélectionné
- Mode Flex
- Tarif standard Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Tarif standard 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 tokens | Barème tarifaireTarif de base | Coût Entrée · Tokens en entrée $0.00002 / 1K tokens Sortie · Tokens en sortie $0 / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
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-8b", "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-8b',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 contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra qwen/qwen3-embedding-8b
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 8B
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/embeddings·qwen/qwen3-embedding-8b:text,token_ids→embedding- Quels champs la requête utilise-t-elle ?
POST /v1/embeddings·qwen/qwen3-embedding-8b:model,input,encoding_format,provider- Quelles limites s’appliquent ?
POST /v1/embeddings·qwen/qwen3-embedding-8b:ctx:32768;input.budget.maximum:32768(octets UTF8);input.min_items:1