Skip to main content

AYETO API Client

Project description

AYETO API Client

A Python client library for interacting with the AYETO.ai API. This library provides a simple and intuitive interface to access various AI models for chat, image generation, and other AI capabilities.

Features

  • 🤖 Multiple AI Models: Support for various AI providers (OpenAI, Anthropic, DeepSeek, Google, XAI, and more)
  • 💬 Chat Functionality: Simple and advanced chat interactions with AI models
  • 🖼️ Image Generation: Support for image generation models (DALL-E, Stable Diffusion, BFL)
  • 📁 Document Support: Upload and process documents in conversations
  • 👁️ Vision Capabilities: Process images with vision-enabled models
  • 🔧 Tool Integration: Dynamic tool integration for enhanced AI capabilities
  • 📝 Type Safety: Full type hints and Pydantic models for request/response validation

Installation

pip install ayeto

Quick Start

Setting up the Client

from ayeto import AyetoClient

# Initialize with API key from environment variable AYETO_API_KEY
client = AyetoClient()

# Or provide API key directly
client = AyetoClient(api_key="your-api-key-here")

# Custom base URL (optional)
client = AyetoClient(
    api_key="your-api-key-here",
    base_url="https://custom-ayeto-instance.com/api/v2"
)

Getting Your API Key

To use this client, you'll need an API key from your AYETO account:

  1. Sign up or log in at https://ayeto.ai
  2. Go to your profile settings
  3. Generate or copy your API key

Environment Variables

Set your API key as an environment variable:

export AYETO_API_KEY="your-api-key-here"

Usage Examples

List Available Models

# List all available models
models = client.list_models()
for model in models:
    print(f"Model ID: {model.model_id}, Name: {model.display_name}, Type: {model.model_type}")

# Filter by model type
llm_models = client.list_models(model_type="llm")
image_models = client.list_models(model_type="img_gen")

Simple Chat

# Simple chat interaction
response = client.simple_chat(
    model_id="gpt-4.1-mini",
    prompt="What is the capital of France?"
)
print(response.message)

Advanced Chat

from ayeto.types import LLMMessage
from ayeto.requests import ChatRequest

# Create a message
message = LLMMessage(
    role="user",
    content="Explain quantum computing in simple terms"
)

# Create chat request
chat_request = ChatRequest(
    model="gpt-4.1",
    message=message,
    max_tokens=500,
    relevant_history=True,
    dynamic_tools=True
)

# Send chat request
response = client.chat(chat_request)
print(response.content)

Chat with Images (Vision)

from ayeto.types import LLMMessage, EncodedData
from ayeto.requests import ChatRequest

# Encode your image (base64 encoded data)
vision_data = EncodedData(
    data="base64-encoded-image-data",
    mime_type="image/jpeg"
)

message = LLMMessage(
    role="user", 
    content="What do you see in this image?"
)

chat_request = ChatRequest(
    model="gpt-4.1",
    message=message,
    vision=vision_data
)

response = client.chat(chat_request)

Chat with Document Upload

from ayeto.types import EncodedData

# Encode your document
document = EncodedData(
    data="base64-encoded-document-data",
    mime_type="application/pdf"
)

chat_request = ChatRequest(
    model="gpt-4.1-mini",
    message=message,
    documents=[document]
)

response = client.chat(chat_request)

Get API Version

version_info = client.get_version()
print(f"API Version: {version_info.version}")

API Reference

AyetoClient

The main client class for interacting with the AYETO API.

Methods

  • list_models(model_type: Optional[AiModelType] = None) -> List[ListModelsResponse]

    • List available AI models, optionally filtered by type
  • simple_chat(model_id: str, prompt: str) -> SimpleChatResponse

    • Send a simple chat request to an AI model
  • chat(request: ChatRequest) -> LLMMessage

    • Send an advanced chat request with full feature support
  • get_version() -> VersionResponse

    • Get API version information

Model Types

  • LLM: Large Language Models for text generation and chat
  • IMG_GEN: Image generation models
  • STT: Speech-to-text models
  • TTS: Text-to-speech models
  • EMBEDDINGS: Text embedding models

Supported Providers

  • OpenAI: GPT models, DALL-E
  • Anthropic: Claude models
  • DeepSeek: DeepSeek models
  • Google: Gemini models
  • XAI: Grok models
  • SD: Stable Diffusion models
  • BFL: Black Forest Labs models

Error Handling

The library raises AyetoException for API-related errors:

from ayeto.exceptions import AyetoException

try:
    response = client.simple_chat("invalid-model", "Hello")
except AyetoException as e:
    print(f"API Error: {e}")

Requirements

  • Python 3.12.3+
  • requests
  • pydantic

License

This project is licensed under the terms specified in the LICENSE file.

Changelog

v0.0.3

  • Added EncodedData loader (classmethod from_path)

v0.0.2

  • Project urls added

v0.0.1

  • Initial release
  • Basic chat functionality
  • Model listing
  • Support for multiple AI providers
  • Vision and document capabilities

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

ayeto-0.0.3.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

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

ayeto-0.0.3-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file ayeto-0.0.3.tar.gz.

File metadata

  • Download URL: ayeto-0.0.3.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for ayeto-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2a189352d6200942b90b4368e347a2b4ace5df3b34f8026bd482a7433e772b44
MD5 e357b9e75ae161052e8ea48e581d0c98
BLAKE2b-256 0f7d8914b93681cf70c1a9a70befe37a54e83090e631e4a2bdf04d64caf84dec

See more details on using hashes here.

File details

Details for the file ayeto-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: ayeto-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for ayeto-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 62a39e8ba47e67aca99dc8f8610f834c387cd7df75bc2316e97f60524f740dda
MD5 6c19daa722caa7ae4b6af3e3b5f4e4d2
BLAKE2b-256 8106ab9505046e1da20564e23b79802c511b974b3c2d59b8615dbb29b5a494f7

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