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: 6 months 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 (11 months ago)
 - Default Branch: main
 - Last Pushed: 2025-01-27T17:23:38.000Z (9 months ago)
 - Last Synced: 2025-03-30T10:04:28.223Z (7 months 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 **gc@gustycube.xyz**.