AI Personal Learning
und praktische Anleitung

Beispiel für ein Dify-Anpassungstool

1. das Wetter (JSON)

{
"openapi": "3.1.0",
"info": {
"title": "Wetterdaten abrufen", "description": "Ruft aktuelle Wetterdaten für einen Ort ab.
"description": "Ruft aktuelle Wetterdaten für einen Ort ab.", "version": "v1.0.0", "description": "Ruft aktuelle Wetterdaten für einen Ort ab.
"version": "v1.0.0"
}, "servers": ["servers" : ["Ruft aktuelle Wetterdaten für einen Standort ab.
"server": [
{
"url": "https://weather.example.com"
}
],
"Pfade": {
"/location": {
"get": {

"operationId": "GetCurrentWeather", "parameters": [
"parameters": [
{
"name": "location", "in": "query", "parameters": [ {
"in": "query", "description": "Die Stadt und


"schema": {
"type": "string"
}
}
], "veraltet": false
"veraltet": false
}
}
},
"Komponenten": {
"schemas": {}
}
}

Bei diesem Code handelt es sich um eine JSON-Datei der OpenAPI-Spezifikation, die eine API zum Abrufen von Wetterdaten beschreibt, die es dem Benutzer ermöglicht, Wetterdaten für einen bestimmten Ort abzufragen.

  • "openapi": "3.1.0"OpenAPI: Dies zeigt an, dass die verwendete Version der OpenAPI-Spezifikation 3.1.0 ist.
  • "info"Dieser Abschnitt enthält grundlegende Informationen über die API, einschließlich Titel, Beschreibung und Version.
  • "Server"Dieser Abschnitt listet die Server-URLs für die API auf.
  • "Pfade"Dieser Abschnitt definiert die Pfade und Operationen der API. In diesem Beispiel gibt es eine GET-Operation mit einem Pfad von/Standortdie dazu dient, das Wetter für einen bestimmten Ort zu ermitteln. Dieser Vorgang erfordert eine Datei namensStandortDer Abfrageparameter, der erforderlich ist, ist vom Typ String.
  • "Komponenten"Dieser Abschnitt wird verwendet, um die in der API verwendeten Muster zu definieren, aber in diesem Beispiel ist er leer.

In der OpenAPI-Spezifikation ist dieParameterist ein Array, das die Eingabeparameter für API-Vorgänge definiert.Parameterdefiniert eine Datei namensStandortDer Abfrageparameter, der erforderlich ist, ist vom Typ String. Jeder Parameter ist ein Objekt, das die folgenden Eigenschaften enthält:

  • "Name": Der Name des Parameters.
  • "in"Ort: Der Ort des Parameters. Dies kann sein"Abfrage""Kopfzeile""Pfad"vielleicht"Cookie".
  • "Beschreibung"Beschreibung des Parameters.
  • "erforderlich": Wenn fürwahrDieser Parameter ist erforderlich, wenn die
  • "schema"Datentyp: Der Datentyp des Parameters.

Die 4 Fälle, die sich auf die Position der Parameter beziehen, sind im Folgenden dargestellt:

  • Header-Parameter, um den API-Schlüssel im Request-Header zu übergeben.
  • path-Parameter, um die ID des Objekts anzugeben, das im URL-Pfad abgerufen werden soll.
  • Der Cookie-Parameter, der verwendet wird, um die Sitzungs-ID des Benutzers in einem Cookie zu übergeben.
  • Der Abfrageparameter, der an die URL angehängt wird, dient in der Regel dazu, Informationen zu filtern.

Erstellen Sie eine benutzerdefinierte Werkzeugschnittstelle:

Dify-Anpassungstool Beispiel-1


Schnittstelle des Testwerkzeugs:

Dify Customization Tool Beispiel-2

 

2. die Tierhandlung (YAML)

# Entnommen aus https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml
openapi: "3.0.0"
info.
Version: 1.0.0
Titel: Swagger Petstore
Lizenz: Name: MIT
Name: MIT
Server.
- url: https://petstore.swagger.io/v1
Pfade.
/pets.
get.
summary: Alle Haustiere auflisten
operationId: listPets
Tags: Haustiere
- Haustiere
Parameter: name: limit
- name: limit
in: Abfrage
description: Wie viele Einträge auf einmal zurückgegeben werden sollen (maximal 100)
erforderlich: false
schema: name: limit in: abfrage beschreibung: Wie viele Einträge auf einmal zurückgegeben werden sollen (max. 100)
Typ: Ganzzahl
Höchstwert: 100
Format: int32
Antworten.
'200'.
description: Ein ausgelagertes Array von Haustieren
description: Ein paginiertes Array von Haustieren
x-nächste.
Beschreibung: Ein Link auf die nächste Seite der Antworten
schema: x-next: description: Ein Link zur nächsten Seite der Antworten
x-next: Beschreibung: Ein Link auf die nächste Seite der Antworten schema: type: string
Inhalt: application/json.
anwendung/json.
schema: $ref: "#/Komponenten/Schemata/Tiere
$ref: "#/Komponenten/Schemata/Tiere"
Standardwert: $ref: "#/Komponenten/Schemata/Tiere
description: unerwarteter Fehler
description: unerwarteter Fehler
#/components/schemas/Pets" default: description: unerwarteter Fehler content: application/json.
schema.
$ref: "#/Komponenten/Schemata/Fehler"
post.
summary: Ein Haustier erstellen
operationId: createPets
tags: Haustiere
- Haustiere
Antworten.
'201'.
description: Null-Antwort
Standard: '201': Beschreibung: Null-Antwort
description: unerwarteter Fehler
standard: beschreibung: unerwarteter fehler
anwendung/json.
schema.
$ref: "#/Komponenten/Schemata/Fehler"
/pets/{petId}.
erhalten.
summary: Informationen für ein bestimmtes Haustier
operationId: showPetById
tags: pets/{petId}: get: summary: Informationen zu einem bestimmten Haustier
- Haustiere
Parameter: Name: petId
- Name: petId
in: Pfad
erforderlich: true
description: Die ID des abzurufenden Haustieres
schema: petId in: path erforderlich: true Beschreibung: Die Kennung des abzurufenden Haustiers
Typ: Zeichenkette
Antworten.
'200'.
description: Erwartete Antwort auf eine gültige Anfrage
description: Erwartete Antwort auf eine gültige Anfrage
application/json: '200': description: Erwartete Antwort auf eine gültige Anfrage content: application/json.
schema.
$ref: "#/Komponenten/Schemata/Tierchen"
Standardwert: $ref: "#/Komponenten/Schemata/Pet
description: unerwarteter Fehler
beschreibung: unerwarteter fehler
#/components/schemas/Pet" default: description: unerwarteter Fehler content: application/json.
schema.
$ref: "#/Komponenten/Schemata/Fehler"
schema: $ref: "#/Komponenten/Schemata/Fehler
$ref: "#/Bestandteile/Schema/Fehler" Komponenten.
Pet.
schema: schemas: Pet.
erforderlich: id
- id
- Name
Eigenschaften.
id: Typ: Ganzzahl
Typ: Ganzzahl
Format: int64
Name: id: Typ: Ganzzahl Format: int64
Typ: Zeichenkette
tag.
Typ: Zeichenkette
Haustiere.
Typ: Array
maxEinträge: 100
Elemente: $ref: "#/Komponenten/Schemata/Haustier
$ref: "#/Komponenten/Schemata/Haustier"
Fehler: Typ: Objekt
$ref: "#/Bestandteile/Schemata/Haustier" Fehler.
erforderlich: code
- #/components/schemas/Pet" Fehler: Typ: Objekt erforderlich.
- Meldung
Typ: Objekt erforderlich: Code Nachricht
Typ: Ganzzahl
Typ: Ganzzahl
Format: int32
Nachricht: Typ: String
Typ: Zeichenkette

pet.yaml ist eine OpenAPI-Spezifikationsdatei, die die Schnittstelle zu einer API namens "Swagger Petstore" beschreibt und definiert. Diese Datei verwendet das YAML-Format, einen Standard für die Serialisierung von menschenlesbaren Daten zum Schreiben von Konfigurationsdateien. Diese Datei bietet eine klare Definition der API-Schnittstelle für Entwickler, damit diese wissen, wie sie mit der "Swagger Petstore"-API interagieren können. Die wichtigsten Teile der Datei sind:

  • openapiVersion: Dieses Feld gibt die Version der verwendeten OpenAPI-Spezifikation an, in diesem Fall "3.0.0".
  • InfosDieser Abschnitt enthält grundlegende Informationen über die API, einschließlich Version, Titel und Lizenz.
  • ServerDieser Abschnitt definiert die Server-URL für die API.
  • PfadeDieser Abschnitt definiert alle Pfade und Operationen der API. Zum Beispiel./Tiere Der Pfad hat zwei Operationen:bekommen. im Gesang antworten Beitrag.bekommen. wird verwendet, um alle Haustiere aufzulisten.Beitrag Vorgänge werden verwendet, um ein neues Haustier zu erstellen. Jede Operation hat ihre eigenen Parameter, Antworten und andere Details.
  • KomponentenDieser Abschnitt definiert wiederverwendbare Schemata, die in der Datenbank verwendet werden können. Pfade In dem Abschnitt zitiert. Zum Beispiel.Haustier, undHaustiere im Gesang antworten Fehler Modus.

Dify-Anpassungstool Beispiel-3

Konvertieren Sie die obige YAML-Datei in das JSON-Format:

{
"openapi": "3.0.0",
"info": {
"version": "1.0.0", "title": "Swagger Petstore", {

"Lizenz": {
"name": "MIT"
}
},
"server": [
{
"url": "https://petstore.swagger.io/v1"
}
],
"Pfade": {
"/pets": {
"get": {
"summary": "list all pets", "operationId": "listPets",
"operationId": "listPets",

"parameters": [
{
"name": "limit", "in": "query", "tags": ["pets"], "parameters": [ {
"in": "query", "description": "Wie viele Elemente auf einmal zurückgegeben werden sollen
"description": "Wie viele Elemente auf einmal zurückgegeben werden sollen (max 100)", "required": false, "tags": [ { {

"schema": {
"type": "integer", "maximum": 100, "required": false, "schema": {

"format": "int32"
}
}
], "Antworten": {
"Antworten": {
"200": {
"description": "Ein paginiertes Array von Haustieren", "headers": {
"headers": {
"x-next": {
"description": "Ein Link zur nächsten Seite der Antworten", "schema": { "x-next": { "x-next": {
"schema": {
"type": "string"
}
}
}, "content": { "link to the next page of responses", "schema": { "type": "string" }
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pets"
}
}
}
},
"default": {
"description": "unerwarteter Fehler", "content": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "Ein Haustier erstellen",
"operationId": "createPets",
"tags": ["pets"], "responses": {
"responses": {
"201": {
"description": "Null-Antwort"
},
"default": {
"description": "unerwarteter Fehler", "content": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},.
"/pets/{petId}": {
"get": {

"operationId": "showPetById",
"tags": ["pets"], "parameters": ["pets"], "operationId": "showPetById",
"parameters": [
{
"name": "petId", "in": "path", "tags": ["pets"], "parameters": [ {
"in": "path", "required": true, [ { "name": "petId",
"required": true, "description": "Die ID des abzurufenden Haustiers
"description": "Die Kennung des abzurufenden Haustiers", "schema": {
"schema": {
"type": "string"
}
}
], "responses": { "responses": { "type": "string" } }
"Antworten": {
"200": {
"description": "Erwartete Antwort auf eine gültige Anfrage", "content": { "200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"default": {
"description": "unerwarteter Fehler", "content": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
}
},
"Komponenten": {
"Schemata": {
"Pet": {
"type": "object", "required": ["id", "name"], {
"required": ["id", "name"], "properties": { "properties": { "id", "name", "name", "name
"properties": {
"id": {
"Typ": "Ganzzahl", "Format": "int64".
"format": "int64"
},
"name": {
"type": "string"
},
"tag": {
"type": "string"
}
}
},
"Haustiere": {
"type": "array", "maxItems": 100, "array
"maxItems": 100, "items": { "type": "array",
"items": {
"$ref": "#/components/schemas/Pet"
}
},
"Error": {


"properties": {
"code": {
"type": "integer", "format": "int".
"format": "int32"
},
"message": {
"type": "string"
}
}
}
}
}
}

 

3. leere Vorlage

{
"openapi": "3.1.0",
"info": {
"title": "Untitled", "description": "Ihre OpenAPI-Spezifikation", { "openapi": "3.0", "info": {
"description": "Ihre OpenAPI-Spezifikation", "version": "v1.0", "vpi": "vpi": "vpi": "vpi": "vpi": "vpi": "vpi": "vpi".
"version": "v1.0.0"
}, "server": [
"server": [
{
"url": ""
}
],
"Pfade": {},
"Komponenten": {
"schemas": {}
}
}

Hinweis: Es scheint, dass das JSON-Format intuitiver ist.

Dify-Anpassungstool Beispiel-4

 

Tutorial zur strukturierten Ausgabe:Wie verwendet man ein jsonarray-Objekt in Dify?

Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Beispiel für ein Dify-Anpassungstool

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)