The OpenAI API can be applied to virtually any task that involves understanding or generating natural language or code. They offer a spectrum of models with different levels of power suitable for different tasks, as well as the ability to fine-tune your own custom models.
This is an unofficial client, written purely in Dart that allows you to easily use the API in your Dart or Flutter projects.
APIs | Dart class | Implementation status |
---|---|---|
Models | OpenAIModels |
✅ |
Completions | OpenAICompletions |
✅ |
Chat | OpenAIChat |
✅ |
Edits | OpenAIEdits |
✅ |
Images | OpenAIImages |
✅ |
Embeddings | OpenAIEmbeddings |
✅ |
Files | Not present |
❌ |
Fine-tunes | Not present |
❌ |
Moderations | OpenAIModerations |
✅ |
You can install the package by adding it to your pubspec.yaml
file.
dependencies:
openai_client: last_version
After the installation you would just need to import the package in your project.
import 'package:openai_client/openai_client.dart';
In order to use the API, you need to have an API key. You can get one here and once you have it, you can use it in the client passing the key itself in the OpenAIConfiguration
constructor.
// Create the configuration
final conf = OpenAIConfiguration(
apiKey: 'Your API key',
organizationId: 'Your organization ID', // Optional
);
// Create a new client
final client = OpenAIClient(configuration: conf);
For testing and debugging purposes, you can use the built-in Logger
to more easily check the status of requests and responses.
By default, the Logger
is disabled. You can enable it by setting the enableLogging
property to true
.
// The instance of the client with the logger enabled
final client = OpenAIClient(
...
enableLogging: true,
);
The provided example is a simple command line application that allows you to test the client. You can find it in the example
folder.
The full documentation of the project is available here. All the methods are documented, and you can easily check the parameters that you can pass to them.
If you want to contribute to openai_client
, please make sure to review the contribution guidelines.
This project makes use of GitHub issues for tracking requests and bugs only, so please don't use issues for general questions and discussion.
This project is licensed under the BSD-3-Clause.
Furthermore, it's not affiliated with OpenAI in any way.