Skip to content

Commit

Permalink
debug
Browse files Browse the repository at this point in the history
Signed-off-by: Ettore Di Giacinto <[email protected]>
  • Loading branch information
mudler committed Oct 30, 2024
1 parent e1fb0a8 commit 5af330e
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 22 deletions.
22 changes: 16 additions & 6 deletions core/http/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,16 +181,26 @@ func App(cl *config.BackendConfigLoader, ml *model.ModelLoader, appConfig *confi
Browse: true,
}))

app.Use("/ws", func(c *fiber.Ctx) error {
// IsWebSocketUpgrade returns true if the client
// requested upgrade to the WebSocket protocol.
app.Use(func(c *fiber.Ctx) error {
if websocket.IsWebSocketUpgrade(c) {
c.Locals("allowed", true)
return c.Next()
// Returns true if the client requested upgrade to the WebSocket protocol
c.Next()
}
return fiber.ErrUpgradeRequired

return nil
})

// app.Use("/v1/realtime", func(c *fiber.Ctx) error {
// fmt.Println("Hit upgrade from http")
// // IsWebSocketUpgrade returns true if the client
// // requested upgrade to the WebSocket protocol.
// if websocket.IsWebSocketUpgrade(c) {
// c.Locals("allowed", true)
// return c.Next()
// }
// return fiber.ErrUpgradeRequired
// })

// Define a custom 404 handler
// Note: keep this at the bottom!
app.Use(notFoundHandler)
Expand Down
11 changes: 7 additions & 4 deletions core/http/endpoints/openai/realtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,16 @@ var sessionLock sync.Mutex

func RegisterRealtime(cl *config.BackendConfigLoader, ml *model.ModelLoader, appConfig *config.ApplicationConfig) func(c *websocket.Conn) {
return func(c *websocket.Conn) {

log.Debug().Msgf("WebSocket connection established with '%s'", c.RemoteAddr().String())

// Generate a unique session ID
sessionID := generateSessionID()

modelFile, input, err := readWSRequest(c, cl, ml, appConfig, true)
if err != nil {
return fmt.Errorf("failed reading parameters from request:%w", err)
}
// modelFile, input, err := readWSRequest(c, cl, ml, appConfig, true)
// if err != nil {
// return fmt.Errorf("failed reading parameters from request:%w", err)
// }

session := &Session{
ID: sessionID,
Expand Down
23 changes: 11 additions & 12 deletions core/http/endpoints/openai/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"fmt"

"github.com/gofiber/fiber/v2"
"github.com/gofiber/websocket/v2"
"github.com/google/uuid"
"github.com/mudler/LocalAI/core/config"
fiberContext "github.com/mudler/LocalAI/core/http/ctx"
Expand Down Expand Up @@ -49,24 +48,24 @@ func readRequest(c *fiber.Ctx, cl *config.BackendConfigLoader, ml *model.ModelLo
return modelFile, input, err
}

func readWSRequest(c *websocket.Conn, cl *config.BackendConfigLoader, ml *model.ModelLoader, o *config.ApplicationConfig, firstModel bool) (string, *schema.OpenAIRequest, error) {
input := new(schema.OpenAIRequest)
// func readWSRequest(c *websocket.Conn, cl *config.BackendConfigLoader, ml *model.ModelLoader, o *config.ApplicationConfig, firstModel bool) (string, *schema.OpenAIRequest, error) {
// input := new(schema.OpenAIRequest)

input.Model = c.Query("name")
// input.Model = c.Query("name")

received, _ := json.Marshal(input)
// received, _ := json.Marshal(input)

ctx, cancel := context.WithCancel(o.Context)
// ctx, cancel := context.WithCancel(o.Context)

input.Context = ctx
input.Cancel = cancel
// input.Context = ctx
// input.Cancel = cancel

log.Debug().Msgf("Request received: %s", string(received))
// log.Debug().Msgf("Request received: %s", string(received))

modelFile, err := fiberContext.ModelFromContext(c, cl, ml, input.Model, firstModel)
// modelFile, err := fiberContext.ModelFromContext(c, cl, ml, input.Model, firstModel)

return modelFile, input, err
}
// return modelFile, input, err
// }

func updateRequestConfig(config *config.BackendConfig, input *schema.OpenAIRequest) {
if input.Echo {
Expand Down

0 comments on commit 5af330e

Please sign in to comment.