Skip to main content

KISS AI Stack's AI Agent Builder - Simplify AI Agent Development

Project description

kiss-ai-stack - Core

KISS AI Stack's AI Agent Builder

Welcome to the core of the KISS AI Stack! This module helps you build AI agents effortlessly, using a simple YAML configuration file. With this core, you don't need to worry about boilerplate code. It is designed to keep things minimal and efficient, following the KISS principle (Keep It Simple, Stupid).

Features:

  • Build AI agents quickly: Just provide a YAML file to configure the agent.
  • Minimal dependencies: Built using simple, vanilla vendor libraries.
  • Tool classification: Easily configure tools for your agent to handle specific tasks.
  • Supports RAG and prompt-based models: Choose the model type that suits your needs.

Installation

To install the core module, run:

pip install kiss-ai-stack-core

Example Configuration

Below is an example YAML configuration for setting up an AI agent with different tools:

agent:
  classifier: # Required for tool classification
    name: classifier
    role: classify tools for given queries
    kind: prompt  # Choose from 'rag' or 'prompt'
    ai_client:
      provider: openai
      model: gpt-4
      api_key: <your-api-key>
      
  tools:
    - name: general_queries
      role: process other queries if no suitable tool is found.
      kind: prompt
      ai_client:
        provider: openai
        model: gpt-4
        api_key: <your-api-key>
        
    - name: document_tool
      role: Process documents and provide answers based on them.
      kind: rag  # Retrieval-Augmented Generation
      embeddings: text-embedding-ada-002
      ai_client:
        provider: openai
        model: gpt-4
        api_key: <your-api-key>

  vector_db:
    provider: chroma
    kind: in_memory  # Choose in-memory or persistent storage options.

Example Python Usage

Once the core is installed, you can use it to build and interact with your AI agent as shown in the example below:

from kiss_ai_stack.core.agent import AgentStack

try:
    # Initialize the AI agent stack
    agent = AgentStack()
    agent.initialize_stack()  # Set up the agent using the provided configuration
    
    # Store documents for the agent to process
    agent.store_documents(['./yourfile.pdf'])
    
    # Process a query and get the answer
    print(agent.process_query('Give a summary about yourfile contents.').answer)
    
except Exception as ex:
    print(f"An error occurred: {ex}")
    raise ex

How It Works:

  1. Agent Setup: The agent is initialized with the provided configuration (defined in the YAML file). The configuration specifies which AI clients and tools to use.
  2. Tools: Each tool is defined by its type (prompt or rag) and is linked to an AI client, such as OpenAI’s GPT-4. Tools handle different tasks like document processing or classifying queries.
  3. Vector DB: The vector_db section allows you to configure the database for storing and retrieving document embeddings. Currently, Chroma is supported as an in-memory solution.

Documentation:

  • AI Client: You can configure the AI client with the provider, model, and API key for any supported service like OpenAI.
  • Tools: Define the tools that the agent will use, such as a general-purpose query tool or a document processing tool.
  • Vector Database: The vector_db section defines how the agent stores document embeddings and retrieves them for RAG-based tasks.

Contributing

We welcome contributions! If you'd like to improve this stack, feel free to submit pull requests or open issues for discussion.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiss_ai_stack_core-0.1.0a1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kiss_ai_stack_core-0.1.0a1-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file kiss_ai_stack_core-0.1.0a1.tar.gz.

File metadata

  • Download URL: kiss_ai_stack_core-0.1.0a1.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.0 CPython/3.12.7

File hashes

Hashes for kiss_ai_stack_core-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 756c69cd4be805126131700c024c4ee5d425f1c1f64918d4541adf3660dfbb18
MD5 cfc55e62b5392ba0169488a5dfaaa229
BLAKE2b-256 320fc3aca6c355ce06ed828543878b06cda26a841f67d2a2e7da9fbd22b3cbd9

See more details on using hashes here.

File details

Details for the file kiss_ai_stack_core-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for kiss_ai_stack_core-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 edcb77f0e53b0a07e730420dbe86042cdc8f3591a7397d22a3cd9fa389103031
MD5 4091beec627474b29e44e1661e9676a7
BLAKE2b-256 8e4f8fe7c336723d078ce58be83b3eb19262ecc5845c51342a33f2e86cec7a56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page