simplemind  by kennethreitz

Python SDK for simplifying AI API interactions

created 9 months ago
516 stars

Top 61.6% on sourcepulse

GitHubView on GitHub
Project Summary

Simplemind is a Python API client designed to simplify interactions with various AI providers, aiming to replace complex libraries like LangChain and LangGraph for common use cases. It targets developers seeking an intuitive, human-centered approach to AI, reducing configuration overhead and abstracting API complexities.

How It Works

Simplemind provides a unified interface across multiple LLM providers (OpenAI, Anthropic, Google Gemini, Groq, Ollama, xAI, Amazon Bedrock) and models. It leverages Pydantic for structured data generation and supports conversational flows with optional memory plugins. Function calling (tools) is integrated, allowing AI models to execute Python functions, with experimental support for automatic tool definition via LLM-generated metadata.

Quick Start & Requirements

  • Install: pip install 'simplemind[full]'
  • Authentication: Set API keys as environment variables (e.g., OPENAI_API_KEY, ANTHROPIC_API_KEY).
  • Dependencies: Python 3.7+ (implied by examples), Pydantic.
  • Examples: examples directory

Highlighted Details

  • Unified API across diverse LLM providers and models.
  • Structured data generation using Pydantic models.
  • Conversational AI with plugin support for custom memory.
  • Function calling (tools) with experimental automatic tool definition.
  • Minimal configuration and human-centered design.

Maintenance & Community

  • Developed by Kenneth Reitz.
  • Open to contributions via issues and pull requests.

Licensing & Compatibility

  • License: Apache 2.0 License.
  • Compatibility: Permissive license suitable for commercial use and integration into closed-source projects.

Limitations & Caveats

The project is described as aiming to replace LangChain/LangGraph for most common use cases, implying that highly specialized or complex workflows might still require those more extensive frameworks. Automatic tool definition is marked as experimental.

Health Check
Last commit

5 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
14 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.