MCPcopy
hub / github.com/mudler/LocalAI / ModelTokenize

Function ModelTokenize

core/backend/tokenize.go:27–86  ·  view source on GitHub ↗
(s string, loader *model.ModelLoader, modelConfig config.ModelConfig, appConfig *config.ApplicationConfig)

Source from the content-addressed store, hash-verified

25}
26
27func ModelTokenize(s string, loader *model.ModelLoader, modelConfig config.ModelConfig, appConfig *config.ApplicationConfig) (schema.TokenizeResponse, error) {
28
29 var inferenceModel grpc.Backend
30 var err error
31
32 opts := ModelOptions(modelConfig, appConfig)
33 inferenceModel, err = loader.Load(opts...)
34 if err != nil {
35 recordModelLoadFailure(appConfig, modelConfig.Name, modelConfig.Backend, err, nil)
36 return schema.TokenizeResponse{}, err
37 }
38
39 predictOptions := gRPCPredictOpts(modelConfig, loader.ModelPath)
40 predictOptions.Prompt = s
41
42 var startTime time.Time
43 if appConfig.EnableTracing {
44 trace.InitBackendTracingIfEnabled(appConfig.TracingMaxItems, appConfig.TracingMaxBodyBytes)
45 startTime = time.Now()
46 }
47
48 // tokenize the string
49 resp, err := inferenceModel.TokenizeString(appConfig.Context, predictOptions)
50
51 if appConfig.EnableTracing {
52 errStr := ""
53 if err != nil {
54 errStr = err.Error()
55 }
56
57 tokenCount := tokenizeTokenCount(resp)
58
59 trace.RecordBackendTrace(trace.BackendTrace{
60 Timestamp: startTime,
61 Duration: time.Since(startTime),
62 Type: trace.BackendTraceTokenize,
63 ModelName: modelConfig.Name,
64 Backend: modelConfig.Backend,
65 Summary: trace.TruncateString(s, 200),
66 Error: errStr,
67 Data: map[string]any{
68 "input_text": trace.TruncateString(s, 1000),
69 "token_count": tokenCount,
70 },
71 })
72 }
73
74 if err != nil {
75 return schema.TokenizeResponse{}, err
76 }
77
78 if resp == nil || resp.Tokens == nil {
79 return schema.TokenizeResponse{Tokens: make([]int32, 0)}, nil
80 }
81
82 return schema.TokenizeResponse{
83 Tokens: resp.Tokens,
84 }, nil

Callers 2

TokenizeEndpointFunction · 0.92
TokenCounterMethod · 0.92

Calls 10

RecordBackendTraceFunction · 0.92
TruncateStringFunction · 0.92
ModelOptionsFunction · 0.85
recordModelLoadFailureFunction · 0.85
gRPCPredictOptsFunction · 0.85
tokenizeTokenCountFunction · 0.85
LoadMethod · 0.65
TokenizeStringMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected