概要
相変わらず社内向けLLM関連サービスを手掛けている中井です。
2025年2月のDX祭り(グループ社向けDXイベント)でのコンセプト展示、
205年7月にファイルアップロード版をリリース、10月にリアルタイム版をβ版として一部会議室で運用開始した議事録作成サービス、
「ABChatギジロク」についてご紹介いたします。
ABChatギジロクとは
会議の録音ファイルをアップロード、もしくはリアルタイムでの会議音声を利用して、自動で議事録を作成します。作成された議事録はメールで届きます。

ファイルアップロードの場合、1時間程度の会議であればおおよそ5分程度で議事録が完成しメールで届きます。
システムは完全にローカルのみで実行され、インターネットに接続されません。
そのため、情報漏洩の心配をすることなく機密会議でも利用可能です。
また、ローカルLMを利用しているため従量課金ではなく、完全に無料で利用できます。

また、リアルタイムでの議事録作成の際、それまでの会議の文字起こし結果や、5分など一定時間ごとの部分要約をリアルタイムで画面に表示するようにしました。
これにより例えば会議に遅れて参加するなどの際に、会議にスムーズに参加できます。

2025年2月のコンセプト展示の際は、我々DX・メディアデザイン局ICTチームのメンバ4名+技術局のメンバ2名で作成、リリースに向けての作業についてはICTチームの4名で作成しています。
ちなみに私はPM / PLと、開発メンバとして議事要約やログ出力周りを担当しています。
ABChatギジロクのコンセプト
技術面
文字起こしの精度は近年格段に上昇しています。また、Whisperの登場によりローカル環境でもお手軽に実行できるようになりました。
それでもマイクでの集音・録音環境に大きく依存し、精度がユーザの望むレベルで出ないことも多くあります。
しかし、LLM / ローカルLMを利用して議事録を作成する過程で誤字も修正すれば、かなり精度の高い議事録が作成されることが期待されます。
また、ローカルで実行し、完全無料で作成し放題なので、以下のデジタルトランスフォーメーションの目的にも合致します。
もちろんユーザからの、絶対に外部に出したくない会議でも議事録を作成したい、という要望にも応える必要がありました。
デジタルトランスフォーメーション
可能な限り全ての会議の議事録を作成し、全社導入しているGoogle Workspace上のGoogle Driveに保存する未来を想定しています。
そうすれば、すべての知見がGoogle Driveに集約され、検索でヒットしたり、Geminiから利用されたりすることで、データのサイロ化を防ぎ、過去の知見を見逃さない会社になります。
また、将来の機械学習向けデータ収集の側面もあります。機械学習するには、ひとまずデータが必要です。
どういった仕事をどの部門がしているのか、生のデータを集めることができます。
処理の流れ
簡単な処理の流れは以下の通りです。
ローカルLMを動作させるPCは汎用のGPUで利用できるものとしました。
そのため、GPUメモリがそこまで大きくなくても動く小さなモデルで、かつ日本語の精度がいいものをPoCの結果選出しています。
ただし、入力Token数が大きくないため、map_reduce方式(分割して要約し、その分割要約から最終要約を作成する)を採用しています。
リアルタイム音声の入力については、既存のWeb会議システムのMixer Outを利用しています。その部屋の音声に加えて、Web会議で参加しているメンバーの声も集音することができます。

技術的なあれこれ
システム構成
会議室ごとにマシンを設置(リアルタイム版向け)する必要があることなどから、containerで作成し、端末の作成・メンテを楽にすることとしました。

各マシンの役割は以下の通りです。
-
Management Server
-
portainerによるコンテナ監視
-
grafanaによる利用状況などの可視化
-
-
Frontend Server
-
フロントエンド(Web App)
-
バックエンド(DB)
-
自作のservice_managerにより、文字起こしコンテナや要約コンテナのマネジメント。空きコンテナを探して処理を依頼する
-
-
App Server
-
文字起こし(ファイル版)
-
議事録作成
-
-
会議室ギジロク端末
-
文字起こし(リアルタイム版)
-
議事録作成
-
※CI/CDについてはGenkinsを利用しています。
工夫ポイント
以下のような多くの工夫を実施しています。
-
マシンの利用効率向上
- service_managerを自作し、空きマシンに対して処理を依頼
-
文字起こし精度向上
-
音源の前処理
- マイクノイズの低減
-
話者分離
- オーバーラップ方式と中点方式を組み合わせた方式
-
-
議事録作成精度向上
-
VRAM節約のためのローカルLMのロード方法の改善
-
map_reduce方式の採用
-
プロンプトの改善
-
事前作成のアジェンダなどを利用して修正する機能
-
-
リアルタイム時の情報漏洩対策
(リアルタイムの際、ABChatギジロクをOFFにせずに退出するとそれまでの会議文字起こし結果、および部分要約が表示されたままになってしまう)
-
事前に会議予定時間を設定して開始する
-
終了前には延長ボタンにより簡単に延長可能。延長しない場合は終了する。ABChatギジロクからも自動でログアウト
-
vibe codingのテスト(2024年12月)
また、PoCに向けた開発時(2024年12月)から、一部機能(ローカルLMによる要約やログ機能)について、いわゆるvibe codingを実施しています。ABChat(≒GPT-4o)と協力しながら、①目的、②システム構成、③ワークフロー、④各種APIの入出力をまず作成しました。
これら設計は、Markdown / PlantUML / OpenAPISpecification を用いて記載し、LLMが理解しやすいようにしています。

それらを入力として与えながら、細かいプログラムを作成していきました。
当時はGPT-4oを利用していましたが、基本的なコードは上記で問題なく記載できるものの、例えばlangchainの新しいVersionでの記法のような学習されていないものであったり細かなセキュリティ面への対応などについてはまだまだ弱く、別途指示を与えるか、いっそ手書きのほうが早かったです。
とはいえ、プログラムを1行も書かずにプログラムができていく様は、次世代の開発を予感させました。
現在はその知見をもとに、各種サービスの開発を進めています。
今後の展望
現在では、Meet機能などでもGeminiを利用した文字起こしや要約が利用できます。
本ABChatギジロクは、Web会議でない場合でも利用できる点、機微情報など絶対に外に出したくない会議の場合にローカルで処理が完結している点、に優位性がありますが、加えて
業界用語などをFine TuningしたローカルLMによるさらなる精度向上を目指します。
また、MCP Server化し、MCP Agentからいつでも利用可能にしていければと考えています。
