まず、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は仕組み的には似ているけど、実装方法がまるきり異なる…
