@winglibs/openai
v0.0.9
Published
OpenAI library for Wing
Downloads
1,477
Readme
openai
An OpenAI library for Winglang.
This is an initial version of this library which currently exposes a very small subset of the OpenAI API.
Prerequisites
Installation
npm i @winglibs/openai
Example
bring cloud;
bring openai;
let key = new cloud.Secret(name: "OAIApiKey");
let oai = new openai.OpenAI(apiKeySecret: key);
new cloud.Function(inflight () => {
let joke = oai.createCompletion("tell me a short joke", model: "gpt-3.5-turbo", max_tokens: 2048);
log(joke);
});
When running in a test
context, the createCompletion
method will return a JSON object which
echos the request under the mock
key:
bring expect;
test "create completion test" {
let r = oai.createCompletion("tell me a short joke");
expect.equal(r, Json.stringify({
mock: {
prompt:"tell me a short joke",
params:{"model":"gpt-3.5-turbo","max_tokens":2048}
}
}));
}
Usage
new openai.OpenAI();
apiKeySecret
- acloud.Secret
with the OpenAI API key (required).orgSecret
- acloud.Secret
with the OpenAI organization ID (not required).
You can also specify clear text values through apiKey
and org
, but make sure not to commit these
values to a repository :warning:.
Methods:
inflight createCompletion()
- requests a completion from a model. Options aremodel
(defaults togpt-3.5.turbo
) andmax_tokens
(defaults to 2048).
Roadmap
- [ ] Support the rest of the OpenAI API
- [ ] Add more examples
- [ ] Add more tests
Maintainers
License
Licensed under the MIT License.