Skip to main content

A simple and intuitive wrapper around OpenAI Compatible APIs with tool support

Project description

Lazy AI

A simple and intuitive wrapper around OpenAI compatible APIs with built-in tool support.

Features

  • Easy-to-use AI assistant with conversation memory
  • Simple tool/function calling with decorators
  • Automatic conversation history management
  • Save and load conversations
  • Support for multiple AI providers (OpenAI, Groq, etc.)
  • Configurable model parameters

Installation

pip install lazy-ai

Quick Start

from lazyai import Assistant

assistant = Assistant(api_key="your-api-key-here")

# Simple chat
response = assistant.chat("Hello! What's the weather like?")
print(response)

# With tools
@assistant.tool("Get the current weather for a city")
def get_weather(city: str) -> str:
    # Your weather API logic here
    return f"The weather in {city} is sunny and 72°F"

# The AI can now call your function
response = assistant.chat("What's the weather in New York?")
print(response)  # AI will call get_weather("New York") and respond

Advanced Usage

Using with Groq

from lazyai import Assistant

assistant = Assistant(
    api_key="your-groq-api-key",
    base_url="https://api.groq.com/openai/v1",
    model="llama-3.3-70b-versatile"
)

Multiple Tools

@assistant.tool("Calculate the sum of two numbers")
def add(x: int, y: int) -> int:
    return x + y

@assistant.tool("Get user information from database")
def get_user(user_id: str) -> dict:
    # Your database logic here
    return {"id": user_id, "name": "John Doe"}

response = assistant.chat("Add 5 and 3, then get user info for user123")

Conversation Management

# Get conversation history
history = assistant.get_conversation_history()

# Clear conversation (keeps system prompt)
assistant.clear_conversation()

# Save conversation
assistant.save_conversation("chat_history.json")

# Load conversation
assistant.load_conversation("chat_history.json")

API Reference

Assistant

Assistant(
    api_key: str,
    base_url: str,
    model: str,
    system_prompt: str = "You are a helpful AI assistant.",
    temperature: float = 0.7,
    max_tokens: Optional[int] = None
)

Methods

  • chat(message: str) -> str: Send a message and get a response
  • tool(description: str = ""): Decorator to register functions as tools
  • get_conversation_history() -> List[Dict[str, Any]]: Get conversation history
  • clear_conversation(): Clear conversation history
  • save_conversation(filename: str): Save conversation to JSON file
  • load_conversation(filename: str): Load conversation from JSON file

Requirements

  • Python 3.8+

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

eyai-1.0.2.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

eyai-1.0.2-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file eyai-1.0.2.tar.gz.

File metadata

  • Download URL: eyai-1.0.2.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for eyai-1.0.2.tar.gz
Algorithm Hash digest
SHA256 258f0ea569e55559ab518b12b36fc7fc1b5c663880ec6389a3aa9759436ff558
MD5 f0ed1d2628a2c35b442976f87bc987c6
BLAKE2b-256 d28ee2f59fa9d9571a1fc44904767cbcaee0fabe6dd6e13628f3a11fa3e8e75f

See more details on using hashes here.

File details

Details for the file eyai-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: eyai-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for eyai-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8d3223cd80d5b93dfd03539cf4395550e36bed652368776293370f260c319a3a
MD5 99b446e7dde02e98be7097b836d6a8d3
BLAKE2b-256 10d9ecef36421e57a3090eb840ac11f23a7b4125c9b2184726dbb67cd48ec704

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