messages-Feld, und um eine fortlaufende Konversation abzuschließen, müssen wir den gesamten Kontextverlauf übermitteln und gleichzeitig das Problem der Token-Übergrenze behandeln.
Die von AceDataCloud bereitgestellte AI Frage-Antwort-API wurde für diese Situation optimiert. Sie kapselt die Implementierung fortlaufender Gespräche, ohne dass wir uns um die Übermittlung von Nachrichten kümmern müssen, und auch nicht um das Problem der Token-Übergrenze (dies wird intern von der API automatisch behandelt). Außerdem bietet sie Funktionen zur Abfrage und Modifikation von Gesprächen, was die gesamte Integration erheblich vereinfacht.
Dieses Dokument wird die Integrationsanleitung der AI Frage-Antwort-API vorstellen.
Antragsprozess
Um die AI Frage-Antwort-API zu nutzen, gehen Sie zuerst zur Ace Data Cloud Konsole, um Ihr API-Token zu erhalten, das Sie für später aufbewahren sollten.
Wenn Sie noch nicht eingeloggt oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, wo Sie sich registrieren und anmelden können. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet.
Ein API-Token reicht aus, um auf alle Dienste der Plattform zuzugreifen, ohne dass für jeden Dienst separat beantragt werden muss. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent nicht ausreicht, können Sie im Dashboard Ihr Guthaben aufladen.
📘 Vollständige Dokumentation: AI Frage-Antwort-API →
Grundlegende Nutzung
Zuerst sollten Sie die grundlegende Nutzung verstehen, nämlich eine Frage einzugeben und eine Antwort zu erhalten. Dazu müssen Sie einfach einquestion-Feld übermitteln und das entsprechende Modell angeben.
Zum Beispiel, wenn Sie fragen: „Wie heißen Sie?“, können wir die entsprechenden Inhalte im Interface ausfüllen, wie im Bild gezeigt:
Hier haben wir die Request-Header festgelegt, einschließlich:
accept: In welchem Format Sie die Antwort erhalten möchten, hier alsapplication/json, also im JSON-Format.authorization: Der Schlüssel zur API, den Sie nach der Beantragung direkt auswählen können.
model: Die Auswahl des Modells, wie das gängige GPT 3.5, GPT 4 usw.question: Die zu stellende Frage, die beliebigen reinen Text enthalten kann.

answer-Feld enthält, das die Antwort auf die Frage ist. Wir können beliebige Fragen eingeben und erhalten beliebige Antworten.
Wenn Sie keine Unterstützung für mehrfache Dialoge benötigen, kann diese API Ihre Integration erheblich erleichtern.
Wenn Sie den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel sieht der CURL-Code wie folgt aus:
Mehrfache Dialoge
Wenn Sie die Funktion für mehrfache Dialoge integrieren möchten, müssen Sie einen zusätzlichen Parameterstateful übermitteln, dessen Wert true ist. Bei jeder nachfolgenden Anfrage muss dieser Parameter mit übermittelt werden. Nachdem der stateful-Parameter übermittelt wurde, gibt die API zusätzlich einen id-Parameter zurück, der die ID des aktuellen Gesprächs darstellt. Bei nachfolgenden Anfragen müssen wir nur diese ID als Parameter übermitteln, um mehrfache Dialoge einfach zu realisieren.
Hier zeigen wir die konkreten Schritte.
Bei der ersten Anfrage setzen Sie den stateful-Parameter auf true und übermitteln die Parameter model und question wie im Bild gezeigt:
Der entsprechende Code sieht wie folgt aus:
id-Feld als Parameter, während der stateful-Parameter weiterhin auf true gesetzt ist, und fragen „Was habe ich Ihnen gerade gefragt?“, wie im Bild gezeigt:
Der entsprechende Code sieht wie folgt aus:
Stream-Antwort
Diese Schnittstelle unterstützt auch Stream-Antworten, was für die Integration in Webseiten sehr nützlich ist, da es ermöglicht, die Ausgabe zeilenweise anzuzeigen. Wenn Sie eine Stream-Antwort zurückgeben möchten, können Sie denaccept-Parameter im Request-Header auf application/x-ndjson ändern.
Die Änderung sieht wie im Bild gezeigt aus, jedoch muss der Aufrufcode entsprechend geändert werden, um Stream-Antworten zu unterstützen.
Nachdem Sie accept auf application/x-ndjson geändert haben, gibt die API die entsprechenden JSON-Daten zeilenweise zurück. Auf der Code-Ebene müssen wir entsprechende Änderungen vornehmen, um die zeilenweisen Ergebnisse zu erhalten.
Python-Beispielaufrufcode:
answer in der Antwort der neueste Antwortinhalt ist, während delta_answer den neuen Antwortinhalt darstellt, den Sie je nach Ergebnis in Ihr System integrieren können.
JavaScript wird ebenfalls unterstützt, zum Beispiel der Code für den Streaming-Aufruf in Node.js sieht wie folgt aus:
Modellvorgaben
Wir wissen, dass die OpenAI-API ein entsprechendes Konzept vonsystem_prompt hat, das dem gesamten Modell eine Vorgabe gibt, wie zum Beispiel, wie es heißt usw. Diese AI-Frage-Antwort-API hat auch diesen Parameter, der preset genannt wird. Damit können wir dem Modell Vorgaben hinzufügen. Lassen Sie uns ein Beispiel ausprobieren:
Hier fügen wir das Feld preset hinzu, dessen Inhalt Du bist ein professioneller Künstler ist, wie im Bild gezeigt:
Der entsprechende Code sieht wie folgt aus:
Bilderkennung
Diese AI unterstützt auch das Hinzufügen von Anhängen zur Bilderkennung, indem Sie überreferences den entsprechenden Bildlink übermitteln, zum Beispiel habe ich hier ein Bild von einem Apfel, wie im Bild gezeigt:
Der Link zu diesem Bild ist https://cdn.acedata.cloud/ht05g0.png, wir übergeben ihn einfach als references-Parameter. Es ist auch wichtig zu beachten, dass das Modell ein Modell zur visuellen Erkennung unterstützen muss, derzeit wird gpt-4-vision unterstützt, also sieht die Eingabe wie folgt aus:
Der entsprechende Code sieht wie folgt aus:
Internetfragen
Diese API unterstützt auch internetfähige Modelle, einschließlich GPT-3.5 und GPT-4, die beide unterstützt werden. Im Hintergrund der API gibt es einen automatischen Suchprozess im Internet und eine Zusammenfassung. Wir können das Modell aufgpt-3.5-browsing setzen, um es auszuprobieren, wie im Bild gezeigt:
Der Code sieht wie folgt aus:
Wenn höhere Anforderungen an die Qualität der Modellantworten bestehen, kann das Modell auf gpt-4-browsing geändert werden, die Antwortqualität wird besser sein.

