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
630
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
590
Application Insights と KQL
mitsuzono
0
540
LINE Messaging API メッセージ送受信とアカウント連携まわり
mitsuzono
0
110
Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―
mitsuzono
0
65
近頃若者のサーバー離れが深刻化しています
mitsuzono
0
970
新卒、ヘルキャンプとデスマーチへの挑戦
mitsuzono
0
440
Other Decks in Technology
See All in Technology
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
230
分解して理解する Aspire
nenonaninu
2
1.1k
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
160
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
320
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
610
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
250
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
180
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
110
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
BBQ
matthewcrist
87
9.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing for humans not robots
tammielis
250
25k
Visualization
eitanlees
146
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Why Our Code Smells
bkeepers
PRO
336
57k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
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