Allow using system instructions
This commit is contained in:
@@ -127,6 +127,7 @@ impl<T: TokenProvider + Clone> GeminiClient<T> {
|
||||
.collect(),
|
||||
generation_config: None,
|
||||
tools: None,
|
||||
system_instruction: None,
|
||||
};
|
||||
|
||||
let response = self.generate_content(&request, model).await?;
|
||||
@@ -154,6 +155,7 @@ impl<T: TokenProvider + Clone> GeminiClient<T> {
|
||||
}],
|
||||
generation_config: generation_config.cloned(),
|
||||
tools: None,
|
||||
system_instruction: None,
|
||||
};
|
||||
|
||||
let response = self.generate_content(&request, "gemini-pro").await?;
|
||||
|
||||
@@ -22,10 +22,22 @@ pub enum ErrorType {
|
||||
|
||||
#[serde(rename = "type.googleapis.com/google.rpc.Help")]
|
||||
Help { links: Vec<Link> },
|
||||
|
||||
#[serde(rename = "type.googleapis.com/google.rpc.BadRequest")]
|
||||
BadRequest {
|
||||
#[serde(rename = "fieldViolations")]
|
||||
field_violations: Vec<FieldViolation>,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct ErrorInfoMetadata {
|
||||
service: String,
|
||||
consumer: String,
|
||||
pub service: String,
|
||||
pub consumer: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct FieldViolation {
|
||||
pub field: String,
|
||||
pub description: String,
|
||||
}
|
||||
|
||||
@@ -4,11 +4,12 @@ use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::{Content, Error, Part};
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
#[derive(Clone, Default, Serialize, Deserialize)]
|
||||
pub struct GenerateContentRequest {
|
||||
pub contents: Vec<Content>,
|
||||
pub generation_config: Option<GenerationConfig>,
|
||||
pub tools: Option<Vec<Tools>>,
|
||||
pub system_instruction: Option<Content>,
|
||||
}
|
||||
|
||||
impl GenerateContentRequest {
|
||||
@@ -20,6 +21,7 @@ impl GenerateContentRequest {
|
||||
}],
|
||||
generation_config,
|
||||
tools: None,
|
||||
system_instruction: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user