複数のLLMを組み合わせた ⽣成AI活⽤のご紹介 1
まずは、⾃⼰紹介! 名前 : 岩⼿テナージョン (テナー) 所属: Solvio株式会社 代表取締役 (ex:クラスメソッド 新規事業部) やっていること: ⽣成AIを活⽤したプロダクト開発 / 顧客への活⽤⽀援 (PoCの開発 / コンサルティング) 担当した執筆領域: 第1章の「ChatGPTをはじめよう」と第2章の 「はじめてのプロンプト」を主に担当しました。 2
今⽇、伝えたいこと 生成AIをより活用するためには、 「複数の LLMを組み合わせて実行することがオススメ」 3
今⽇、伝えたいこと 生成AIをより活用するためには、 「複数のLLMを組み合わせて実行 することがオススメ」 4
複数のLLMをつかう??🤔🤔🤔🤔🤔 5
複数のLLMを使う際のイメージ 通常のChatGPTを利⽤する場合、単⼀のLLMにタスクを依頼しますが、 複数のLLMを利⽤する場合は様々な役割を持ったLLMにタスクを依頼します。 単一のLLMを 利用する場合 複数のLLMを 利用する場合 回答作成 回答作成 レビューの実 施 改善の実施 6
なぜ、複数のLLMを 利⽤することが必要なのか? 7
なぜ、複数のLLMを使うことが良いのか? -背景にある課題 単⼀のLLMを利⽤する場合、「複雑なタスク」や「⻑い⽂章」を⼊⼒すると 期待通りの結果が得られない場合がある。 複雑なタスクを実⾏する際の課題 - いくつかのタスクを1つのプロンプトで実⾏しようとすると、実⾏漏れが発⽣することがある →プロンプトエンジニアリングでなんとかなることもあるが、限界がある。 ⻑い⽂章を利⽤する際の課題 - LLMが利⽤できる⽂字数はどんどん増えていっている(Geminiの場合200万トークン *英語の 本15冊分)が、⼤量の⽂字数を⼀度に⾏うと精度が落ちる印象 https://developers.googleblog.com/en/new-features-for-the-gemini-api-and-google-ai-studio/ 8
複雑なタスクを実⾏する際の課題 複雑なタスクを実⾏する際の具体例 - 精度が低下する際の例 プロンプト [#入力]に記載されている文章をレビューして、[#チェック項目]の内容を確認してください [# チェック項目] 1. 文章の構成が論理的か、 2. データの正確性が保たれているか、 3. 誤字脱字がないか、 4. 文章の敬語表現に誤りがないか、 5. 用語の使い方が一貫しているか、 6. 使用されている言葉が専門的でない場合、一般読者に理解できるか、 7. 不適切な表現はないか 8. 社内用語は含まれていないか ・・・ [#入力] 「レビュー対象の文章」 9
複雑なタスクを実⾏する際の課題 複雑なタスクを実⾏する際の具体例 - 精度が低下する際の例 プロンプト [#入力]に記載されている文章をレビューして、[#チェック項目]の内容を確認してください [# チェック項目] 1. 文章の構成が論理的か、 2. データの正確性が保たれているか、 3. 誤字脱字がないか、 4. 文章の敬語表現に誤りがないか、 5. 用語の使い方が一貫しているか、 6. 使用されている言葉が専門的でない場合、一般読者に理解できるか、 7. 不適切な表現はないか 8. 社内用語は含まれていないか ・・・ [#入力] このように複数のタスクやチェック項目を 1度に依頼すると、 生成AIからの出力精度が低下したり、見逃しが発生することが多い 「レビュー対象の文章」 10
⻑い⽂章を利⽤する際の課題 ⻑い⽂章を翻訳させた際の具体例 - 単語が正しく翻訳されない (7000⽂字程度の記事を⼀度に翻訳させた場合) https://paulgraham.com/foundermode.html 11
なぜ、複数のLLMを使うことが良いのか? -回答品質の向上 - LLMが⽣成した回答を後続タスクとして改善/レビュープロセスを 実⾏すると品質が安定しやすい 回答作成 回答作成 レビューの実 施 改善の実施 12
複数のLLMを利⽤する際の構築⽅法は? - 通常のChatGPTなどのツールでは実現が難しいため、Difyなどの ローコードツールを利用することがオススメです。 Difyとは? - ⽣成AIを利⽤したワークフローを構築す るローコードツール - GUIで簡単に⽣成AIを利⽤した アプリケーションを構築できる - Web検索と組み合わせたり、社内情報 を与えたチャットボットの構築も簡単 に実施可能 13
実際にDifyを使った 複数LLMを組み合わせたワークフローを 試してみましょう! 14
ユースケース: ⾃社コンテンツを作成したい やりたいこと - 自社のメディアに初心者向けの技術記事を掲載したい - 海外向けにも発信をしたいため、英語や韓国語、スペイン語など様々な言語で掲載 したい 15
ユースケース: ⾃社コンテンツを作成したい やりたいこと - 自社のメディアに初心者向けの技術記事を掲載したい - 海外向けにも発信をしたいため、英語や韓国語、スペイン語など様々な言語で掲載 したい ユーザーからの入力例 - 自社メディアに掲載するコンテンツを作って欲しいです。 Python初学者向けに変数とはなにか?を解説する記事を書いてください。 期待する出力 - 様々な言語に翻訳された与えられたテーマの記事 16
ユースケース: ⾃社コンテンツを作成したい ワークフローの例 1/2 ユーザーからの入力例: 自社メディアに掲載するコンテンツを作って欲しいです。 Python初 学者向けに変数とはなにか?を解説する記事を 書いてください。 17
ユースケース①: ⾃社コンテンツを作成したい ワークフローの例 2/2 日本語の記事を様々な言語に翻訳する 18
ユースケース①: DEMO動画 19
このように複数のLLMを組み合わせると、 より複雑なタスクを⾼精度で実⾏ することができる 20
複数のLLMを組み合わせることが有効な活⽤例 マーケティング部門 - 文章の校閲やトンマナをあわせる - 多数ある社内ルールをもとにした文章のチェック 法務部門 - 自社基準のチェックポイントをもとにした契約書のレビュー 21
まとめ - やりたいことを複数のタスクに分割して、複数のLLMに分割して タスクを実行させると、より高度で安定した出力を得ることができる - 事前にワークフローを構築しておくと、ユーザーからのシンプルな 入力のみで高度なタスクを実行ができる - 今回のようなワークフロー構築を行う際には、Difyがオススメ 22
23 23