Mistral : Codestral Embed 2505 est un modèle d'embeddings de Mistral, et OpenAI : Text Embedding 3 Small est un modèle d'embeddings d'OpenAI. Les deux appartiennent à la catégorie des embeddings, ce qui signifie qu'ils prennent du texte en entrée et renvoient des vecteurs en sortie plutôt que de générer des réponses de chat. Aucun des deux n'est un modèle de chat généraliste, donc vous n'appelleriez ni l'un ni l'autre pour rédiger une réponse ou tenir une conversation. Vous les appelleriez lorsque vous avez besoin d'une représentation numérique du texte pour la recherche, le clustering, la déduplication ou la classification.
Les deux modèles sont proches sur les spécifications qui comptent le plus ici. Tous deux acceptent le texte comme unique modalité d'entrée et renvoient des embeddings comme unique modalité de sortie, il n'y a donc aucune différence multimodale à peser. Tous deux ont une longueur de contexte de 8192 tokens, ce qui signifie que la quantité de texte que vous pouvez embedder en un seul appel est la même des deux côtés. Aucun n'expose de paramètres pris en charge, vous ne pouvez donc pas les ajuster avec des options supplémentaires au moment de la requête. La seule différence qualitative listée concerne le prix d'entrée, où le modèle OpenAI est le moins cher des deux. Le prix de sortie n'est pas significativement différent entre eux, donc l'écart de coût, tel qu'il est, provient du côté de l'entrée.
Pour la plupart des tâches d'embedding, le choix se résume à l'adéquation plutôt qu'à la capacité brute, car l'enveloppe de capacité est presque identique. Si vous embeddez du code, des identifiants ou du texte qui mélange langage naturel et code source, Codestral Embed 2505 est le candidat naturel vu son lignage. Si vous embeddez de la prose ordinaire pour la recherche sémantique, la récupération sur de la documentation ou le clustering de texte utilisateur, Text Embedding 3 Small est un choix par défaut raisonnable, et c'est l'option la moins chère en entrée, ce qui compte lorsque vous embeddez de grands corpus où le volume d'entrée domine. Si votre corpus est volumineux et majoritairement du texte brut, la différence de prix d'entrée est le principal argument pratique en faveur du modèle OpenAI. Si votre corpus est fortement orienté code, le modèle Mistral est celui à essayer en premier.
Appeler l'un ou l'autre modèle via api14 est la même opération. L'API est compatible OpenAI, vous pointez donc votre client existant vers l'URL de base api14, envoyez votre texte au point de terminaison des embeddings et définissez le champ model sur l'id souhaité. Pour utiliser le modèle Mistral, définissez l'id du modèle sur mistralai/codestral-embed-2505. Pour utiliser le modèle OpenAI, définissez-le sur openai/text-embedding-3-small. Rien d'autre dans la requête ne change, et la forme de la réponse est la même, vous pouvez donc passer de l'un à l'autre en modifiant cette seule chaîne. Cela rend peu coûteux de benchmarker les deux sur vos propres données avant de vous engager.
Il existe un cas où le modèle Mistral reste le meilleur choix même s'il coûte plus cher en entrée. Si votre texte est majoritairement du code ou proche du code, et que la qualité des vecteurs résultants pour ce type de contenu vous importe, le modèle Codestral est celui conçu pour ce matériau, et la différence de prix d'entrée peut valoir la peine d'être absorbée. À l'inverse, si votre charge de travail est du texte brut à fort volume et que le coût par token d'entrée est le facteur décisif, le modèle OpenAI est celui vers lequel se tourner. Comme les deux partagent la même longueur de contexte et les mêmes modalités d'entrée et de sortie, vous pouvez décider sur le seul critère du type de contenu et du coût d'entrée.