Microsoftは、ベクトルデータベース「Pinecone」を使ったAIアプリケーションを構築するためのSDKである「Pinecone .NET SDK」を発表した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2024年8月27日(米国時間)、ベクトルデータベース「Pinecone」を使ったAI(人工知能)アプリケーションを構築するためのSDK(ソフトウェア開発キット)である「Pinecone .NET SDK」を発表した。
Pineconeは、大規模なベクトルデータを効率的に処理し、クエリできるように設計されたベクトルデータベースだ。エンジニアやデータサイエンティストはPineconeを使うことで、効率的な類似検索やランキングを必要とするベクトルベースのAIアプリケーションを構築できる。
ベクトルデータベースは、テキスト、画像、音声などのデータを、AIモデルや機械学習モデル、言語モデルが処理しやすい数値ベクトル表現として保存するデータベースを指す。
この数値ベクトル表現(埋め込み表現〈Embeddings〉とも呼ばれる)は、意味や関係性を捉えることができるため、AIアプリケーションに不可欠だ。だが、複雑であるため、このデータ型を効率的に扱えるように設計されたデータベースが必要になる。
ベクトルデータベースは、ベクトルデータのインデックスを作成、保存し、AIアプリケーションに必要な高速な検索と類似検索を可能にする。
.NETでPineconeを使い始める手順は次の通り。
- using Pinecone;
- var pinecone = new PineconeClient("PINECONE_API_KEY");
インデックスは、Pineconeにおけるベクトルデータの最も高レベルの構成単位だ。ベクトルを受け入れて保存し、インデックスに含まれるベクトルに対するクエリや、その内容に対する他のベクトル操作を可能にする。
- var createIndexResponse = await pinecone.CreateIndexAsync(new CreateIndexRequest
- {
- Name = “example_index”indexName,
- Dimension = 3,
- Metric = CreateIndexRequestMetric.Cosine,
- Spec = new ServerlessIndexSpec
- {
- Serverless = new ServerlessSpec
- {
- Cloud = ServerlessSpecCloud.Azure,
- Region = "eastus2"
- }
- }
- });
データストアへのレコードの追加を開始するには、次のようにする。
- var upsertResponse = await index.UpsertAsync(new UpsertRequest {
- Vectors = new[]
- {
- new Vector
- {
- Id = "v1",
- Values = new[] { 0.1f, 0.2f, 0.3f }
- },
- new Vector
- {
- Id = "v2",
- Values = new[] { 0.4f, 0.5f, 0.6f }
- },
- new Vector
- {
- Id = "v3",
- Values = new[] { 0.7f, 0.8f, 0.9f }
- }
- }
- });
- await Task.Delay(10000);
データストアにレコードがあれば、次のようにクエリができる。
- var queryResponse = await index.QueryAsync(
- new QueryRequest
- {
- Id = "v1",
- TopK = 1,
- IncludeValues = true,
- });
Copyright © ITmedia, Inc. All Rights Reserved.
Coding Edge 鬮ォ�ェ陋滂ソス�ス�コ闕オ譁溷クキ�ケ譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー