本文にスキップ
AI News HubLIVE
サイト内リライト2 分で読了

コードがスキーマ:Weaviate マネージド C# クライアント

記事の要約

Weaviate マネージド .NET クライアントは、C# 開発者に Entity Framework Core に似た体験を提供し、属性駆動スキーマ、型安全クエリ、自動マイグレーションでベクターデータベースを簡素化します。

ソースWeaviate Blog
コードがスキーマ:Weaviate マネージド C# クライアント
誤りを報告

訂正窓口はまだ利用できません。記事情報をコピーして保存できます。

訂正案内
本文へ

Weaviate マネージド .NET クライアント(Technical Preview)は、C# 開発者に Weaviate ベクターデータベースと対話する新しい方法を提供します。Entity Framework Core に触発され、モデルクラスに C# 属性を介して直接コレクションスキーマを定義できるため、文字列設定や個別の設定ファイルは不要です。

たとえば、タイトル、コンテンツ、ソースタグ、フリーフォームタグを持つドキュメントクラスは次のように定義できます:

[WeaviateCollection("Document")]
public class Document
{
    [WeaviateUUID]
    public Guid Id { get; set; }

    [Property]
    [Index(Filterable = true, Searchable = true)]
    public string Title { get; set; }

    [Property]
    [Index(Searchable = true)]
    [Tokenization(PropertyTokenization.Word)]
    public string Content { get; set; }

    // ... その他のプロパティとベクトル定義
}

[Vector] 属性を使用して名前付きベクトル(タイトルベクトルとコンテンツベクトルなど)を定義し、正確なマッチングと深いセマンティック検索を実現します。コレクションの作成は await client.Collections.CreateFromClass(); の1行で完了します。

クライアントは、クロスコレクション参照([Reference] 属性)、自動バッチ挿入(依存関係の順序を自動処理)、型安全なクエリ構文もサポートします:

var results = await context.Documents
    .Query()
    .NearText("zero downtime deployment strategies")
    .Where(d => d.Source == "blog" && d.Tags.ContainsAny(["kubernetes"]))
    .WithMetadata()
    .Limit(5)
    .Execute();

スキーマの進化が必要な場合、CheckMigrate() と Migrate() メソッドが安全で追加のみのマイグレーションプランを提供し、破壊的変更を回避します。さらに、[Generative] 属性を使用するだけでRAG(検索拡張生成)が有効になり、クエリ結果に基づいて自動的に要約や統合回答を生成します。

データを分離する必要があるシナリオでは、ForTenant() メソッドを介して同じモデルクラスでデータを分離するマルチテナンシーがサポートされます。ASP.NET Coreでは、AddWeaviateContext でコンテキストを登録し、起動時に自動マイグレーションを適用する AutoMigrate オプションを選択できます。

属性が高度な要件(ベクトル化からコレクション名を除外するなど)を満たせない場合、ConfigMethod が命令型設定の「エスケープハッチ」を提供します。

要約すると、Weaviate マネージド C# クライアントは、.NET 開発者が既に知っているパターンを使用して、ボイラープレートコードなしでセマンティック検索とAI機能を構築できるようにします。NuGet で公開され、GitHub でオープンソースとして利用可能です。

要点と分析を開く

記事インテリジェンス

エンジニア上級

要点

  • C# 属性でコレクションスキーマを定義、文字列設定不要
  • ベクター検索とハイブリッド検索のための型安全なLINQスタイルクエリ
  • 安全なマイグレーション、RAG、マルチテナンシー
  • ASP.NET Core DIとのシームレスな統合

要点と分析は自動生成され、誤りを含む場合があります。原典をご確認ください。