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.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.1.tar.gz (11.4 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.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ayeto-0.0.1.tar.gz
  • Upload date:
  • Size: 11.4 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.1.tar.gz
Algorithm Hash digest
SHA256 6b881c15ae07f1753cf51ff2ba70bae868e1d88eb2da68aa792cc709f7f21748
MD5 e9b729da51f08049596da1589dd934d9
BLAKE2b-256 7957f414c8aa2db101f7d2c34d89fcdf06f45838c4517b880f7d06e4dda85877

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ayeto-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e51cd1a3e33070d1985a456fdd8c7e45e25c50043ffabdb4437b91484202feaf
MD5 984b4c143d5dc98bc057adedc126a9a0
BLAKE2b-256 f97c1e3e33e730ce04c8e822d7693d87bb861f80258fbdd3d936ec1743495be5

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