2
0

(openai) Add Messages sequence type

To make it easy to just plug a sequence of user / assistant messages to Chat completion task

Closes #387
This commit is contained in:
Baptiste Arnaud
2023-03-13 16:28:08 +01:00
parent 48db171c1b
commit c4db2f42a6
27 changed files with 468 additions and 153 deletions

View File

@ -15,6 +15,10 @@ export const chatCompletionMessageRoles = [
'assistant',
] as const
export const chatCompletionMessageCustomRoles = [
'Messages sequence ✨',
] as const
export const chatCompletionResponseValues = [
'Message content',
'Total tokens',
@ -36,11 +40,24 @@ const chatCompletionMessageSchema = z.object({
content: z.string().optional(),
})
const chatCompletionCustomMessageSchema = z.object({
id: z.string(),
role: z.enum(chatCompletionMessageCustomRoles),
content: z
.object({
assistantMessagesVariableId: z.string().optional(),
userMessagesVariableId: z.string().optional(),
})
.optional(),
})
const chatCompletionOptionsSchema = z
.object({
task: z.literal(openAITasks[0]),
model: z.enum(chatCompletionModels),
messages: z.array(chatCompletionMessageSchema),
messages: z.array(
z.union([chatCompletionMessageSchema, chatCompletionCustomMessageSchema])
),
responseMapping: z.array(
z.object({
id: z.string(),