import { SidebarCreateItem } from "@/components/sidebar/items/all/sidebar-create-item" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { ChatbotUIContext } from "@/context/context" import { MODEL_NAME_MAX } from "@/db/limits" import { TablesInsert } from "@/supabase/types" import { FC, useContext, useState } from "react" interface CreateModelProps { isOpen: boolean onOpenChange: (isOpen: boolean) => void } export const CreateModel: FC = ({ isOpen, onOpenChange }) => { const { profile, selectedWorkspace } = useContext(ChatbotUIContext) const [isTyping, setIsTyping] = useState(false) const [apiKey, setApiKey] = useState("") const [baseUrl, setBaseUrl] = useState("") const [description, setDescription] = useState("") const [modelId, setModelId] = useState("") const [name, setName] = useState("") const [contextLength, setContextLength] = useState(4096) if (!profile || !selectedWorkspace) return null return ( } renderInputs={() => ( <>
Create a custom model.
Your API *must* be compatible with the OpenAI SDK.
setName(e.target.value)} maxLength={MODEL_NAME_MAX} />
setModelId(e.target.value)} />
setBaseUrl(e.target.value)} />
Your API must be compatible with the OpenAI SDK.
setApiKey(e.target.value)} />
setContextLength(parseInt(e.target.value))} />
)} /> ) }