Slide 1

Slide 1 text

【Azure OpenAI⼊⾨】 Azure OpenAI Service × LangChain でクラウドネイティブなアプリ開発 .NETラボ12⽉ 佐⽵ 祐亮

Slide 2

Slide 2 text

apc-y-satake satyus 佐⽵祐亮 / Yusuke Satake 株式会社エーピーコミュニケーションズ Experience • 学習塾の起業 • ITコンサルティングファームにて仮想通貨取引システムの開発に従事 • SaaS 企業にてPM業務に従事 • プログラミングスクールの起業 • 株式会社エーピーコミュニケーションズにてDXコンサルタントに従事 Expertise ž 学習塾起業 ž プログラミングスクール起業 ž ソフトウェア開発 ž React / Next.js ž Node.js ž Microsoft Azure ž 数学ⅠA・ⅡB・ⅢC ž 物理

Slide 3

Slide 3 text

Agenda ž 本⽇の概要 ž 使⽤する概念の説明 ž ⼤規模⾔語モデル(LLM) ž LLMを強化する⽅法 ž ReActとは? ž LangChainとは? ž DEMO ž AOAI + LangChainでReActアプリケーション開発 ž 最後に

Slide 4

Slide 4 text

本⽇の概要 ž ⼤規模⾔語モデル(LLM)の概念及びReAct という概念についても学習し、これ からAzure OpenAI が⾃社内や個⼈開発の中で利活⽤出来そうだと感じれ ることがゴールです。 ž ⼤規模⾔語モデル(LLM)の説明から記載しているので、初学者の⽅もご安⼼し てついてきていただければと存じます。 ž 今回も実装⽅法を以下の記事にまとめてりますので、是⾮ハンズオンを通じて Azure OpenAI Serviceで遊んでみてください! ž Zenn https://zenn.dev/yusu29/articles/azure_react_llm

Slide 5

Slide 5 text

使⽤する概念の説明

Slide 6

Slide 6 text

⼤規模⾔語モデルの概要と課題 ž ⼤規模⾔語モデル(LLM: Large Language Models)は⾃然⾔語処理(NLP) の分野で⽤いられる⼤量のテキストデータから学習した機会学習モデルのことで す。 LLMが出来ること • ⾃然⾔語⽣成 • 質問応答 • 翻訳 • 要約 • ⽂書分類 • 要素認識 • 感情分析

Slide 7

Slide 7 text

⼤規模⾔語モデルの概要と課題 ž ⼤規模⾔語モデル(LLM)の開発の歴史があり、各社様々なAIを開発 出典 https://arxiv.org/pdf/2104.04473.pdf enterprise LLM Google BERT OpenAI GPT NVIDIA Megatron-LM Microsoft Turning-NLG トランス フォーマーを 使った最初の モデル スケール測の発見 データを増やせば精度が上が る 学習に数億~数十億の投資

Slide 8

Slide 8 text

⼤規模⾔語モデルの概要と課題 ž 特に最近注⽬されているChatGPTを詳細に⾒てみましょう。 ž 2022年11⽉30⽇リリース ž GPTモデルを使って作られたチャットアプリサー ビス ž リリース後2ヶ⽉で1億ユーザ突破 ž GPT 3 / 4 モデルの学習データは2022年1⽉ までのデータしかない ž 先⽇発表されたGPT 4 Turboは2023年4 ⽉までのデータがあるが、現在の情報が必要 な回答作成は難しい

Slide 9

Slide 9 text

⼤規模⾔語モデルの概要と課題 ž ⼤規模⾔語モデル(LLM)の問題点はAIが学習した範囲内でしか回答出来な いということです。 ž そこで昨今では以下のようなニーズがあるかと存じます。 2022年1⽉以降の情報も回答してほしい… 外部には公開していない社内の情報への質問にも正確に回答してほしい… →LLMを独⾃に強化する必要がある。

Slide 10

Slide 10 text

Prompt Engineering ž LLM に与えるプロンプト内に追加データを 含めたり、不⾜がある場合に外部ツールを 呼び出してデータを追加することで回答精 度を向上させる⽅法 Ex) ž 以前の情報をヒントにして回答 ž Web で検索して回答 Fine Tuning ž LLM ⾃体を追加学習させ、パラメータを調 整することで回答精度を向上させる⽅法 ž 膨⼤なコストとデータが必要 Ex) ž GPT3.5 に独⾃データを加えたモデルを作成 LLMを強化する⽅法 今回⽤いるのがPrompt Engineering の⼿法であるReActという概念になります。

Slide 11

Slide 11 text

ReActとは? ž ReAct(REasoning and ACTing)は、⾔語モデル(LLM)を使⽤して 思考(推論)と⾏動を同時に⾏うための新しい枠組みです。 ž ReAct の主な⽬的は、⾃然⾔語推論と意思決定のタスクを統合することで、 より⾼度な⾔語理解と知識活⽤を可能にすることです。 出典 https://react-lm.github.io/

Slide 12

Slide 12 text

ReActとは? 1. ⼈からの質問 2. Azure OpenAIへ質問を送る 3. OpenAIだけで回答を出すのが難しい 場合、Bing Searchを⽤いて検索を ⾏い情報を得る 4. Bing Searchから得た情報も含めて OpenAIへ送り、回答の要約を作成 5. ⼈へ回答を返す ž 実際に図にしてみると以下のイメージ。 思考(推論)と⾏動 を⾏っていることがわかります。

Slide 13

Slide 13 text

LangChainとは? 特徴 1. ReActプロセスを簡単に構築出来る 2. LLMを他のデータソース(RDBなど)に接続出来る ž GPTなどのLLMを使ったアプリケーションを開発する際に使⽤出来る開発を効 率化するためのライブラリ

Slide 14

Slide 14 text

本⽇のDEMOのアーキテクチャ ž ReActの概念をAzureのリソースを使って表現したいと思います!

Slide 15

Slide 15 text

DEMO AOAI + LangChainでReActアプリケーション開発

Slide 16

Slide 16 text

DEMO

Slide 17

Slide 17 text

最後に いかがだったでしょうか。 ž 今回はAOAI + Bing Searchの構成にしましたが、Bing Searchの箇所を社内 独⾃のデータにすれば、独⾃情報を取り扱うことの出来るAIが作成出来ますし 、フロント部分をStatic Web AppsからAzure Communication Serviceに変 えれば電話対応をAI化することも可能です。 ž 本発表を通じて様々な拡張性があるAzure OpenAI Serviceを是⾮みなさま も⾊々と触ってみたい!と思っていただければ幸いです。

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

参考資料 ž Zenn https://zenn.dev/yusu29/articles/azure_react_llm ž Qiita https://qiita.com/fe_js_engineer/items/cd5cef784cb5e30a7ffc ž GitHub https://github.com/SatakeYusuke19920527/poc-react-app