Slide 1

Slide 1 text

Prompt Flowによる LLMアプリケーション開発 宇留嶋勇人

Slide 2

Slide 2 text

自己紹介 web系エンジニアで、最近はLangChainや Prompt Flowを使った生成AI周りの開発業務を 行ってます。 X: @3anlqblueE ウルシマ ユウト 宇留嶋 勇人

Slide 3

Slide 3 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 4

Slide 4 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 5

Slide 5 text

= 大規模言語モデル (LLM) によって動作する AI アプ リケーションの開発サイクル全体を合理化するために 設計された開発ツールのこと。 Prompt Flowは、AI アプリケーションのPoC作成、実 験、デバック、デプロイのプロセスを簡素化する包括 的なソリューションを提供します。 https://learn.microsoft.com/ja-jp/azure/ai-studio/how-to/prompt-flow フロー例 Prompt Flowとは

Slide 6

Slide 6 text

Prompt Flowとは プロンプト Python処理 コード管理 可視化 Azure AI Studio

Slide 7

Slide 7 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 8

Slide 8 text

Prompt Flowでできること - フロー、特にLLMとのインタラクションを簡単にデバッグ可 - フローを評価し、品質とパフォーマンスのメトリクスを計算 - テストと評価をCI/CDシステムに統合し、フローの品質を保証 - 選択したサービスプラットフォームにフローをデプロイするか、アプリ のコードベースに簡単に統合可能 - Azure AI Studioにてチームで共同作業可能 https://microsoft.github.io/promptflow/index.html

Slide 9

Slide 9 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 10

Slide 10 text

LLMアプリケーションの開発 開発方法 ● Azure AI Studio ● VS Code 拡張機能 ● CLI

Slide 11

Slide 11 text

LLMアプリケーションの開発 Azure AI Studio Azure AI Studio上で ツール(プロンプトフ ロー)を使う

Slide 12

Slide 12 text

LLMアプリケーションの開発 VS Code 拡張機能 Azure AI Studio同様に可視 化しながらローカル環境で 開発できる

Slide 13

Slide 13 text

LLMアプリケーションの開発 CLI フローの初期化、バリデーション、テスト、バッチ実行、トレース、 ビルド、エンドポイント作成 $ pf $ pfazure pfコマンドのAzure AI版 https://microsoft.github.io/promptflow/reference/pf-command-reference.html#

Slide 14

Slide 14 text

LLMアプリケーションの開発 バリアント(プロンプトチューニング) →生産性を高める、生成の質を高める、比較を容易にする

Slide 15

Slide 15 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 16

Slide 16 text

評価、トレース 評価 1. 自動評価 2. カスタム評価

Slide 17

Slide 17 text

評価、トレース 自動評価 Microsoftが監修したメトリックを使うことがで きる ● パフォーマンスと品質メトリック ○ 根拠性、関連性、コヒーレンス、流暢 性、GPTの類似性、F1 ● リスクと安全メトリック ○ 自傷行為、悪意のある不公平、暴力的、 性的な内容、コンテンツ

Slide 18

Slide 18 text

評価、トレース カスタム評価 入力値、システムメトリックを出力 評価用フローを作成 (例: 固有表現抽出) ground truthとのマッチ度

Slide 19

Slide 19 text

評価、トレース トレース OpenTelemetry仕様に従っ て、LLMコールや関数、 LangChainやAutoGenなどの LLMフレームワークをトレー スできるトレース機能を提供 from promptflow.tracing import start_trace start_trace() https://microsoft.github.io/promptflow/how-to-guides/tracing/index.html

Slide 20

Slide 20 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 21

Slide 21 text

デプロイ - CLIで開発サーバーデプロイ - Docker - オンラインエンドポイント - 関数として実行

Slide 22

Slide 22 text

デプロイ - CLIで開発サーバーデプロイ - Docker $ pf flow serve --source <flow-folder> --port 8080 --host localhost $ curl http://localhost:8080/score --data ‘{“hoge”: … $ pf flow build --source <flow-folder> --output --format docker

Slide 23

Slide 23 text

デプロイ - オンラインデプロイメント Azure上に仮想マシンとインスタンス数を設定し簡単にデプロイ可能 - 関数として実行(既存アプリと統合し易い) from promptflow.client import load_flow f = load_flow(“./example_flow/”) data = json.loads(request.get_data()) result_dict = f(**data)

Slide 24

Slide 24 text

Agenda Prompt Flowとは Prompt Flowでできること LLMアプリケーションの開発 評価、トレース デプロイ まとめ

Slide 25

Slide 25 text

まとめ Prompt FLowはLLMアプリケーションの開発を支える多様な機能 があり、開発サイクルを合理化している 是非、使ってみてください!