feat: Refactor message handling and update dependencies

- Added required packages to go.mod: `github.com/Laisky/errors/v2 v2.0.1`, `github.com/stretchr/testify v1.8.3`, `github.com/davecgh/go-spew v1.1.1`, `github.com/pmezard/go-difflib v1.0.0`
- Increased the number of returned recordings to 100 in `relay-utils.go`
- Refactored and simplified code in `relay-aiproxy.go` for improved message retrieval and error handling
- Added new test file `relay_test.go` and various test cases for different message types
- Modified functions in `group.go` and `relay.go` for improved functionality
This commit is contained in:
Laisky.Cai
2023-11-17 03:24:55 +00:00
parent 8d270c8c9a
commit 8b477d896d
8 changed files with 98 additions and 60 deletions

View File

@@ -49,23 +49,13 @@ type AIProxyLibraryStreamResponse struct {
func requestOpenAI2AIProxyLibrary(request GeneralOpenAIRequest) *AIProxyLibraryRequest {
query := ""
if request.MessagesLen() != 0 {
switch msgs := request.Messages.(type) {
case []Message:
if msgs, err := request.TextMessages(); err == nil {
query = msgs[len(msgs)-1].Content
case []VisionMessage:
} else if msgs, err := request.VisionMessages(); err == nil {
query = msgs[len(msgs)-1].Content.Text
case []any:
msg := msgs[len(msgs)-1]
switch msg := msg.(type) {
case Message:
query = msg.Content
case VisionMessage:
query = msg.Content.Text
default:
log.Panicf("unknown message type: %T", msg)
}
default:
} else {
log.Panicf("unknown message type: %T", msgs)
}
}