Microsoft、ベクトルデータベース「Pinecone」の活用を支援する「Pinecone .NET SDK」を発表AIアプリケーション構築を支援

Microsoftは、ベクトルデータベース「Pinecone」を使ったAIアプリケーションを構築するためのSDKである「Pinecone .NET SDK」を発表した。

» 2024年08月30日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Microsoftは2024年8月27日(米国時間)、ベクトルデータベース「Pinecone」を使ったAI(人工知能)アプリケーションを構築するためのSDK(ソフトウェア開発キット)である「Pinecone .NET SDK」を発表した。

 Pineconeは、大規模なベクトルデータを効率的に処理し、クエリできるように設計されたベクトルデータベースだ。エンジニアやデータサイエンティストはPineconeを使うことで、効率的な類似検索やランキングを必要とするベクトルベースのAIアプリケーションを構築できる。

ベクトルデータベースとは

 ベクトルデータベースは、テキスト、画像、音声などのデータを、AIモデルや機械学習モデル、言語モデルが処理しやすい数値ベクトル表現として保存するデータベースを指す。

 この数値ベクトル表現(埋め込み表現〈Embeddings〉とも呼ばれる)は、意味や関係性を捉えることができるため、AIアプリケーションに不可欠だ。だが、複雑であるため、このデータ型を効率的に扱えるように設計されたデータベースが必要になる。

 ベクトルデータベースは、ベクトルデータのインデックスを作成、保存し、AIアプリケーションに必要な高速な検索と類似検索を可能にする。

Pinecone .NET SDKの使用方法

 .NETでPineconeを使い始める手順は次の通り。

  1. Pineconeアカウントおよびデータベースをセットアップし、APIキーを作成する
  2. NuGetからPinecone .NET SDKをダウンロードする
  3. SDKをダウンロードしたら、.NETクライアントをPineconeデータベースに接続する
using Pinecone;
var pinecone = new PineconeClient("PINECONE_API_KEY");
接続のサンプルコード(提供:Microsoft)

インデックスの作成

 インデックスは、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"
    }
    }
 });
インデックス作成のサンプルコード(提供:Microsoft)

レコードの追加

 データストアへのレコードの追加を開始するには、次のようにする。

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);
レコード追加のサンプルコード(提供:Microsoft)

レコードのクエリ

 データストアにレコードがあれば、次のようにクエリができる。

var queryResponse = await index.QueryAsync(
   new QueryRequest
   {
       Id = "v1",
       TopK = 1,
       IncludeValues = true,
   });
クエリのサンプルコード(提供:Microsoft)

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。