Skip to main content

A simple and unified Python library to interact with various Large Language Models (LLMs) like Gemini, GPT, Claude, and more by abstracting provider-specific code and authentication.

Project description

aydie_genai

aydie_genai Banner

A simple, unified, and powerful Python library for generative AI.

License


aydie_genai is a Python library designed to eliminate the complexity of working with multiple Generative AI models. Instead of writing different code for Gemini, OpenAI, Claude, Groq, and others, you can use one simple, unified function to access them all.

Key Features

  • Unified Interface: A single generate() function for all supported models.
  • Simple & Intuitive: Get started in minutes. No need to learn multiple SDKs.
  • Provider Agnostic: Switch between models like gpt-4o and gemini-1.5-pro by changing a single string.
  • Built-in Documentation: Rich docstrings provide in-console help via help(genai.generate).
  • Robust Error Handling: Custom exceptions for common issues like missing API keys.

Supported Models

Provider Supported Models Environment Variable
Google gemini-1.5-pro, gemini-1.5-flash, gemini-1.0-pro, gemini-2.5-pro, gemini-2.5-flash GOOGLE_API_KEY
OpenAI gpt-4o, gpt-4-turbo, gpt-3.5-turbo, gpt-4.1, gpt-4.1-mini OPENAI_API_KEY
Anthropic claude-3-opus-20240229, claude-3-sonnet-20240229, claude-3-haiku-20240307, claude-3.5-sonnet ANTHROPIC_API_KEY
Groq llama3-70b-8192, llama3-8b-8192, mixtral-8x7b-32768, llama3-70b-131k GROQ_API_KEY
DeepSeek deepseek-chat, deepseek-coder, deepseek-v2-chat DEEPSEEK_API_KEY

Installation

Install aydie_genai directly from PyPI:

pip install aydie-genai

⚡ Quick Start

1. Set Up Your API Keys

The library loads API keys from environment variables. The easiest way to manage these is to create a .env file in your project's root directory:

# .env file
GOOGLE_API_KEY="your_google_api_key"
OPENAI_API_KEY="your_openai_api_key"
ANTHROPIC_API_KEY="your_anthropic_api_key"
GROQ_API_KEY="your_groq_api_key"
DEEPSEEK_API_KEY="your_deepseek_api_key"

2. Generate a Response

Using the library is incredibly simple. Just import genai and call the generate function.

from aydie_genai import genai

# Example 1: Using Google Gemini
response_gemini = genai.generate(
    model='gemini-1.5-pro',
    prompt='Explain the theory of relativity in simple terms for a five-year-old.',
    system_instruction='You are a friendly and patient teacher.'
)
print("Gemini says:", response_gemini)

# Example 2: Switching to OpenAI's GPT-4o is as easy as changing the model name
response_openai = genai.generate(
    model='gpt-4o',
    prompt='Write a short story about a robot who discovers music.'
)
print("\nOpenAI says:", response_openai)

Function Parameters

The genai.generate() function accepts the following parameters:

Parameter Type Description
model str Required. The identifier for the model you want to use (e.g., 'gpt-4o').
prompt str Required. The main user input or question for the model.
system_instruction str A directive to guide the model's behavior or personality.
temperature float Controls randomness (0.0 for deterministic, 2.0 for random). Defaults to 1.0.
max_tokens int The maximum number of tokens to generate in the response. Defaults to 2048.
top_p float Nucleus sampling parameter. Defaults to 1.0.
api_key str Directly pass an API key, overriding the environment variable. Defaults to None.

Contributing

Contributions are welcome! Whether it's adding new models, improving documentation, or fixing bugs, your help is appreciated. Please feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Connect with Me

Website LinkedIn Twitter Instagram YouTube GitLab Email

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

aydie_genai-1.1.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

aydie_genai-1.1.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file aydie_genai-1.1.0.tar.gz.

File metadata

  • Download URL: aydie_genai-1.1.0.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for aydie_genai-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b5c72ca36b9499571728617d726a919733805b78ebd864271adb4a12f9b37691
MD5 701704ff27dbcd3b92961307647fc10e
BLAKE2b-256 039befb4c2cb48449425cd91845282a0001a0b32fc55c40b6dcea4ef46b76387

See more details on using hashes here.

File details

Details for the file aydie_genai-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: aydie_genai-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for aydie_genai-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f7f877f0a069915d3fcb8faa688ba9480863e3bcec37bfb0bbdd939c0e13d83
MD5 7f8facfd09efd739118cacef3b27fcd4
BLAKE2b-256 b9cdbd497be74298060536b6e2fc4707a2c9fff5ccd962a428a7c29c5889bcd8

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