MCPcopy Create free account
hub / github.com/bricks-cloud/BricksLLM / parseResult

Function parseResult

internal/server/web/proxy/route.go:187–284  ·  view source on GitHub ↗
(c *gin.Context, runEmbeddings bool, bytes []byte, e estimator, aoe azureEstimator, model, provider string)

Source from the content-addressed store, hash-verified

185}
186
187func parseResult(c *gin.Context, runEmbeddings bool, bytes []byte, e estimator, aoe azureEstimator, model, provider string) error {
188 base64ChatRes := &EmbeddingResponseBase64{}
189 chatRes := &EmbeddingResponse{}
190
191 var cost float64 = 0
192 promptTokenCounts := 0
193 completionTokenCounts := 0
194
195 defer func() {
196 c.Set("provider", provider)
197 c.Set("costInUsd", cost)
198 c.Set("promptTokenCount", promptTokenCounts)
199 c.Set("completionTokenCount", completionTokenCounts)
200 }()
201
202 if runEmbeddings {
203 format := c.GetString("encoding_format")
204 if format == "base64" {
205 err := json.Unmarshal(bytes, base64ChatRes)
206 if err != nil {
207 return err
208 }
209 }
210
211 if format != "base64" {
212 err := json.Unmarshal(bytes, chatRes)
213 if err != nil {
214 return err
215 }
216 }
217
218 totalTokens := 0
219 if format == "base64" {
220 totalTokens = base64ChatRes.Usage.TotalTokens
221 promptTokenCounts = base64ChatRes.Usage.PromptTokens
222 }
223
224 if format != "base64" {
225 totalTokens = chatRes.Usage.TotalTokens
226 promptTokenCounts = chatRes.Usage.PromptTokens
227 }
228
229 if provider == "azure" {
230 ecost, err := aoe.EstimateEmbeddingsInputCost(model, totalTokens)
231 if err != nil {
232 return err
233 }
234
235 cost = ecost
236 } else if provider == "openai" {
237 ecost, err := e.EstimateEmbeddingsInputCost(model, totalTokens)
238 if err != nil {
239 return err
240 }
241
242 cost = ecost
243 }
244

Callers 1

getRouteHandlerFunction · 0.85

Calls 3

SetMethod · 0.65
EstimateTotalCostMethod · 0.65

Tested by

no test coverage detected