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
640
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.4k
Application insightsを用いてAzure AD B2Cをより使いこなす
mitsuzono
0
600
Application Insights と KQL
mitsuzono
0
550
LINE Messaging API メッセージ送受信とアカウント連携まわり
mitsuzono
0
120
Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―
mitsuzono
0
70
近頃若者のサーバー離れが深刻化しています
mitsuzono
0
970
新卒、ヘルキャンプとデスマーチへの挑戦
mitsuzono
0
440
Other Decks in Technology
See All in Technology
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
120
View Transition API
shirakaba
1
740
Why Go?
xpmatteo
0
120
「エンジニアマネージャー」の役割を担っている / 担ってみたい方へのキャリアパスガイド
coconala_engineer
1
210
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
5
890
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
110
RF問の対策をした話
bata_24
0
140
お問い合わせ対応の改善取り組みとその進め方
masartz
0
120
Explainable Software Engineering in the Public Sector
avandeursen
0
190
開発組織全体で意識するSLI/SLOを実装している話
zepprix
1
620
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
880
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
110
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.3k
Building Adaptive Systems
keathley
40
2.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Unsuck your backbone
ammeep
669
57k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Why Our Code Smells
bkeepers
PRO
336
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
101
18k
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