feat: support for the ollama vision model (#1376)
* feat: support for the ollama vision model `llava` model, pass test * Update main.go format code * chore: remove useless log --------- Co-authored-by: nongqiqin <nongqiqin@tipdm.com> Co-authored-by: JustSong <songquanpeng@foxmail.com>
This commit is contained in:
parent
04b49aa0ec
commit
6170b91d1c
@ -13,6 +13,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/songquanpeng/one-api/common"
|
"github.com/songquanpeng/one-api/common"
|
||||||
|
"github.com/songquanpeng/one-api/common/image"
|
||||||
"github.com/songquanpeng/one-api/common/logger"
|
"github.com/songquanpeng/one-api/common/logger"
|
||||||
"github.com/songquanpeng/one-api/relay/adaptor/openai"
|
"github.com/songquanpeng/one-api/relay/adaptor/openai"
|
||||||
"github.com/songquanpeng/one-api/relay/constant"
|
"github.com/songquanpeng/one-api/relay/constant"
|
||||||
@ -32,9 +33,22 @@ func ConvertRequest(request model.GeneralOpenAIRequest) *ChatRequest {
|
|||||||
Stream: request.Stream,
|
Stream: request.Stream,
|
||||||
}
|
}
|
||||||
for _, message := range request.Messages {
|
for _, message := range request.Messages {
|
||||||
|
openaiContent := message.ParseContent()
|
||||||
|
var imageUrls []string
|
||||||
|
var contentText string
|
||||||
|
for _, part := range openaiContent {
|
||||||
|
switch part.Type {
|
||||||
|
case model.ContentTypeText:
|
||||||
|
contentText = part.Text
|
||||||
|
case model.ContentTypeImageURL:
|
||||||
|
_, data, _ := image.GetImageFromUrl(part.ImageURL.Url)
|
||||||
|
imageUrls = append(imageUrls, data)
|
||||||
|
}
|
||||||
|
}
|
||||||
ollamaRequest.Messages = append(ollamaRequest.Messages, Message{
|
ollamaRequest.Messages = append(ollamaRequest.Messages, Message{
|
||||||
Role: message.Role,
|
Role: message.Role,
|
||||||
Content: message.StringContent(),
|
Content: contentText,
|
||||||
|
Images: imageUrls,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return &ollamaRequest
|
return &ollamaRequest
|
||||||
|
Loading…
Reference in New Issue
Block a user