説明に使った時の絵は、別途追加よてい
はじめに
社内で生成AIに関する活動をしているチームに混ぜてもらった。チームは、生成AIに社内の情報(ソフトウェア設計の過去データなど)を盛り込んで、設計者に使ってもらうことを考えている模様。RAG(AzureのAISearch)を使ってサービスを構築している状態だった。
情報を検索する用のライブラリ(インデックス)を構築するところを行い、ベクトル検索だけできるようになったタイミングで、ワード投げて狙った結果が返ってくるか?を検証してもらうところを、設計者へ協力を依頼することになった。
が、設計者が使うことに全然乗り気じゃなかった。乗り気じゃない理由は
・時間がない中で、時間とらないとできないことを頼まれても困る
・最終的にどういった嬉しさがあるのかわかんないと、協力はしづらい
・パソコン詳しくないんだよね
など。
チンプンカンプンな方がいるってのに気づいたので、何目指して今何をお願いしているのか、ちゃんと理解してもらうことが必要かなと思って、説明できるようにまとめようかなと思った。
そんなに詳しいわけじゃないので間違いもあるかもだけど、あっなるほどねって思ってもらうことを第一に考えてみた。
生成AIって?
世の中にある言語情報を、うまいことまとめたデータ(LLM)から、人間らしい対話をもとにして回答を引っ張り出す仕組み。ググるみたいな検索テクが要らなくて、人間臭く聞いても答えを返してくれる、素晴らしいサービス。
生成AIを企業で活用するって?
世の中にある情報に企業内の情報は含まれないので、例えば
「ソフトウェア開発の○○機能を実装する際、自社内の過去トラから気を付けることを教えて?」
みたいな質問には答えてくれない。
企業で活用するにあたって、企業内の情報も覚えてもらう必要がある。ケースもある。
企業内の情報を覚えてもらう方法は?
たぶん、以下3つがある。
プロンプトエンジニアリング
生成AIに企業内の過去トラを情報として与えて、その内容に対して回答してもらうようにお願いをする感じの方法。
pdfにまとまってるならpdfファイルを添付するとか、テキストファイルなら対話するウィンドウに後付けで追加するなど。
手っ取り早いけど、毎回毎回ファイルを与えないといけない。
ファインチューニング
世の中にある言語情報を、うまいことまとめたデータ(LLM)に企業内の情報も入れちゃう感じの方法。
pdfとかテキストファイルをただ与えてあげるのではなくて、質問と回答のセットをとんでもなくたくさん作って、それを学ばせるような感じっぽい。
たくさんの労力がかかっちゃうし、技術も要るので、お金に余裕があるとかチャレンジできる環境がないと難しい気がする。
RAG (Retrieval Augmented Generation)
質問に対して過去トラから似た情報を集めて、それも使って回答してもらう感じの方法。
過去トラのpdfとかテキストファイルをひとまとめにすることで、毎回ファイルを与えなくてもよくなるし、質問と回答のセットを作るなんていう面倒なことしなくてもよい。
ファインチューニングよりは低コストみたい。ちょっと前からAmazonとかMicrosoftがサービス提供してくれてるので、(お金はいるけど)サッと試すのは比較的容易。
で、なにするの?
RAGする。協力して。
何をすればいいの?
ワード検索の仕組みを提供するから、過去トラの情報をワードを使って狙い通りにとれるかを試してくれませんか?
なんで?対話は?
質問に対して過去トラから似た情報を集めるところで、ある程度の精度がないと狙った回答が返ってこないってなっちゃうかもしれない。ワード検索で、どうすれば狙い通りにとれるのか?を試して、その結果に基づいて過去トラのデータの持ち方とかを変えていけば、狙い通りに対話する仕組みができるようになると思うからさ。
上の話をして、実際どうだったか?
よくわかんないけど協力はするよって言われた。。