オープンソースのWikiであるGROWIは日々着実に開発を行っています。そして、v7.1では目玉機能として、AI機能が追加されました!
本記事では、そのAI機能の使い方について解説します。
GROWIにおけるAI機能について
GROWIは社内Wikiとして、企業やコミュニティ、研究室などで利用されています。そこには多くのナレッジが蓄積されています。GROWIではElasticsearchを組み込んでおり、検索結果については一定の評価をもらっています。
その検索結果をベースとして、AIを利用することで、より直感的な回答を得られるのがAI機能になります。 ElasticをRAGとして OpenAI API の Assistants APIを利用しており、 Wiki内にあるコンテンツ(パブリックなもの)をベースに、ユーザーの質問に対して回答を得られます。
使い方
GROWIを利用する場合、一番簡単なのはDocker Composeを使うことです。
https://github.com/weseek/growi-docker-compose
Dockerfileの修正
私が試した際(2024/11/08現在)だと、 error setting certificate file: /etc/ssl/certs/ca-certificates.crt
というエラーが出ました。解決するため、 Dockerfile にて ca-certificates
を追加しました。
# 変更後
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates \
&& curl -sL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
| tar -xz -C /usr/local/bin
docker-compose.ymlの修正
AI機能を利用する際の設定です。 app
に対して環境変数を追加します。
environment:
- AI_ENABLED=true # AI機能を有効にする
- OPENAI_SERVICE_TYPE=openai # サービスタイプを指定する
- OPENAI_API_KEY=xxxxx # APIキーを指定する
OPENAI_SERVICE_TYPEは、 openai
か を指定します。利用するAIサービスのAPIキーを取得して、 azure-openai
OPENAI_API_KEY
に設定してください。
AI機能の環境変数は以下の通りです。必要に応じて設定を変更してください。
キー | 型 | デフォルト値 |
---|---|---|
AI_ENABLED | BOOLEAN | false |
OPENAI_SERVICE_TYPE | STRING | null |
OPENAI_API_KEY | STRING | null (isSecret: true) |
OPENAI_SEARCH_ASSISTANT_INSTRUCTIONS | STRING | null |
OPENAI_CHAT_ASSISTANT_INSTRUCTIONS | STRING | 略。こちらにて確認してください |
OPENAI_ASSISTANT_NAME_SUFFIX | STRING | null |
OPENAI_THREAD_DELETION_CRON_EXPRESSION | STRING | '0 * * * *' (毎時) |
OPENAI_THREAD_DELETION_CRON_MAX_MINUTES_UNTIL_REQUEST | NUMBER | 60 |
OPENAI_THREAD_DELETION_BARCH_SIZE | NUMBER | 100 |
OPENAI_THREAD_DELETION_API_CALL_INTERVAL | NUMBER | 36000 (msec) |
OPENAI_VECTOR_STORE_FILE_DELETION_CRON_EXPRESSION | STRING | '0 * * * *' (毎時) |
OPENAI_VECTOR_STORE_FILE_DELETION_CRON_MAX_MINUTES_UNTIL_REQUEST | NUMBER | 60 |
OPENAI_VECTOR_STORE_FILE_DELETION_BARCH_SIZE | NUMBER | 100 |
OPENAI_VECTOR_STORE_FILE_DELETION_API_CALL_INTERVAL | NUMBER | 36000 (msec) |
AI機能の利用法
設定ができていれば、Wikiページ上部にAIアイコンが表示されます。これをクリックすると、フローティングでAIアシスタントが表示されます。
後は質問をすれば、答えが返ってきます。
注意点
現在のモデルは gpt-4o
固定になります(7.1.2にてデフォルトがgpt-4o-miniになりました)。質問の仕方によってはトークンの制限に引っかかる可能性があります。その場合は質問の仕方を工夫してもらうか、Tierの引き上げを検討してください。
現在はテキストで返ってくるのみです。引用元がページへのリンクになると、さらに便利になりますね(今後に期待) → 7.1.2で追加されました!
まとめ
AI機能はまだβ版になりますので、ぜひ試してみてもらってフィードバックをください!社内ナレッジのAI化で、生産性は大きく向上するでしょう。ぜひGROWIを導入して、知識の体系化につなげてください。