Skip to content

Commit 52aacc1

Browse files
committed
OpenAI: createEmbedding
1 parent 909b4a5 commit 52aacc1

3 files changed

Lines changed: 43 additions & 1 deletion

File tree

examples/nextjs-example/src/jobs/openai.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ new Job(client, {
6464
input: "Thsi is ridddled with erors",
6565
instruction: "Fix the spelling errors",
6666
});
67+
68+
await io.openai.createEmbedding("embedding", {
69+
model: "text-embedding-ada-002",
70+
input: "The food was delicious and the waiter...",
71+
});
6772
},
6873
});
6974

integrations/openai/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
createChatCompletion,
88
createCompletion,
99
createEdit,
10+
createEmbedding,
1011
createFile,
1112
createFineTune,
1213
createFineTuneFile,
@@ -30,6 +31,7 @@ const tasks = {
3031
backgroundCreateChatCompletion,
3132
createEdit,
3233
createImage,
34+
createEmbedding,
3335
createFile,
3436
listFiles,
3537
createFineTuneFile,

integrations/openai/src/tasks.ts

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
CreateChatCompletionRequest,
44
CreateCompletionRequest,
55
CreateEditRequest,
6+
CreateEmbeddingRequest,
67
CreateFineTuneRequest,
78
CreateImageRequest,
89
OpenAIApi,
@@ -268,7 +269,7 @@ export const createImage: AuthenticatedTask<
268269
Prettify<CreateImageRequest>,
269270
CreateImageResponseData
270271
> = {
271-
run: async (params, client) => {
272+
run: async (params, client, task) => {
272273
return client.createImage(params).then((res) => res.data);
273274
},
274275
init: (params) => {
@@ -309,6 +310,40 @@ export const createImage: AuthenticatedTask<
309310
},
310311
};
311312

313+
type CreateEmbeddingResponseData = Prettify<
314+
Awaited<ReturnType<OpenAIClientType["createEmbedding"]>>["data"]
315+
>;
316+
317+
export const createEmbedding: AuthenticatedTask<
318+
OpenAIClientType,
319+
Prettify<CreateEmbeddingRequest>,
320+
CreateEmbeddingResponseData
321+
> = {
322+
run: async (params, client) => {
323+
return client.createEmbedding(params).then((res) => res.data);
324+
},
325+
init: (params) => {
326+
return {
327+
name: "Create embedding",
328+
params,
329+
icon: "openai",
330+
properties: [
331+
{
332+
label: "Model",
333+
text: params.model,
334+
},
335+
{
336+
label: "Input",
337+
text:
338+
typeof params.input === "string"
339+
? truncate(params.input, 40)
340+
: truncate(params.input.at(0) ?? "none", 40),
341+
},
342+
],
343+
};
344+
},
345+
};
346+
312347
type CreateFileResponseData = Awaited<
313348
ReturnType<OpenAIClientType["createFile"]>
314349
>["data"];

0 commit comments

Comments
 (0)