Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PydanticAIの基本と活用
Search
yuuki shimizu
December 05, 2024
Programming
0
80
PydanticAIの基本と活用
yuuki shimizu
December 05, 2024
Tweet
Share
More Decks by yuuki shimizu
See All by yuuki shimizu
Anthropicが発表したClioについて
olivemochi23
0
57
Introducing the Model Context Protocol
olivemochi23
0
99
「12月6日発表 中小企業支援策・補助金最新情報
olivemochi23
0
30
多様性を重視した集団ベースのモデルマージ
olivemochi23
0
49
ファイブフォース分析まとめ
olivemochi23
1
31
Anthropic のMCPについて
olivemochi23
0
87
Other Decks in Programming
See All in Programming
Pythonに漸進的に型をつける
nealle
1
150
iOSでSVG画像を扱う
kishikawakatsumi
0
180
Swift Concurrency 年表クイズ
omochi
3
220
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
47k
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
3
1.8k
Webサーバーサイド言語としてのRustについて
kouyuume
1
5.1k
モテるデスク環境
mozumasu
3
1.4k
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.2k
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
140
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
460
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
2
320
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Site-Speed That Sticks
csswizardry
13
940
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Become a Pro
speakerdeck
PRO
29
5.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Side Projects
sachag
455
43k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
We Have a Design System, Now What?
morganepeng
54
7.9k
Building Adaptive Systems
keathley
44
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
650
Transcript
PydanticAIの基本と活⽤ PydanticAIは、PythonでのLLM活⽤を加速するフレームワークである。こ のプレゼンテーションでは、PydanticAIの全体像と特徴を解説し、開発者 やAI·データサイエンスに関⼼を持つ幅広い聴衆に向けて、その活⽤⽅法 を紹介する。 by yuuki shimizu YS
PydanticAIとは? 定義 PythonでGenerative AIを簡単 かつ効率的に活⽤するための フレームワークである。エー ジェント構造でコードの再利 ⽤性が⾼く、プロダクション レベルのアプリケーション開 発を⽀援する。
特徴 モデル⾮依存、型安全性、 Pydanticとの統合、柔軟なツ ールシステム、監視機能を備 えている。 LLM連携 OpenAI、Gemini、Groqなど、様々なLLMと連携可能である。
なぜPydanticAIを選ぶべきか 他のフレームワークとの違い PydanticAIは、Pydanticの特性を最⼤限 活⽤し、LLM活⽤のベストプラクティ スを提供する。 具体的なメリット 簡単な初期設定、⾼度な拡張性、豊富 な応⽤例を持つ。少ないコードでエー ジェントが構築可能で、型安全な依存 関係を導⼊し、テストがしやすい。
ユースケース チャットボット開発、⾃然⾔語による データベース操作、タスクの⾃動化な ど、実⽤性が⾼い。
基朷構造 1 エージェント LLMインターフェースの中⼼ 2 システムプロンプト LLMへの初期指⽰ 3 ツール 外部関数やデータ取得ロジック
4 構造化レスポンス 出⼒の型やデータ形式定義 5 依存関係 テスト可能な外部データ注⼊ 開発者は最⼩限のコードでエージェントを定義し、再利⽤できる。基朷的な使⽤例では、OpenAIのGPT-4モデルを使⽤し、1⽂で 簡潔に回答するエージェントを作成できる。
実践例 銀⾏サポートエージェン ト 顧客名や残⾼を取得し、ユー ザー問い合わせに応答する。 型安全な依存関係を使⽤して 顧客データを注⼊する。 ダイスゲームエージェン ト ユーザーの予想をもとにサイ
コロを振り、結果を⽣成す る。モデルとツールの連携例 として簡潔で分かりやすい。
PydanticAIの主要機能 1 システムプロンプト 静的プロンプト(コード内で定義)と動的プロンプト (実⾏時に⽣成)の併⽤が可能である。 2 ツールの登録⽅法 @agent.toolでコンテキストを使うツールを登録し、tools パラメータで複数ツールをまとめて登録できる。 3
リフレクションと⾃⼰修正 モデルが不完全な応答を返した場合、リトライして改善 を試みる仕組みを持つ。
導⼊とセットアップ 1 インストール pip install pydantic-ai コマンドでインストールする。 2 環境変数設定 必要な環境変数(例:OPENAI_API_KEY)を設定する。
3 サンプル実⾏ python -m pydantic_ai_examples.pydantic_model コマンドで 動作確認が可能である。
開発プロセス 1 エージェントの作成 システムプロンプト、依存関係、レスポンス型を定義する。 2 ツールの登録 必要に応じて外部機能を追加する。 3 実⾏とデバッグ エラーやモデルの応答を確認しながら調整する。
4 モニタリング Logfireを使い、パフォーマンスを追跡する。
応⽤シナリオ RAG Retrieval-Augmented Generation。モデルに動的なデータを提供して回答精 度を向上させる。 チャットボット メッセージ履歴を利⽤して会話を継続する。 業務⽀援 カスタマーサポートや技術⽀援などの実⽤的なアプリケーションを構築 できる。
まとめと次のステップ PydanticAIの利点 型安全性とツールの柔軟性に より⽣産性が向上し、モデル ⾮依存性で多様なアプリケー ションに対応できる。 次のステップ 実例コードを試し、プロジェ クトに導⼊する。ドキュメン トやAPIリファレンスを活⽤
して理解を深める。