Dify Die Erstellung eines benutzerdefinierten Tools ist vorgesehen, wobei dieses benutzerdefinierte Tool der OpenAPI-Swagger-Spezifikation entsprechen muss.
Ein Beispiel für eine kanonische leere Vorlage ist unten abgebildet:
{ "openapi": "3.1.0", "info": { "Titel": "Ohne Titel". "Beschreibung": "Ihre OpenAPI-Spezifikation", "Version": "v1.0.0" }, "Server": [ { "url": "" } ], "Pfade": {}, "Komponenten": { "Schemata": {} } }
Generierung der OpenAPI-Swagger-Spezifikation
Wir benutzten chatgpt, um mir bei der Umwandlung des Curl-Aufrufs in ein Openapi-Schema mit der folgenden Aufforderung zu helfen:
Bitte konvertieren Sie den Befehl curl request in openapi Version 3.1.0 json schema ohne die Antwortnachricht. curl --location 'https://cloud.dify.ai/generate_image/' --header 'Inhalts-Typ: application/json' --data '{"prompt": "Ein süßes kleines geblümtes Kätzchen, modisch, trägt ein buntes gepunktetes Schleifen-Dreieck-Kopftuch auf dem Kopf, große Röte, sehr niedlich, hohe Sättigung, niedlich doo-doo, plüschig und weich, trägt ein Kopftuch, das mit dem Farbsystem des Cheongsam kollidiert, Wollfilz-Stil, der Hals mit Ihnen, der die Farbe des Schals widerspiegelt, sehr niedlich, ein Blumenstrauß in ihren Armen, die obere Hälfte der Körperporträts, die Posen, die Ihnen gegeben sind, kawaii, Bild Einfach, hohe Sättigung, entspannte Atmosphäre, seidige Bildqualität, mittlerer Blickwinkel, Standardobjektiv, einfacher Stil, 32k HD Bild, niedlich, blauer Himmel und weiße Wolken Hintergrund, subtil"}' Ein Beispiel für das json-Schema finden Sie im Folgenden { "openapi": "3.1.0", "info": { "title": "Wetterdaten abrufen", "description": "Ruft aktuelle Wetterdaten für einen Ort ab.", "Version": "v1.0.0" }, "Server": [ { "url": "" } ], "Pfade": {}, "Komponenten": { "Schemata": {} } }
Die Ergebnisse lauten wie folgt.
{ "openapi": "3.1.0", "info": { "Titel": "Bild-API generieren", "description": "API zur Erzeugung eines Bildes auf der Grundlage einer vorgegebenen Aufforderung", "Version": "v1.0.0" }, "Server": [ { "url": "https://cloud.dify.ai" } ], "Pfade": { "/generate_image/": { "post": { "summary": "Ein Bild auf der Grundlage einer Aufforderung generieren", "operationId": "generateImage", "requestBody": { "erforderlich": wahr, "Inhalt": { "application/json": { "schema": { "$ref": "#/Komponenten/Schemata/GenerateImageRequest" } } } }, "Antworten": {} } } }, "Komponenten": { "Schemata": { "GenerateImageRequest": { "Typ": "Objekt", "Eigenschaften": { "prompt": { "Typ": "String", "description": "Die Eingabeaufforderung, die das zu erstellende Bild beschreibt." } }, "erforderlich": [ "prompt" ] } } } }