Skip to content

tryAGI/Tavily

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

178 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tavily

Nuget package dotnet License: MIT Discord

Features 🔥

  • Fully generated C# SDK based on the official Tavily OpenAPI specification using AutoSDK
  • Same day update to support new features
  • Updated and supported automatically if there are no breaking changes
  • All modern .NET features - nullability, trimming, NativeAOT, etc.
  • Support .Net Framework/.Net Standard 2.0
  • Microsoft.Extensions.AI AIFunction tool wrappers for search and extract

Usage

using Tavily;

var apiKey =
    Environment.GetEnvironmentVariable("TAVILY_API_KEY") ??
    throw new InvalidOperationException("TAVILY_API_KEY environment variable is not found.");

using var client = new TavilyClient(apiKey);

Response searchResponse = await client.CreateSearchAsync(
    query: "Who is Leo Messi?");

foreach (var result in searchResponse.Results)
{
    Console.WriteLine($"Title: {result.Title}");
    Console.WriteLine($"Content: {result.Content}");
    Console.WriteLine($"Score: {result.Score}");
    Console.WriteLine($"Url: {result.Url}");
    Console.WriteLine();
}

Microsoft.Extensions.AI

The SDK provides AIFunction wrappers for use with any IChatClient:

using Tavily;
using Microsoft.Extensions.AI;

using var tavilyClient = new TavilyClient(tavilyApiKey);

// Create AI tools for search and extract
AIFunction searchTool = tavilyClient.AsSearchTool();
AIFunction extractTool = tavilyClient.AsExtractTool();

// Use with any IChatClient (OpenAI, Anthropic, Ollama, etc.)
var response = await chatClient.GetResponseAsync(
    [new ChatMessage(ChatRole.User, "Search for the latest .NET 10 features")],
    new ChatOptions { Tools = [searchTool] });

Support

Priority place for bugs: https://github.com/tryAGI/Tavily/issues
Priority place for ideas and general questions: https://github.com/tryAGI/Tavily/discussions
Discord: https://discord.gg/Ca2xhfBf3v

Acknowledgments

JetBrains logo

This project is supported by JetBrains through the Open Source Support Program.

CodeRabbit logo

This project is supported by CodeRabbit through the Open Source Support Program.