MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / Create

Method Create

agent/app/service/tensorrt_llm.go:211–268  ·  view source on GitHub ↗
(create request.TensorRTLLMCreate)

Source from the content-addressed store, hash-verified

209}
210
211func (t TensorRTLLMService) Create(create request.TensorRTLLMCreate) error {
212 servers, _ := tensorrtLLMRepo.List()
213 for _, server := range servers {
214 if server.ContainerName == create.ContainerName {
215 return buserr.New("ErrContainerName")
216 }
217 if server.Name == create.Name {
218 return buserr.New("ErrNameIsExist")
219 }
220 }
221 for _, export := range create.ExposedPorts {
222 if err := checkPortExist(export.HostPort); err != nil {
223 return err
224 }
225 }
226 if err := checkContainerName(create.ContainerName); err != nil {
227 return err
228 }
229
230 tensorrtLLMDir := path.Join(global.Dir.TensorRTLLMDir, create.Name)
231 filesOp := files.NewFileOp()
232 if !filesOp.Stat(tensorrtLLMDir) {
233 _ = filesOp.CreateDir(tensorrtLLMDir, 0644)
234 }
235 if create.ModelSpeedup {
236 if err := handleModelArchive(create.ModelType, create.ModelDir); err != nil {
237 return err
238 }
239 }
240 tensorrtLLM := &model.TensorRTLLM{
241 Name: create.Name,
242 ContainerName: create.ContainerName,
243 Status: constant.StatusStarting,
244 ModelType: create.ModelType,
245 ModelSpeedup: create.ModelSpeedup,
246 }
247
248 if err := handleLLMParams(tensorrtLLM, create); err != nil {
249 return err
250 }
251 envMap := handleLLMEnv(tensorrtLLM, create)
252 llmDir := path.Join(global.Dir.TensorRTLLMDir, create.Name)
253 envPath := path.Join(llmDir, ".env")
254 if err := env.WriteWithOrder(envMap, envPath, []string{"MODEL_PATH", "COMMAND"}); err != nil {
255 return err
256 }
257 dockerComposePath := path.Join(llmDir, "docker-compose.yml")
258 if err := filesOp.SaveFile(dockerComposePath, tensorrtLLM.DockerCompose, 0644); err != nil {
259 return err
260 }
261 tensorrtLLM.Status = constant.StatusStarting
262
263 if err := tensorrtLLMRepo.Create(tensorrtLLM); err != nil {
264 return err
265 }
266 go startTensorRTLLM(tensorrtLLM)
267 return nil
268}

Callers

nothing calls this directly

Calls 11

StatMethod · 0.95
CreateDirMethod · 0.95
SaveFileMethod · 0.95
checkPortExistFunction · 0.85
handleModelArchiveFunction · 0.85
handleLLMParamsFunction · 0.85
handleLLMEnvFunction · 0.85
startTensorRTLLMFunction · 0.85
checkContainerNameFunction · 0.70
ListMethod · 0.65
CreateMethod · 0.65

Tested by

no test coverage detected