https://github.com/gustycube/easilyai
A python library that simplifies the usage of AI!
https://github.com/gustycube/easilyai
ai claude collaborate deepsource easy gemini generative-ai grok library llm ollama openai pip pipeline python pythonlibrary
Last synced: 3 days ago
JSON representation
A python library that simplifies the usage of AI!
- Host: GitHub
- URL: https://github.com/gustycube/easilyai
- Owner: GustyCube
- License: apache-2.0
- Created: 2024-12-17T00:47:09.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-01-27T17:23:38.000Z (3 months ago)
- Last Synced: 2025-03-30T10:04:28.223Z (about 1 month ago)
- Topics: ai, claude, collaborate, deepsource, easy, gemini, generative-ai, grok, library, llm, ollama, openai, pip, pipeline, python, pythonlibrary
- Language: Python
- Homepage: https://pypi.org/project/EasilyAI/
- Size: 653 KB
- Stars: 16
- Watchers: 3
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**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.
---
## Features
- **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.---
## Installation
Install the library via pip:
```bash
pip install easilyai
```---
## Quick Start
### 1. Create an AI App
Create an app for OpenAI:
```python
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)
```---
### 2. Generate Text-to-Speech
Create a dedicated TTS app and specify the model and voice:
```python
# 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}")
```---
### 3. Use Pipelines
Chain multiple tasks (text generation, image generation, and TTS):
```python
# 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")
```---
### 4. Register Custom AI Services
Integrate your own AI models into EasilyAI:
```python
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?"))
```---
## Supported Services
1. **OpenAI**
- Text Generation (ChatGPT models like `gpt-4o`)
- Image Generation (`dall-e-3`)
- Text-to-Speech (`tts-1`, voices: `onyx`, `alloy`, etc.)2. **Ollama**
- Local LLM text generation (e.g., `llama3.1`).3. **Custom AI**
- Extend functionality by registering your own AI services.---
## Error Handling
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."---
## Future Features
- Full support for additional TTS providers.
- Model-specific optimizations.
- Enhanced CLI tools for developers.---
## Contributing
Contributions are welcome! To contribute:
1. Fork the repository.
2. Create a new branch.
3. Submit a pull request with detailed changes.---
## License
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
---
## Links
- Documentation: [coming soon]
- GitHub Repository: https://github.com/GustyCube/EasilyAI---
## Contact
For questions, bugs, or feature requests, please reach out to **GustyCube** at **[email protected]**.