gooブログはじめました!

根本から、理解する「生成AI導入」。

○ 生成AIの導入に役立つ2種のOSS、使う際の注意点は?

自社システムにChatGPTをはじめとする生成AIの機能を導入するのは簡単ではない。例えばChatGPTのAPIを用いた簡易チャットボットを開発したとしても、実用性には課題が残る。現在のChatGPTは2021年9月までのデータで学習しているため、無料版のChatGPTでは「現在の日本の総理大臣は誰?」という質問をしても正しく答えられない。また長文を入力することができず、複雑な計算を行わせることも難しい。

こうした生成AIが苦手とする処理を補うフレームワークが注目されている。OSS(オープンソースソフトウエア)として提供されている「LangChain(ラングチェーン)」や「LlamaIndex(ラマインデックス)」などだ。他のシステムやサービスと連携し、生成AIを補う処理ができるようになる。

さまざまなモジュールが用意されているLangChain。

LangChainには「Agent(エージェント)」「Prompt(プロンプト)」「Models(モデルズ)」「Memory(メモリー)」といったモジュールが用意されている。Pythonで記述したプログラムなどでこれらのモジュールを利用すれば、他のシステムやサービスと簡単に連携できる。

例えばAgentモジュールを利用すると、ChatGPTだけでは回答できなかった「現在の日本の総理大臣は誰?」といった問いに対してGoogle検索の結果を返せるようになる。GMOペパボの栗林健太郎取締役CTO(最高技術責任者)は「エージェントが外部サービスとのやり取りを代行できる。これにより、ChatGPTなどの大規模言語モデル(LLM)が知らない情報を取得できる」と説明する。

Agentモジュールを使えば、LLM機能を拡張できる
画1、Agentモジュールを使えば、LLM機能を拡張できる。

Promptモジュールを使えば、受け取った入力値を基にプロンプトを生成したり、大量の教師データからプロンプトに入力するデータを選択したりできる。例えば「○○について教えてください」というテンプレートを作り、○○の部分を可変にしておく。こうすることで、利用者が入力した値を可変部分に当てはめてプロンプトをつくり、ChatGPTに問い合わせられる。

Modelsモジュールでは、さまざまなサービスが提供しているモデルを切り替えたり、組み合わせたりできる。このモジュールを使うことで、米OpenAI(オープンAI)が提供するGPT-4などのモデルと、他社が開発したモデルを組み合わせて利用できるようになる。またMemoryモジュールではChatGPTとのやり取り履歴を保存できる。過去のチャット内容などを引き継ぎたいときに便利だ。

社内データを利用する際に便利なLlamaIndex。

LangChainと同様に注目されているOSSのフレームワークがLlamaIndexだ。自社で保有している独自データを基にChatGPTが回答できるようになる。通常は、独自データを基にLLMが回答できるようにするには、LLMに独自データを追加で学習させる必要がある。一方、LlamaIndexを使って独自データの文書ファイルからインデックスを作成すると、そのインデックスの情報がChatGPTに対するプロンプトに組み込まれる。これにより、ChatGPTが学習していない情報に対しても質問して回答を得られるようになる。

LlamaIndexでは「LlamaHub(ラマハブ)」というデータコネクターを利用できる。これを使えば、文書ファイルだけでなくTwitterやSlackといったWebサービスからもデータを集めてインデックスを作成できる。なお、LangChainでもこうしたインデックスはつくれるが、「LLMとデータをつなぐ用途であれば、用途を特化したLlamaIndexのほうが手軽に実装できる」(栗林取締役)という。LlamaIndexで構築したインデックスをLangChainから利用することも可能だ。

エンジニアの確保と運用体制に注意。

こうしたOSSは便利だが、導入する際には注意が必要だ。栗林取締役は「エンジニアの確保」と「運用体制」の2つの注意点を挙げる。

LangChainやLlamaIndexを導入するには、実際にはプログラミングの知識が必要だ。LangChainを利用したプロトタイプ作成程度であれば特別な知識は不要だが、実運用に耐えるシステムを構築するには本格的なソフトウエア開発の知識が必要になるという。つまり、一定以上の能力を持つエンジニアを確保しなければならない。栗林取締役は「GUI(グラフィカルユーザーインターフェース)でLangChainを設定できるツールが登場しているものの、現状で機能が整っていない」と指摘する。

また、LLMをはじめとする生成AIの進化は早い。これに追従する形で、ライブラリーやフレームワークの環境も日進月歩で整備されているという。運用時には、LLMの進化に合わせてライブラリーやフレームワークもアップデートしなければならない。こうした変化に追従できるような運用体制が必要になってくる。


ランキングに参加中。クリックして応援お願いします!

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「〝 たぬき の 「 スマホ ・ パソコン 」 ワールド 〟」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事