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
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
Search
Mitsuzono Hiroto
April 20, 2024
Technology
1
280
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
2024/4/20 Global Azure 2024 in Fukuoka
Mitsuzono Hiroto
April 20, 2024
Tweet
Share
More Decks by Mitsuzono Hiroto
See All by Mitsuzono Hiroto
ここらでGPSマルチユニットが如何に使いやすいか本気で説明するから聞きなさい
mitsuzono
0
1.1k
Application insightsを用いてAzure AD B2Cをより使いこなす
mitsuzono
0
510
Application Insights と KQL
mitsuzono
0
490
LINE Messaging API メッセージ送受信とアカウント連携まわり
mitsuzono
0
81
Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―
mitsuzono
0
49
近頃若者のサーバー離れが深刻化しています
mitsuzono
0
860
新卒、ヘルキャンプとデスマーチへの挑戦
mitsuzono
0
360
Other Decks in Technology
See All in Technology
IPUT App Dev. Co. -Overview 2024/4
iputapp
0
120
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
350
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
180
Cloud Service Mesh に触れ合う
phaya72
1
190
認知症フレンドリーテックとスタックチャン
naokiuc
0
190
DMM.com アルファ室採用案内資料
hsugita
1
220
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
140
ルーターでプレゼンする
puhitaku
1
3.2k
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.1k
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
110
コードや知識を組み込む / Incorporate Code and knowledge
ks91
PRO
0
150
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
190
Featured
See All Featured
RailsConf 2023
tenderlove
8
550
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
What's new in Ruby 2.0
geeforr
337
31k
Unsuck your backbone
ammeep
663
57k
Web development in the modern age
philhawksworth
203
10k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Code Reviewing Like a Champion
maltzj
515
39k
Fireside Chat
paigeccino
22
2.6k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Visualization
eitanlees
137
14k
Transcript
Kernel MemoryでAzure OpenAI Serviceと お手軽データソース連携 Global Azure 2024 in Fukuoka
Copyright © Alterbooth Inc. All Rights Reserved. 1
• 株式会社オルターブース エンジニア • 主な業務内容 • C#、Azure、GitHubを活用した Webアプリケーション開発 • クラウドネイティブな
アプリ開発に関するトレーニング 満園 裕人 Copyright © Alterbooth Inc. All Rights Reserved. 2
• Azure OpenAI Service • APIバージョンやSDK対応状況確認方法など • Kernel Memory •
(関連)Semantic Kernelについて • Kernel Memoryとは • 処理フロー • 実行方法 • インデックスの保存方法 • 実際に触って確認 目次 Copyright © Alterbooth Inc. All Rights Reserved. 3
Azure OpenAI Service Copyright © Alterbooth Inc. All Rights Reserved.
4
• OpenAIなどが開発したAIモデルにREST APIでのアクセスを提供 • 多少の遅れはあるものの、最新のモデルを追従 • API仕様も共通形式で使用可能 • エンタープライズレベルでOpenAIを利用するのに適している •
APIキー認証だけでなく、Microsoft Entra IDによる認証 • プライベートネットワークとの統合 • Azureのサポート • マルチリージョン • コンテンツフィルタリング Azure OpenAI Service Copyright © Alterbooth Inc. All Rights Reserved. 5
更新の早いAzure OpenAI Serviceを使う上で APIバージョン(特にプレビュー)に注意しましょう! Copyright © Alterbooth Inc. All Rights
Reserved. 6
• REST APIリファレンス • https://learn.microsoft.com/ja-jp/azure/ai-services/openai/reference • バージョン一覧とSwagger定義のリンク記載がある APIバージョン Copyright ©
Alterbooth Inc. All Rights Reserved. 7
Copyright © Alterbooth Inc. All Rights Reserved. 8
• プレビュー版のライフサイクル説明ドキュメント • https://learn.microsoft.com/ja-jp/azure/ai-services/openai/api-version-deprecation • 機能ベースでの対応バージョン記載がある APIバージョン対応機能 Copyright © Alterbooth
Inc. All Rights Reserved. 9
• 最新のGAバージョンは2024-02-01(2024/4現在) • 最新のプレビューバージョンは2024-03-01-preview • 2024/7/1にいくつかのプレビュー版が廃止される予定(2024/4現在) • Azure SDKを使う場合は、SDK内のバージョン対応状況に注意 •
OpenAIClientOptionsクラスにAPIバージョン列挙体定義が存在 • https://github.com/Azure/azure-sdk-for- net/blob/main/sdk/openai/Azure.AI.OpenAI/src/Generated/OpenAIClientOptions.cs APIバージョンのライフサイクル Copyright © Alterbooth Inc. All Rights Reserved. 10
Kernel Memory Copyright © Alterbooth Inc. All Rights Reserved. 11
• https://github.com/microsoft/semantic-kernel • LLMとプログラミング言語を統合するSDK (…の前に)Semantic Kernel Copyright © Alterbooth Inc.
All Rights Reserved. 12
Semantic Kernel Copyright © Alterbooth Inc. All Rights Reserved. 13
• データベースへの呼び出しをラップし、ベクトル検索をサポート • Semantic Kernelプロジェクトの一部として開発されているものを指す • C#、Python、Java用のライブラリ • サポートされているストレージエンジンは言語によって異なる →
Kernel MemoryはSemantic Memoryの開発で得られたフィードバックに基 づいて構築されたサービス Semantic Memory Copyright © Alterbooth Inc. All Rights Reserved. 14
• https://github.com/microsoft/kernel-memory • データセットの効率的なインデックス作成に特化した、マルチモーダルAI サービス • サービスとして、あらゆる言語・ツール・プラットフォームから使用可能 • プラグインとしても使用可能 •
Semantic Kernelとシームレスに統合可能 • .NETライブラリとして使用可能 • データソースとの繋ぎ込みを行うためのモジュールが多数用意されている Kernel Memory Copyright © Alterbooth Inc. All Rights Reserved. 15
• データの展開 • 回答 Kernel Memoryの処理フロー Copyright © Alterbooth Inc.
All Rights Reserved. 16
• サービスとして実行する方法とサーバーレス実行と呼ばれる方法の2通りある • サービスとして実行 • コンテナーで単体で起動し、Webアプリ等からサービス起動しているKernel Memoryのエ ンドポイントへアクセスし、やり取りする • サーバーレス実行
• 同アプリ内でKernel Memoryの機能を実行(.NETのライブラリとして導入) Kernel Memoryの実行方法 Copyright © Alterbooth Inc. All Rights Reserved. 17
• https://github.com/microsoft/kernel- memory/blob/main/service/Service/README.md • インデックスデータはデフォルトではローカルディスク上に保持される (SimpleVectorDb) • 永続化したい場合はAzure AI Search等に出力することが可能
• サービスであれば環境変数のMemoryDbTypeに設定 • サーバーレスであればKernelMemoryBuilderのBuild時に指定 Kernel Memoryにおけるインデックスの保存方法 Copyright © Alterbooth Inc. All Rights Reserved. 18
• https://github.com/microsoft/kernel-memory/tree/main/infra • https://github.com/microsoft/kernel- memory/tree/main/examples/001-dotnet-WebClient 実際に触って確認する Copyright © Alterbooth Inc.
All Rights Reserved. 19
Copyright © Alterbooth Inc. All Rights Reserved. 20 ※イベント会場へ移動中にDocument Intelligenceも追加されていました
https://github.com/microsoft/kernel-memory/tree/main/infra
Copyright © Alterbooth Inc. All Rights Reserved. 21
Copyright © Alterbooth Inc. All Rights Reserved. 22 https://github.com/microsoft/kernel-memory/blob/main/infra/images/ACA-ApplicationUrl.png
Copyright © Alterbooth Inc. All Rights Reserved. 23
• Azure OpenAI Serviceまわりは更新がめちゃくちゃ早い • Azure OpenAI Serviceのモデル・APIバージョンの更新 • 関連ライブラリやサンプルの更新
• APIのpreviewバージョンを使用する場合は特に廃止タイミングに気をつけましょう • Kernel Memoryを使用すれば、自前AIアプリをデータソースと繋ぎこむこと がかなり楽になる • Azure OpenAI on your dataやAzure Machine Learningプロンプトフローで実現できない 要件や多少細かい部分の実装を行いたい場合におけるフルスクラッチの敷居が下がる まとめ Copyright © Alterbooth Inc. All Rights Reserved. 24
ご清聴ありがとうございました! Copyright © Alterbooth Inc. All Rights Reserved. 25