ジェネラティブエージェンツの大嶋です。
もくもくDifyで「Difyソースコードリーディング#2 ―Difyの開発環境を起動してみる」というイベントを開催しました。
アーカイブ動画はこちらです。
Difyのソースコードは以下です。
今回のポイント
Difyの開発環境の起動方法
Difyの開発環境の起動方法自体は、CONTRIBUTING_JA.md の「インストール」の箇所に書かれている通りの手順でした。
手順自体は少し長めでしたが、まったくエラーに遭遇せず起動できました。
開発環境の起動と、docker/docker-compose.yamlでの起動の違い
補足になりますが、CONTRIBUTING_JA.md に書かれているのは、Dify自体の開発のためのセットアップ手順です。
docker/docker-compose.yaml にもDifyをDocker Composeで起動する手順が書かれていますが、こちらの場合は開発モードではなく、コードを変更しても反映されません。
UIの文言の修正
せっかく開発環境を起動できたので、UIの文言を少し変更してみました。
web/i18n ディレクトリのファイルを編集すると、しっかりUIに反映されました。
設定の変更
昨日のDifyもくもく会で話題になった、チャンクサイズの最大値の変更も挑戦してみました。
チャンクサイズを1000より大きくすると Custom segment length should be between 50 and 1000
と表示されるので Custom segment length should be between
で検索してコードの該当箇所を探しました。
最終的にはINDEXING_MAX_SEGMENTATION_TOKENS_LENGTHという環境変数を変更することで、チャンクサイズの最大値を変更できることが確認できました。
dify-docs
Difyのアプリケーション以外に、dify-docsも少し見てみました。
こちらはGitBookが使われているようで、マークダウン形式のドキュメントを更新すれば反映されるようです。
translate.py という自動翻訳のスクリプトが置かれていて、このスクリプトの内部ではDifyのアプリケーションを呼び出しているようでした。
dify-sandbox
最後に、dify-sandboxも少しみてみました。
Go言語で実装されていて、システムコールを制限したりした環境でPythonやNode.jsを実行できるようでした。
詳細までは分からなかったので、またそのうちじっくり読みたいです。
次回のご案内
Difyソースコードリーディングの第3回として、次回はAPIのリクエストからレスポンスまでどんなふうに実装されてるのか読み解いたり、どんなAPIがあるのか見てみる予定です。 ご興味ある方はぜひ気軽にご参加ください。
また、水曜日にもDifyのもくもく会が開催されます。 こちらではDifyの使い方の解説として、テンプレートをみていく予定となっています。 こちらもご興味ある方はぜひ気軽にご参加ください。