Ich benutze text-embedding-3-large für ai embeddings model und etwas stimmt damit nicht. Ich meine, ich muss mein OpenAI-Konto seit (30. Nov.) zweimal aufladen, was verrückt ist, weil es monatelang reichen sollte… Hat sich in verwandten Themen etwas geändert? Es füllt vielleicht immer Themen auf, die bereits erledigt sind, oder ich weiß es nicht.
Ich habe meine überprüft. Sie explodierte am 27.11. und davor waren es weniger als 100.000 Token pro Tag, dann stieg sie auf 7 Millionen und steigt jeden Tag, und gestern waren es fast 20 Millionen.
Bearbeitung: Im Oktober kosteten Embeddings 46 Cent. Jetzt, im Dezember, fast vier Tage: fast 6 Dollar.
24M pro Tag ist Ihr gesamtes Forum, das sieht fehlerhaft aus. Es sei denn, Sie erhalten täglich Updates in all diesen Themen, das ist mit ziemlicher Sicherheit ein Fehler.
Eine Sache, die damit zusammenhängen könnte, ist, dass wir früher die Aufrufe der Embeddings-API übersprungen haben, wenn sich die Themenübersicht nicht änderte, aber wir haben dies in gen_bulk_reprensentations@Roman zurückentwickelt.
@Don, weißt du, wie viele Embeddings-Anfragen du pro Tag machst?
Angesichts der 250 pro Stunde haben wir ein hartes Limit von 6.000 pro Tag. Diese Zahlen liegen immer noch innerhalb des Limits.
Wenn sie jedoch nur durch unsere “Aktualisierung einer zufälligen Stichprobe” von Themen ausgelöst werden, sollte dies auf 10 % davon begrenzt sein, was im schlimmsten Fall 600 Anfragen wären.
@Roman wird dieses Limit hier nicht irgendwie angewendet? Oder liegt das Problem woanders?
Ja, ich glaube, der von mir behobene Fehler hat einen weiteren aufgedeckt, den die Digest-Prüfung verborgen hat.
Ich glaube, der Fehler liegt hier:
Ich habe ihn letzte Woche von find_each auf find_in_batches geändert (der erstere verwendet intern Batches), und da beide auf limit zur Angabe der Batch-Größe angewiesen sind, wird das ursprüngliche Limit von limit - rebaked ignoriert. Wir sollten stattdessen pluck + each_slice verwenden.
Auf den ersten Blick sieht es nicht zusammenhängend aus. Es sieht so aus, als ob die Einbettung nicht generiert werden konnte und versucht wird, NULL einzufügen. Könnte OpenAI einen Fehler zurückgeben? Vielleicht etwas, das mit Quoten zu tun hat?
Können Sie das bitte von einer Konsole aus ausführen?
DiscourseAi::Embeddings::VectorRepresentations::Base
.find_representation(SiteSetting.ai_embeddings_model)
.new(DiscourseAi::Embeddings::Strategies::Truncation.new)
.vector_from("this is a test")
.present?
Wenn ein Net::HTTPBadResponse ausgelöst wird, sollte dies den Fehler in Ihren Protokollen protokollieren.
Ich bin zurück in der Konsole: truet? und nichts in /logs.
Vielleicht ist das eine Verzögerung von OpenAI, da ich mein Konto vor einer Stunde wieder aufgeladen habe und dieser Vorgang wahrscheinlich nicht sofort erfolgt…
Das bedeutet, dass es dann Embeddings generieren kann. Bestehen diese Fehler weiterhin? Sie sollten diese Fehler alle fünf Minuten sehen, falls ja.
Ich habe einige Tests auf meiner lokalen Instanz gegen unseren selbst gehosteten Embeddings-Service durchgeführt und bestätigt, dass das Backfilling unter folgenden Bedingungen funktioniert:
Es gibt keine Embeddings.
Der Digest ist veraltet und das updated_at der Embeddings ist älter als 6 Stunden.
Der Digest ist nicht veraltet und das updated_at der Embeddings ist älter als 6 Stunden (in diesem Fall wird es nicht aktualisiert).
Ich weiß nichts über Limits, aber die Anzahl der API-Anfragen usw. ist nach der früheren Behebung wieder auf normal zurückgefallen. Vielen Dank für die schnelle Reaktion.