J’utilise text-embedding-3-large pour le modèle d'intégration IA et quelque chose ne va pas avec. Je veux dire, j’ai dû recharger mon compte OpenAI deux fois depuis (le 30 novembre), ce qui est fou car cela devrait suffire pour des mois… Est-ce que quelque chose a changé concernant les sujets liés ? Il remplit peut-être toujours les sujets qui sont déjà faits ou je ne sais pas.
Il génère environ 24 millions de jetons d’entrée / jour
J’ai vérifié le mien. Il a explosé le 27.11. et avant cela, il était inférieur à 100 000 jetons par jour, mais il est ensuite passé à 7 millions et augmente chaque jour et hier, il était proche de 20 millions.
Edit : En octobre, le coût des embeddings était de 46 cents. Maintenant, en décembre, près de quatre jours : près de 6 dollars.
24 millions par jour est votre forum entier, cela semble buggé. À moins que vous n’obteniez des mises à jour dans tous ces sujets chaque jour, c’est très certainement un bug.
Une chose qui pourrait être liée est que nous avions l’habitude de ne pas appeler l’API d’embeddings lorsque le résumé du sujet ne changeait pas, mais nous avons régressé cela sur gen_bulk_reprensentations@Roman.
@Don, savez-vous combien de requêtes d’embeddings vous effectuez par jour ?
Je suis vraiment désolé, c’était un bug dans le nouveau code que nous avons ajouté pour remplir plus rapidement les embeddings. Cela devrait être corrigé par :
Veuillez me faire savoir si les choses ne reviennent pas à la normale.
Compte tenu des 250 par heure, nous avons une limite stricte de 6 000 par jour. Ces chiffres sont toujours dans la limite.
Cependant, s’ils ne sont déclenchés que par notre « mise à jour d’un échantillon aléatoire » de sujets, cela devrait être limité à 10 % de cela, ce qui, au pire, serait de 600 requêtes.
@Roman cette limite n’est-elle pas appliquée d’une manière ou d’une autre ? Ou le problème se situe-t-il ailleurs ?
Oui, je pense que le bug que j’ai corrigé en a révélé un autre que la vérification du résumé masquait.
Je pense que le bug se trouve ici :
Je l’ai changé de find_each à find_in_batches la semaine dernière (le premier utilise des lots en interne), et comme les deux s’appuient sur limit pour spécifier la taille du lot, la limite d’origine de limit - rebaked est ignorée. Nous devrions utiliser pluck + each_slice à la place.
À première vue, cela ne semble pas lié. On dirait qu’il n’a pas réussi à générer l’embedding et qu’il essaie d’insérer NULL. Est-ce qu’OpenAI renvoie une erreur ? Peut-être quelque chose lié aux quotas ?
Pouvez-vous s’il vous plaît exécuter ceci depuis une console ?
DiscourseAi::Embeddings::VectorRepresentations::Base
.find_representation(SiteSetting.ai_embeddings_model)
.new(DiscourseAi::Embeddings::Strategies::Truncation.new)
.vector_from("this is a test")
.present?
Cela devrait enregistrer l’erreur dans vos journaux si une Net::HTTPBadResponse est levée.
Cela signifie qu’il peut générer des embeddings alors. Ces erreurs persistent-elles ? Vous devriez voir ces erreurs toutes les cinq minutes si c’est le cas.
J’ai effectué quelques tests sur mon instance locale par rapport à notre service d’embeddings auto-hébergé et j’ai confirmé que le backfilling fonctionne dans les conditions suivantes :
Il n’y a pas d’embeddings.
Le digest est obsolète et updated_at des embeddings est antérieur à 6 heures.
Le digest n’est pas obsolète et updated_at des embeddings est antérieur à 6 heures (il ne se met pas à jour dans ce cas).
Je ne sais rien des limites, mais le nombre de requêtes API, etc. est revenu à la normale après la correction précédente. Donc merci les gars pour votre réaction rapide.