Add shortcuts for commonly used functions
This commit is contained in:
@@ -37,6 +37,10 @@ impl ContentBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn add_text_part<T: Into<String>>(self, text: T) -> Self {
|
||||
self.add_part(Part::Text(text.into()))
|
||||
}
|
||||
|
||||
pub fn add_part(mut self, part: Part) -> Self {
|
||||
match &mut self.content.parts {
|
||||
Some(parts) => parts.push(part),
|
||||
|
||||
@@ -3,7 +3,7 @@ use std::collections::HashMap;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
|
||||
use super::{Content, VertexApiError};
|
||||
use super::{Content, Role, VertexApiError};
|
||||
use crate::error::Result;
|
||||
|
||||
#[derive(Clone, Default, Serialize, Deserialize)]
|
||||
@@ -37,6 +37,11 @@ impl GenerateContentRequestBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn add_text_content<T: Into<String>>(self, role: Role, text: T) -> Self {
|
||||
let content = Content::builder().role(role).add_text_part(text).build();
|
||||
self.add_content(content)
|
||||
}
|
||||
|
||||
pub fn add_content(mut self, content: Content) -> Self {
|
||||
self.request.contents.push(content);
|
||||
self
|
||||
@@ -57,6 +62,10 @@ impl GenerateContentRequestBuilder {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn system_instruction_text<T: Into<String>>(self, text: T) -> Self {
|
||||
self.system_instruction(Content::builder().add_text_part(text).build())
|
||||
}
|
||||
|
||||
pub fn system_instruction(mut self, system_instruction: Content) -> Self {
|
||||
self.request.system_instruction = Some(system_instruction);
|
||||
self
|
||||
|
||||
Reference in New Issue
Block a user