kowalski 0.5.0

Kowalski: A Rust-based agent for interacting with Ollama models
Documentation
# Kowalski

A comprehensive Rust-based agent framework for interacting with Ollama models and building AI-powered applications.

## Overview

Kowalski is a modular framework that provides everything you need to build sophisticated AI agents. The framework is organized into specialized crates that can be used independently or together.

## Architecture

### Core Components
- **`kowalski-core`**: Basic agent infrastructure, types, and utilities
- **`kowalski-agent-template`**: Templates and builders for creating custom agents
- **`kowalski-tools`**: Collection of tools for web scraping, data processing, and more
- **`kowalski-federation`**: Multi-agent coordination and communication

### Specialized Agents
- **`kowalski-academic-agent`**: Research and academic paper analysis
- **`kowalski-code-agent`**: Code analysis, refactoring, and generation
- **`kowalski-data-agent`**: Data analysis and processing (optional feature)
- **`kowalski-web-agent`**: Web research and information gathering

## Installation

Add to your `Cargo.toml`:

```toml
[dependencies]
kowalski = "0.5.0"

# Optional: Enable data analysis capabilities
kowalski = { version = "0.5.0", features = ["data"] }
```

## Quick Start

```rust
use kowalski::{Agent, AgentBuilder, Result};

#[tokio::main]
async fn main() -> Result<()> {
    // Create a basic agent
    let agent = AgentBuilder::new()
        .with_model("llama2")
        .with_system_prompt("You are a helpful AI assistant.")
        .build()?;

    // Send a message
    let response = agent.send_message("Hello, how are you?").await?;
    println!("Response: {}", response.content);

    Ok(())
}
```

## Using Specialized Agents

### Academic Research
```rust
use kowalski::academic_agent::AcademicAgent;

let agent = AcademicAgent::new("llama2")?;
let analysis = agent.analyze_paper("path/to/paper.pdf").await?;
```

### Code Analysis
```rust
use kowalski::code_agent::CodeAgent;

let agent = CodeAgent::new("codellama")?;
let refactored = agent.refactor_code("src/main.rs").await?;
```

### Web Research
```rust
use kowalski::web_agent::WebAgent;

let agent = WebAgent::new("llama2")?;
let research = agent.research_topic("Rust async programming").await?;
```

## Features

- **Modular Design**: Use only the components you need
- **Async/Await**: Built on Tokio for high-performance async operations
- **Tool Integration**: Rich ecosystem of tools for various tasks
- **Multi-Agent Coordination**: Build complex systems with multiple agents
- **Extensible**: Easy to add custom tools and agents

## Documentation

- [API Documentation]https://docs.rs/kowalski
- [Examples]https://github.com/yarenty/kowalski/tree/main/examples
- [Contributing]https://github.com/yarenty/kowalski/blob/main/CONTRIBUTING.md

## License

MIT License - see [LICENSE](LICENSE) file for details.