デジタル時代において、API(アプリケーション・プログラミング・インターフェース)は異なるソフトウェア・システム間のインタラクションの要となっている。しかし、従来のAPIインターフェースの方法は、開発者にとって非効率的でフラストレーションがたまることが多い。
また、次のようなジレンマに直面したことはないだろうか:
- ドキュメント・スカイブック インターフェースのドキュメントは不明瞭で、パラメーターの説明も曖昧でわかりにくい。
- 用語の迷路: 専門用語は無限にあり、初心者はそれを理解するために多くの時間を費やして情報を参照する必要がある。
- パラメトリック・ブラックホール 複雑なAPIドキュメントには多くのパラメーターがあり、コンフィギュレーションの組み合わせもめまぐるしい。
- 労働の重複: 新しいAPIとインターフェースをとるたびに、ドキュメントを読み、コードを書き、デバッグとテストを繰り返す必要があり、時間と労力がかかる。
これらの問題は、開発効率を低下させるだけでなく、企業の研究開発コストを増加させる。これらのペインポイントに対処するため、DifyはAI技術を使用してAPIドッキングプロセスを簡素化し、開発者を退屈な文書作成作業から解放することを目的とした新しいワークフローを発表した。
Dify Workflow: インテリジェントAPIアシスタント
ダイファイ ワークフローは、APIドキュメントを自動的に読んで理解し、開発者が簡単に使えるコードや情報に変えるインテリジェント・アシスタントのようなものだ。その中核は、大きなAIモデルを活用してAPIドキュメントを意味的に解析し、処理することだ。
全体の流れは以下の通りだ:
- 文書の抽出: Difyワークフローは、APIドキュメントの複数のソースをサポートしています:
- 現地ドキュメント: Word、Markdown、PDF、その他の形式のドキュメントのアップロードに対応。
- オンラインドキュメント: APIドキュメントのURLを入力することで、ウェブページの内容を自動的に取り込むことができます。
- API定義ファイル: Swagger/OpenAPI形式のAPI定義ファイルの直接インポートに対応。
- 現地ドキュメント: Word、Markdown、PDF、その他の形式のドキュメントのアップロードに対応。
- ページクロール: オンラインAPIドキュメントのために、DifyはウェブコンテンツをMarkdownフォーマットに変換するオープンソースのFirecrawlツールを統合しています。
ファイヤークロール公式サイト https://www.firecrawl.dev/
ユーザーは、Firecrawlのウェブサイトにアカウントを登録し、APIキーを取得し、Difyに適切なプラグインをインストールすることができます。
DifyはFirecrawlプラグインのインストールをサポートしており、Firecrawlの無料クレジットの量に限りがあるため、ローカライズされた展開も可能です。
- AIモデルの処理: 抽出されたドキュメントコンテンツまたはクロールされたMarkdownテキストを、処理のためにAIマクロモデルに送信する。
Difyのワークフローは、幅広いAIモデルをサポートしています。テストによると
qwen2.5-coder-32b-instruct
モデルが良い選択である主な理由は以下の通り:- 128kのコンテキストウィンドウは、ほとんどのAPIドキュメントを処理するのに十分である。
- コードモデルとしては、コード生成に関連するタスクを処理することに長けている。
- 主要なモデリング・プラットフォームはすべて利用可能で、簡単にアクセスできる。
- 高性能GPU(例:4090、5090)をお持ちのユーザーには、より高速な処理を実現するためにローカルデプロイメントを選択することができます。
もちろん、予算に余裕があれば、次のような選択肢もある。
qwen2.5-coder-7b-instruct
モデル最高の結果を求めるならdeepseek-r1
モデリングもいい選択肢だ。 - 互換性: Difyワークフローは、Windows、macOS、Linuxなどの主要なオペレーティングシステムをサポートし、Python、Java、JavaScript、Goなどのプログラミング言語と互換性があります。
以上のステップを経て、Difyワークフローは、異なるソースやフォーマットのAPIドキュメントを、AIが理解できる統一されたテキストデータに変換し、その後のコード生成やパラメータクエリなどの機能の基礎を築くことができる。
コードを生成するためのAPIドキュメント:例として、マイクロチャンネルの公開番号の開発
次に、WeChatの公開番号開発を例に、DifyワークフローがAPIドッキングプロセスをいかに簡素化できるかを紹介する。
WeChat開発の最初のステップは、通常アクセストークンを取得することだ。
WeChatの公式ドキュメント: https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
伝統的な開発プロセスは通常このようなものだ:
- ドキュメントを読んで、インターフェースのURLとリクエスト・メソッドを見つけよう。
- インターフェイスに必要なパラメータを決定する。
- AppIDやAppSecretといった重要なパラメータをドキュメントで探す。
- テストコードを書く。
- コードを実行し、デバッグする。
- エラーが発生した場合は、エラー・コードに基づいて原因を突き止めるためにドキュメントに戻る。
Difyワークフローでは、上記のプロセスを大幅に簡略化することができます。APIドキュメントのURLをDifyワークフローインターフェースに入力し、プログラミング言語(例:Python)を選択し、実行をクリックするだけです。
Difyは文書全体を自動的に解析し、パラメータやエラーコードの意味を正確に解釈し、実行可能なコード例を生成します。
さらに、Difyは生成されるコードコメントやインターフェイス上に、AppIDやAppSecretといった重要なパラメータの取得方法を直接表示します。例えば、WeChat公開開発では、Difyはユーザーに「WeChat公開プラットフォームの "設定と開発-基本設定"」にアクセスするよう促します。
ユーザーは、Difyワークフローの「Extra Notes」に、取得したAppIDとAppSecretを記入し、特別な書式を設定することなく、「Run」をクリックするだけで、使用可能なコードが生成されます。
生成されたコードをPyCharmなどのIDEにコピーして実行すれば、APIを直接呼び出せるので、手作業で大量のコードを書いたり、面倒なデバッグを行ったりする必要がなくなります。
テストコードの生成に加え、Difyは特定の開発フレームワークやライブラリの使用もサポートしています。例えば、Java開発では weixin-java-mp
WeChatの開発でよく使われるライブラリです。ユーザーはDifyにリクエストするだけで、ライブラリのフルネームを覚えていなくても、対応するコードを生成することができます。
さらに、Difyはコード補完機能もサポートしています。ユーザーは既存のコードスニペットをDifyにコピーすることで、Difyが自動的に文脈に沿ったコードを補完し、開発効率を向上させます。
APIドキュメント・パラメータ・クエリ
コード生成に加え、Difyワークフローは強力なパラメータクエリー機能を提供します。特に、ピンインの頭文字をパラメータ名として使用する文書では、この機能は非常に便利です。
ディファイは、ユーザーがAPIの使い方をすぐに理解できるよう、ドキュメントの内容に基づいた的確な説明を行います。
価格とアクセス
Difyには無料版と有料版があります。無料版には基本的な機能が含まれており、個人の開発者にとっては十分なものです。有料版は、より高度な機能と技術サポートを提供し、企業ユーザーに適しています。Difyのウェブサイトから無料トライアルにサインアップすることができます。
Difyの新しいワークフローを体験するには、DifyホームページのStudioでDSLファイルを検索し、インポートすることができます。
総括と展望
Difyの新しいワークフローは、AI技術を利用してAPIドキュメントの解析、コード生成、クエリパラメータを自動生成し、APIドッキングプロセスを大幅に簡素化し、開発効率を向上させます。初心者から経験豊富な開発者まで、Difyワークフローの恩恵を受けることができます。
今後、ディファイはAPIドキュメント解析の精度とスピードを向上させるため、AIモデルの最適化を続けていきます。同時に、API自動テスト、APIパフォーマンスモニタリングなど、より多くのアプリケーションシナリオを模索し、より包括的でインテリジェントなAPIツールチェーンを開発者に提供することをお約束します。 Difyは、よりインテリジェントで効率的な開発方法を探求するために、皆様と一緒に働けることを楽しみにしています。