OpenAI, an AI research organization focused on creating friendly AI for humanity, offers the OpenAI API to access its powerful AI models for tasks like natural language processing and image generation.
The ballarinax/openai.chat
package offers functionality to connect and interact with chat completion related endpoints of OpenAI REST API v1 Enabling seamless interaction with the advanced GPT-4 models developed by OpenAI for diverse conversational and text generation tasks.
To use the OpenAI Connector, you must have access to the OpenAI API through a OpenAI Platform account and a project under it. If you do not have a OpenAI Platform account, you can sign up for one here.
-
Open the OpenAI Platform Dashboard.
-
Navigate to Dashboard -> API keys.
- Click on the "Create new secret key" button.
- Fill the details and click on Create secret key.
- Store the API key securely to use in your application.
To use the OpenAI Chat
connector in your Ballerina application, update the .bal
file as follows:
Import the ballerinax/openai.chat
module.
import ballerinax/openai.chat;
Create a chat:Client
with the obtained API Key and initialize the connector.
configurable string token = ?;
final chat:Client openAIChat = check new({
auth: {
token
}
});
Now, you can utilize available connector operations.
public function main() returns error? {
// Create a chat completion request.
chat:CreateChatCompletionRequest request = {
model: "gpt-4o-mini",
messages: [{
"role": "user",
"content": "What is Ballerina programming language?"
}]
};
chat:CreateChatCompletionResponse response = check openAIChat->/chat/completions.post(request);
}
bal run
The OpenAI Chat
connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:
- CLI assistant - Execute the user's task description by generating and running the appropriate command in the command line interface of their selected operating system.
- Image to markdown document converter - Generate detailed markdown documentation based on the image content.
-
Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:
Note: After installation, remember to set the
JAVA_HOME
environment variable to the directory where JDK was installed. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build
-
To run the tests:
./gradlew clean test
-
To build the without the tests:
./gradlew clean build -x test
-
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases>
-
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port>
-
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
All the contributors are encouraged to read the Ballerina Code of Conduct.
- For more information go to the
openai.chat
package. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.