AIパーソナル・ラーニング
と実践的なガイダンス

Difyカスタマイズツールの例

1.天気(JSON)

{
"openapi": "3.1.0"、
"info": {
"title": "天気データの取得", "description": "ある場所の現在の天気データを取得する。
「description": "ある場所の現在の気象データを取得する。", "version": "v1.0.0", "description": "ある場所の現在の気象データを取得する。
「バージョン": "v1.0.0".
}, "servers": ["servers" : ["現在地の気象データを取得します。
"servers": ["サーバー
{
"url": "https://weather.example.com"
}
],
「パス": {
"/location": {
"get": {

"operationId": "GetCurrentWeather"、"parameters": [ ]。
「パラメータ": [
{
"name": "location", "in": "query", "parameters": [ {
name": "location", "in": "query", "parameters": [ { "in": "query", "description": "都市と


"schema": {
「タイプ": "文字列"
}
}
], "deprecated": false
「非推奨": false
}
}
},
"components": {
"スキーマ": {}。
}
}

このコードは、気象データを取得するためのAPIを記述したOpenAPI仕様のJSONファイルである。一言で言えば、このAPIによって、ユーザーは特定の場所の気象データを照会することができる。

  • "openapi": "3.1.0"これはOpenAPI仕様のバージョンが3.1.0であることを示す。
  • "情報": このセクションでは、APIのタイトル、説明、バージョンなどの基本情報を提供します。
  • 「サーバーこのセクションでは、APIのサーバーURLを列挙する。
  • パスこのセクションでは、APIのパスとオペレーションを定義する。この例では、パスが/ロケーションこれは、特定の場所の天気を取得するのに使われる。この操作には場所クエリーパラメーターは必須で、文字列型である。
  • 「コンポーネントこのセクションはAPIで使用されるパターンを定義するために使用されるが、この例では空である。

OpenAPI仕様ではパラメーターは、API操作の入力パラメータを定義する配列である。パラメーターという名前のファイルを定義する。場所クエリ・パラメータは必須で、文字列型である。各パラメータは、以下のプロパティを含むオブジェクトです:

  • 名前パラメータ名。
  • "で"パラメータの位置。これは「クエリー「ヘッダーパスもしかしたら「クッキー.
  • "説明"パラメータの説明
  • "必須"もし真のこのパラメータは
  • "スキーマ"パラメータのデータ型。

パラメータの位置に注目し、4つのケースを以下に示す:

  • ヘッダー・パラメーターを使用して、リクエスト・ヘッダーにAPIキーを渡します。
  • path パラメータを使用して、URL パスで取得するオブジェクトの ID を指定します。
  • ユーザーのセッションIDをCookieで渡すためのCookieパラメータ。
  • URLに付加されるクエリーパラメーターは、通常、情報のフィルタリングに使われる。

カスタムツールインターフェースを作成する:

Dify カスタマイズツールの例-1


テストツールのインターフェースインターフェース:

Dify カスタマイズツールの例-2

 

2.ペットショップ(YAML)

# https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml より引用
openapi:「3.0.0」。
情報
バージョン: 1.0.0
タイトル: Swagger Petstore
ライセンス: name: MIT
名前: MIT
サーバー
- url: https://petstore.swagger.io/v1
パス
/pets.
を取得します。
summary: 全てのペットをリストアップする
operationId: listPets
タグ: ペット
- ペット
パラメータ: name: limit
- 名前: limit
in: クエリ
説明: 一度に返すアイテムの数 (最大 100)
必須: false
schema: name: limit in: クエリの説明: 一度に返すアイテムの数 (最大 100)
タイプ: integer
最大値: 100
フォーマット: int32
レスポンスを返します。
'200'.
説明: ペットのページングされた配列
説明: ペットのページ分割された配列
x-next
説明: 回答の次のページへのリンク
schema: x-next: 説明: 回答の次のページへのリンク
x-next: 説明: レスポンスの次のページへのリンク schema: type: string
content: application/json.
application/json.
schema: $ref: "#/components/schemas/Pets
$ref: "#/components/schemas/Pets" を参照。
デフォルト: $ref: "#/components/schemas/Pets
説明: 予期せぬエラー
説明: 予期せぬエラー
#/components/schemas/Pets" default: description: 予期せぬエラー content: application/json.
schema.
$ref: "#/components/schemas/Error" を参照。
を投稿する。
summary: ペットを作成する
operationId: createPets
タグ: ペット
- ペット
レスポンス。
'201'.
説明: Null レスポンス
デフォルト: '201': 説明: Null レスポンス
説明: 予期せぬエラー
デフォルト: 説明: 予期せぬエラー
application/json.
schema.
$ref: "#/components/schemas/Error" を参照。
/pets/{petId}.
を取得します。
summary: 特定のペットの情報
operationId: showPetById
tags: pets/{petId}: get: summary: 特定のペットの情報
- ペット
パラメータ: name: petId
- 名前: petId
in: パス
必須: true
説明: 取得するペットの ID
schema: petId in: path required: true description: 取得するペットの ID
タイプ: 文字列
レスポンス。
'200'.
説明: 有効なリクエストに対する期待される応答
説明: 有効なリクエストに対する期待される応答
application/json: '200': 説明: 有効なリクエストに対する期待されるレスポンス content: application/json.
スキーマ。
$ref: "#/components/schemas/Pet" を参照。
デフォルト: $ref: "#/components/schemas/Pet
説明: 予期せぬエラー
説明: 予期せぬエラー
#/components/schemas/Pet" default: description: 予期せぬエラー content: application/json.
schema.
$ref: "#/components/schemas/Error"
schema: $ref: "#/components/schemas/Error
$ref: "#/components/schemas/Error" コンポーネント。
ペット
schema: schemas: Pet.
必須: id
- id
- 名前
プロパティ
id: type: integer
型: integer
フォーマット: int64
name: id: type: integer format: int64
型: 文字列
タグ
型: 文字列
ペット
タイプ: 配列
maxItems: 100
items: $ref: "#/components/schemas/Pet
$ref: "#/components/schemas/ペット"
エラー:タイプ:オブジェクト
$ref: "#/components/schemas/Pet" エラー。
必須:コード
- #/components/schemas/Pet" Error: type: object required.
- メッセージ
type: object required: code メッセージ
type: integer
タイプ: integer
フォーマット: int32
message: type: string
型: 文字列

pet.yaml はOpenAPI仕様ファイルで、"Swagger Petstore "と呼ばれるAPIのインターフェイスを記述・定義している。このファイルは、設定ファイルを記述するための人間が読めるデータシリアライゼーション標準であるYAMLフォーマットを使用しています。このファイルは、開発者が "Swagger Petstore "APIと対話する方法を知るためのAPIインターフェースの明確な定義を提供します。ファイルの主な部分は以下の通りです:

  • オープンエーピーこのフィールドは、使用されるOpenAPI仕様のバージョンを指定する。
  • インフォメーション: このセクションでは、バージョン、タイトル、ライセンスなど、APIに関する基本的な情報を提供します。
  • サーバーこのセクションでは、APIのサーバーURLを定義する。
  • 小道このセクションでは、APIのすべてのパスと操作を定義する。例えば/ペット パスには2つの操作がある:得る 歌で応える ポスト.得る 操作は、すべてのペットをリストアップするために使用されます。ポスト 操作は新しいペットを作るために使われる。それぞれの操作には、パラメータやレスポンスなどの詳細があります。
  • コンポーネントこの節では、次のような再利用可能なスキーマを定義する。 小道 セクションで引用されている。例えばペットそしてペット 歌で応える エラー モードだ。

Dify カスタマイズツールの例-3

上記のYAMLファイルをJSON形式に変換する:

{
"openapi": "3.0.0"、
"info": {
「バージョン": "1.0.0", "タイトル": "Swagger Petstore", {

"licence": {
"name": "MIT"
}
},
「サーバー": [
{
"url": "https://petstore.swagger.io/v1"
}
],
「パス": {
"/pets": {
"get": {
"summary": "list all pets", "operationId": "listPets"、
"operationId": "listPets"、

「パラメータ": [
{
"name": "limit", "in": "query", "tags": ["pets"], "parameters": [ { {
"in": "query", "description": "一度に返すアイテムの数
"description": "一度に返すアイテムの数(最大100)", "required": false, "tags": [ {

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

"format": "int32"
}
}
], "responses": { 以下のとおりである。
「レスポンス": {
"200": {
"description": "ペットのページングされた配列"、
「ヘッダー": {
"x-next": {
"description": "レスポンスの次のページへのリンク", "schema": { "x-next": { "x-next":{。
"schema": {
"type": "string"
}

}, "content": { "回答の次のページへのリンク", "schema": { "type": "string" } }。
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pets"
}
}
}
},
"default": {
"説明": "予期せぬエラー", "内容": {。
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}

},
"post": {
"summary": "Create a pet"、
"operationId": "createPets"、
"tags": ["pets"], "responses": {
「レスポンス": {
"201": {
"description": "Null response"
},
「デフォルト": {
"description": "予期せぬエラー", "content": {
「コンテンツ": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},.
"/pets/{petId}": { 以下のとおりである。
"get": {

"operationId": "showPetById"、
"tags": ["pets"], "parameters": ["pets"], "operationId": "showPetById"、
「パラメータ": [
{
"name": "petId", "in": "path", "tags": ["pets"], "parameters": [ {
"in": "path", "required": true, [ { "name": "petId"、
name": "petId", "required": true, "description": "取得するペットのID
"description": "取得するペットのid", "schema": { { { "name": "petId", "required": true, "description": "取得するペットのid。
"schema": {
"type": "string"
}
}
], "responses": { "responses": { "type": "string" } }.
「レスポンス": {
"200": {
"description": "有効なリクエストに対する期待されるレスポンス", "content": { "200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"default": {
"説明": "予期せぬエラー", "内容": {。
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}

}
}
},
「コンポーネント": {
"スキーマ": {
「ペット": {
"タイプ": "オブジェクト", "必須": ["id", "name"], {
"required": ["id", "name"], "properties": { "properties": { "id", "name", "name", "name
"properties": {
「id": {
"type": "integer", "format": "int64".
"format": "int64"
},
「name": {
"type": "string"
},
「タグ": {
"タイプ": "文字列"
}
}
},
「ペット": {
"type": "array", "maxItems": 100, "array
「maxItems": 100, "items": { "type": "array"、
「項目": {
"$ref": "#/components/schemas/Pet"
}
},
「エラー": {


"properties": {
「code": {
「type": "integer", "format": "int".
"format": "int32"
},
「メッセージ": {
"type": "string"
}
}
}
}
}
}

 

3.空白のテンプレート

{
"openapi": "3.1.0"、
"info": {
"title": "無題", "description": "あなたのOpenAPI仕様", { "openapi": "3.0", "info": {

「バージョン": "v1.0.0"
}, "servers": [
「サーバー": [
{
"url": ""
}
],
"paths": {}、
「コンポーネント": {
"スキーマ": {}。
}
}

注:JSON形式の方がより直感的に見えるようだ。

Dify カスタマイズツールの例-4

 

書誌

[1] OpenAPI仕様:https://swagger.io/specification/

AIイージー・ラーニング

AIを始めるための素人ガイド

AIツールの活用方法を、低コスト・ゼロベースから学ぶことができます。AIはオフィスソフトと同様、誰にとっても必須のスキルです。 AIをマスターすれば、就職活動で有利になり、今後の仕事や勉強の労力も半減します。

詳細を見る
無断転載を禁じます:チーフAIシェアリングサークル " Difyカスタマイズツールの例

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語