fix: support vision prompt modes
This commit is contained in:
@@ -129,7 +129,8 @@ function fromFlow(nodes: Node[], edges: Edge[]): WorkflowGraph {
|
||||
defaultTtsResourceId: "",
|
||||
visionEnabled: false,
|
||||
visionModelResourceId: "",
|
||||
visionFocusPrompt: "",
|
||||
visionPromptMode: "runtime",
|
||||
visionPrompt: "",
|
||||
toolIds: [],
|
||||
knowledgeBaseId: "",
|
||||
knowledgeMode: "automatic",
|
||||
|
||||
@@ -15,7 +15,8 @@ export function settingsFromWorkflowGraph(
|
||||
tts: graph.settings.defaultTtsResourceId,
|
||||
visionEnabled: graph.settings.visionEnabled,
|
||||
visionModelResourceId: graph.settings.visionModelResourceId,
|
||||
visionFocusPrompt: graph.settings.visionFocusPrompt,
|
||||
visionPromptMode: graph.settings.visionPromptMode,
|
||||
visionPrompt: graph.settings.visionPrompt,
|
||||
toolIds: graph.settings.toolIds,
|
||||
knowledgeBaseId: graph.settings.knowledgeBaseId,
|
||||
knowledgeRetrievalConfig: {
|
||||
@@ -45,7 +46,8 @@ export function workflowGraphWithSettings(
|
||||
defaultTtsResourceId: settings.tts ?? "",
|
||||
visionEnabled: settings.visionEnabled,
|
||||
visionModelResourceId: settings.visionModelResourceId,
|
||||
visionFocusPrompt: settings.visionFocusPrompt,
|
||||
visionPromptMode: settings.visionPromptMode,
|
||||
visionPrompt: settings.visionPrompt,
|
||||
toolIds: settings.toolIds,
|
||||
knowledgeBaseId: settings.knowledgeBaseId,
|
||||
knowledgeMode: settings.knowledgeRetrievalConfig.mode,
|
||||
|
||||
@@ -78,8 +78,10 @@ export function AgentNodePanel({
|
||||
visionModelResourceId:
|
||||
(draft.visionModelResourceId as string) ||
|
||||
workflowSettings.visionModelResourceId,
|
||||
visionFocusPrompt:
|
||||
draft.visionFocusPrompt ?? workflowSettings.visionFocusPrompt,
|
||||
visionPromptMode:
|
||||
draft.visionPromptMode ?? workflowSettings.visionPromptMode,
|
||||
visionPrompt:
|
||||
draft.visionPrompt ?? workflowSettings.visionPrompt,
|
||||
...(!isRealtime
|
||||
? {
|
||||
llmResourceId:
|
||||
@@ -308,13 +310,8 @@ export function AgentNodePanel({
|
||||
}
|
||||
enabled={Boolean(draft.visionEnabled)}
|
||||
modelResourceId={draft.visionModelResourceId ?? ""}
|
||||
focusPrompt={draft.visionFocusPrompt ?? ""}
|
||||
sourcePrompt={draft.prompt ?? ""}
|
||||
generatorModelResourceId={
|
||||
isRealtime
|
||||
? draft.visionModelResourceId ?? ""
|
||||
: (draft.llmResourceId as string) || ""
|
||||
}
|
||||
promptMode={draft.visionPromptMode ?? "runtime"}
|
||||
prompt={draft.visionPrompt ?? ""}
|
||||
mainModelResourceId={
|
||||
isRealtime
|
||||
? workflowSettings.realtime ?? ""
|
||||
@@ -339,8 +336,11 @@ export function AgentNodePanel({
|
||||
onModelResourceIdChange={(visionModelResourceId) =>
|
||||
set("visionModelResourceId", visionModelResourceId)
|
||||
}
|
||||
onFocusPromptChange={(visionFocusPrompt) =>
|
||||
set("visionFocusPrompt", visionFocusPrompt)
|
||||
onPromptModeChange={(visionPromptMode) =>
|
||||
set("visionPromptMode", visionPromptMode)
|
||||
}
|
||||
onPromptChange={(visionPrompt) =>
|
||||
set("visionPrompt", visionPrompt)
|
||||
}
|
||||
/>
|
||||
|
||||
|
||||
@@ -184,13 +184,8 @@ export function GlobalSettingsPanel({
|
||||
}
|
||||
enabled={settings.visionEnabled}
|
||||
modelResourceId={settings.visionModelResourceId}
|
||||
focusPrompt={settings.visionFocusPrompt}
|
||||
sourcePrompt={settings.globalPrompt}
|
||||
generatorModelResourceId={
|
||||
settings.runtimeMode === "realtime"
|
||||
? settings.visionModelResourceId
|
||||
: settings.llm ?? ""
|
||||
}
|
||||
promptMode={settings.visionPromptMode}
|
||||
prompt={settings.visionPrompt}
|
||||
mainModelResourceId={
|
||||
settings.runtimeMode === "realtime"
|
||||
? settings.realtime ?? ""
|
||||
@@ -216,8 +211,11 @@ export function GlobalSettingsPanel({
|
||||
onModelResourceIdChange={(visionModelResourceId) =>
|
||||
onSettingsChange({ ...settings, visionModelResourceId })
|
||||
}
|
||||
onFocusPromptChange={(visionFocusPrompt) =>
|
||||
onSettingsChange({ ...settings, visionFocusPrompt })
|
||||
onPromptModeChange={(visionPromptMode) =>
|
||||
onSettingsChange({ ...settings, visionPromptMode })
|
||||
}
|
||||
onPromptChange={(visionPrompt) =>
|
||||
onSettingsChange({ ...settings, visionPrompt })
|
||||
}
|
||||
/>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import * as LucideIcons from "lucide-react";
|
||||
import { Circle, type LucideIcon } from "lucide-react";
|
||||
|
||||
import type { NodeSpecDto, TurnConfig } from "@/lib/api";
|
||||
import type { NodeSpecDto, TurnConfig, VisionPromptMode } from "@/lib/api";
|
||||
import { defaultTurnConfig } from "@/lib/turn-config";
|
||||
|
||||
export type WorkflowNodeType =
|
||||
@@ -54,7 +54,8 @@ export type WorkflowNodeData = {
|
||||
ttsResourceId?: string;
|
||||
visionEnabled?: boolean;
|
||||
visionModelResourceId?: string;
|
||||
visionFocusPrompt?: string;
|
||||
visionPromptMode?: VisionPromptMode;
|
||||
visionPrompt?: string;
|
||||
enableInterrupt?: boolean;
|
||||
turnConfig?: TurnConfig;
|
||||
toolId?: string;
|
||||
@@ -214,7 +215,8 @@ export type WorkflowGraph = {
|
||||
defaultTtsResourceId: string;
|
||||
visionEnabled: boolean;
|
||||
visionModelResourceId: string;
|
||||
visionFocusPrompt: string;
|
||||
visionPromptMode: VisionPromptMode;
|
||||
visionPrompt: string;
|
||||
toolIds: string[];
|
||||
knowledgeBaseId: string;
|
||||
knowledgeMode: "automatic" | "on_demand";
|
||||
@@ -252,7 +254,8 @@ export function defaultGraph(): WorkflowGraph {
|
||||
defaultTtsResourceId: "",
|
||||
visionEnabled: false,
|
||||
visionModelResourceId: "",
|
||||
visionFocusPrompt: "",
|
||||
visionPromptMode: "runtime",
|
||||
visionPrompt: "",
|
||||
toolIds: [],
|
||||
knowledgeBaseId: "",
|
||||
knowledgeMode: "automatic",
|
||||
|
||||
@@ -5,6 +5,7 @@ import type {
|
||||
SystemToolKind,
|
||||
Tool,
|
||||
TurnConfig,
|
||||
VisionPromptMode,
|
||||
} from "@/lib/api";
|
||||
|
||||
import type { WorkflowGraph } from "./specs";
|
||||
@@ -18,7 +19,8 @@ export type WorkflowSettings = {
|
||||
tts?: string;
|
||||
visionEnabled: boolean;
|
||||
visionModelResourceId: string;
|
||||
visionFocusPrompt: string;
|
||||
visionPromptMode: VisionPromptMode;
|
||||
visionPrompt: string;
|
||||
toolIds: string[];
|
||||
knowledgeBaseId: string;
|
||||
knowledgeRetrievalConfig: KnowledgeRetrievalConfig;
|
||||
|
||||
Reference in New Issue
Block a user