Hey everyone,
I’ve been working on Kite, a Python framework for building AI agents. It’s designed to be simple and includes some production safety features I found myself needing repeatedly.
Repo: https://github.com/thienzz/Kite
What it does
-
Simple API for creating agents with tools
-
Built-in circuit breakers and retry logic
-
Works with Groq (and other providers)
-
Multiple reasoning patterns (ReAct, ReWOO, Tree-of-Thoughts, Plan-Execute)
Example
Here’s a basic customer support agent:
import asyncio
from kite import Kite
async def main():
# Initialize
ai = Kite()
ai.config['llm_provider'] = 'groq'
ai.config['llm_model'] = 'llama-3.3-70b-versatile'
ai.config['GROQ_API_KEY'] = ''
# Define business logic
def search_orders(order_id: str) -> str:
"""Search for order by ID"""
return f"Order {order_id} is shipped"
def process_refunds(order_id: str) -> str:
"""Process refund for order"""
return f"Refund processed for {order_id}"
# Create tools
search_tool = ai.create_tool("search_orders", search_orders)
refund_tool = ai.create_tool("process_refunds", process_refunds)
# Create agent
agent = ai.create_agent(
name="CustomerSupport",
system_prompt="You are a helpful e-commerce support agent.",
tools=[search_tool, refund_tool]
)
# Run it
result = await agent.run("Where is order ORD-12345?")
print(result['response'])
if __name__ == "__main__":
asyncio.run(main())
Why I built it
I kept writing the same safety patterns (circuit breakers, idempotency) for production agents. Figured I’d package it up properly and add support for different reasoning strategies.
Groq’s speed makes it particularly nice for agent workflows where you’re chaining multiple LLM calls.
Status
-
v0.1.0 released
-
MIT licensed
-
Actively maintained
-
Looking for feedback
Would love to hear thoughts from folks building with Groq. What features would be useful? What’s missing?
Also happy to answer questions about the architecture or design choices.
Thanks!