Skip to content

Microsoft.Extensions.AI (MEAI) Overview

This overview reflects the MEAI implementations that currently exist in the tryAGI SDKs.

tryAGI currently ships:

  • 14 direct IChatClient implementations
  • 13 direct IEmbeddingGenerator<string, Embedding<float>> implementations
  • 10 direct ISpeechToTextClient implementations
  • dozens of SDKs with AIFunction wrappers
  • 27 OpenAI-compatible factories in tryAGI.OpenAI.CustomProviders

All current implementations target Microsoft.Extensions.AI.Abstractions 10.4.1.

Direct Interface Coverage

SDK IChatClient IEmbeddingGenerator ISpeechToTextClient AIFunction Alias recommended
AI21 Y - - - No
Anthropic Y - - - No
AssemblyAI - - Y - No
Cartesia - - Y - No
Cohere Y Y - - Yes
Coze Y - - - No
Deepgram - - Y - No
ElevenLabs - - Y - Yes
FishAudio - - Y Y No
Gladia - - Y - No
Google.Gemini Y Y - - No
HuggingFace Y Y - - No
Jina - Y - - No
Mistral Y - - - Yes
Mixedbread - Y - - Yes
Nomic - Y - Y No
Ollama Y Y - - No
OpenAI Y Y - - Yes
Pinecone - Y - Y Yes
Reka Y - Y - Yes
RevAI - - Y Y No
SarvamAI Y - Y Y No
Speechmatics - - Y Y No
Together Y Y - - Yes
TwelveLabs - Y - - No
Upstage Y Y - Y Yes
VoyageAI - Y - - No
Writer Y - - - Yes

Tool Wrapper Coverage

The centralized docs previously listed only a small subset of tool-enabled SDKs. The current coverage is much broader:

  • Search, retrieval, vector, and memory: Algolia, BraveSearch, Browserbase, Exa, GroundX, LlamaParse, Milvus, Nomic, Pinecone, Recombee, ScrapeGraphAI, Serper, Tavily, Vectara, Zep
  • Translation, speech, and media generation: Creatomate, DeepL, DId, FishAudio, HumeAI, KlingAI, LalalAI, Loudly, MagicHour, ModernMT, Murf, Photoroom, Picsart, RevAI, SarvamAI, Shotstack, SiliconFlow, Speechmatics, Synthesia, Tavus, Upstage, WaveSpeedAI
  • Agents, prompts, observability, and workflows: Apify, Baseten, Botpress, Braintrust, CursorAgents, Dust, Gretel, HammingAI, Helicone, Humanloop, JasperAI, Julep, Martian, Novu, OpenRouter, Opik, Phoenix, Predibase, PromptLayer, RetellAI, Resend, Vapi, Vellum, Weave, Writesonic
  • Security, moderation, document AI, and data operations: Composio, CVAT, Dataloop, EdenAI, Greptile, Guardrails, Lakera, LabelStudio, ModerationAPI, Nanonets, NightfallAI, PredictionGuard, Reducto, Roboflow, ScaleAI, Sightengine

See AIFunction Tools for the organized inventory and usage pattern.

OpenAI-Compatible Coverage

tryAGI.OpenAI exposes 27 CustomProviders factory methods. That covers hosted providers such as DeepInfra, Groq, DeepSeek, Together, OpenRouter, Nebius, Nvidia, Minimax, Qwen, SiliconFlow, and local runtimes such as Ollama and LM Studio.

See CustomProviders for the full table.

Interfaces

Interface Purpose Guide
IChatClient Chat completions, streaming, tool calling, multimodal input, and structured output where the provider supports it Chat Client
IEmbeddingGenerator<string, Embedding<float>> Text embeddings Embedding Generator
ISpeechToTextClient Speech-to-text transcription Speech to Text
AIFunction Tool/function wrappers for use with any IChatClient AIFunction Tools

Implementation Pattern

MEAI implementations are hand-written partial classes in each SDK, located outside generated code:

1
2
3
4
5
src/libs/{SdkName}/Extensions/
  {ClientName}.ChatClient.cs
  {ClientName}.EmbeddingGenerator.cs
  {ClientName}.SpeechToTextClient.cs
  {ClientName}.AsTool.cs / {ClientName}.Tools.cs

The reference chat implementation is AnthropicClient.ChatClient.cs.

Gaps Worth Fixing Next

  • Coze now has a published MEAI guide page, but its adapter still needs full FunctionCallContent round-tripping for provider-issued tool calls.
  • PredictionGuard is still tool-only even though it is a realistic candidate for a dedicated IChatClient adapter.
  • Only Deepgram currently provides truly incremental ISpeechToTextClient.GetStreamingTextAsync() updates. Several other STT SDKs expose the method but return the final transcript after processing completes.
  • OpenRouter and the standalone Xai SDK do not need urgent dedicated MEAI adapters because tryAGI.OpenAI.CustomProviders already covers the common chat and embedding path.