Discourse AI - Selbstgehosteter Leitfaden

Dies ist eine Anleitung, die sich an Personen richtet, die ihre eigenen Instanzen der Dienste ausführen möchten, die die Discourse AI-Module antreiben.

Einleitung

Wenn Sie Discourse AI auf Ihrer selbst gehosteten Instanz verwenden möchten, müssen Sie möglicherweise auch die begleitenden Dienste für die Module ausführen, die Sie aktivieren möchten.

Jedes Modul hat einen oder mehrere benötigte begleitende Dienste, und diese Dienste verbrauchen mehr CPU / GPU / Festplattenspeicher als Discourse selbst. Beachten Sie daher, dass dies für Personen, die mit der Linux-Serveradministration und Docker nicht vertraut sind, nicht empfohlen wird.

Zusammenfassung / KI-Helfer / KI-Bot

Embeddings

Sentiment

Ausführung in der Produktion

Möglicherweise möchten Sie diesen Dienst hinter einem Reverse-Proxy platzieren, um Funktionen wie Load Balancing, TLS, Health Checks, Ratenbegrenzungen usw. zu aktivieren, wenn Sie ihn auf einer Live-Website ausführen.

Nachdem der Dienst gestartet und ausgeführt wurde, konfigurieren Sie das Modul so, dass es mit der Domäne verbunden wird, auf der der Dienst ausgeführt wird, indem Sie die entsprechende Site-Einstellung verwenden, und aktivieren Sie dann das Modul.

40 „Gefällt mir“

Ist der Composer-Helfer derzeit nicht selbst hostbar?

Ein großes Lob an das Team für diese Entwicklung und Implementierung :fire::raising_hands:

5 „Gefällt mir“

Composer Helper funktioniert vorerst nur mit den OpenAI- oder Anthropic-APIs. Daher funktioniert es auch in selbst gehosteten Umgebungen einwandfrei, sofern Sie eine dieser APIs haben.

7 „Gefällt mir“

Ich habe den Composer Helper am Laufen, danke!

Benötigt die Zusammenfassung einen lokalen Klassifizierungsdienst? Oder läuft sie mit nur einem OpenAI API-Schlüssel, wenn das ChatGPT3.5-Modell verwendet wird? Ich habe es aktiviert, sehe es aber nicht in den Themen.

3 „Gefällt mir“

Gemäß Discourse AI - Zusammenfassung können Sie es mit OpenAI verwenden, indem Sie den OpenAI-Schlüssel konfigurieren (was Sie bereits getan haben), eines der GPT-Modelle als Zusammenfassungsmodell auswählen und das Zusammenfassungsmodul aktivieren.

Die Zusammenfassungsschaltfläche wird derzeit nur für Themen mit mehr als 50 Antworten angezeigt, aber wir werden sie bald für alle Themen aktivieren.

7 „Gefällt mir“

Können Sie bitte einige Beispielanfragen teilen? Ich versuche derzeit, dies in einer AWS ASG auf einer EC2-Instanz einzurichten, und es funktioniert nicht. Ich sehe nur 400 Bad Request in den Discourse-Protokollen.

Außerdem wäre eine Healthcheck-URL großartig. / gibt einen 404-Fehler aus.

1 „Gefällt mir“

/srv/ok und /health sind die Healthcheck-Endpunkte.

Aus dem Stegreif etwas wie:

jo -p model=bart-large-cnn-samsum content="Langer Satz zum Zusammenfassen geht hier" | \
  curl --json @- -XPOST http://service/api/v1/classify

Für den Zusammenfassungsservice sollte das funktionieren.

4 „Gefällt mir“

Können Sie vorschlagen, einen Summarization-Dienst auf localhost mit Healthcheck vom Nginx-Modul zu verwenden, wenn wir mit Limits und Last einverstanden sind?

Ich möchte nur Open-Source-Modelle ausprobieren, wir haben es inzwischen mit OpenAI API-Schlüsseln zum Laufen gebracht.

Gibt es Pläne, Mehrsprachigkeit bei der Zusammenfassung zu ermöglichen, indem Modelle wie ChatGPT3.5 verwendet werden, die kompatibel gemacht wurden?

1 „Gefällt mir“

Wenn das das ist, was Sie wollen, sollte es funktionieren, ja.

Die Zusammenfassung funktioniert bereits mit den OpenAI- und Anthropic-APIs, sodass Sie mehrsprachige Funktionen erhalten. Möglicherweise müssen Sie ein wenig basteln, um die Eingabeaufforderung zu übersetzen, damit sie besser auf die Sprache des Themas abgestimmt bleibt.

3 „Gefällt mir“

Gute Nachrichten von AWS: Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

2 „Gefällt mir“

@Falco Wären Sie so freundlich, ein Beispiel für eine Serverkonfiguration zu geben, die „viel CPU / GPU / Festplatte“ hat und neben einem durchschnittlichen Discourse-Forum auch die selbst gehostete KI ausführen kann?

1 „Gefällt mir“

Ich würde das auch gerne sehen, bitte. Wäre es angesichts des Ressourcenbedarfs außerdem besser (möglich, kostengünstiger?), die Companion-KI-Dienste auf einen separaten VPS auszulagern?

Beispiel einer Serverkonfiguration

1 „Gefällt mir“

Hängt von den genauen Modellen und Modulen von Discourse AI ab, die Sie ausführen möchten. Zum Beispiel benötigt das Toxizitätsmodul 5 GB und das NSFW-Modul 1 GB RAM. Der Festplattenspeicher ist ähnlich, und CPU/GPU wird für die Inferenz verwendet, sodass Ihre Anforderungen von der Anzahl der Anfragen pro Sekunde abhängen, die Sie erwarten.\n\n[quote="DonH, post:14, topic:259598"]\nDas würde ich auch gerne sehen, bitte. Wäre es angesichts des Ressourcenbedarfs besser (möglich, kostengünstiger?), die KI-Begleitdienste auf einen separaten VPS auszulagern?\n[/quote]\n\nJa, das ist wahrscheinlich der beste Weg.

5 „Gefällt mir“

Okay, ich habe mich daran versucht:

Serviettenkalkulation:

ChatGPTv4 API

  • 0,0008 $ pro 100 Wörter
  • 1 Benutzer verwendet durchschnittlich etwa 100 Wörter (oder Tokens) pro Tag für jedes KI-Modul
  • Alle 6 KI-Module werden ausgeführt
    0,0008 * 6 = 0,0048

Gesamte monatliche Kosten pro Benutzer: 0,0048 * 30 = 0,144

Die minimalen Serveranforderungen für Self-Hosting liegen bei etwa:

  • 16 GB freier RAM, 32 bevorzugt
  • 3,5 GHz oder höherer CPU und 8 Kerne oder mehr
  • 100 GB SSD

Der kostengünstigste Server, der diese Anforderungen auf Digital Ocean erfüllt, ist:

  • 16 GB RAM
  • 8 Premium Intel vCPUs (über 3,5 GHz)
  • Bandbreite: 6.000 GiB
  • SSD: 2x 200 GiB
  • Monatliche Kosten: 244,00 $

Das Self-Hosting von ChatGPT4 wird also kostengünstiger sein als die Nutzung seines API-Dienstes, wenn Discourse etwa 2.000 aktive Benutzer pro Monat hat.

Mit einigen ziemlich wackeligen und großzügigen Rundungen. Klingt das ungefähr richtig @Falco

1 „Gefällt mir“

GPT-4 oder 3.5 kann nicht selbst gehostet werden.

Einige LLMs sind Open Source, wie z. B. Falcon oder verschiedene LLaMA-basierte Modelle (die Lizenzierungsfragen mit sich bringen), können selbst gehostet werden, aber bisher schneiden sie alle schlechter ab als GPT 4 oder sogar 3.5.

Ihre grobe Überschlagsrechnung liegt weit daneben. Wenn Sie ein LLM selbst hosten wollen, benötigen Sie wahrscheinlich eine A100 oder H100, vielleicht mehrere davon … versuchen Sie, nach Preisen zu googeln…

3 „Gefällt mir“

Das ist wohl der Preis, wenn man ChatGPT benutzt, um die Kosten für das Selbst-Hosting von ChatGPT zu ermitteln.

7 „Gefällt mir“

Wie auch immer, ich werde versuchen, etwas beizutragen und es zu aktualisieren, wenn ich Benutzerdaten zum Vergleichen habe.

Hier sind die Berechnungen, die ich für die Verwendung der API von ChatGPT3.5 mit den obigen Modulen durchgeführt habe, basierend auf der sehr vagen Annahme, dass ein durchschnittlicher aktiver Benutzer in einem Monat durchschnittlich 100 Wörter in einer Ausführung generiert:

Kosten der ChatGPT3.5 API

  • 0,0003 $ pro 100 Wörter in einer Ausführung
  • 1 aktiver Benutzer generiert durchschnittlich etwa 100 Wörter pro Tag für jedes KI-Modul

Durchschnittliche monatliche Kosten pro KI-Plugin/-Komponente: 0,009

  • 6 = 0,054 $

Dies ergibt Gesamtkosten von 0,054 $ pro Benutzer und Monat für alle 6 Plugins, wenn sie auf ChatGPT3.5 laufen.

Wir haben gerade die KI-Dienste hier für Meta auf einem g4dn.xlarge gestartet, daher kann ich dies jetzt als Basis empfehlen.

1 „Gefällt mir“

Danke. Die aktuellen Preise finden Sie hier für alle, die sich fragen, was ein g4dn.xlarge ist. Hoffentlich können Sie irgendwann Nutzungsdaten veröffentlichen, damit wir die realen Kosten in den Griff bekommen.

1 „Gefällt mir“

Die Maschine ist im Grunde nur mit Meta-Traffic beschäftigt. Sie könnte problemlos ein paar Metas an Traffic bewältigen.

1 „Gefällt mir“