Skip to content

tryAGI — .NET SDKs for AI Services

tryAGI is an open-source organization building production-ready .NET SDKs for AI and ML service APIs. All SDKs are auto-generated from official OpenAPI specifications using AutoSDK, ensuring they stay current as APIs evolve.

Key features

  • 120+ SDKs covering LLMs, image/video/3D generation, audio, search, translation, embeddings, observability, and vector databases
  • Microsoft.Extensions.AI — unified IChatClient, IEmbeddingGenerator, ISpeechToTextClient, and AIFunction tools across 25+ providers
  • Source-generated — AOT/trimming compatible, no reflection, JSON serialization via JsonSerializerContext
  • Auto-updated — CI fetches the latest OpenAPI specs every 3 hours and opens PRs for changes
  • Multi-target — supports netstandard2.0, net4.6.2, net8.0, net9.0, and net10.0

Quick navigation

  • :material-rocket-launch: Getting Started

    Ecosystem overview, installation guide, and decision tree for choosing the right SDK

  • :material-puzzle: MEAI Integration

    Microsoft.Extensions.AI feature matrices — see which SDKs support chat, embeddings, speech-to-text, and tool calling

  • :material-view-list: SDK Catalog

    Complete listing of all SDKs organized by category, with NuGet, GitHub, and docs links

  • :material-video-account: Realtime Avatars

    Unified IRealtimeAvatarClient interface for interactive avatar streaming with D-ID, Simli, Anam, and AvatarTalk

Quick example

Install any SDK via NuGet and use it through the standard MEAI interface:

1
2
3
4
5
6
7
using Microsoft.Extensions.AI;

// Works with Anthropic, OpenAI, Ollama, Gemini, Mistral, and more
IChatClient client = new AnthropicClient(apiKey).AsChatClient("claude-sonnet-4-20250514");

var response = await client.GetResponseAsync("What is .NET?");
Console.WriteLine(response);

Or use CustomProviders for OpenAI-compatible APIs without a dedicated SDK:

1
2
3
4
using OpenAI;

var client = CustomProviders.DeepSeek(apiKey);
IChatClient chatClient = client.AsChatClient("deepseek-chat");