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 Agent

try:
    # Initialize the AI agent stack
    agent = Agent()
    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.0a2.tar.gz (20.3 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.0a2-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kiss_ai_stack_core-0.1.0a2.tar.gz
  • Upload date:
  • Size: 20.3 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.0a2.tar.gz
Algorithm Hash digest
SHA256 0a2e64da8901e9e1f9779c2f27adf063bc176b33ce5197ed3814154d99feb37d
MD5 905fae58008f7aa21f3d5afc40016cd7
BLAKE2b-256 1f955dbdba8a6b9cd57e13443968a4d2339d513e25e8d7bd89b6b6774720f377

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kiss_ai_stack_core-0.1.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 28783a6d272321025f8de057b59b16c2c3ca7076c1f511dbf4be1310e84e2f90
MD5 5ea39c31d40742b9d32a60b722fc975f
BLAKE2b-256 149c7be945ba530b929838d4123ca9cf6f117b6a4b272122f0b239aca8ca278b

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