Skip to content

Microsoft.Extensions.AI Integration

Cross-SDK comparison

See the centralized MEAI documentation for feature matrices and comparisons across all tryAGI SDKs.

The Milvus SDK provides AIFunction tool wrappers compatible with Microsoft.Extensions.AI. These tools can be used with any IChatClient to give AI models access to Milvus vector database operations including search, insert, query, and collection management.

Installation

1
dotnet add package tryAGI.Milvus

Available Tools

Method Tool Name Description
AsSearchVectorsTool() SearchVectors Search for similar vectors using vector similarity
AsInsertVectorsTool() InsertVectors Insert entities into a collection
AsCreateCollectionTool() CreateCollection Create a new vector collection
AsListCollectionsTool() ListCollections List all vector collections
AsDescribeCollectionTool() DescribeCollection Describe a collection's schema and status
AsQueryVectorsTool() QueryVectors Query entities by scalar filter expression
AsDeleteVectorsTool() DeleteVectors Delete entities by filter expression

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using Microsoft.Extensions.AI;
using Milvus;

var client = new MilvusClient(
    apiKey: Environment.GetEnvironmentVariable("MILVUS_API_KEY")!);

var options = new ChatOptions
{
    Tools = [client.AsSearchVectorsTool()],
};

IChatClient chatClient = /* your chat client */;

var messages = new List<ChatMessage>
{
    new(ChatRole.User, "Search for vectors similar to 'machine learning' in the articles collection"),
};

while (true)
{
    var response = await chatClient.GetResponseAsync(messages, options);
    messages.AddRange(response.ToChatMessages());

    if (response.FinishReason == ChatFinishReason.ToolCalls)
    {
        var results = await response.CallToolsAsync(options);
        messages.AddRange(results);
        continue;
    }

    Console.WriteLine(response.Text);
    break;
}