Skip to content

[embeddings-computer]: Create#409

Open
parmentf wants to merge 4 commits into
mainfrom
services/embeddings-computer/create
Open

[embeddings-computer]: Create#409
parmentf wants to merge 4 commits into
mainfrom
services/embeddings-computer/create

Conversation

@parmentf
Copy link
Copy Markdown
Contributor

No description provided.

@parmentf parmentf requested review from Luc-Ank and leogail March 16, 2026 15:15
@parmentf parmentf self-assigned this Mar 16, 2026
@parmentf parmentf added the enhancement New feature or request label Mar 16, 2026
Comment on lines +27 to +28
// IMPORTANT : chemin *logique* du modèle à l’intérieur de /models
// Si tu as /models/Xenova/all-MiniLM-L6-v2, tu mets exactement :
Copy link
Copy Markdown
Collaborator

@leogail leogail Mar 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Je ne suis pas sûr de comprendre ce commentaire : le modèle est téléchargé dans un le dossier /models/Xenova ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oups. Ça se voit que ce n'est pas moi qui ai écrit ce commentaire ? :P
Le modèle est stocké dans models/Xenova/all-MiniLM-L6-v2 (sans / au début).

#!/usr/bin/env bash
set -euo pipefail

MODEL_ID="Xenova/all-MiniLM-L6-v2"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: Bonne idée de télécharger directement le modèle avec un message d'erreur (ça évite le stockage inutile dans le dav)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Et surtout d'avoir à le télécharger à chaque fois qu'on lance le programme.

{
"url": "http://vptdmservices.intra.inist.fr:49225/",
"description": "Latest version for production",
"#DISABLED#x-profil": "Standard"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

polish: (bien penser à supprimer le "disabled" sur un nouveau service ! )

[{
"value": [
[
-0.015692012384533882,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: Je me demande s'il ne faut pas sauvegarder les embeddings avec moins de précision (Float32 voire Float16 plutôt que Float64 ) ? => cela réduirait la puissance de calcul nécessaire ; à voir si on ne perd pas trop de précision.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mais ici ils ne sont pas sauvegardés, simplement calculés.
C'est lors du stockage dans une base vectorielle qu'il faut voir ce qui est le mieux (à mon avis).
Mais tu as raison, c'est une question de compromis taille/précision.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qdrant recommande d’utiliser des embeddings stockés en Float32 par défaut, avec la possibilité de descendre à Float16 (voire Uint8 via quantification) si l’objectif est de réduire la taille en mémoire avec un impact limité sur la qualité. studywithgpt

Types de précision supportés

  • Float32 :

    • Type par défaut pour les vecteurs denses. studywithgpt
    • 4 octets par composante, bon compromis général précision/perf. studywithgpt
  • Float16 :

    • Nombre flottant 16 bits, 2 octets par composante. studywithgpt
    • Impact « négligeable » sur la qualité de la recherche dans beaucoup de cas, tout en divisant la mémoire par deux. studywithgpt
  • Uint8 (via quantification) :

    • Représentation entière 8 bits (0–255), nécessite une étape de quantification adaptée au modèle. github
    • Permet des gains importants en compression et vitesse mais avec une légère perte de précision dépendant de la méthode (scalar, product, binary quantization). github

Recommandation pratique

  • Si tu n’as pas de contraintes fortes de RAM ou de latence : reste en Float32 pour la simplicité. studywithgpt
  • Si ton index devient volumineux ou que tu vises de gros volumes (RAG web‑scale, multi‑tenant, etc.) :
    • tester Float16 d’abord (souvent « gratuit » en qualité),
    • puis les schémas de quantification de Qdrant (scalar/binary) si le coût mémoire devient critique, en mesurant la dégradation de la précision de recherche. github

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants