Skip to main content
Wir wissen, dass die Integration einiger Frage-Antwort-APIs auf dem Markt relativ schwierig sein kann, wie zum Beispiel die Chat Completions API von OpenAI. Sie hat ein 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 man sich um die Übermittlung von Messages kümmern muss, 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 API zu nutzen, müssen Sie zunächst auf die entsprechende Seite der AI Frage-Antwort-API gehen und den entsprechenden Dienst beantragen. Nach dem Betreten der Seite klicken Sie auf die Schaltfläche „Acquire“, wie im Bild gezeigt: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Beantragung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Zunächst sollten Sie die grundlegende Nutzung verstehen, nämlich eine Frage einzugeben und eine Antwort zu erhalten. Dazu müssen Sie einfach ein question-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 Headers festgelegt, einschließlich:
  • accept: In welchem Format Sie die Antwort erhalten möchten, hier eingetragen als application/json, also im JSON-Format.
  • authorization: Der Schlüssel zur Nutzung der API, den Sie nach der Beantragung direkt auswählen können.
Außerdem haben wir den Request Body festgelegt, einschließlich:
  • model: Die Auswahl des Modells, wie zum Beispiel das gängige GPT 3.5, GPT 4 usw.
  • question: Die zu stellende Frage, die beliebigen reinen Text enthalten kann.
Nach der Auswahl können Sie sehen, dass auf der rechten Seite der entsprechende Code generiert wurde, wie im Bild gezeigt:

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen, wie im obigen Bild gezeigt. Hier haben wir folgendes Ergebnis erhalten:
Hier sehen wir, dass das zurückgegebene Ergebnis ein answer-Feld enthält, das die Antwort auf die Frage ist. Sie können beliebige Fragen eingeben und erhalten beliebige Antworten. Wenn Sie keine Unterstützung für mehrstufige Gespräche benötigen, kann diese API Ihre Integration erheblich erleichtern. Wenn Sie außerdem den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel sieht der CURL-Code wie folgt aus:
Der Python-Integrationscode sieht wie folgt aus:

Mehrstufige Gespräche

Wenn Sie die Funktion für mehrstufige Gespräche integrieren möchten, müssen Sie einen zusätzlichen Parameter stateful ü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 Sie nur diese ID als Parameter übermitteln, um mehrstufige Gespräche 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:
Sie erhalten folgende Antwort:
Bei der zweiten Anfrage übermitteln Sie das in der ersten Anfrage zurückgegebene 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:
Das Ergebnis sieht wie folgt aus:
Sie können sehen, dass die Fragen basierend auf dem Kontext beantwortet werden können.

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 Ergebnisse zeilenweise anzuzeigen. Wenn Sie eine Stream-Antwort zurückgeben möchten, können Sie den accept-Parameter im Request-Header ändern und auf application/x-ndjson setzen. Die Änderung sieht wie im Bild gezeigt aus, aber der Aufrufcode muss 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:
Die Ausgabe sieht wie folgt aus:
Man sieht, dass die 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:
Java-Beispielcode:
Andere Sprachen können ebenfalls selbst umgeschrieben werden, das Prinzip ist dasselbe.

Modellvorgaben

Wir wissen, dass die OpenAI-API ein entsprechendes Konzept von system_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:
Das Ergebnis sieht wie folgt aus:
Man sieht, dass wir GPT hier gesagt haben, dass es ein Roboter ist, und dann gefragt haben, was es für uns tun kann, und es kann die Rolle eines Roboters übernehmen, um Fragen zu beantworten.

Bilderkennung

Diese AI unterstützt auch das Hinzufügen von Anhängen zur Bilderkennung, indem Sie über references 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:
Das Ergebnis sieht wie folgt aus:
Man sieht, dass wir erfolgreich die entsprechende Antwort auf das Bild erhalten haben.

Online-Fragen und -Antworten

Diese API unterstützt auch Online-Modelle, einschließlich GPT-3.5 und GPT-4, die beide unterstützt werden. Im Hintergrund der API gibt es einen automatischen Prozess, der das Internet durchsucht und zusammenfasst. Wir können das Modell auf gpt-3.5-browsing setzen, um es auszuprobieren, wie im Bild gezeigt: Der Code sieht wie folgt aus:
Die Ausführungsergebnisse sind wie folgt:
Es ist zu sehen, dass es automatisch die Website von The Weather Channel durchsucht hat und die Informationen daraus erhalten hat, um dann die aktuellen Ergebnisse zurückzugeben.
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.