import { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import System from "@/models/system"; export default function NativeEmbeddingOptions({ settings }) { const [loading, setLoading] = useState(true); const [availableModels, setAvailableModels] = useState([]); const [selectedModel, setSelectedModel] = useState( settings?.EmbeddingModelPref ); const [selectedModelInfo, setSelectedModelInfo] = useState(); useEffect(() => { System.customModels("native-embedder") .then(({ models }) => { if (models?.length > 0) { setAvailableModels(models); const _selectedModel = models.find((model) => model.id === settings?.EmbeddingModelPref) ?? models[0]; setSelectedModel(_selectedModel.id); setSelectedModelInfo(_selectedModel); } }) .finally(() => { setLoading(false); }); }, []); useEffect(() => { if (!availableModels?.length || !selectedModel) return; setSelectedModelInfo( availableModels.find((model) => model.id === selectedModel) ); }, [selectedModel, availableModels]); return (
{selectedModelInfo?.description}
Trained on: {selectedModelInfo?.lang}
Download Size: {selectedModelInfo?.size}
View model card on Hugging Face →