[LLM] Difyカスタムプラグインの超簡単な作成

まず、Difyのツールで「カスタムツールを作成する」画面

### カスタムツールを作成
OpenAI json schema

{
  "openapi": "3.0.0",
  "info": {
    "title": "Postman Echo Test Tool",
    "version": "v1.0.0",
    "description": "Postman Echoの/getエンドポイントを使って、パラメータを渡してテストするためのツールです。送信したパラメータがレスポンスに含まれて返ってきます。"
  },
  "servers": [
    {
      "url": "https://postman-echo.com"
    }
  ],
  "paths": {
    "/get": {
      "get": {
        "operationId": "echoGetData",
        "summary": "指定したクエリパラメータを付けてGETリクエストを送信します。",
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "APIに送りたいメッセージ(例:Hello Dify Test)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功。送信されたパラメータが確認できます。"
          }
        }
      }
    }
  }
}

テスト出力
{“args”: {“message”: “testです。”}, “headers”: {“host”: “postman-echo.com”, “accept”: “*/*”, “accept-encoding”: “gzip, br”, “x-forwarded-proto”: “https”, “traceparent”: “00-9e12edb5cab8bd6636404a653b1715c7-7b44fd7d72a90d90-00”, “baggage”: “sentry-environment=production,sentry-public_key=c0bcc0e36783694f41e4fb1e6a3efea9,sentry-trace_id=cd5aed1beb774af0a190db512449113f,sentry-sample_rate=0.0,sentry-sampled=false,sentry-sample_rand=0.743119”, “sentry-trace”: “cd5aed1beb774af0a190db512449113f-9e0d41f50b19024e-0”, “user-agent”: “python-httpx/0.27.2”}, “url”: “https://postman-echo.com/get?message=test%E3%81%A7%E3%81%99%E3%80%82”}

カスタムツールとFuctionCallingは仕組み的には似ているけど、実装方法がまるきり異なる…