"use client" import { useState } from "react" import { Eye, EyeOff } from "lucide-react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card" import { Input } from "./ui/input" import { Label } from "./ui/label" import { Slider } from "./ui/slider" import { Switch } from "./ui/switch" import { Button } from "./ui/button" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./ui/select" import { Textarea } from "./ui/textarea" interface FormViewProps { settings: any onChange: (settings: any) => void } export function FormView({ settings, onChange }: FormViewProps) { const [showLlmAdvanced, setShowLlmAdvanced] = useState(false) const [showLlmApiKey, setShowLlmApiKey] = useState(false) const [showEmbedderApiKey, setShowEmbedderApiKey] = useState(false) const handleOpenMemoryChange = (key: string, value: any) => { onChange({ ...settings, openmemory: { ...settings.openmemory, [key]: value, }, }) } const handleLlmProviderChange = (value: string) => { onChange({ ...settings, mem0: { ...settings.mem0, llm: { ...settings.mem0.llm, provider: value, }, }, }) } const handleLlmConfigChange = (key: string, value: any) => { onChange({ ...settings, mem0: { ...settings.mem0, llm: { ...settings.mem0.llm, config: { ...settings.mem0.llm.config, [key]: value, }, }, }, }) } const handleEmbedderProviderChange = (value: string) => { onChange({ ...settings, mem0: { ...settings.mem0, embedder: { ...settings.mem0.embedder, provider: value, }, }, }) } const handleEmbedderConfigChange = (key: string, value: any) => { onChange({ ...settings, mem0: { ...settings.mem0, embedder: { ...settings.mem0.embedder, config: { ...settings.mem0.embedder.config, [key]: value, }, }, }, }) } const needsLlmApiKey = settings.mem0?.llm?.provider?.toLowerCase() !== "ollama" const needsEmbedderApiKey = settings.mem0?.embedder?.provider?.toLowerCase() !== "ollama" const isLlmOllama = settings.mem0?.llm?.provider?.toLowerCase() === "ollama" const isEmbedderOllama = settings.mem0?.embedder?.provider?.toLowerCase() === "ollama" const LLM_PROVIDERS = { "OpenAI": "openai", "Anthropic": "anthropic", "Azure OpenAI": "azure_openai", "Ollama": "ollama", "Together": "together", "Groq": "groq", "Litellm": "litellm", "Mistral AI": "mistralai", "Google AI": "google_ai", "AWS Bedrock": "aws_bedrock", "Gemini": "gemini", "DeepSeek": "deepseek", "xAI": "xai", "LM Studio": "lmstudio", "LangChain": "langchain", } const EMBEDDER_PROVIDERS = { "OpenAI": "openai", "Azure OpenAI": "azure_openai", "Ollama": "ollama", "Hugging Face": "huggingface", "Vertex AI": "vertexai", "Gemini": "gemini", "LM Studio": "lmstudio", "Together": "together", "LangChain": "langchain", "AWS Bedrock": "aws_bedrock", } return (
Leave empty to use default: http://host.docker.internal:11434
Use "env:API_KEY" to load from environment variable, or enter directly
Leave empty to use default: http://host.docker.internal:11434
Use "env:API_KEY" to load from environment variable, or enter directly