Skip to content

Commit f366e81

Browse files
committed
fix(rig-970): youtube video ingestion doesn't work (gemini)
1 parent eb3570c commit f366e81

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

rig-core/src/providers/gemini/completion.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ pub mod gemini_api_types {
325325
use serde_json::{Value, json};
326326

327327
use crate::completion::GetTokenUsage;
328-
use crate::message::{DocumentSourceKind, ImageMediaType, MimeType};
328+
use crate::message::{DocumentSourceKind, ImageMediaType, MessageError, MimeType};
329329
use crate::{
330330
OneOrMany,
331331
completion::CompletionError,
@@ -824,18 +824,26 @@ pub mod gemini_api_types {
824824
additional_params,
825825
..
826826
}) => {
827-
let media_type = media_type.ok_or(message::MessageError::ConversionError(
828-
"Media type for video is required for Gemini".to_string(),
829-
))?;
827+
// let media_type = media_type.ok_or(message::MessageError::ConversionError(
828+
// "Media type for video is required for Gemini".to_string(),
829+
// ))?;
830+
831+
// let mime_type = media_type.to_mime_type().to_owned();
830832

831-
let mime_type = media_type.to_mime_type().to_owned();
833+
let mime_type = media_type.map(|media_ty| media_ty.to_mime_type().to_string());
832834

833835
let part = match data {
834836
DocumentSourceKind::Url(file_uri) => PartKind::FileData(FileData {
835-
mime_type: Some(mime_type),
837+
mime_type,
836838
file_uri,
837839
}),
838840
DocumentSourceKind::Base64(data) => {
841+
let Some(mime_type) = mime_type else {
842+
return Err(MessageError::ConversionError(
843+
"A media type is expected for base64 encoded strings"
844+
.to_string(),
845+
));
846+
};
839847
PartKind::InlineData(Blob { mime_type, data })
840848
}
841849
DocumentSourceKind::Raw(_) => {

0 commit comments

Comments
 (0)