From ee834999e61c533271fe2c6320dedf133706b641 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Tue, 11 Jun 2024 10:51:02 +0200 Subject: [PATCH] :sparkles: Support Vision for compatible AI models Closes #1313 --- .../components/SetVariableSettings.tsx | 4 +- .../editor/blocks/integrations/anthropic.mdx | 12 ++ .../editor/blocks/integrations/openai.mdx | 12 ++ .../logic/setVariable/executeSetVariable.ts | 11 +- packages/embeds/js/package.json | 2 +- .../blocks/integrations/openai/streamChat.ts | 2 +- packages/embeds/nextjs/package.json | 2 +- packages/embeds/react/package.json | 2 +- .../anthropic/actions/createChatMessage.tsx | 4 +- packages/forge/blocks/anthropic/constants.ts | 9 + .../anthropic/helpers/parseChatMessages.ts | 168 ++++++++++++++---- packages/forge/blocks/anthropic/package.json | 4 +- .../blocks/openai/actions/askAssistant.tsx | 8 +- packages/forge/blocks/openai/constants.ts | 8 + .../helpers/isModelCompatibleWithVision.ts | 10 ++ .../helpers/parseChatCompletionMessages.ts | 100 +++++++---- .../helpers/splitUserTextMessageIntoBlocks.ts | 53 ++++++ packages/forge/blocks/openai/package.json | 3 +- .../blocks/openai/shared/runChatCompletion.ts | 2 +- .../openai/shared/runChatCompletionStream.ts | 2 +- packages/lib/package.json | 1 + packages/lib/wildcardMatch.ts | 3 + pnpm-lock.yaml | 30 +++- 23 files changed, 360 insertions(+), 92 deletions(-) create mode 100644 packages/forge/blocks/openai/helpers/isModelCompatibleWithVision.ts create mode 100644 packages/forge/blocks/openai/helpers/splitUserTextMessageIntoBlocks.ts create mode 100644 packages/lib/wildcardMatch.ts diff --git a/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx b/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx index d2c736e5b..7687cc3e8 100644 --- a/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx +++ b/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx @@ -11,7 +11,7 @@ import { sessionOnlySetVariableOptions, valueTypes, } from '@typebot.io/schemas/features/blocks/logic/setVariable/constants' -import { TextInput } from '@/components/inputs' +import { TextInput, Textarea } from '@/components/inputs' import { isDefined } from '@typebot.io/lib' import { useTypebot } from '@/features/editor/providers/TypebotProvider' import { isInputBlock } from '@typebot.io/schemas/helpers' @@ -215,7 +215,7 @@ const SetVariableValue = ({ ) } case 'Append value(s)': { - return + return