tavily2 0.1.0

A tiny tool for calling Tavily's REST API in the simplest way!
Documentation
# 基于 [tavily-rs]https://github.com/PierreLouisLetoquart/tavily-rs 进行修改

* 添加多api_key
* 添加重试模式: multi_retry, false: 单个api重试, true: 选择不同api重试

# Tavily2 Rust SDK

Unofficial (for now 🫠) Rust SDK for the
[Tavily Search API](https://tavily.com) - the AI-powered search engine for LLM
applications 🚀

> [!NOTE]
> Requires an API key. You can get one by signing up at
> [Tavily]https://app.tavily.com/home. The API key should be kept secure and
> not shared publicly.

## Installation

```bash
cargo add tavily2
```



## Quick Start

```rust
use std::time::Duration;
use tavily2::{Tavily, SearchRequest, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let tavily = Tavily::builder("tvly-your-api-key")
        .timeout(Duration::from_secs(60))
        .max_retries(5)
        .build()?;
    
    // Simple search
    let results = tavily.search("Latest AI developments").await?;

    // Advanced search with customization
    let  request = SearchRequest::new("tvly-your-api-key", "Breaking tech news")
        .search_depth("advanced")
        .topic("news")
        .include_answer(true)
        .max_results(10);
    
    let results = tavily.call(&request).await?;

    // Extract content from URLs
    let urls = vec![
        "https://tavily.com/",
        "https://github.com/PierreLouisLetoquart",
        "https://www.google.com/",
    ];
    let results = tavily.extract(urls).await?;

    Ok(())
}
```

## Features

- **Simple Search**: Quick search queries with minimal configuration
- **Answer Mode**: Get AI-generated answers along with search results
- **Advanced Customization**: Control search depth, topics, time range, and more
- **Domain Filtering**: Include or exclude specific domains
- **Rich Content**: Optional image results and descriptions

## Documentation

For detailed examples and API documentation, check out:

- [Examples Directory]./examples
- [API Documentation]https://docs.tavily.com/docs/
- [Error Codes]https://docs.tavily.com/docs/rest-api/api-reference#error-codes

## License

[MIT](./LICENSE)