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.0a5.tar.gz (23.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.0a5-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kiss_ai_stack_core-0.1.0a5.tar.gz
  • Upload date:
  • Size: 23.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.0a5.tar.gz
Algorithm Hash digest
SHA256 3f5163dfd4d693f33e5fbfb475e04fb1afc04c2983265ab6583024bb63206203
MD5 115c04f5c7371de2f3c9fefae1f5e253
BLAKE2b-256 619f5bc0918b9ffab02a642e355226a95f96dee97b8b4e1615ec8dad2c9b7fd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kiss_ai_stack_core-0.1.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 235368b52ee89f8f8e309a7233b4aa10a62c5f78b2428d2c09100427f37139c1
MD5 86c273a1da3a44cd8daf5cc6fb3af905
BLAKE2b-256 7444553862b5e6b57540d7022b110690b2a70e799ceb5c90cc9574fec04c6114

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