Recent Releases of https://github.com/yarenty/kowalski

https://github.com/yarenty/kowalski - 0.5.2

[0.5.2] - 2024-07-06

"Version 0.5.2: Now with a memory like an elephant (but less likely to trample your data)."

🧠 Added

  • Memory Module: The Brain Arrives!
    • Introduced the shiny new kowalski-memory module, giving agents the power to remember, forget, and reminisce about the good old days (i.e., previous prompts).
    • Supports all 3 types of memory:
    • Episodic Memory: For remembering what just happened ("Did I already answer that?").
    • Semantic Memory: For storing facts, concepts, and trivia ("Paris is the capital of France, and so is every other AI's favorite example.").
    • Working Memory: For short-term, in-the-moment reasoning ("What was I doing again?").
    • Modular, extensible, and ready for future memory experiments (or existential crises).

🏁 Benchmarking: Kowalski vs. LangChain

  • Initial Benchmark Suite:
    • Added a set of benchmarking scenarios to compare Kowalski's performance and reasoning against LangChain.
    • Benchmarks cover simple LLM calls, tool use, memory retrieval, and CSV analysis.
    • Results logged for both frameworks—let the games (and the bragging) begin!

🛠️ Improved

  • Documentation updates for the new memory module and benchmarking process.
  • Minor bug fixes and performance tweaks (because every release needs a few of these).

- Rust
Published by yarenty 8 months ago

https://github.com/yarenty/kowalski - 0.5.1

"Version 0.5.1: Now with 42% more reactivity and a filesystem that actually listens to you."

✨ Added

  • React-Style Tool Processing for All Agents:

    • Agents now process tool calls in a React-like, stepwise fashion (think: "thought, tool, action, repeat").
    • Enables more dynamic, context-aware, and multi-step reasoning for all agent types.
    • Tool outputs are now seamlessly integrated into agent responses—no more "tool says hi, agent ignores it" moments.
  • New Filesystem Tools (fs):

    • Added a suite of pluggable filesystem tools for reading, writing, listing, and manipulating files and directories.
    • Agents can now interact with the local filesystem in a safe, modular way (no more "accidentally deleted the project" moments... probably).
    • Unified interface for file operations across all agents.
  • Data-Agent: Now Fully Operational:

    • The kowalski-data-agent is now feature-complete and ready for data wrangling.
    • Supports CSV, tabular, and structured data analysis out of the box.
    • Improved error handling, configuration, and extensibility for custom data workflows.

🛠️ Improved

  • Enhanced agent orchestration logic for better multi-step tool use.
  • Unified tool API across all agent modules for easier extension and maintenance.
  • Documentation updates for new tools and agent capabilities.

- Rust
Published by yarenty 8 months ago

https://github.com/yarenty/kowalski - 0.5.0

Version 0.5.0 marked a major architectural shift for Kowalski, transitioning from a monolithic structure to a modular, extensible framework. The core innovation was splitting the codebase into focused, independent modules that can be developed and maintained separately.

Key New Features in 0.5.0:

🏗️ Modular Architecture

  • kowalski-core: Foundational agent abstractions, conversation management, roles, configuration, and toolchain logic
  • kowalski-tools: Pluggable tools for code analysis, data processing, web scraping, and document handling
  • kowalski-agent-template: Agent builder system with ready-to-use templates (general, research)
  • kowalski-federation: Multi-agent orchestration framework (experimental)
  • Specialized Agents: Separate crates for academic, code, data, and web research agents

🛠️ New Capabilities

  • Agent Builder: Ergonomic construction of custom agents with AgentBuilder
  • Template System: Pre-built agent templates for different use cases
  • Tool Chain: Extensible tool system supporting CSV analysis, code metrics, web search, PDF processing
  • Multi-Agent Federation: Agent registry, role assignment, task delegation, and message passing
  • Enhanced CLI: Rich formatting and multiple agent types accessible via command line

🔧 Technical Improvements

  • Async-first design for better performance
  • Unified error handling across all modules
  • Extensible configuration system
  • Plugin architecture for easy extension
  • Debug mode with detailed logging

The modular approach makes Kowalski much more maintainable and allows users to pick only the components they need, while the federation system opens up possibilities for complex multi-agent workflows.

- Rust
Published by yarenty 8 months ago

https://github.com/yarenty/kowalski - Tool Time

New Agents Section: - Highlighted the three main agents (GeneralAgent, ToolingAgent, AcademicAgent) - Added witty descriptions for each

Tool System: - Web browsing capabilities - DuckDuckGo integration - HTML parsing features - Dynamic content handling - Rate limiting

Examples Section: - Listed all seven examples with humorous descriptions - Covered each example's main functionality - Maintained the project's sarcastic tone

Other Important Sections: - Changed: Architecture and functionality improvements - Fixed: Bug fixes and stability improvements - Documentation: New examples and README updates - Technical Debt: Development improvements - Dependencies: Package updates

Style and Format: - Used emojis for section headers - Added humorous quotes - Maintained a consistent sarcastic tone - Included parenthetical jokes

- Rust
Published by yarenty 12 months ago

https://github.com/yarenty/kowalski - first blood

"The first version is like your first love - exciting but probably not the best." - A Romantic Programmer
"If debugging is the process of removing bugs, then programming must be the process of adding them." - Edsger W. Dijkstra

Added

  • Basic agent functionality (because talking to machines wasn't complicated enough)
  • Multiple model support (because one AI model isn't confusing enough)
  • Conversation management (like herding cats, but with more JSON)
  • Role-based interactions (giving AI personalities, what could go wrong?)
  • PDF and text file support (because copy-pasting was too mainstream)
  • Streaming responses (watch your AI think in real-time, it's like watching paint dry but more expensive)
  • Configuration system (because hardcoding values is too simple)
  • Error handling (because we're optimists who plan for the worst)

Features

  • Implemented Agent struct (it's like a digital pet, but less cuddly)
  • Added ModelManager for handling Ollama models (your personal AI zookeeper)
  • Created Role, Audience, and Preset enums (because we love pretending our AI has a personality)
  • Added PdfReader and PaperCleaner utilities (because PDFs are like onions - they have layers and make you cry)
  • Implemented conversation history (because AIs need memories too)
  • Added streaming support (for those who enjoy watching their CPU melt in real-time)

Technical Debt

  • "TODO" comments that will definitely be addressed in the next version (narrator: they won't)
  • Some magic numbers that seemed like a good idea at 3 AM
  • Documentation that assumes the reader can read minds
  • Error messages that are more cryptic than your ex's texts

Known Issues

  • Sometimes the AI gets philosophical (we're working on reducing its exposure to existential literature)
  • Configuration files multiply like rabbits in the wrong directory
  • Error messages occasionally include Shakespeare quotes (we suspect the AI is going through a literature phase)
  • The code works (this is suspicious and under investigation)

"It's not a bug, it's an undocumented feature." - Anonymous
"The code is more what you'd call 'guidelines' than actual rules." - Pirates of the Caribbean, probably

Dependencies

  • Added every crate that looked interesting on crates.io
  • Removed half of them because they were causing conflicts
  • Added them back because the errors were worse
  • Settled on a set that mostly works (fingers crossed)

Documentation

  • Added comments that range from "obviously redundant" to "cryptically useless"
  • Created a README that nobody will read
  • Added docstrings that are more entertaining than informative
  • Included examples that work 60% of the time, every time

"Documentation is like true love - it exists, but it's hard to find." - A Documentation Writer "The only thing worse than no documentation is wrong documentation." - A Frustrated Developer

- Rust
Published by yarenty 12 months ago