OpenAI: createEmbedding

This commit is contained in:
Matt Aitken
2023-06-22 16:28:54 +01:00
parent 909b4a5432
commit 52aacc1e1d
3 changed files with 43 additions and 1 deletions
@@ -64,6 +64,11 @@ new Job(client, {
input: "Thsi is ridddled with erors",
instruction: "Fix the spelling errors",
});
await io.openai.createEmbedding("embedding", {
model: "text-embedding-ada-002",
input: "The food was delicious and the waiter...",
});
},
});
+2
View File
@@ -7,6 +7,7 @@ import {
createChatCompletion,
createCompletion,
createEdit,
createEmbedding,
createFile,
createFineTune,
createFineTuneFile,
@@ -30,6 +31,7 @@ const tasks = {
backgroundCreateChatCompletion,
createEdit,
createImage,
createEmbedding,
createFile,
listFiles,
createFineTuneFile,
+36 -1
View File
@@ -3,6 +3,7 @@ import {
CreateChatCompletionRequest,
CreateCompletionRequest,
CreateEditRequest,
CreateEmbeddingRequest,
CreateFineTuneRequest,
CreateImageRequest,
OpenAIApi,
@@ -268,7 +269,7 @@ export const createImage: AuthenticatedTask<
Prettify<CreateImageRequest>,
CreateImageResponseData
> = {
run: async (params, client) => {
run: async (params, client, task) => {
return client.createImage(params).then((res) => res.data);
},
init: (params) => {
@@ -309,6 +310,40 @@ export const createImage: AuthenticatedTask<
},
};
type CreateEmbeddingResponseData = Prettify<
Awaited<ReturnType<OpenAIClientType["createEmbedding"]>>["data"]
>;
export const createEmbedding: AuthenticatedTask<
OpenAIClientType,
Prettify<CreateEmbeddingRequest>,
CreateEmbeddingResponseData
> = {
run: async (params, client) => {
return client.createEmbedding(params).then((res) => res.data);
},
init: (params) => {
return {
name: "Create embedding",
params,
icon: "openai",
properties: [
{
label: "Model",
text: params.model,
},
{
label: "Input",
text:
typeof params.input === "string"
? truncate(params.input, 40)
: truncate(params.input.at(0) ?? "none", 40),
},
],
};
},
};
type CreateFileResponseData = Awaited<
ReturnType<OpenAIClientType["createFile"]>
>["data"];