feat(gemini): support vision model (closes #294) (#351)

Signed-off-by: Aaron Pham <contact@aarnphm.xyz>
This commit is contained in:
Aaron Pham 2024-08-29 01:26:26 -04:00 committed by GitHub
parent 76a5ccda5f
commit 93ca541262
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 1 deletions

View File

@ -1,4 +1,3 @@
local Config = require("avante.config")
local Utils = require("avante.utils") local Utils = require("avante.utils")
local Clipboard = require("avante.clipboard") local Clipboard = require("avante.clipboard")
local P = require("avante.providers") local P = require("avante.providers")

View File

@ -1,5 +1,6 @@
local Utils = require("avante.utils") local Utils = require("avante.utils")
local P = require("avante.providers") local P = require("avante.providers")
local Clipboard = require("avante.clipboard")
---@class AvanteProviderFunctor ---@class AvanteProviderFunctor
local M = {} local M = {}
@ -28,6 +29,17 @@ M.parse_message = function(opts)
table.insert(message_content, selected_code_obj) table.insert(message_content, selected_code_obj)
end end
if Clipboard.support_paste_image() and opts.image_path then
local image_data = {
inline_data = {
mime_type = "image/png",
data = Clipboard.get_base64_content(opts.image_path),
},
}
table.insert(message_content, image_data)
end
-- insert a part into parts -- insert a part into parts
table.insert(message_content, { table.insert(message_content, {
text = string.format("<question>%s</question>", opts.question), text = string.format("<question>%s</question>", opts.question),