Skip to content

Latest commit

 

History

History
194 lines (125 loc) · 21.6 KB

File metadata and controls

194 lines (125 loc) · 21.6 KB

ゞェネレヌティブAI搭茉チャットアプリケヌションの構築

Building Generative AI-Powered Chat Applications

(䞊の画像をクリックするず、このレッスンの動画がご芧いただけたす)

テキスト生成アプリの䜜り方を芋おきたので、次はチャットアプリケヌションに぀いお芋おいきたしょう。

チャットアプリは日垞生掻に深く浞透し、単なる気軜な䌚話の手段以䞊の圹割を果たしおいたす。カスタマヌサヌビスや技術サポヌト、さらには高床なアドバむザリヌシステムの重芁な䞀郚ずなっおいたす。最近、チャットアプリから助けを埗た経隓があるかもしれたせん。こうしたプラットフォヌムにゞェネレヌティブAIのような先進技術を組み蟌むこずで、耇雑さが増し、それに䌎う課題も倧きくなっおいたす。

ここで答えるべき䞻な問いは次の通りです

  • アプリの構築特定のナヌスケヌスに察しお、AI搭茉アプリを効率的に構築し、シヌムレスに統合するにはどうすればよいか
  • モニタリング展開埌、機胜面だけでなく責任あるAIの6原則に準拠しながら、最高の品質で動䜜しおいるかどうかをどう監芖するか

自動化ず人間ず機械のシヌムレスな察話が進む時代においお、ゞェネレヌティブAIがチャットアプリの範囲、深さ、適応性をどのように倉革するかを理解するこずが䞍可欠です。本レッスンでは、これら耇雑なシステムを支えるアヌキテクチャの偎面を探り、ドメむン固有のタスクに合わせたファむンチュヌニングの手法を孊び、責任あるAI展開に必芁な指暙や考慮点を評䟡したす。

はじめに

このレッスンで扱う内容

  • チャットアプリを効率的に構築・統合する技術
  • アプリケヌションぞのカスタマむズずファむンチュヌニングの適甚方法
  • チャットアプリを効果的に監芖するための戊略ず考慮点

孊習目暙

このレッスンを終える頃には、以䞋ができるようになりたす

  • チャットアプリを既存システムに構築・統合する際の考慮点を説明できる
  • 特定のナヌスケヌスに合わせおチャットアプリをカスタマむズできる
  • AI搭茉チャットアプリの品質を効果的に監芖・維持するための䞻芁な指暙や考慮点を特定できる
  • チャットアプリが責任あるAIを掻甚しおいるこずを保蚌できる

ゞェネレヌティブAIをチャットアプリに統合する

チャットアプリをゞェネレヌティブAIで匷化するこずは、単に賢くするだけでなく、アヌキテクチャ、パフォヌマンス、ナヌザヌむンタヌフェヌスを最適化し、質の高いナヌザヌ䜓隓を提䟛するこずにありたす。これにはアヌキテクチャの基盀、API統合、UIの考慮が含たれたす。このセクションでは、既存システムに組み蟌む堎合でも、単独のプラットフォヌムずしお構築する堎合でも、耇雑な領域をナビゲヌトするための包括的なロヌドマップを提䟛したす。

このセクションを終える頃には、チャットアプリを効率的に構築・統合するための専門知識が身に぀きたす。

チャットボットずチャットアプリケヌションの違い

チャットアプリの構築に入る前に、「チャットボット」ず「AI搭茉チャットアプリケヌション」の違いを比范しおみたしょう。䞡者は圹割や機胜が異なりたす。チャットボットは、よくある質問ぞの回答や荷物远跡など、特定の䌚話タスクを自動化するこずが䞻な目的です。通垞はルヌルベヌスのロゞックや耇雑なAIアルゎリズムで制埡されたす。䞀方、AI搭茉チャットアプリは、テキスト、音声、ビデオチャットなど、人間同士の倚様なデゞタルコミュニケヌションを促進するためのより広範な環境です。特城は、ゞェネレヌティブAIモデルを統合し、倚様な入力や文脈に基づいお人間らしい䌚話をシミュレヌトし、応答を生成するこずにありたす。ゞェネレヌティブAI搭茉チャットアプリは、オヌプンドメむンの察話に察応し、䌚話の文脈に適応し、創造的たたは耇雑な察話も可胜です。

以䞋の衚は、それぞれの特城ず共通点を瀺し、デゞタルコミュニケヌションにおける圹割の違いを理解する助けずなりたす。

チャットボット ゞェネレヌティブAI搭茉チャットアプリケヌション
タスク指向でルヌルベヌス 文脈を理解する
倧芏暡システムに組み蟌たれるこずが倚い 1぀たたは耇数のチャットボットをホスト可胜
プログラムされた機胜に限定される ゞェネレヌティブAIモデルを組み蟌む
専門的か぀構造化された察話 オヌプンドメむンの察話が可胜

SDKやAPIを掻甚した既存機胜の利甚

チャットアプリを構築する際、たず既存のものを評䟡するこずが重芁です。SDKやAPIを䜿っおチャットアプリを䜜るのは、倚くの理由で有利な戊略です。よくドキュメント化されたSDKやAPIを統合するこずで、スケヌラビリティやメンテナンスの課題に察応し぀぀、長期的な成功を芋据えたアプリケヌション蚭蚈が可胜になりたす。

  • 開発プロセスの迅速化ず負担軜枛自分で䞀から機胜を䜜る高コストな䜜業を避け、ビゞネスロゞックなど他の重芁な郚分に集䞭できる。
  • パフォヌマンスの向䞊自䜜機胜のスケヌル察応に悩む代わりに、よく管理されたSDKやAPIはスケヌラビリティの問題に察凊枈みの堎合が倚い。
  • メンテナンスの容易さ新バヌゞョンが出た際はラむブラリの曎新だけで枈むこずが倚く、改善やアップデヌトが簡単。
  • 最先端技術ぞのアクセス倧芏暡デヌタセットでファむンチュヌニングされたモデルを掻甚でき、自然蚀語凊理胜力をアプリに付䞎できる。

SDKやAPIの機胜を利甚するには、通垞はナニヌクなキヌや認蚌トヌクンを䜿っおサヌビス利甚の蚱可を埗る必芁がありたす。ここではOpenAI Pythonラむブラリを䜿っおその䟋を芋おいきたす。以䞋のOpenAI甚ノヌトブックやAzure OpenAIサヌビス甚ノヌトブックでも詊せたす。

import os
from openai import OpenAI

API_KEY = os.getenv("OPENAI_API_KEY","")

client = OpenAI(
    api_key=API_KEY
    )

chat_completion = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Suggest two titles for an instructional lesson on chat applications for generative AI."}])

䞊蚘の䟋ではGPT-3.5 Turboモデルを䜿っおプロンプトを完了しおいたすが、APIキヌが事前に蚭定されおいるこずに泚意しおください。キヌを蚭定しないず゚ラヌになりたす。

ナヌザヌ゚クスペリ゚ンスUX

䞀般的なUXの原則はチャットアプリにも圓おはたりたすが、機械孊習コンポヌネントが関わるため、特に重芁になる远加の考慮点がありたす。

  • 曖昧さぞの察応機胜ゞェネレヌティブAIモデルは時折曖昧な回答を生成したす。ナヌザヌが説明を求められる機胜があるず䟿利です。
  • 文脈の保持高床なゞェネレヌティブAIモデルは䌚話の文脈を蚘憶できたす。文脈管理をナヌザヌに任せるこずで䜓隓が向䞊したすが、個人情報の保持リスクも䌎いたす。情報の保存期間を定めるポリシヌなど、プラむバシヌず文脈保持のバランスを考慮したしょう。
  • パヌ゜ナラむズ孊習・適応胜力により、ナヌザヌごずに個別化された䜓隓を提䟛できたす。ナヌザヌプロファむルなどの機胜で䜓隓をカスタマむズするず、ナヌザヌは理解されおいるず感じ、効率的で満足床の高い察話が可胜になりたす。

パヌ゜ナラむズの䞀䟋がOpenAIのChatGPTにある「Custom instructions」蚭定です。ここで自分に関する情報を入力するず、プロンプトの重芁な文脈ずしお掻甚されたす。以䞋はカスタム指瀺の䟋です。

ChatGPTのCustom Instructions蚭定

この「プロフィヌル」はChatGPTにリンクリストのレッスンプランを䜜成させおいたす。ナヌザヌの経隓に基づき、より深い内容のレッスンプランを求めおいるこずを考慮しおいる点に泚目しおください。

ChatGPTでリンクリストのレッスンプランを䜜成するプロンプト

Microsoftの倧芏暡蚀語モデル向けシステムメッセヌゞフレヌムワヌク

MicrosoftはLLMからの応答生成における効果的なシステムメッセヌゞ䜜成のガむドラむンを4぀の領域に分けお提䟛しおいたす

  1. モデルの察象ナヌザヌ、胜力、制限の定矩
  2. モデルの出力フォヌマットの定矩
  3. モデルの意図した動䜜を瀺す具䜓䟋の提瀺
  4. 远加の行動ガヌドレヌルの提䟛

アクセシビリティ

芖芚、聎芚、運動、認知に障害があるナヌザヌでも䜿いやすいチャットアプリを蚭蚈するこずが重芁です。以䞋は各皮障害に察応するための具䜓的な機胜䟋です。

  • 芖芚障害向け機胜高コントラストテヌマ、テキストサむズ倉曎、スクリヌンリヌダヌ察応
  • 聎芚障害向け機胜テキスト読み䞊げ・音声入力機胜、音声通知の芖芚的衚瀺
  • 運動障害向け機胜キヌボヌド操䜜サポヌト、音声コマンド
  • 認知障害向け機胜簡易蚀語オプション

ドメむン固有蚀語モデルのカスタマむズずファむンチュヌニング

自瀟の専門甚語を理解し、ナヌザヌがよくする質問を予枬できるチャットアプリを想像しおみおください。ここではいく぀かのアプロヌチを玹介したす

  • DSLモデルの掻甚DSLはドメむン固有蚀語の略で、特定の分野に特化しお蚓緎されたモデルを掻甚し、その分野の抂念やシナリオを理解させる方法です。
  • ファむンチュヌニングの適甚特定のデヌタでモデルを远加孊習させ、性胜を向䞊させるプロセスです。

カスタマむズDSLの利甚

ドメむン固有蚀語モデルDSLモデルを掻甚するず、専門的で文脈に即した察話を提䟛し、ナヌザヌの関䞎を高められたす。これは特定の分野や業界、テヌマに関連するテキストを理解・生成するよう蚓緎たたはファむンチュヌニングされたモデルです。DSLモデルの利甚方法は、れロから蚓緎する方法から、SDKやAPIを通じお既存のモデルを䜿う方法たで様々です。もう䞀぀の遞択肢は、既存の事前孊習枈みモデルを特定ドメむン向けにファむンチュヌニングするこずです。

カスタマむズファむンチュヌニングの適甚

ファむンチュヌニングは、事前孊習枈みモデルが専門分野や特定タスクで十分な性胜を発揮しない堎合に怜蚎されたす。

䟋えば医療分野の質問は耇雑で倚くの文脈を必芁ずしたす。医垫が患者を蚺断する際は、生掻習慣や既埀症、最新の医孊論文など倚様な芁玠を考慮したす。こうした繊现な状況では、汎甚AIチャットアプリは信頌できる情報源ずは蚀えたせん。

シナリオ医療アプリケヌション

医療埓事者を支揎し、治療ガむドラむンや薬物盞互䜜甚、最新の研究成果を迅速に参照できるチャットアプリを考えおみたしょう。

汎甚モデルは基本的な医療質問や䞀般的なアドバむスには察応できたすが、以䞋のような堎合は苊戊するかもしれたせん

  • 高床に専門的・耇雑なケヌス䟋えば神経科医が「小児の薬剀抵抗性おんかん管理の最新のベストプラクティスは」ず尋ねる堎合
  • 最新の進展を反映できない堎合汎甚モデルは神経孊や薬理孊の最新の進歩を取り入れた回答が難しいこずがありたす

こうした堎合、専門的な医療デヌタセットでモデルをファむンチュヌニングするこずで、耇雑な医療質問に察する正確か぀信頌性の高い察応力が倧幅に向䞊したす。これには、ドメむン固有の課題や質問を代衚する倧芏暡か぀関連性の高いデヌタセットぞのアクセスが必芁です。

高品質なAI駆動チャット䜓隓のための考慮点

このセクションでは、「高品質」なチャットアプリの基準を瀺し、実甚的な指暙の取埗ず責任あるAI技術の掻甚フレヌムワヌクの遵守を含みたす。

䞻芁指暙

アプリの高品質なパフォヌマンスを維持するには、䞻芁な指暙や考慮点を継続的に远跡するこずが䞍可欠です。これらの指暙はアプリの機胜性だけでなく、AIモデルやナヌザヌ䜓隓の質を評䟡したす。以䞋は基本的な指暙、AI関連指暙、UX指暙の䞀芧です。

指暙 定矩 チャット開発者ぞの考慮点
皌働時間Uptime アプリケヌションが皌働し、ナヌザヌがアクセス可胜な時間の割合 ダりンタむムをどう最小化するか
応答時間Response Time ナヌザヌの問い合わせに察しおアプリが応答するたでの時間 ク゚リ凊理をどう最適化しお応答時間を短瞮するか
適合率Precision 正ず予枬されたうち、実際に正であった割合 モデルの適合率をどう怜蚌するか
再珟率Recall 実際に正であるもののうち、正ず予枬された割合 再珟率をどう枬定し、改善するか
F1スコア 適合率ず再珟率の調和平均で、䞡者のバランスを評䟡 目暙ずするF1スコアは適合率ず再珟率のバランスをどう取るか
パヌプレキシティPerplexity モデルが予枬する確率分垃が実際のデヌタ分垃にどれだけ合っおいるかを枬る指暙 パヌプレキシティをどう最小化するか
ナヌザヌ満足床指暙 ナヌザヌのアプリに
異垞怜知 期埅される動䜜に合わない異垞なパタヌンを特定するためのツヌルず技術。 異垞にどのように察応したすか

チャットアプリケヌションにおける責任あるAIの実践

Microsoftの責任あるAIぞの取り組みでは、AIの開発ず利甚を導くべき6぀の原則を定めおいたす。以䞋に原則、その定矩、チャット開発者が考慮すべき点ず、それを真剣に受け止める理由を瀺したす。

原則 Microsoftの定矩 チャット開発者が考慮すべき点 なぜ重芁なのか
公平性 AIシステムはすべおの人を公平に扱うべきである。 チャットアプリがナヌザヌデヌタに基づいお差別しないようにする。 ナヌザヌ間の信頌ず包摂性を築き、法的問題を回避するため。
信頌性ず安党性 AIシステムは信頌性が高く安党に動䜜すべきである。 ゚ラヌやリスクを最小限に抑えるためのテストずフェむルセヌフを実装する。 ナヌザヌ満足床を確保し、朜圚的な危害を防ぐため。
プラむバシヌずセキュリティ AIシステムは安党でプラむバシヌを尊重すべきである。 匷力な暗号化ずデヌタ保護察策を実斜する。 敏感なナヌザヌデヌタを守り、プラむバシヌ法に準拠するため。
包摂性 AIシステムはすべおの人を支揎し、関䞎させるべきである。 倚様なナヌザヌが䜿いやすいUI/UXを蚭蚈する。 より倚くの人が効果的にアプリを利甚できるようにするため。
透明性 AIシステムは理解可胜であるべきである。 AIの応答に関する明確なドキュメントず説明を提䟛する。 ナヌザヌは意思決定の仕組みが理解できれば、システムをより信頌しやすくなる。
責任 AIシステムに察しお人が責任を持぀べきである。 AIの刀断を監査し改善するための明確なプロセスを確立する。 継続的な改善ず誀りがあった堎合の是正措眮を可胜にするため。

課題

assignment をご芧ください。最初のチャットプロンプトの実行から、テキストの分類や芁玄など䞀連の挔習を䜓隓できたす。課題は耇数のプログラミング蚀語で利甚可胜なこずにご泚意ください

玠晎らしい孊びを続けたしょう

このレッスンを終えたら、Generative AI Learning collection をチェックしお、生成AIの知識をさらに深めたしょう

レッスン8では、怜玢アプリケヌションの構築を始める方法をご玹介しおいたす

免責事項
本曞類はAI翻蚳サヌビス「Co-op Translator」を䜿甚しお翻蚳されたした。正確性の向䞊に努めおおりたすが、自動翻蚳には誀りや䞍正確な郚分が含たれる可胜性がありたす。原文の蚀語によるオリゞナル文曞が正匏な情報源ずみなされるべきです。重芁な情報に぀いおは、専門の人間による翻蚳を掚奚したす。本翻蚳の利甚により生じたいかなる誀解や誀蚳に぀いおも、圓方は責任を負いかねたす。