Slide 1

Slide 1 text

© 2024 TIS Inc. 社内AIチャット「TIS AIChatLab」 RAG応答評価の仕組みとプロセス 2024.09.17 テクノロジー&イノベーション本部 開発基盤センター

Slide 2

Slide 2 text

© 2024 TIS Inc. 2 概要 TISでは昨年度から「TIS AIChatLab」という社内専用AIチャットを公開・運用してい ます。 ここではTIS AIChatLabのRAG(Retrieval-Augmented Generation)モデルの応答評 価に焦点を当て、その技術的なアプローチと評価プロセス、Weights & Biasesの利用例 を解説します。 先だってオウンドメディアで公開した 社内AIチャット「TIS AIChatLab」:RAG応答 評価の仕組みとプロセス という記事をベースにしつつ、最新の状況を踏まえてお届けし ます。

Slide 3

Slide 3 text

© 2024 TIS Inc. 3 概要

Slide 4

Slide 4 text

© 2024 TIS Inc. 4 AIチャットへの取り組み 概要

Slide 5

Slide 5 text

© 2024 TIS Inc. 5 これまでの歩みを1ページで • 2023/07 社内専用AIチャット「TIS AIChatLab」初期バージョン公開 • GPT-3.5で一般的な内容をチャットするだけのもの • RAGは無し • React(TypeScript) + Spring Boot(Java) + Azure OpenAI Service • 2023/10 社内情報検索を行えるRAG構成へとバージョンアップ • RAGにはAzure AI Search On Your Dataを使用 • 課題:体感的に回答精度が低い、定量評価が行えていない • 2024/01 部門横断の専門チームを立ち上げ回答精度の改善に着手 • アーキテクチャの刷新 • AI Seach On Your Data → 自前のRAG(ブラックボックスをなくしてチューニ ングしやすく) • Spring Boot(Java) → Python(LangChain + FastAPI) • 2024/03 回答精度の改善を達成 • 継続したUX改善を実施

Slide 6

Slide 6 text

© 2024 TIS Inc. 6 TIS AIChatLabのアーキテクチャ

Slide 7

Slide 7 text

© 2024 TIS Inc. 7 TIS AIChatLabのアーキテクチャ

Slide 8

Slide 8 text

© 2024 TIS Inc. 8 性能評価の仕組み

Slide 9

Slide 9 text

© 2024 TIS Inc. 9 評価方法 概要 • 評価用のデータセットを準備 • 評価用のデータセットを用いて回答生成する • 生成された回答に対してRagasを用いて、以下のメトリクスで定量評価を実施 • Answer Correctness • Answer semantic similarity • 評価結果およびトレースをWeights & Biasesへ記録

Slide 10

Slide 10 text

© 2024 TIS Inc. 10 • 本番を想定した質問と期待する回答のセット • 業務の有識者(※)に作成してもらったり、LLMで生成したり • ※この例だと情シス 評価用のデータセット例

Slide 11

Slide 11 text

© 2024 TIS Inc. 11 コード例:回答生成、評価、Weights & Biasesへの記録

Slide 12

Slide 12 text

© 2024 TIS Inc. 12 Weights & Biasesへ記録されたテーブルの例

Slide 13

Slide 13 text

© 2024 TIS Inc. 13 • Weights & Biasesのレポート機能で作成したレポートにダイアグラムを埋め込んで いる例 • ここではRagasで評価したスコアを可視化し、異なるバージョン間(v0, v1)を比較 している 記録されたテーブルをもとに作成したダイアグラムの例

Slide 14

Slide 14 text

© 2024 TIS Inc. 14 コード例:トレースの取得 ※注:今後はWeaveが主流になっていくため、あまり役に立たない知見かもしれません • AsyncClientのappパラメーターへFastAPIオブジェクトを渡すことでHTTP通信をバ イパスし、同一プロセスでリクエストを処理している • HTTP通信をバイパスしている理由は、アプリの作りの問題で、RAGのチェインが疎 結合になっておらず、チェイン単独で呼び出すことができなかったため

Slide 15

Slide 15 text

© 2024 TIS Inc. 15 コード例:トレースの取得(改善) • チェインを疎結合にして単独で呼び出せるように改善

Slide 16

Slide 16 text

© 2024 TIS Inc. 16 トレースに関して今後の展望 プロダクション環境での内部状態を把握したいため、プロダクション環境でもトレース を記録したい。 現状は OpenTelemetry + Application Insights で一応トレースを見ることができるが、 HTTP通信やAzure Cosmos DBとの通信など、一連のトレースが記録されているためノ イズが多い。 Weaveへ移行したい。

Slide 17

Slide 17 text

© 2024 TIS Inc. 17 脇道)生成AIの確率的な性質に起因する課題 評価やWeights & Biasesとは関連しない話題だが、、、みなさんがどうされているのか お聞きしたいです • UIのE2Eテストを自動化しており、Visual Regression Testingを行っているが、生 成されるテキストが毎回異なるため毎回差分が検出されてしまい、正直言ってテス トが機能していない、、、 • UIのテストなので生成されるテキストの内容には関心がない • そのためE2Eテストの際は FakeMessagesListChatModel を用いて生成されるテキ ストに再現性を持たせたいと考えている 生成AIの確率的な性質とテスト自動化について、みなさんどう向き合っていますか?

Slide 18

Slide 18 text

© 2024 TIS Inc. 18 今後の展望

Slide 19

Slide 19 text

© 2024 TIS Inc. 19 今後の展望 • 運用まわりでまだまだ手作業も多い。自動化を進める • 評価用データセットを用いた定量評価も自動化し、リグレッションテストのよ うに実施できる環境を整えたい • 回答精度向上の継続 • Azure AI Search単体のチューニング • インデックスのドメイン分割, クエリーの分類 • などなど

Slide 20

Slide 20 text

© 2024 TIS Inc. 20 参考 Fintan(オウンドメディア)へ投稿した生成AI関連の記事 • 社内AIチャット「TIS AIChatLab」:RAG応答評価の仕組みとプロセス • 社内AIチャット「TIS AIChatLab」:RAGアーキテクチャの刷新とUX改善 • GitHub Copilotの導入状況と効果、導入に向けて実施した取り組み • 生成AIリテラシー向上研修:研修資料の公開 サービス提供 • 生成AIビジネス活用研修サービス • AI搭載型チャットボット作成サービス:Dialog Play® • 生成AI導入支援サービス

Slide 21

Slide 21 text

ご清聴ありがとうございました