* Added flows with new components * commented model provider assignment * Added agent component display name * commented provider assignment, assign provider on the generic component, assign custom values * fixed ollama not showing loading steps, fixed loading steps never being removed * made embedding and llm model optional on onboarding call * added isEmbedding handling on useModelSelection * added isEmbedding on onboarding card, separating embedding from non embedding card * Added one additional step to configure embeddings * Added embedding provider config * Changed settings.py to return if not embedding * Added editing fields to onboarding * updated onboarding and flows_service to change embedding and llm separately * updated templates that needs to be changed with provider values * updated flows with new components * Changed config manager to not have default models * Changed flows_service settings * Complete steps if not embedding * Add more onboarding steps * Removed one step from llm steps * Added Anthropic as a model for the language model on the frontend * Added anthropic models * Added anthropic support on Backend * Fixed provider health and validation * Format settings * Change anthropic logo * Changed button to not jump * Changed flows service to make anthropic work * Fixed some things * add embedding specific global variables * updated flows * fixed ingestion flow * Implemented anthropic on settings page * add embedding provider logo * updated backend to work with multiple provider config * update useUpdateSettings with new settings type * updated provider health banner to check for health with new api * changed queries and mutations to use new api * changed embedding model input to work with new api * Implemented provider based config on the frontend * update existing design * fixed settings configured * fixed provider health query to include health check for both the providers * Changed model-providers to show correctly the configured providers * Updated prompt * updated openrag agent * Fixed settings to allow editing providers and changing llm and embedding models * updated settings * changed lf ver * bump openrag version * added more steps * update settings to create the global variables * updated steps * updated default prompt --------- Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
67 lines
1.9 KiB
TypeScript
67 lines
1.9 KiB
TypeScript
import { ModelOption } from "@/app/api/queries/useGetModelsQuery";
|
|
import {
|
|
getFallbackModels,
|
|
ModelProvider,
|
|
} from "@/app/settings/helpers/model-helpers";
|
|
import { ModelSelectItems } from "@/app/settings/helpers/model-select-item";
|
|
import { LabelWrapper } from "@/components/label-wrapper";
|
|
import {
|
|
Select,
|
|
SelectContent,
|
|
SelectTrigger,
|
|
SelectValue,
|
|
} from "@radix-ui/react-select";
|
|
import {
|
|
Tooltip,
|
|
TooltipContent,
|
|
TooltipTrigger,
|
|
} from "@radix-ui/react-tooltip";
|
|
|
|
interface EmbeddingModelInputProps {
|
|
disabled?: boolean;
|
|
value: string;
|
|
onChange: (value: string) => void;
|
|
modelsData?: {
|
|
embedding_models: ModelOption[];
|
|
};
|
|
currentProvider?: ModelProvider;
|
|
}
|
|
|
|
export const EmbeddingModelInput = ({
|
|
disabled,
|
|
value,
|
|
onChange,
|
|
modelsData,
|
|
currentProvider = "openai",
|
|
}: EmbeddingModelInputProps) => {
|
|
const isDisabled = Boolean(disabled);
|
|
const tooltipMessage = isDisabled
|
|
? "Locked to keep embeddings consistent"
|
|
: "Choose the embedding model for ingest and retrieval";
|
|
|
|
return (
|
|
<LabelWrapper
|
|
helperText="Model used for knowledge ingest and retrieval"
|
|
id="embedding-model-select"
|
|
label="Embedding model"
|
|
>
|
|
<Select disabled={isDisabled} value={value} onValueChange={onChange}>
|
|
<Tooltip delayDuration={0}>
|
|
<TooltipTrigger asChild>
|
|
<SelectTrigger disabled={isDisabled} id="embedding-model-select">
|
|
<SelectValue placeholder="Select an embedding model" />
|
|
</SelectTrigger>
|
|
</TooltipTrigger>
|
|
<TooltipContent>{tooltipMessage}</TooltipContent>
|
|
</Tooltip>
|
|
<SelectContent>
|
|
<ModelSelectItems
|
|
models={modelsData?.embedding_models || []}
|
|
fallbackModels={getFallbackModels(currentProvider).embedding || []}
|
|
provider={currentProvider}
|
|
/>
|
|
</SelectContent>
|
|
</Select>
|
|
</LabelWrapper>
|
|
);
|
|
};
|