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.