| 
				
			 | 
			
			 | 
			@@ -0,0 +1,136 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import { Button } from '@/components/ui/button'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import { Card, CardContent } from '@/components/ui/card'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  Select, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  SelectContent, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  SelectItem, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  SelectTrigger, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  SelectValue, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} from '@/components/ui/select'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import { Key, MoreVertical, Plus, Trash2 } from 'lucide-react'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import { PropsWithChildren } from 'react'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			const settings = [ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    title: 'GPT Model', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    description: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'The default chat LLM all the newly created knowledgebase will use.', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    model: 'DeepseekChat', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    title: 'Embedding Model', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    description: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'The default embedding model all the newly created knowledgebase will use.', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    model: 'DeepseekChat', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    title: 'Image Model', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    description: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'The default multi-capable model all the newly created knowledgebase will use. It can generate a picture or video.', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    model: 'DeepseekChat', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    title: 'Speech2TXT Model', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    description: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'The default ASR model all the newly created knowledgebase will use. Use this model to translate voices to text something text.', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    model: 'DeepseekChat', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    title: 'TTS Model', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    description: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      'The default text to speech model all the newly created knowledgebase will use.', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    model: 'DeepseekChat', | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  }, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			function Title({ children }: PropsWithChildren) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return <span className="font-bold text-xl">{children}</span>; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			export function SystemModelSetting() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return ( | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    <Card> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      <CardContent className="p-4 space-y-6"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        {settings.map((x, idx) => ( | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <div key={idx} className="flex items-center"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <div className="flex-1 flex flex-col"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              <span className="font-semibold text-base">{x.title}</span> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              <span className="text-colors-text-neutral-standard"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                {x.description} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              </span> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            </div> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <div className="flex-1"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              <Select defaultValue="english"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                <SelectTrigger className="bg-colors-background-inverse-weak"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                  <SelectValue /> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                </SelectTrigger> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                <SelectContent> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                  <SelectItem value="english">English</SelectItem> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                </SelectContent> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              </Select> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            </div> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          </div> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ))} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      </CardContent> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    </Card> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  ); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			export function AddModelCard() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return ( | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    <Card className="pt-4"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      <CardContent className="space-y-4"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <div className="flex justify-between space-y-4"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <Avatar> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <AvatarImage src="https://github.com/shadcn.png" alt="@shadcn" /> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <AvatarFallback>CN</AvatarFallback> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          </Avatar> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <Button variant={'outline'}>Sub models</Button> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        </div> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <Title>Deep seek</Title> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <p>LLM,TEXT EMBEDDING, SPEECH2TEXT, MODERATION</p> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <Card> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <CardContent className="p-3 flex gap-2"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <Button variant={'secondary'}> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              deepseek-chat <Trash2 /> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            </Button> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <Button variant={'secondary'}> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			              deepseek-code <Trash2 /> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            </Button> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          </CardContent> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        </Card> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <div className="flex justify-end gap-2"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <Button variant="secondary" size="icon"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <MoreVertical className="h-4 w-4" /> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          </Button> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <Button variant={'tertiary'}> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <Key /> API | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          </Button> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        </div> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      </CardContent> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    </Card> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  ); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			export function ModelLibraryCard() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return ( | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    <Card className="pt-4"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      <CardContent className="space-y-4"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <Avatar className="mb-4"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <AvatarImage src="https://github.com/shadcn.png" alt="@shadcn" /> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <AvatarFallback>CN</AvatarFallback> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        </Avatar> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <Title>Deep seek</Title> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <p>LLM,TEXT EMBEDDING, SPEECH2TEXT, MODERATION</p> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        <div className="text-right"> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          <Button variant={'tertiary'}> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            <Plus /> Add | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          </Button> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        </div> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      </CardContent> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    </Card> | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  ); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} |