EasilyAI is a Python library that simplifies AI app development by integrating popular AI services like OpenAI and Ollama. It provides a clean, unified interface for text generation, image generation, and text-to-speech (TTS) tasks.
- App Creation: Simplify initializing AI services like OpenAI and Ollama.
- Text-to-Speech: Convert text to speech with OpenAI's TTS API (with voice selection).
- Custom AI Support: Integrate and register custom AI models.
- Unified Request Handling: Automatically determine task types like text, image, or TTS requests.
- Pipeline Support: Chain multiple tasks into a seamless workflow.
Install the library via pip:
pip install easilyai
Create an app for OpenAI:
import easilyai
# Initialize an OpenAI App
app = easilyai.create_app(
name="my_ai_app",
service="openai",
apikey="YOUR_OPENAI_API_KEY",
model="gpt-4"
)
# Make a request
response = app.request("Tell me a joke about AI.")
print(response)
Create a dedicated TTS app and specify the model and voice:
# Initialize a TTS App
tts_app = easilyai.create_tts_app(
name="my_tts_app",
service="openai",
apikey="YOUR_OPENAI_API_KEY",
model="tts-1"
)
# Convert text to speech
output_file = tts_app.request_tts(
text="Hello, I am your AI assistant!",
tts_model="tts-1",
voice="onyx",
output_file="hello_ai.mp3"
)
print(f"TTS output saved to: {output_file}")
Chain multiple tasks (text generation, image generation, and TTS):
# Create a pipeline
pipeline = easilyai.EasilyAIPipeline(app)
# Add tasks
pipeline.add_task("generate_text", "Write a poem about AI and nature.")
pipeline.add_task("generate_image", "A futuristic city with flying cars.")
pipeline.add_task("text_to_speech", "Here is a talking car in a futuristic world!")
# Run the pipeline
results = pipeline.run()
# Print results
for task_result in results:
print(f"Task: {task_result['task']}\nResult: {task_result['result']}\n")
Integrate your own AI models into EasilyAI:
from easilyai.custom_ai import CustomAIService, register_custom_ai
# Define a custom AI service
class MyCustomAI(CustomAIService):
def generate_text(self, prompt):
return f"Custom AI response for: {prompt}"
def text_to_speech(self, text, **kwargs):
return f"Custom TTS Output: {text}"
# Register the custom AI
register_custom_ai("my_custom_ai", MyCustomAI)
# Use the custom AI
custom_app = easilyai.create_app(name="custom_app", service="my_custom_ai", model="v1")
print(custom_app.request("What is 2 + 2?"))
-
OpenAI
- Text Generation (ChatGPT models like
gpt-4o
) - Image Generation (
dall-e-3
) - Text-to-Speech (
tts-1
, voices:onyx
,alloy
, etc.)
- Text Generation (ChatGPT models like
-
Ollama
- Local LLM text generation (e.g.,
llama3.1
).
- Local LLM text generation (e.g.,
-
Custom AI
- Extend functionality by registering your own AI services.
EasilyAI includes robust error handling with informative, emoji-coded messages.
Examples:
- ๐ Missing API Key: "No API key provided! Add your API key to initialize the service."
- ๐ซ Invalid Request: "The request is invalid. Please check your inputs."
- ๐ Connection Error: "Unable to connect to the API. Ensure the server is running."
- โณ Rate Limit Exceeded: "Too many requests! Wait and try again."
- Full support for additional TTS providers.
- Model-specific optimizations.
- Enhanced CLI tools for developers.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch.
- Submit a pull request with detailed changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Documentation: [coming soon]
- GitHub Repository: https://github.com/GustyCube/EasilyAI
For questions, bugs, or feature requests, please reach out to GustyCube at [email protected].