Microsoft、ベクトルデータベース「Pinecone」の活用を支援する「Pinecone .NET SDK」を発表:AIアプリケーション構築を支援
Microsoftは、ベクトルデータベース「Pinecone」を使ったAIアプリケーションを構築するためのSDKである「Pinecone .NET SDK」を発表した。
Microsoftは2024年8月27日(米国時間)、ベクトルデータベース「Pinecone」を使ったAI(人工知能)アプリケーションを構築するためのSDK(ソフトウェア開発キット)である「Pinecone .NET SDK」を発表した。
Pineconeは、大規模なベクトルデータを効率的に処理し、クエリできるように設計されたベクトルデータベースだ。エンジニアやデータサイエンティストはPineconeを使うことで、効率的な類似検索やランキングを必要とするベクトルベースのAIアプリケーションを構築できる。
ベクトルデータベースとは
ベクトルデータベースは、テキスト、画像、音声などのデータを、AIモデルや機械学習モデル、言語モデルが処理しやすい数値ベクトル表現として保存するデータベースを指す。
この数値ベクトル表現(埋め込み表現〈Embeddings〉とも呼ばれる)は、意味や関係性を捉えることができるため、AIアプリケーションに不可欠だ。だが、複雑であるため、このデータ型を効率的に扱えるように設計されたデータベースが必要になる。
ベクトルデータベースは、ベクトルデータのインデックスを作成、保存し、AIアプリケーションに必要な高速な検索と類似検索を可能にする。
Pinecone .NET SDKの使用方法
.NETでPineconeを使い始める手順は次の通り。
- Pineconeアカウントおよびデータベースをセットアップし、APIキーを作成する
- NuGetからPinecone .NET SDKをダウンロードする
- SDKをダウンロードしたら、.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.
関連記事
ベクトルデータベース(Vector Database)/ベクトルストア(Vector Store)とは?
ベクトルデータベースとは、テキストなどのデータを数値ベクトル(埋め込み)として保存するデータベースを指す。「ベクトルストア」とも呼ばれる。ベクトル検索により、意味的に類似する情報を探せるのが特徴で、チャットAIのRAG構築に役立つ。本稿ではベクトル検索の機能を持つ代表的な製品の概要もそれぞれ簡単に紹介する。Microsoft、LLMで注目の「RAG」の精度を向上させる「GraphRAG」をGitHubで公開
Microsoftは、RAGの精度を強化する「GraphRAG」と、Microsoft Azure上でGraphRAGを実行するためのソリューションアクセラレータリポジトリをGitHubで公開した。GraphRAGはMicrosoftが2024年2月に発表した新たなRAGのアプローチだ。ベクトル検索(Vector Search)とは? キーワード検索との違い
用語「ベクトル検索」について説明。テキストなどのデータを数値ベクトル(埋め込み)として表現し、それらのベクトル間の類似度を計算することで、関連する情報を見つけ出す検索方法を指す。Azure OpenAI Serviceの独自データ追加機能で利用可能な「キーワード検索」「ベクトル検索」「ハイブリッド検索」「セマンティック検索」という検索手法の違いについても言及する。