Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ceytek-labs/openai
A lightweight library for seamless integration with the OpenAI API in PHP.
https://github.com/ceytek-labs/openai
ai api chatgpt image-recognition lite-library openai text-to-speech transcription
Last synced: 17 days ago
JSON representation
A lightweight library for seamless integration with the OpenAI API in PHP.
- Host: GitHub
- URL: https://github.com/ceytek-labs/openai
- Owner: ceytek-labs
- License: mit
- Created: 2024-10-22T16:31:18.000Z (2 months ago)
- Default Branch: 0.x
- Last Pushed: 2024-11-17T19:18:33.000Z (about 2 months ago)
- Last Synced: 2024-11-17T20:19:50.692Z (about 2 months ago)
- Topics: ai, api, chatgpt, image-recognition, lite-library, openai, text-to-speech, transcription
- Language: PHP
- Homepage: https://github.com/ceytek-labs/openai
- Size: 833 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
------
# OpenAI - ChatGPT API Library
**OpenAI - ChatGPT API Library** is a lightweight and extensible library designed to simplify your interaction with OpenAI APIs in PHP. With this library, you can create speech, transcriptions, chat completions, and more.
> **Disclaimer:** This package is not an official product of OpenAI. The developers accept no responsibility for any issues, discrepancies, or damages that may arise from its use.
## Requirements
- PHP 8.1 or higher
## Installation
You can add this package to your project via Composer:
```bash
composer require ceytek-labs/openai
```## Services
- [Audio Processing](#audio-processing)
- [Create Speech](#audio-processing-create-speech)
- [Create Transcription](#audio-processing-create-transcription)
- [Chat Completion](#chat-completion)
- [Text Completion](#chat-completion-text-completion)
- [Image Recognition](#chat-completion-image-recognition)
- [Model Management](#model-management)
- [Available Models List](#model-management-available-models-list)
- [Retrieve Model Information](#model-management-retrieve-model-information)## Audio Processing
This function provides easy integration with OpenAI’s TTS and transcription services.
### Example Usage
The following example demonstrates how to update data in a **Audio Processing** document:
**[⬆ Back to services](#services)**
#### Audio Processing: Create Speech
This feature allows you to convert text to speech using a specified TTS model and voice.
```php
use CeytekLabs\OpenAI\OpenAI;
use CeytekLabs\OpenAI\Enums\TTSModel;
use CeytekLabs\OpenAI\Enums\Voice;try {
$openai = OpenAI::make('')
->audio()
->createSpeech()
->setModel(TTSModel::TTS_1)
->setInput('The quick brown fox jumped over the lazy dog.')
->setVoice(Voice::Shimmer)
->ask();print_r($openai->getResponse());
} catch (\Exception $exception) {
echo $exception->getMessage();
}
```**[⬆ Back to services](#services)**
#### Audio Processing: Create Transcription
This function transcribes audio files into text, accepting various audio formats.
```php
use CeytekLabs\OpenAI\OpenAI;try {
$openai = OpenAI::make('')
->audio()
->createTranscription()
->setFile(__DIR__.'/speeches/speech1.mp3')
->ask();print_r($openai->getResponse());
} catch (\Exception $exception) {
echo $exception->getMessage();
}
```**[⬆ Back to services](#services)**
## Chat Completion
Chat completion features provide flexible options for text and image-based conversations.
### Example Usage
The following example demonstrates how to update data in a **Chat Completion** document:
**[⬆ Back to services](#services)**
#### Chat Completion: Text Completion
Generates a text-based response based on a given prompt.
```php
use CeytekLabs\OpenAI\OpenAI;
use CeytekLabs\OpenAI\Enums\Model;try {
$openai = OpenAI::make('')
->chat()
->createCompletion()
->setModel(Model::GPT_3_5_TURBO_0125)
->setPrompt('give your answer as json and keep it simple')
->ask('What is your name');print_r($openai->getResponse());
} catch (\Exception $exception) {
echo $exception->getMessage();
}
```**[⬆ Back to services](#services)**
#### Chat Completion: Image Recognition
This feature enables the library to analyze and interpret images.
```php
use CeytekLabs\OpenAI\OpenAI;
use CeytekLabs\OpenAI\Enums\Model;try {
$openai = OpenAI::make('')
->chat()
->createImageCompletion()
->setModel(Model::GPT_4_TURBO)
->ask('What is in this image', 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg');print_r($openai->getResponse());
} catch (\Exception $exception) {
echo $exception->getMessage();
}
```**[⬆ Back to services](#services)**
## Model Management
Easily manage models to get information about available or specific models.
### Example Usage
The following example demonstrates how to update data in a **Model Management** document:
**[⬆ Back to services](#services)**
#### Model Management: Available Models List
Retrieve a list of all available models.
```php
use CeytekLabs\OpenAI\OpenAI;try {
$openai = OpenAI::make('')
->model()
->availableList()
->ask();print_r($openai->getResponse());
} catch (\Exception $exception) {
echo $exception->getMessage();
}
```**[⬆ Back to services](#services)**
#### Model Management: Retrieve Model Information
Get details about a specific model.
```php
use CeytekLabs\OpenAI\OpenAI;
use CeytekLabs\OpenAI\Enums\Model;try {
$openai = OpenAI::make('')
->model()
->retrieve()
->ask(Model::GPT_4O_MINI);print_r($openai->getResponse());
} catch (\Exception $exception) {
echo $exception->getMessage();
}
```## Contributing
Feel free to submit a **pull request** or report an issue. Any contributions and feedback are highly appreciated!
## License
This project is licensed under the MIT License.