https://github.com/paparascal2020/sidekick
Say hello to Sidekick! A Laravel package that provides a common syntax for using Claude, Mistral, Cohere and OpenAi APIs.
https://github.com/paparascal2020/sidekick
ai claude-ai cohere laravel-package mistralai open-source openai
Last synced: 3 months ago
JSON representation
Say hello to Sidekick! A Laravel package that provides a common syntax for using Claude, Mistral, Cohere and OpenAi APIs.
- Host: GitHub
- URL: https://github.com/paparascal2020/sidekick
- Owner: PapaRascal2020
- License: gpl-3.0
- Created: 2024-08-31T14:12:31.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-10-02T18:48:46.000Z (7 months ago)
- Last Synced: 2025-01-24T23:48:41.840Z (3 months ago)
- Topics: ai, claude-ai, cohere, laravel-package, mistralai, open-source, openai
- Language: PHP
- Homepage: https://sidekickforlaravel.com
- Size: 5.73 MB
- Stars: 25
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Installation Guide | Documentation | Contributing | License
![]()
### Description
This project provides a unified wrapper around the OpenAI, Claude, Cohere and Mistral APIs for Laravel. The goal is to simplify switching between different AI models and APIs, making it as seamless as possible.
**Watch a short video on how to get set up in under 5 minutes.**
####  Features
- Open AI, Mistral, Claude & Cohere
- Conversation => Quickly prototype/build a chatbot (with history via DB)
- Completion => Complete or respond to a given prompt
- Open AI, Mistral (ONLY)
- Embedding => Create a vector representation from text
- Open AI (ONLY)
- Audio => Create an Audio file from a text prompt
- Image => Create an Image from a text prompt
- Moderation => Moderate text and flag for unwanted content (great for moderating comments)
- Transcription => Transcribe an audio file
- Quick Utilities (supported by all models)
- Summarize => Summarizes the given input
- extractKeywords => Extracts Keywords from a given input
- translateText => Translates the given input into another language
- generateContent => Generates content ideas from a given topic
### Installation Guide
The easiest way to install the package in your laravel app is to run the following command from within your project directory:
```bash
composer require paparascaldev/sidekick
```### Configuring the `.env`
Once Sidekick is installed you need to update your `.env` file with your access tokens.You only need to specify the token for the provider(s) you will use.
```dotenv
SIDEKICK_OPENAI_TOKEN='{API_KEY_HERE} (Recommended)'
SIDEKICK_MISTRAL_TOKEN='{API_KEY_HERE} (Optional)'
SIDEKICK_CLAUDE_TOKEN='{API_KEY_HERE} (Optional)'
SIDEKICK_COHERE_TOKEN='{API_KEY_HERE} (Optional)'
```#### Where can I get an API key?
If you are not yet signed up with any of the AI providers, here are some links to help:- https://platform.openai.com (Open Ai)
- https://console.anthropic.com (Claude)
- https://console.mistral.ai (Mistral)
- https://dashboard.cohere.com (Cohere)### Running Migrations
Run your migrations using the command below:```bash
php artisan migrate
```After the `.env` is updated you can start testing the plugin.
### The Sidekick Playground
In order to see some examples of Sidekick in action I have created a playground.
This is not available by default because some may not wish to use it.If you would like to use it run the following artisan command to install the playground:
```bash
php artisan sidekick:install
```
This will install the routes and views into your application.On completion, you can access the playground at:
```
/sidekick
```### Documentation
Please refer to the wiki documentation that can be found here: [Documentation](https://github.com/PapaRascal2020/sidekick/wiki/4.-Documentation-(post-v0.2.1))
### Ways to Contribute
To find out about how you can get involved checkout the CONTRIBUTING.md or read my post on it here: [https://ashleyjohnson.co.uk/journal/calling-all-laravel-devs-lets-collaborate-on-sidekick](https://ashleyjohnson.co.uk/journal/calling-all-laravel-devs-lets-collaborate-on-sidekick)
Also, star my repository if you think it is useful.
### Model Support
I have tested the package using the following models:
#### Open Ai
```gpt-3.5-turbo, gpt-4, tts-1, tts-1-hd, dall-e-2, dall-e-3, whisper-1, text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002, text-moderation-latest, text-moderation-stable, text-moderation-007```
#### Mistral AI
```mistral-small-latest, mistral-medium-latest, mistral-large-latest, open-mistral-7b, mistral-embed```
#### Claude AI
```claude-3-opus-20240229, claude-3-sonnet-20240229, claude-3-haiku-20240307```
#### Cohere AI
```command-r-08-2024 command-r-plus-08-2024```### Stargazers
Thank you to everyone who stars this repository.[](https://github.com/PapaRascal2020/sidekick/stargazers)