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,
});
ベクトルデータベース(Vector Database)/ベクトルストア(Vector Store)とは?
Microsoft、LLMで注目の「RAG」の精度を向上させる「GraphRAG」をGitHubで公開
ベクトル検索(Vector Search)とは? キーワード検索との違いCopyright © ITmedia, Inc. All Rights Reserved.