#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Schema {
#[prost(enumeration = "Type", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "7")]
pub format: ::prost::alloc::string::String,
#[prost(string, tag = "24")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub description: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub nullable: bool,
#[prost(message, optional, tag = "23")]
pub default: ::core::option::Option<::prost_types::Value>,
#[prost(message, optional, boxed, tag = "2")]
pub items: ::core::option::Option<::prost::alloc::boxed::Box<Schema>>,
#[prost(int64, tag = "21")]
pub min_items: i64,
#[prost(int64, tag = "22")]
pub max_items: i64,
#[prost(string, repeated, tag = "9")]
pub r#enum: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, message", tag = "3")]
pub properties: ::std::collections::HashMap<::prost::alloc::string::String, Schema>,
#[prost(string, repeated, tag = "25")]
pub property_ordering: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub required: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(int64, tag = "14")]
pub min_properties: i64,
#[prost(int64, tag = "15")]
pub max_properties: i64,
#[prost(double, tag = "16")]
pub minimum: f64,
#[prost(double, tag = "17")]
pub maximum: f64,
#[prost(int64, tag = "18")]
pub min_length: i64,
#[prost(int64, tag = "19")]
pub max_length: i64,
#[prost(string, tag = "20")]
pub pattern: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub example: ::core::option::Option<::prost_types::Value>,
#[prost(message, repeated, tag = "11")]
pub any_of: ::prost::alloc::vec::Vec<Schema>,
#[prost(message, optional, tag = "26")]
pub additional_properties: ::core::option::Option<::prost_types::Value>,
#[prost(string, tag = "27")]
pub r#ref: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "28")]
pub defs: ::std::collections::HashMap<::prost::alloc::string::String, Schema>,
}
impl ::prost::Name for Schema {
const NAME: &'static str = "Schema";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Schema".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Schema".into()
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Type {
Unspecified = 0,
String = 1,
Number = 2,
Integer = 3,
Boolean = 4,
Array = 5,
Object = 6,
}
impl Type {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "TYPE_UNSPECIFIED",
Self::String => "STRING",
Self::Number => "NUMBER",
Self::Integer => "INTEGER",
Self::Boolean => "BOOLEAN",
Self::Array => "ARRAY",
Self::Object => "OBJECT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"STRING" => Some(Self::String),
"NUMBER" => Some(Self::Number),
"INTEGER" => Some(Self::Integer),
"BOOLEAN" => Some(Self::Boolean),
"ARRAY" => Some(Self::Array),
"OBJECT" => Some(Self::Object),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tool {
#[prost(message, repeated, tag = "1")]
pub function_declarations: ::prost::alloc::vec::Vec<FunctionDeclaration>,
#[prost(message, optional, tag = "2")]
pub retrieval: ::core::option::Option<Retrieval>,
#[prost(message, optional, tag = "7")]
pub google_search: ::core::option::Option<tool::GoogleSearch>,
#[prost(message, optional, tag = "3")]
pub google_search_retrieval: ::core::option::Option<GoogleSearchRetrieval>,
#[prost(message, optional, tag = "5")]
pub google_maps: ::core::option::Option<GoogleMaps>,
#[prost(message, optional, tag = "6")]
pub enterprise_web_search: ::core::option::Option<EnterpriseWebSearch>,
#[prost(message, optional, tag = "13")]
pub parallel_ai_search: ::core::option::Option<tool::ParallelAiSearch>,
#[prost(message, optional, tag = "15")]
pub exa_ai_search: ::core::option::Option<tool::ExaAiSearch>,
#[prost(message, optional, tag = "4")]
pub code_execution: ::core::option::Option<tool::CodeExecution>,
#[prost(message, optional, tag = "10")]
pub url_context: ::core::option::Option<UrlContext>,
#[prost(message, optional, tag = "11")]
pub computer_use: ::core::option::Option<tool::ComputerUse>,
}
pub mod tool {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GoogleSearch {
#[prost(string, repeated, tag = "3")]
pub exclude_domains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "PhishBlockThreshold", optional, tag = "4")]
pub blocking_confidence: ::core::option::Option<i32>,
}
impl ::prost::Name for GoogleSearch {
const NAME: &'static str = "GoogleSearch";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tool.GoogleSearch".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tool.GoogleSearch".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParallelAiSearch {
#[prost(string, tag = "1")]
pub api_key: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub enable_zero_data_retention: bool,
#[prost(message, optional, tag = "3")]
pub custom_configs: ::core::option::Option<::prost_types::Struct>,
}
impl ::prost::Name for ParallelAiSearch {
const NAME: &'static str = "ParallelAiSearch";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tool.ParallelAiSearch".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tool.ParallelAiSearch".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExaAiSearch {
#[prost(string, tag = "1")]
pub api_key: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub custom_configs: ::core::option::Option<::prost_types::Struct>,
}
impl ::prost::Name for ExaAiSearch {
const NAME: &'static str = "ExaAiSearch";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tool.ExaAiSearch".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tool.ExaAiSearch".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CodeExecution {}
impl ::prost::Name for CodeExecution {
const NAME: &'static str = "CodeExecution";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tool.CodeExecution".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tool.CodeExecution".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ComputerUse {
#[prost(enumeration = "computer_use::Environment", tag = "1")]
pub environment: i32,
#[prost(string, repeated, tag = "2")]
pub excluded_predefined_functions: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
}
pub mod computer_use {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Environment {
Unspecified = 0,
Browser = 1,
}
impl Environment {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ENVIRONMENT_UNSPECIFIED",
Self::Browser => "ENVIRONMENT_BROWSER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ENVIRONMENT_UNSPECIFIED" => Some(Self::Unspecified),
"ENVIRONMENT_BROWSER" => Some(Self::Browser),
_ => None,
}
}
}
}
impl ::prost::Name for ComputerUse {
const NAME: &'static str = "ComputerUse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tool.ComputerUse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tool.ComputerUse".into()
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum PhishBlockThreshold {
Unspecified = 0,
BlockLowAndAbove = 30,
BlockMediumAndAbove = 40,
BlockHighAndAbove = 50,
BlockHigherAndAbove = 55,
BlockVeryHighAndAbove = 60,
BlockOnlyExtremelyHigh = 100,
}
impl PhishBlockThreshold {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PHISH_BLOCK_THRESHOLD_UNSPECIFIED",
Self::BlockLowAndAbove => "BLOCK_LOW_AND_ABOVE",
Self::BlockMediumAndAbove => "BLOCK_MEDIUM_AND_ABOVE",
Self::BlockHighAndAbove => "BLOCK_HIGH_AND_ABOVE",
Self::BlockHigherAndAbove => "BLOCK_HIGHER_AND_ABOVE",
Self::BlockVeryHighAndAbove => "BLOCK_VERY_HIGH_AND_ABOVE",
Self::BlockOnlyExtremelyHigh => "BLOCK_ONLY_EXTREMELY_HIGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PHISH_BLOCK_THRESHOLD_UNSPECIFIED" => Some(Self::Unspecified),
"BLOCK_LOW_AND_ABOVE" => Some(Self::BlockLowAndAbove),
"BLOCK_MEDIUM_AND_ABOVE" => Some(Self::BlockMediumAndAbove),
"BLOCK_HIGH_AND_ABOVE" => Some(Self::BlockHighAndAbove),
"BLOCK_HIGHER_AND_ABOVE" => Some(Self::BlockHigherAndAbove),
"BLOCK_VERY_HIGH_AND_ABOVE" => Some(Self::BlockVeryHighAndAbove),
"BLOCK_ONLY_EXTREMELY_HIGH" => Some(Self::BlockOnlyExtremelyHigh),
_ => None,
}
}
}
}
impl ::prost::Name for Tool {
const NAME: &'static str = "Tool";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tool".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tool".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UrlContext {}
impl ::prost::Name for UrlContext {
const NAME: &'static str = "UrlContext";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.UrlContext".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.UrlContext".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionDeclaration {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub parameters: ::core::option::Option<Schema>,
#[prost(message, optional, tag = "5")]
pub parameters_json_schema: ::core::option::Option<::prost_types::Value>,
#[prost(message, optional, tag = "4")]
pub response: ::core::option::Option<Schema>,
#[prost(message, optional, tag = "6")]
pub response_json_schema: ::core::option::Option<::prost_types::Value>,
}
impl ::prost::Name for FunctionDeclaration {
const NAME: &'static str = "FunctionDeclaration";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionDeclaration".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionDeclaration".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionCall {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub args: ::core::option::Option<::prost_types::Struct>,
#[prost(message, repeated, tag = "4")]
pub partial_args: ::prost::alloc::vec::Vec<PartialArg>,
#[prost(bool, tag = "5")]
pub will_continue: bool,
}
impl ::prost::Name for FunctionCall {
const NAME: &'static str = "FunctionCall";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionCall".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionCall".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PartialArg {
#[prost(string, tag = "1")]
pub json_path: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub will_continue: bool,
#[prost(oneof = "partial_arg::Delta", tags = "2, 3, 4, 5")]
pub delta: ::core::option::Option<partial_arg::Delta>,
}
pub mod partial_arg {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Delta {
#[prost(enumeration = "::prost_types::NullValue", tag = "2")]
NullValue(i32),
#[prost(double, tag = "3")]
NumberValue(f64),
#[prost(string, tag = "4")]
StringValue(::prost::alloc::string::String),
#[prost(bool, tag = "5")]
BoolValue(bool),
}
}
impl ::prost::Name for PartialArg {
const NAME: &'static str = "PartialArg";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.PartialArg".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.PartialArg".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FunctionResponsePart {
#[prost(oneof = "function_response_part::Data", tags = "1, 2")]
pub data: ::core::option::Option<function_response_part::Data>,
}
pub mod function_response_part {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Data {
#[prost(message, tag = "1")]
InlineData(super::FunctionResponseBlob),
#[prost(message, tag = "2")]
FileData(super::FunctionResponseFileData),
}
}
impl ::prost::Name for FunctionResponsePart {
const NAME: &'static str = "FunctionResponsePart";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionResponsePart".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionResponsePart".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FunctionResponseBlob {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "2")]
pub data: ::prost::bytes::Bytes,
#[prost(string, tag = "4")]
pub display_name: ::prost::alloc::string::String,
}
impl ::prost::Name for FunctionResponseBlob {
const NAME: &'static str = "FunctionResponseBlob";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionResponseBlob".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionResponseBlob".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FunctionResponseFileData {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub file_uri: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
}
impl ::prost::Name for FunctionResponseFileData {
const NAME: &'static str = "FunctionResponseFileData";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionResponseFileData".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionResponseFileData".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionResponse {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub response: ::core::option::Option<::prost_types::Struct>,
#[prost(message, repeated, tag = "4")]
pub parts: ::prost::alloc::vec::Vec<FunctionResponsePart>,
}
impl ::prost::Name for FunctionResponse {
const NAME: &'static str = "FunctionResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionResponse".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecutableCode {
#[prost(enumeration = "executable_code::Language", tag = "1")]
pub language: i32,
#[prost(string, tag = "2")]
pub code: ::prost::alloc::string::String,
}
pub mod executable_code {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Language {
Unspecified = 0,
Python = 1,
}
impl Language {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "LANGUAGE_UNSPECIFIED",
Self::Python => "PYTHON",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LANGUAGE_UNSPECIFIED" => Some(Self::Unspecified),
"PYTHON" => Some(Self::Python),
_ => None,
}
}
}
}
impl ::prost::Name for ExecutableCode {
const NAME: &'static str = "ExecutableCode";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ExecutableCode".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ExecutableCode".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CodeExecutionResult {
#[prost(enumeration = "code_execution_result::Outcome", tag = "1")]
pub outcome: i32,
#[prost(string, tag = "2")]
pub output: ::prost::alloc::string::String,
}
pub mod code_execution_result {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Outcome {
Unspecified = 0,
Ok = 1,
Failed = 2,
DeadlineExceeded = 3,
}
impl Outcome {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OUTCOME_UNSPECIFIED",
Self::Ok => "OUTCOME_OK",
Self::Failed => "OUTCOME_FAILED",
Self::DeadlineExceeded => "OUTCOME_DEADLINE_EXCEEDED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OUTCOME_UNSPECIFIED" => Some(Self::Unspecified),
"OUTCOME_OK" => Some(Self::Ok),
"OUTCOME_FAILED" => Some(Self::Failed),
"OUTCOME_DEADLINE_EXCEEDED" => Some(Self::DeadlineExceeded),
_ => None,
}
}
}
}
impl ::prost::Name for CodeExecutionResult {
const NAME: &'static str = "CodeExecutionResult";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.CodeExecutionResult".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.CodeExecutionResult".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Retrieval {
#[deprecated]
#[prost(bool, tag = "3")]
pub disable_attribution: bool,
#[prost(oneof = "retrieval::Source", tags = "2, 4")]
pub source: ::core::option::Option<retrieval::Source>,
}
pub mod retrieval {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "2")]
VertexAiSearch(super::VertexAiSearch),
#[prost(message, tag = "4")]
VertexRagStore(super::VertexRagStore),
}
}
impl ::prost::Name for Retrieval {
const NAME: &'static str = "Retrieval";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Retrieval".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Retrieval".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VertexRagStore {
#[prost(message, repeated, tag = "4")]
pub rag_resources: ::prost::alloc::vec::Vec<vertex_rag_store::RagResource>,
#[deprecated]
#[prost(int32, optional, tag = "2")]
pub similarity_top_k: ::core::option::Option<i32>,
#[deprecated]
#[prost(double, optional, tag = "3")]
pub vector_distance_threshold: ::core::option::Option<f64>,
#[prost(message, optional, tag = "6")]
pub rag_retrieval_config: ::core::option::Option<RagRetrievalConfig>,
}
pub mod vertex_rag_store {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RagResource {
#[prost(string, tag = "1")]
pub rag_corpus: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub rag_file_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for RagResource {
const NAME: &'static str = "RagResource";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.VertexRagStore.RagResource".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.VertexRagStore.RagResource"
.into()
}
}
}
impl ::prost::Name for VertexRagStore {
const NAME: &'static str = "VertexRagStore";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.VertexRagStore".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.VertexRagStore".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VertexAiSearch {
#[prost(string, tag = "1")]
pub datastore: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub engine: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub max_results: i32,
#[prost(string, tag = "4")]
pub filter: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "5")]
pub data_store_specs: ::prost::alloc::vec::Vec<vertex_ai_search::DataStoreSpec>,
}
pub mod vertex_ai_search {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataStoreSpec {
#[prost(string, tag = "1")]
pub data_store: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub filter: ::prost::alloc::string::String,
}
impl ::prost::Name for DataStoreSpec {
const NAME: &'static str = "DataStoreSpec";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.VertexAISearch.DataStoreSpec".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.VertexAISearch.DataStoreSpec"
.into()
}
}
}
impl ::prost::Name for VertexAiSearch {
const NAME: &'static str = "VertexAISearch";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.VertexAISearch".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.VertexAISearch".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GoogleSearchRetrieval {
#[prost(message, optional, tag = "2")]
pub dynamic_retrieval_config: ::core::option::Option<DynamicRetrievalConfig>,
}
impl ::prost::Name for GoogleSearchRetrieval {
const NAME: &'static str = "GoogleSearchRetrieval";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GoogleSearchRetrieval".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GoogleSearchRetrieval".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GoogleMaps {
#[prost(bool, tag = "1")]
pub enable_widget: bool,
}
impl ::prost::Name for GoogleMaps {
const NAME: &'static str = "GoogleMaps";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GoogleMaps".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GoogleMaps".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterpriseWebSearch {
#[prost(string, repeated, tag = "1")]
pub exclude_domains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "tool::PhishBlockThreshold", optional, tag = "2")]
pub blocking_confidence: ::core::option::Option<i32>,
}
impl ::prost::Name for EnterpriseWebSearch {
const NAME: &'static str = "EnterpriseWebSearch";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.EnterpriseWebSearch".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.EnterpriseWebSearch".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DynamicRetrievalConfig {
#[prost(enumeration = "dynamic_retrieval_config::Mode", tag = "1")]
pub mode: i32,
#[prost(float, optional, tag = "2")]
pub dynamic_threshold: ::core::option::Option<f32>,
}
pub mod dynamic_retrieval_config {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Mode {
Unspecified = 0,
Dynamic = 1,
}
impl Mode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MODE_UNSPECIFIED",
Self::Dynamic => "MODE_DYNAMIC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MODE_UNSPECIFIED" => Some(Self::Unspecified),
"MODE_DYNAMIC" => Some(Self::Dynamic),
_ => None,
}
}
}
}
impl ::prost::Name for DynamicRetrievalConfig {
const NAME: &'static str = "DynamicRetrievalConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.DynamicRetrievalConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.DynamicRetrievalConfig".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ToolConfig {
#[prost(message, optional, tag = "1")]
pub function_calling_config: ::core::option::Option<FunctionCallingConfig>,
#[prost(message, optional, tag = "2")]
pub retrieval_config: ::core::option::Option<RetrievalConfig>,
}
impl ::prost::Name for ToolConfig {
const NAME: &'static str = "ToolConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ToolConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ToolConfig".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FunctionCallingConfig {
#[prost(enumeration = "function_calling_config::Mode", tag = "1")]
pub mode: i32,
#[prost(string, repeated, tag = "2")]
pub allowed_function_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub stream_function_call_arguments: bool,
}
pub mod function_calling_config {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Mode {
Unspecified = 0,
Auto = 1,
Any = 2,
None = 3,
Validated = 5,
}
impl Mode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MODE_UNSPECIFIED",
Self::Auto => "AUTO",
Self::Any => "ANY",
Self::None => "NONE",
Self::Validated => "VALIDATED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MODE_UNSPECIFIED" => Some(Self::Unspecified),
"AUTO" => Some(Self::Auto),
"ANY" => Some(Self::Any),
"NONE" => Some(Self::None),
"VALIDATED" => Some(Self::Validated),
_ => None,
}
}
}
}
impl ::prost::Name for FunctionCallingConfig {
const NAME: &'static str = "FunctionCallingConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FunctionCallingConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FunctionCallingConfig".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RetrievalConfig {
#[prost(message, optional, tag = "1")]
pub lat_lng: ::core::option::Option<super::super::super::r#type::LatLng>,
#[prost(string, optional, tag = "2")]
pub language_code: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for RetrievalConfig {
const NAME: &'static str = "RetrievalConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RetrievalConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RetrievalConfig".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RagRetrievalConfig {
#[prost(int32, tag = "1")]
pub top_k: i32,
#[prost(message, optional, tag = "3")]
pub filter: ::core::option::Option<rag_retrieval_config::Filter>,
#[prost(message, optional, tag = "4")]
pub ranking: ::core::option::Option<rag_retrieval_config::Ranking>,
}
pub mod rag_retrieval_config {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Filter {
#[prost(string, tag = "2")]
pub metadata_filter: ::prost::alloc::string::String,
#[prost(oneof = "filter::VectorDbThreshold", tags = "3, 4")]
pub vector_db_threshold: ::core::option::Option<filter::VectorDbThreshold>,
}
pub mod filter {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum VectorDbThreshold {
#[prost(double, tag = "3")]
VectorDistanceThreshold(f64),
#[prost(double, tag = "4")]
VectorSimilarityThreshold(f64),
}
}
impl ::prost::Name for Filter {
const NAME: &'static str = "Filter";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagRetrievalConfig.Filter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagRetrievalConfig.Filter"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ranking {
#[prost(oneof = "ranking::RankingConfig", tags = "1, 3")]
pub ranking_config: ::core::option::Option<ranking::RankingConfig>,
}
pub mod ranking {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RankService {
#[prost(string, optional, tag = "1")]
pub model_name: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for RankService {
const NAME: &'static str = "RankService";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.RankService"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.RankService"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LlmRanker {
#[prost(string, optional, tag = "1")]
pub model_name: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for LlmRanker {
const NAME: &'static str = "LlmRanker";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.LlmRanker".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.LlmRanker"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum RankingConfig {
#[prost(message, tag = "1")]
RankService(RankService),
#[prost(message, tag = "3")]
LlmRanker(LlmRanker),
}
}
impl ::prost::Name for Ranking {
const NAME: &'static str = "Ranking";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking"
.into()
}
}
}
impl ::prost::Name for RagRetrievalConfig {
const NAME: &'static str = "RagRetrievalConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagRetrievalConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagRetrievalConfig".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RagChunk {
#[prost(string, tag = "1")]
pub text: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub page_span: ::core::option::Option<rag_chunk::PageSpan>,
}
pub mod rag_chunk {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PageSpan {
#[prost(int32, tag = "1")]
pub first_page: i32,
#[prost(int32, tag = "2")]
pub last_page: i32,
}
impl ::prost::Name for PageSpan {
const NAME: &'static str = "PageSpan";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagChunk.PageSpan".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagChunk.PageSpan".into()
}
}
}
impl ::prost::Name for RagChunk {
const NAME: &'static str = "RagChunk";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RagChunk".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RagChunk".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Content {
#[prost(string, tag = "1")]
pub role: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub parts: ::prost::alloc::vec::Vec<Part>,
}
impl ::prost::Name for Content {
const NAME: &'static str = "Content";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Content".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Content".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Part {
#[prost(bool, tag = "10")]
pub thought: bool,
#[prost(bytes = "bytes", tag = "11")]
pub thought_signature: ::prost::bytes::Bytes,
#[prost(message, optional, tag = "12")]
pub media_resolution: ::core::option::Option<part::MediaResolution>,
#[prost(oneof = "part::Data", tags = "1, 2, 3, 5, 6, 8, 9")]
pub data: ::core::option::Option<part::Data>,
#[prost(oneof = "part::Metadata", tags = "4")]
pub metadata: ::core::option::Option<part::Metadata>,
}
pub mod part {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MediaResolution {
#[prost(oneof = "media_resolution::Value", tags = "1")]
pub value: ::core::option::Option<media_resolution::Value>,
}
pub mod media_resolution {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Level {
MediaResolutionUnspecified = 0,
MediaResolutionLow = 1,
MediaResolutionMedium = 2,
MediaResolutionHigh = 3,
MediaResolutionUltraHigh = 4,
}
impl Level {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::MediaResolutionUnspecified => "MEDIA_RESOLUTION_UNSPECIFIED",
Self::MediaResolutionLow => "MEDIA_RESOLUTION_LOW",
Self::MediaResolutionMedium => "MEDIA_RESOLUTION_MEDIUM",
Self::MediaResolutionHigh => "MEDIA_RESOLUTION_HIGH",
Self::MediaResolutionUltraHigh => "MEDIA_RESOLUTION_ULTRA_HIGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEDIA_RESOLUTION_UNSPECIFIED" => {
Some(Self::MediaResolutionUnspecified)
}
"MEDIA_RESOLUTION_LOW" => Some(Self::MediaResolutionLow),
"MEDIA_RESOLUTION_MEDIUM" => Some(Self::MediaResolutionMedium),
"MEDIA_RESOLUTION_HIGH" => Some(Self::MediaResolutionHigh),
"MEDIA_RESOLUTION_ULTRA_HIGH" => Some(Self::MediaResolutionUltraHigh),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Value {
#[prost(enumeration = "Level", tag = "1")]
Level(i32),
}
}
impl ::prost::Name for MediaResolution {
const NAME: &'static str = "MediaResolution";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Part.MediaResolution".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Part.MediaResolution".into()
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
#[prost(string, tag = "1")]
Text(::prost::alloc::string::String),
#[prost(message, tag = "2")]
InlineData(super::Blob),
#[prost(message, tag = "3")]
FileData(super::FileData),
#[prost(message, tag = "5")]
FunctionCall(super::FunctionCall),
#[prost(message, tag = "6")]
FunctionResponse(super::FunctionResponse),
#[prost(message, tag = "8")]
ExecutableCode(super::ExecutableCode),
#[prost(message, tag = "9")]
CodeExecutionResult(super::CodeExecutionResult),
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Metadata {
#[prost(message, tag = "4")]
VideoMetadata(super::VideoMetadata),
}
}
impl ::prost::Name for Part {
const NAME: &'static str = "Part";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Part".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Part".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Blob {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "2")]
pub data: ::prost::bytes::Bytes,
}
impl ::prost::Name for Blob {
const NAME: &'static str = "Blob";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Blob".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Blob".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FileData {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub file_uri: ::prost::alloc::string::String,
}
impl ::prost::Name for FileData {
const NAME: &'static str = "FileData";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FileData".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FileData".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VideoMetadata {
#[prost(message, optional, tag = "1")]
pub start_offset: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "2")]
pub end_offset: ::core::option::Option<::prost_types::Duration>,
#[prost(double, tag = "3")]
pub fps: f64,
}
impl ::prost::Name for VideoMetadata {
const NAME: &'static str = "VideoMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.VideoMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.VideoMetadata".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PrebuiltVoiceConfig {
#[prost(string, optional, tag = "1")]
pub voice_name: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for PrebuiltVoiceConfig {
const NAME: &'static str = "PrebuiltVoiceConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.PrebuiltVoiceConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.PrebuiltVoiceConfig".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReplicatedVoiceConfig {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "2")]
pub voice_sample_audio: ::prost::bytes::Bytes,
}
impl ::prost::Name for ReplicatedVoiceConfig {
const NAME: &'static str = "ReplicatedVoiceConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReplicatedVoiceConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReplicatedVoiceConfig".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VoiceConfig {
#[prost(oneof = "voice_config::VoiceConfig", tags = "1, 3")]
pub voice_config: ::core::option::Option<voice_config::VoiceConfig>,
}
pub mod voice_config {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum VoiceConfig {
#[prost(message, tag = "1")]
PrebuiltVoiceConfig(super::PrebuiltVoiceConfig),
#[prost(message, tag = "3")]
ReplicatedVoiceConfig(super::ReplicatedVoiceConfig),
}
}
impl ::prost::Name for VoiceConfig {
const NAME: &'static str = "VoiceConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.VoiceConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.VoiceConfig".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpeakerVoiceConfig {
#[prost(string, tag = "1")]
pub speaker: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub voice_config: ::core::option::Option<VoiceConfig>,
}
impl ::prost::Name for SpeakerVoiceConfig {
const NAME: &'static str = "SpeakerVoiceConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.SpeakerVoiceConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.SpeakerVoiceConfig".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiSpeakerVoiceConfig {
#[prost(message, repeated, tag = "2")]
pub speaker_voice_configs: ::prost::alloc::vec::Vec<SpeakerVoiceConfig>,
}
impl ::prost::Name for MultiSpeakerVoiceConfig {
const NAME: &'static str = "MultiSpeakerVoiceConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.MultiSpeakerVoiceConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.MultiSpeakerVoiceConfig".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpeechConfig {
#[prost(message, optional, tag = "1")]
pub voice_config: ::core::option::Option<VoiceConfig>,
#[prost(string, tag = "2")]
pub language_code: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub multi_speaker_voice_config: ::core::option::Option<MultiSpeakerVoiceConfig>,
}
impl ::prost::Name for SpeechConfig {
const NAME: &'static str = "SpeechConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.SpeechConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.SpeechConfig".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ImageConfig {
#[prost(message, optional, tag = "1")]
pub image_output_options: ::core::option::Option<image_config::ImageOutputOptions>,
#[prost(string, optional, tag = "2")]
pub aspect_ratio: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "image_config::PersonGeneration", optional, tag = "3")]
pub person_generation: ::core::option::Option<i32>,
#[prost(string, optional, tag = "4")]
pub image_size: ::core::option::Option<::prost::alloc::string::String>,
}
pub mod image_config {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ImageOutputOptions {
#[prost(string, optional, tag = "1")]
pub mime_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "2")]
pub compression_quality: ::core::option::Option<i32>,
}
impl ::prost::Name for ImageOutputOptions {
const NAME: &'static str = "ImageOutputOptions";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ImageConfig.ImageOutputOptions".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ImageConfig.ImageOutputOptions"
.into()
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum PersonGeneration {
Unspecified = 0,
AllowAll = 1,
AllowAdult = 2,
AllowNone = 3,
}
impl PersonGeneration {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PERSON_GENERATION_UNSPECIFIED",
Self::AllowAll => "ALLOW_ALL",
Self::AllowAdult => "ALLOW_ADULT",
Self::AllowNone => "ALLOW_NONE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PERSON_GENERATION_UNSPECIFIED" => Some(Self::Unspecified),
"ALLOW_ALL" => Some(Self::AllowAll),
"ALLOW_ADULT" => Some(Self::AllowAdult),
"ALLOW_NONE" => Some(Self::AllowNone),
_ => None,
}
}
}
}
impl ::prost::Name for ImageConfig {
const NAME: &'static str = "ImageConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ImageConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ImageConfig".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerationConfig {
#[prost(float, optional, tag = "1")]
pub temperature: ::core::option::Option<f32>,
#[prost(float, optional, tag = "2")]
pub top_p: ::core::option::Option<f32>,
#[prost(float, optional, tag = "3")]
pub top_k: ::core::option::Option<f32>,
#[prost(int32, optional, tag = "4")]
pub candidate_count: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "5")]
pub max_output_tokens: ::core::option::Option<i32>,
#[prost(string, repeated, tag = "6")]
pub stop_sequences: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "18")]
pub response_logprobs: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "7")]
pub logprobs: ::core::option::Option<i32>,
#[prost(float, optional, tag = "8")]
pub presence_penalty: ::core::option::Option<f32>,
#[prost(float, optional, tag = "9")]
pub frequency_penalty: ::core::option::Option<f32>,
#[prost(int32, optional, tag = "12")]
pub seed: ::core::option::Option<i32>,
#[prost(string, tag = "13")]
pub response_mime_type: ::prost::alloc::string::String,
#[prost(message, optional, tag = "16")]
pub response_schema: ::core::option::Option<Schema>,
#[prost(message, optional, tag = "28")]
pub response_json_schema: ::core::option::Option<::prost_types::Value>,
#[prost(message, optional, tag = "17")]
pub routing_config: ::core::option::Option<generation_config::RoutingConfig>,
#[prost(bool, optional, tag = "20")]
pub audio_timestamp: ::core::option::Option<bool>,
#[prost(
enumeration = "generation_config::Modality",
repeated,
packed = "false",
tag = "21"
)]
pub response_modalities: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "generation_config::MediaResolution", optional, tag = "22")]
pub media_resolution: ::core::option::Option<i32>,
#[prost(message, optional, tag = "23")]
pub speech_config: ::core::option::Option<SpeechConfig>,
#[prost(message, optional, tag = "25")]
pub thinking_config: ::core::option::Option<generation_config::ThinkingConfig>,
#[prost(message, optional, tag = "30")]
pub image_config: ::core::option::Option<ImageConfig>,
}
pub mod generation_config {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RoutingConfig {
#[prost(oneof = "routing_config::RoutingConfig", tags = "1, 2")]
pub routing_config: ::core::option::Option<routing_config::RoutingConfig>,
}
pub mod routing_config {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AutoRoutingMode {
#[prost(
enumeration = "auto_routing_mode::ModelRoutingPreference",
optional,
tag = "1"
)]
pub model_routing_preference: ::core::option::Option<i32>,
}
pub mod auto_routing_mode {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ModelRoutingPreference {
Unknown = 0,
PrioritizeQuality = 1,
Balanced = 2,
PrioritizeCost = 3,
}
impl ModelRoutingPreference {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::PrioritizeQuality => "PRIORITIZE_QUALITY",
Self::Balanced => "BALANCED",
Self::PrioritizeCost => "PRIORITIZE_COST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"PRIORITIZE_QUALITY" => Some(Self::PrioritizeQuality),
"BALANCED" => Some(Self::Balanced),
"PRIORITIZE_COST" => Some(Self::PrioritizeCost),
_ => None,
}
}
}
}
impl ::prost::Name for AutoRoutingMode {
const NAME: &'static str = "AutoRoutingMode";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerationConfig.RoutingConfig.AutoRoutingMode"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerationConfig.RoutingConfig.AutoRoutingMode"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ManualRoutingMode {
#[prost(string, optional, tag = "1")]
pub model_name: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for ManualRoutingMode {
const NAME: &'static str = "ManualRoutingMode";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerationConfig.RoutingConfig.ManualRoutingMode"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerationConfig.RoutingConfig.ManualRoutingMode"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum RoutingConfig {
#[prost(message, tag = "1")]
AutoMode(AutoRoutingMode),
#[prost(message, tag = "2")]
ManualMode(ManualRoutingMode),
}
}
impl ::prost::Name for RoutingConfig {
const NAME: &'static str = "RoutingConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerationConfig.RoutingConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerationConfig.RoutingConfig"
.into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ThinkingConfig {
#[prost(bool, optional, tag = "1")]
pub include_thoughts: ::core::option::Option<bool>,
#[prost(int32, optional, tag = "3")]
pub thinking_budget: ::core::option::Option<i32>,
#[prost(enumeration = "thinking_config::ThinkingLevel", optional, tag = "4")]
pub thinking_level: ::core::option::Option<i32>,
}
pub mod thinking_config {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ThinkingLevel {
Unspecified = 0,
Low = 1,
Medium = 2,
High = 3,
Minimal = 4,
}
impl ThinkingLevel {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "THINKING_LEVEL_UNSPECIFIED",
Self::Low => "LOW",
Self::Medium => "MEDIUM",
Self::High => "HIGH",
Self::Minimal => "MINIMAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"THINKING_LEVEL_UNSPECIFIED" => Some(Self::Unspecified),
"LOW" => Some(Self::Low),
"MEDIUM" => Some(Self::Medium),
"HIGH" => Some(Self::High),
"MINIMAL" => Some(Self::Minimal),
_ => None,
}
}
}
}
impl ::prost::Name for ThinkingConfig {
const NAME: &'static str = "ThinkingConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerationConfig.ThinkingConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerationConfig.ThinkingConfig"
.into()
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Modality {
Unspecified = 0,
Text = 1,
Image = 2,
Audio = 3,
}
impl Modality {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MODALITY_UNSPECIFIED",
Self::Text => "TEXT",
Self::Image => "IMAGE",
Self::Audio => "AUDIO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MODALITY_UNSPECIFIED" => Some(Self::Unspecified),
"TEXT" => Some(Self::Text),
"IMAGE" => Some(Self::Image),
"AUDIO" => Some(Self::Audio),
_ => None,
}
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum MediaResolution {
Unspecified = 0,
Low = 1,
Medium = 2,
High = 3,
}
impl MediaResolution {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MEDIA_RESOLUTION_UNSPECIFIED",
Self::Low => "MEDIA_RESOLUTION_LOW",
Self::Medium => "MEDIA_RESOLUTION_MEDIUM",
Self::High => "MEDIA_RESOLUTION_HIGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEDIA_RESOLUTION_UNSPECIFIED" => Some(Self::Unspecified),
"MEDIA_RESOLUTION_LOW" => Some(Self::Low),
"MEDIA_RESOLUTION_MEDIUM" => Some(Self::Medium),
"MEDIA_RESOLUTION_HIGH" => Some(Self::High),
_ => None,
}
}
}
}
impl ::prost::Name for GenerationConfig {
const NAME: &'static str = "GenerationConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerationConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerationConfig".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SafetySetting {
#[prost(enumeration = "HarmCategory", tag = "1")]
pub category: i32,
#[prost(enumeration = "safety_setting::HarmBlockThreshold", tag = "2")]
pub threshold: i32,
#[prost(enumeration = "safety_setting::HarmBlockMethod", tag = "4")]
pub method: i32,
}
pub mod safety_setting {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum HarmBlockThreshold {
Unspecified = 0,
BlockLowAndAbove = 1,
BlockMediumAndAbove = 2,
BlockOnlyHigh = 3,
BlockNone = 4,
Off = 5,
}
impl HarmBlockThreshold {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "HARM_BLOCK_THRESHOLD_UNSPECIFIED",
Self::BlockLowAndAbove => "BLOCK_LOW_AND_ABOVE",
Self::BlockMediumAndAbove => "BLOCK_MEDIUM_AND_ABOVE",
Self::BlockOnlyHigh => "BLOCK_ONLY_HIGH",
Self::BlockNone => "BLOCK_NONE",
Self::Off => "OFF",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"HARM_BLOCK_THRESHOLD_UNSPECIFIED" => Some(Self::Unspecified),
"BLOCK_LOW_AND_ABOVE" => Some(Self::BlockLowAndAbove),
"BLOCK_MEDIUM_AND_ABOVE" => Some(Self::BlockMediumAndAbove),
"BLOCK_ONLY_HIGH" => Some(Self::BlockOnlyHigh),
"BLOCK_NONE" => Some(Self::BlockNone),
"OFF" => Some(Self::Off),
_ => None,
}
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum HarmBlockMethod {
Unspecified = 0,
Severity = 1,
Probability = 2,
}
impl HarmBlockMethod {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "HARM_BLOCK_METHOD_UNSPECIFIED",
Self::Severity => "SEVERITY",
Self::Probability => "PROBABILITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"HARM_BLOCK_METHOD_UNSPECIFIED" => Some(Self::Unspecified),
"SEVERITY" => Some(Self::Severity),
"PROBABILITY" => Some(Self::Probability),
_ => None,
}
}
}
}
impl ::prost::Name for SafetySetting {
const NAME: &'static str = "SafetySetting";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.SafetySetting".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.SafetySetting".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SafetyRating {
#[prost(enumeration = "HarmCategory", tag = "1")]
pub category: i32,
#[prost(enumeration = "safety_rating::HarmProbability", tag = "2")]
pub probability: i32,
#[prost(float, tag = "5")]
pub probability_score: f32,
#[prost(enumeration = "safety_rating::HarmSeverity", tag = "6")]
pub severity: i32,
#[prost(float, tag = "7")]
pub severity_score: f32,
#[prost(bool, tag = "3")]
pub blocked: bool,
}
pub mod safety_rating {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum HarmProbability {
Unspecified = 0,
Negligible = 1,
Low = 2,
Medium = 3,
High = 4,
}
impl HarmProbability {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "HARM_PROBABILITY_UNSPECIFIED",
Self::Negligible => "NEGLIGIBLE",
Self::Low => "LOW",
Self::Medium => "MEDIUM",
Self::High => "HIGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"HARM_PROBABILITY_UNSPECIFIED" => Some(Self::Unspecified),
"NEGLIGIBLE" => Some(Self::Negligible),
"LOW" => Some(Self::Low),
"MEDIUM" => Some(Self::Medium),
"HIGH" => Some(Self::High),
_ => None,
}
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum HarmSeverity {
Unspecified = 0,
Negligible = 1,
Low = 2,
Medium = 3,
High = 4,
}
impl HarmSeverity {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "HARM_SEVERITY_UNSPECIFIED",
Self::Negligible => "HARM_SEVERITY_NEGLIGIBLE",
Self::Low => "HARM_SEVERITY_LOW",
Self::Medium => "HARM_SEVERITY_MEDIUM",
Self::High => "HARM_SEVERITY_HIGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"HARM_SEVERITY_UNSPECIFIED" => Some(Self::Unspecified),
"HARM_SEVERITY_NEGLIGIBLE" => Some(Self::Negligible),
"HARM_SEVERITY_LOW" => Some(Self::Low),
"HARM_SEVERITY_MEDIUM" => Some(Self::Medium),
"HARM_SEVERITY_HIGH" => Some(Self::High),
_ => None,
}
}
}
}
impl ::prost::Name for SafetyRating {
const NAME: &'static str = "SafetyRating";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.SafetyRating".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.SafetyRating".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CitationMetadata {
#[prost(message, repeated, tag = "1")]
pub citations: ::prost::alloc::vec::Vec<Citation>,
}
impl ::prost::Name for CitationMetadata {
const NAME: &'static str = "CitationMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.CitationMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.CitationMetadata".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Citation {
#[prost(int32, tag = "1")]
pub start_index: i32,
#[prost(int32, tag = "2")]
pub end_index: i32,
#[prost(string, tag = "3")]
pub uri: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub license: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub publication_date: ::core::option::Option<super::super::super::r#type::Date>,
}
impl ::prost::Name for Citation {
const NAME: &'static str = "Citation";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Citation".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Citation".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Candidate {
#[prost(int32, tag = "1")]
pub index: i32,
#[prost(message, optional, tag = "2")]
pub content: ::core::option::Option<Content>,
#[prost(double, tag = "8")]
pub score: f64,
#[prost(double, tag = "9")]
pub avg_logprobs: f64,
#[prost(message, optional, tag = "10")]
pub logprobs_result: ::core::option::Option<LogprobsResult>,
#[prost(enumeration = "candidate::FinishReason", tag = "3")]
pub finish_reason: i32,
#[prost(message, repeated, tag = "4")]
pub safety_ratings: ::prost::alloc::vec::Vec<SafetyRating>,
#[prost(string, optional, tag = "5")]
pub finish_message: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub citation_metadata: ::core::option::Option<CitationMetadata>,
#[prost(message, optional, tag = "7")]
pub grounding_metadata: ::core::option::Option<GroundingMetadata>,
#[prost(message, optional, tag = "11")]
pub url_context_metadata: ::core::option::Option<UrlContextMetadata>,
}
pub mod candidate {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum FinishReason {
Unspecified = 0,
Stop = 1,
MaxTokens = 2,
Safety = 3,
Recitation = 4,
Other = 5,
Blocklist = 6,
ProhibitedContent = 7,
Spii = 8,
MalformedFunctionCall = 9,
ModelArmor = 10,
}
impl FinishReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FINISH_REASON_UNSPECIFIED",
Self::Stop => "STOP",
Self::MaxTokens => "MAX_TOKENS",
Self::Safety => "SAFETY",
Self::Recitation => "RECITATION",
Self::Other => "OTHER",
Self::Blocklist => "BLOCKLIST",
Self::ProhibitedContent => "PROHIBITED_CONTENT",
Self::Spii => "SPII",
Self::MalformedFunctionCall => "MALFORMED_FUNCTION_CALL",
Self::ModelArmor => "MODEL_ARMOR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FINISH_REASON_UNSPECIFIED" => Some(Self::Unspecified),
"STOP" => Some(Self::Stop),
"MAX_TOKENS" => Some(Self::MaxTokens),
"SAFETY" => Some(Self::Safety),
"RECITATION" => Some(Self::Recitation),
"OTHER" => Some(Self::Other),
"BLOCKLIST" => Some(Self::Blocklist),
"PROHIBITED_CONTENT" => Some(Self::ProhibitedContent),
"SPII" => Some(Self::Spii),
"MALFORMED_FUNCTION_CALL" => Some(Self::MalformedFunctionCall),
"MODEL_ARMOR" => Some(Self::ModelArmor),
_ => None,
}
}
}
}
impl ::prost::Name for Candidate {
const NAME: &'static str = "Candidate";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Candidate".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Candidate".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UrlContextMetadata {
#[prost(message, repeated, tag = "1")]
pub url_metadata: ::prost::alloc::vec::Vec<UrlMetadata>,
}
impl ::prost::Name for UrlContextMetadata {
const NAME: &'static str = "UrlContextMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.UrlContextMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.UrlContextMetadata".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UrlMetadata {
#[prost(string, tag = "1")]
pub retrieved_url: ::prost::alloc::string::String,
#[prost(enumeration = "url_metadata::UrlRetrievalStatus", tag = "2")]
pub url_retrieval_status: i32,
}
pub mod url_metadata {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum UrlRetrievalStatus {
Unspecified = 0,
Success = 1,
Error = 2,
}
impl UrlRetrievalStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "URL_RETRIEVAL_STATUS_UNSPECIFIED",
Self::Success => "URL_RETRIEVAL_STATUS_SUCCESS",
Self::Error => "URL_RETRIEVAL_STATUS_ERROR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"URL_RETRIEVAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
"URL_RETRIEVAL_STATUS_SUCCESS" => Some(Self::Success),
"URL_RETRIEVAL_STATUS_ERROR" => Some(Self::Error),
_ => None,
}
}
}
}
impl ::prost::Name for UrlMetadata {
const NAME: &'static str = "UrlMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.UrlMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.UrlMetadata".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogprobsResult {
#[prost(message, repeated, tag = "1")]
pub top_candidates: ::prost::alloc::vec::Vec<logprobs_result::TopCandidates>,
#[prost(message, repeated, tag = "2")]
pub chosen_candidates: ::prost::alloc::vec::Vec<logprobs_result::Candidate>,
}
pub mod logprobs_result {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Candidate {
#[prost(string, optional, tag = "1")]
pub token: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "3")]
pub token_id: ::core::option::Option<i32>,
#[prost(float, optional, tag = "2")]
pub log_probability: ::core::option::Option<f32>,
}
impl ::prost::Name for Candidate {
const NAME: &'static str = "Candidate";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.LogprobsResult.Candidate".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.LogprobsResult.Candidate"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TopCandidates {
#[prost(message, repeated, tag = "1")]
pub candidates: ::prost::alloc::vec::Vec<Candidate>,
}
impl ::prost::Name for TopCandidates {
const NAME: &'static str = "TopCandidates";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.LogprobsResult.TopCandidates".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.LogprobsResult.TopCandidates"
.into()
}
}
}
impl ::prost::Name for LogprobsResult {
const NAME: &'static str = "LogprobsResult";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.LogprobsResult".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.LogprobsResult".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Segment {
#[prost(int32, tag = "1")]
pub part_index: i32,
#[prost(int32, tag = "2")]
pub start_index: i32,
#[prost(int32, tag = "3")]
pub end_index: i32,
#[prost(string, tag = "4")]
pub text: ::prost::alloc::string::String,
}
impl ::prost::Name for Segment {
const NAME: &'static str = "Segment";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Segment".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Segment".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroundingChunk {
#[prost(oneof = "grounding_chunk::ChunkType", tags = "1, 2, 3")]
pub chunk_type: ::core::option::Option<grounding_chunk::ChunkType>,
}
pub mod grounding_chunk {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Web {
#[prost(string, optional, tag = "1")]
pub uri: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for Web {
const NAME: &'static str = "Web";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk.Web".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk.Web".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RetrievedContext {
#[prost(string, optional, tag = "1")]
pub uri: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub text: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub document_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(oneof = "retrieved_context::ContextDetails", tags = "4")]
pub context_details: ::core::option::Option<retrieved_context::ContextDetails>,
}
pub mod retrieved_context {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ContextDetails {
#[prost(message, tag = "4")]
RagChunk(super::super::RagChunk),
}
}
impl ::prost::Name for RetrievedContext {
const NAME: &'static str = "RetrievedContext";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk.RetrievedContext".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk.RetrievedContext"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maps {
#[prost(string, optional, tag = "1")]
pub uri: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub title: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub text: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub place_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub place_answer_sources: ::core::option::Option<maps::PlaceAnswerSources>,
#[prost(message, optional, tag = "6")]
pub route: ::core::option::Option<maps::Route>,
}
pub mod maps {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlaceAnswerSources {
#[prost(message, repeated, tag = "1")]
pub review_snippets: ::prost::alloc::vec::Vec<
place_answer_sources::ReviewSnippet,
>,
}
pub mod place_answer_sources {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReviewSnippet {
#[prost(string, tag = "1")]
pub review_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub google_maps_uri: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub title: ::prost::alloc::string::String,
}
impl ::prost::Name for ReviewSnippet {
const NAME: &'static str = "ReviewSnippet";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk.Maps.PlaceAnswerSources.ReviewSnippet"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk.Maps.PlaceAnswerSources.ReviewSnippet"
.into()
}
}
}
impl ::prost::Name for PlaceAnswerSources {
const NAME: &'static str = "PlaceAnswerSources";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk.Maps.PlaceAnswerSources"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk.Maps.PlaceAnswerSources"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Route {
#[prost(int32, tag = "1")]
pub distance_meters: i32,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "3")]
pub encoded_polyline: ::prost::alloc::string::String,
}
impl ::prost::Name for Route {
const NAME: &'static str = "Route";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk.Maps.Route".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk.Maps.Route"
.into()
}
}
}
impl ::prost::Name for Maps {
const NAME: &'static str = "Maps";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk.Maps".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk.Maps".into()
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ChunkType {
#[prost(message, tag = "1")]
Web(Web),
#[prost(message, tag = "2")]
RetrievedContext(RetrievedContext),
#[prost(message, tag = "3")]
Maps(Maps),
}
}
impl ::prost::Name for GroundingChunk {
const NAME: &'static str = "GroundingChunk";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingChunk".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingChunk".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroundingSupport {
#[prost(message, optional, tag = "1")]
pub segment: ::core::option::Option<Segment>,
#[prost(int32, repeated, tag = "2")]
pub grounding_chunk_indices: ::prost::alloc::vec::Vec<i32>,
#[prost(float, repeated, tag = "3")]
pub confidence_scores: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for GroundingSupport {
const NAME: &'static str = "GroundingSupport";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingSupport".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingSupport".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroundingMetadata {
#[prost(string, repeated, tag = "1")]
pub web_search_queries: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub search_entry_point: ::core::option::Option<SearchEntryPoint>,
#[prost(string, repeated, tag = "3")]
pub retrieval_queries: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "5")]
pub grounding_chunks: ::prost::alloc::vec::Vec<GroundingChunk>,
#[prost(message, repeated, tag = "6")]
pub grounding_supports: ::prost::alloc::vec::Vec<GroundingSupport>,
#[prost(message, optional, tag = "7")]
pub retrieval_metadata: ::core::option::Option<RetrievalMetadata>,
#[prost(string, optional, tag = "8")]
pub google_maps_widget_context_token: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(message, repeated, tag = "9")]
pub source_flagging_uris: ::prost::alloc::vec::Vec<
grounding_metadata::SourceFlaggingUri,
>,
}
pub mod grounding_metadata {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SourceFlaggingUri {
#[prost(string, tag = "1")]
pub source_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub flag_content_uri: ::prost::alloc::string::String,
}
impl ::prost::Name for SourceFlaggingUri {
const NAME: &'static str = "SourceFlaggingUri";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingMetadata.SourceFlaggingUri".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingMetadata.SourceFlaggingUri"
.into()
}
}
}
impl ::prost::Name for GroundingMetadata {
const NAME: &'static str = "GroundingMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GroundingMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GroundingMetadata".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SearchEntryPoint {
#[prost(string, tag = "1")]
pub rendered_content: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "2")]
pub sdk_blob: ::prost::bytes::Bytes,
}
impl ::prost::Name for SearchEntryPoint {
const NAME: &'static str = "SearchEntryPoint";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.SearchEntryPoint".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.SearchEntryPoint".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RetrievalMetadata {
#[prost(float, tag = "2")]
pub google_search_dynamic_retrieval_score: f32,
}
impl ::prost::Name for RetrievalMetadata {
const NAME: &'static str = "RetrievalMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.RetrievalMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.RetrievalMetadata".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModelArmorConfig {
#[prost(string, tag = "1")]
pub prompt_template_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub response_template_name: ::prost::alloc::string::String,
}
impl ::prost::Name for ModelArmorConfig {
const NAME: &'static str = "ModelArmorConfig";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ModelArmorConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ModelArmorConfig".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModalityTokenCount {
#[prost(enumeration = "Modality", tag = "1")]
pub modality: i32,
#[prost(int32, tag = "2")]
pub token_count: i32,
}
impl ::prost::Name for ModalityTokenCount {
const NAME: &'static str = "ModalityTokenCount";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ModalityTokenCount".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ModalityTokenCount".into()
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HarmCategory {
Unspecified = 0,
HateSpeech = 1,
DangerousContent = 2,
Harassment = 3,
SexuallyExplicit = 4,
#[deprecated]
CivicIntegrity = 5,
Jailbreak = 6,
}
impl HarmCategory {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "HARM_CATEGORY_UNSPECIFIED",
Self::HateSpeech => "HARM_CATEGORY_HATE_SPEECH",
Self::DangerousContent => "HARM_CATEGORY_DANGEROUS_CONTENT",
Self::Harassment => "HARM_CATEGORY_HARASSMENT",
Self::SexuallyExplicit => "HARM_CATEGORY_SEXUALLY_EXPLICIT",
#[allow(deprecated)]
Self::CivicIntegrity => "HARM_CATEGORY_CIVIC_INTEGRITY",
Self::Jailbreak => "HARM_CATEGORY_JAILBREAK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"HARM_CATEGORY_UNSPECIFIED" => Some(Self::Unspecified),
"HARM_CATEGORY_HATE_SPEECH" => Some(Self::HateSpeech),
"HARM_CATEGORY_DANGEROUS_CONTENT" => Some(Self::DangerousContent),
"HARM_CATEGORY_HARASSMENT" => Some(Self::Harassment),
"HARM_CATEGORY_SEXUALLY_EXPLICIT" => Some(Self::SexuallyExplicit),
"HARM_CATEGORY_CIVIC_INTEGRITY" => {
Some(#[allow(deprecated)] Self::CivicIntegrity)
}
"HARM_CATEGORY_JAILBREAK" => Some(Self::Jailbreak),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Modality {
Unspecified = 0,
Text = 1,
Image = 2,
Video = 3,
Audio = 4,
Document = 5,
}
impl Modality {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MODALITY_UNSPECIFIED",
Self::Text => "TEXT",
Self::Image => "IMAGE",
Self::Video => "VIDEO",
Self::Audio => "AUDIO",
Self::Document => "DOCUMENT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MODALITY_UNSPECIFIED" => Some(Self::Unspecified),
"TEXT" => Some(Self::Text),
"IMAGE" => Some(Self::Image),
"VIDEO" => Some(Self::Video),
"AUDIO" => Some(Self::Audio),
"DOCUMENT" => Some(Self::Document),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IdMatcher {
#[prost(string, repeated, tag = "1")]
pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for IdMatcher {
const NAME: &'static str = "IdMatcher";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.IdMatcher".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.IdMatcher".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FeatureSelector {
#[prost(message, optional, tag = "1")]
pub id_matcher: ::core::option::Option<IdMatcher>,
}
impl ::prost::Name for FeatureSelector {
const NAME: &'static str = "FeatureSelector";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureSelector".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureSelector".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BoolArray {
#[prost(bool, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<bool>,
}
impl ::prost::Name for BoolArray {
const NAME: &'static str = "BoolArray";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.BoolArray".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.BoolArray".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoubleArray {
#[prost(double, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for DoubleArray {
const NAME: &'static str = "DoubleArray";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.DoubleArray".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.DoubleArray".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Int64Array {
#[prost(int64, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<i64>,
}
impl ::prost::Name for Int64Array {
const NAME: &'static str = "Int64Array";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Int64Array".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Int64Array".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StringArray {
#[prost(string, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for StringArray {
const NAME: &'static str = "StringArray";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StringArray".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StringArray".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tensor {
#[prost(enumeration = "tensor::DataType", tag = "1")]
pub dtype: i32,
#[prost(int64, repeated, tag = "2")]
pub shape: ::prost::alloc::vec::Vec<i64>,
#[prost(bool, repeated, tag = "3")]
pub bool_val: ::prost::alloc::vec::Vec<bool>,
#[prost(string, repeated, tag = "14")]
pub string_val: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bytes = "bytes", repeated, tag = "15")]
pub bytes_val: ::prost::alloc::vec::Vec<::prost::bytes::Bytes>,
#[prost(float, repeated, tag = "5")]
pub float_val: ::prost::alloc::vec::Vec<f32>,
#[prost(double, repeated, tag = "6")]
pub double_val: ::prost::alloc::vec::Vec<f64>,
#[prost(int32, repeated, tag = "7")]
pub int_val: ::prost::alloc::vec::Vec<i32>,
#[prost(int64, repeated, tag = "8")]
pub int64_val: ::prost::alloc::vec::Vec<i64>,
#[prost(uint32, repeated, tag = "9")]
pub uint_val: ::prost::alloc::vec::Vec<u32>,
#[prost(uint64, repeated, tag = "10")]
pub uint64_val: ::prost::alloc::vec::Vec<u64>,
#[prost(message, repeated, tag = "11")]
pub list_val: ::prost::alloc::vec::Vec<Tensor>,
#[prost(map = "string, message", tag = "12")]
pub struct_val: ::std::collections::HashMap<::prost::alloc::string::String, Tensor>,
#[prost(bytes = "bytes", tag = "13")]
pub tensor_val: ::prost::bytes::Bytes,
}
pub mod tensor {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum DataType {
Unspecified = 0,
Bool = 1,
String = 2,
Float = 3,
Double = 4,
Int8 = 5,
Int16 = 6,
Int32 = 7,
Int64 = 8,
Uint8 = 9,
Uint16 = 10,
Uint32 = 11,
Uint64 = 12,
}
impl DataType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DATA_TYPE_UNSPECIFIED",
Self::Bool => "BOOL",
Self::String => "STRING",
Self::Float => "FLOAT",
Self::Double => "DOUBLE",
Self::Int8 => "INT8",
Self::Int16 => "INT16",
Self::Int32 => "INT32",
Self::Int64 => "INT64",
Self::Uint8 => "UINT8",
Self::Uint16 => "UINT16",
Self::Uint32 => "UINT32",
Self::Uint64 => "UINT64",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DATA_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"BOOL" => Some(Self::Bool),
"STRING" => Some(Self::String),
"FLOAT" => Some(Self::Float),
"DOUBLE" => Some(Self::Double),
"INT8" => Some(Self::Int8),
"INT16" => Some(Self::Int16),
"INT32" => Some(Self::Int32),
"INT64" => Some(Self::Int64),
"UINT8" => Some(Self::Uint8),
"UINT16" => Some(Self::Uint16),
"UINT32" => Some(Self::Uint32),
"UINT64" => Some(Self::Uint64),
_ => None,
}
}
}
}
impl ::prost::Name for Tensor {
const NAME: &'static str = "Tensor";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.Tensor".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.Tensor".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReadFeatureValuesResponse {
#[prost(message, optional, tag = "1")]
pub header: ::core::option::Option<read_feature_values_response::Header>,
#[prost(message, optional, tag = "2")]
pub entity_view: ::core::option::Option<read_feature_values_response::EntityView>,
}
pub mod read_feature_values_response {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FeatureDescriptor {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
impl ::prost::Name for FeatureDescriptor {
const NAME: &'static str = "FeatureDescriptor";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadFeatureValuesResponse.FeatureDescriptor"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadFeatureValuesResponse.FeatureDescriptor"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Header {
#[prost(string, tag = "1")]
pub entity_type: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub feature_descriptors: ::prost::alloc::vec::Vec<FeatureDescriptor>,
}
impl ::prost::Name for Header {
const NAME: &'static str = "Header";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadFeatureValuesResponse.Header".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadFeatureValuesResponse.Header"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityView {
#[prost(string, tag = "1")]
pub entity_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub data: ::prost::alloc::vec::Vec<entity_view::Data>,
}
pub mod entity_view {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Data {
#[prost(oneof = "data::Data", tags = "1, 2")]
pub data: ::core::option::Option<data::Data>,
}
pub mod data {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Data {
#[prost(message, tag = "1")]
Value(super::super::super::FeatureValue),
#[prost(message, tag = "2")]
Values(super::super::super::FeatureValueList),
}
}
impl ::prost::Name for Data {
const NAME: &'static str = "Data";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadFeatureValuesResponse.EntityView.Data"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadFeatureValuesResponse.EntityView.Data"
.into()
}
}
}
impl ::prost::Name for EntityView {
const NAME: &'static str = "EntityView";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadFeatureValuesResponse.EntityView".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadFeatureValuesResponse.EntityView"
.into()
}
}
}
impl ::prost::Name for ReadFeatureValuesResponse {
const NAME: &'static str = "ReadFeatureValuesResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadFeatureValuesResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadFeatureValuesResponse".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamingReadFeatureValuesRequest {
#[prost(string, tag = "1")]
pub entity_type: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub entity_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub feature_selector: ::core::option::Option<FeatureSelector>,
}
impl ::prost::Name for StreamingReadFeatureValuesRequest {
const NAME: &'static str = "StreamingReadFeatureValuesRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamingReadFeatureValuesRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamingReadFeatureValuesRequest"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureValue {
#[prost(message, optional, tag = "14")]
pub metadata: ::core::option::Option<feature_value::Metadata>,
#[prost(oneof = "feature_value::Value", tags = "1, 2, 5, 6, 7, 8, 11, 12, 13, 15")]
pub value: ::core::option::Option<feature_value::Value>,
}
pub mod feature_value {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Metadata {
#[prost(message, optional, tag = "1")]
pub generate_time: ::core::option::Option<::prost_types::Timestamp>,
}
impl ::prost::Name for Metadata {
const NAME: &'static str = "Metadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureValue.Metadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureValue.Metadata".into()
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(bool, tag = "1")]
BoolValue(bool),
#[prost(double, tag = "2")]
DoubleValue(f64),
#[prost(int64, tag = "5")]
Int64Value(i64),
#[prost(string, tag = "6")]
StringValue(::prost::alloc::string::String),
#[prost(message, tag = "7")]
BoolArrayValue(super::BoolArray),
#[prost(message, tag = "8")]
DoubleArrayValue(super::DoubleArray),
#[prost(message, tag = "11")]
Int64ArrayValue(super::Int64Array),
#[prost(message, tag = "12")]
StringArrayValue(super::StringArray),
#[prost(bytes, tag = "13")]
BytesValue(::prost::bytes::Bytes),
#[prost(message, tag = "15")]
StructValue(super::StructValue),
}
}
impl ::prost::Name for FeatureValue {
const NAME: &'static str = "FeatureValue";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureValue".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureValue".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructValue {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<StructFieldValue>,
}
impl ::prost::Name for StructValue {
const NAME: &'static str = "StructValue";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StructValue".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StructValue".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructFieldValue {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<FeatureValue>,
}
impl ::prost::Name for StructFieldValue {
const NAME: &'static str = "StructFieldValue";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StructFieldValue".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StructFieldValue".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureValueList {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<FeatureValue>,
}
impl ::prost::Name for FeatureValueList {
const NAME: &'static str = "FeatureValueList";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureValueList".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureValueList".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FeatureViewDataKey {
#[prost(oneof = "feature_view_data_key::KeyOneof", tags = "1, 2")]
pub key_oneof: ::core::option::Option<feature_view_data_key::KeyOneof>,
}
pub mod feature_view_data_key {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CompositeKey {
#[prost(string, repeated, tag = "1")]
pub parts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for CompositeKey {
const NAME: &'static str = "CompositeKey";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum KeyOneof {
#[prost(string, tag = "1")]
Key(::prost::alloc::string::String),
#[prost(message, tag = "2")]
CompositeKey(CompositeKey),
}
}
impl ::prost::Name for FeatureViewDataKey {
const NAME: &'static str = "FeatureViewDataKey";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDataKey".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDataKey".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureViewDirectWriteRequest {
#[prost(string, tag = "1")]
pub feature_view: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub data_key_and_feature_values: ::prost::alloc::vec::Vec<
feature_view_direct_write_request::DataKeyAndFeatureValues,
>,
}
pub mod feature_view_direct_write_request {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataKeyAndFeatureValues {
#[prost(message, optional, tag = "1")]
pub data_key: ::core::option::Option<super::FeatureViewDataKey>,
#[prost(message, repeated, tag = "2")]
pub features: ::prost::alloc::vec::Vec<data_key_and_feature_values::Feature>,
}
pub mod data_key_and_feature_values {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Feature {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(oneof = "feature::DataOneof", tags = "3")]
pub data_oneof: ::core::option::Option<feature::DataOneof>,
}
pub mod feature {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum DataOneof {
#[prost(message, tag = "3")]
Value(super::super::super::FeatureValue),
}
}
impl ::prost::Name for Feature {
const NAME: &'static str = "Feature";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDirectWriteRequest.DataKeyAndFeatureValues.Feature"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDirectWriteRequest.DataKeyAndFeatureValues.Feature"
.into()
}
}
}
impl ::prost::Name for DataKeyAndFeatureValues {
const NAME: &'static str = "DataKeyAndFeatureValues";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDirectWriteRequest.DataKeyAndFeatureValues"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDirectWriteRequest.DataKeyAndFeatureValues"
.into()
}
}
}
impl ::prost::Name for FeatureViewDirectWriteRequest {
const NAME: &'static str = "FeatureViewDirectWriteRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDirectWriteRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDirectWriteRequest"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureViewDirectWriteResponse {
#[prost(message, optional, tag = "1")]
pub status: ::core::option::Option<super::super::super::rpc::Status>,
#[prost(message, repeated, tag = "2")]
pub write_responses: ::prost::alloc::vec::Vec<
feature_view_direct_write_response::WriteResponse,
>,
}
pub mod feature_view_direct_write_response {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WriteResponse {
#[prost(message, optional, tag = "1")]
pub data_key: ::core::option::Option<super::FeatureViewDataKey>,
#[prost(message, optional, tag = "2")]
pub online_store_write_time: ::core::option::Option<::prost_types::Timestamp>,
}
impl ::prost::Name for WriteResponse {
const NAME: &'static str = "WriteResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDirectWriteResponse.WriteResponse"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDirectWriteResponse.WriteResponse"
.into()
}
}
}
impl ::prost::Name for FeatureViewDirectWriteResponse {
const NAME: &'static str = "FeatureViewDirectWriteResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.FeatureViewDirectWriteResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.FeatureViewDirectWriteResponse"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamRawPredictRequest {
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub http_body: ::core::option::Option<super::super::super::api::HttpBody>,
}
impl ::prost::Name for StreamRawPredictRequest {
const NAME: &'static str = "StreamRawPredictRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamRawPredictRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamRawPredictRequest".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamDirectPredictRequest {
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub inputs: ::prost::alloc::vec::Vec<Tensor>,
#[prost(message, optional, tag = "3")]
pub parameters: ::core::option::Option<Tensor>,
}
impl ::prost::Name for StreamDirectPredictRequest {
const NAME: &'static str = "StreamDirectPredictRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamDirectPredictRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamDirectPredictRequest"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamDirectPredictResponse {
#[prost(message, repeated, tag = "1")]
pub outputs: ::prost::alloc::vec::Vec<Tensor>,
#[prost(message, optional, tag = "2")]
pub parameters: ::core::option::Option<Tensor>,
}
impl ::prost::Name for StreamDirectPredictResponse {
const NAME: &'static str = "StreamDirectPredictResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamDirectPredictResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamDirectPredictResponse"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamDirectRawPredictRequest {
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub method_name: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "3")]
pub input: ::prost::bytes::Bytes,
}
impl ::prost::Name for StreamDirectRawPredictRequest {
const NAME: &'static str = "StreamDirectRawPredictRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamDirectRawPredictRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamDirectRawPredictRequest"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamDirectRawPredictResponse {
#[prost(bytes = "bytes", tag = "1")]
pub output: ::prost::bytes::Bytes,
}
impl ::prost::Name for StreamDirectRawPredictResponse {
const NAME: &'static str = "StreamDirectRawPredictResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamDirectRawPredictResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamDirectRawPredictResponse"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamingPredictRequest {
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub inputs: ::prost::alloc::vec::Vec<Tensor>,
#[prost(message, optional, tag = "3")]
pub parameters: ::core::option::Option<Tensor>,
}
impl ::prost::Name for StreamingPredictRequest {
const NAME: &'static str = "StreamingPredictRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamingPredictRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamingPredictRequest".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamingPredictResponse {
#[prost(message, repeated, tag = "1")]
pub outputs: ::prost::alloc::vec::Vec<Tensor>,
#[prost(message, optional, tag = "2")]
pub parameters: ::core::option::Option<Tensor>,
}
impl ::prost::Name for StreamingPredictResponse {
const NAME: &'static str = "StreamingPredictResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamingPredictResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamingPredictResponse".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamingRawPredictRequest {
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub method_name: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "3")]
pub input: ::prost::bytes::Bytes,
}
impl ::prost::Name for StreamingRawPredictRequest {
const NAME: &'static str = "StreamingRawPredictRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamingRawPredictRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamingRawPredictRequest"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamingRawPredictResponse {
#[prost(bytes = "bytes", tag = "1")]
pub output: ::prost::bytes::Bytes,
}
impl ::prost::Name for StreamingRawPredictResponse {
const NAME: &'static str = "StreamingRawPredictResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamingRawPredictResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamingRawPredictResponse"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateContentRequest {
#[prost(string, tag = "5")]
pub model: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub contents: ::prost::alloc::vec::Vec<Content>,
#[prost(message, optional, tag = "8")]
pub system_instruction: ::core::option::Option<Content>,
#[prost(string, tag = "9")]
pub cached_content: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "6")]
pub tools: ::prost::alloc::vec::Vec<Tool>,
#[prost(message, optional, tag = "7")]
pub tool_config: ::core::option::Option<ToolConfig>,
#[prost(map = "string, string", tag = "10")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, repeated, tag = "3")]
pub safety_settings: ::prost::alloc::vec::Vec<SafetySetting>,
#[prost(message, optional, tag = "11")]
pub model_armor_config: ::core::option::Option<ModelArmorConfig>,
#[prost(message, optional, tag = "4")]
pub generation_config: ::core::option::Option<GenerationConfig>,
}
impl ::prost::Name for GenerateContentRequest {
const NAME: &'static str = "GenerateContentRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerateContentRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerateContentRequest".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenerateContentResponse {
#[prost(message, repeated, tag = "2")]
pub candidates: ::prost::alloc::vec::Vec<Candidate>,
#[prost(string, tag = "11")]
pub model_version: ::prost::alloc::string::String,
#[prost(message, optional, tag = "12")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "13")]
pub response_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub prompt_feedback: ::core::option::Option<
generate_content_response::PromptFeedback,
>,
#[prost(message, optional, tag = "4")]
pub usage_metadata: ::core::option::Option<generate_content_response::UsageMetadata>,
}
pub mod generate_content_response {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromptFeedback {
#[prost(enumeration = "prompt_feedback::BlockedReason", tag = "1")]
pub block_reason: i32,
#[prost(message, repeated, tag = "2")]
pub safety_ratings: ::prost::alloc::vec::Vec<super::SafetyRating>,
#[prost(string, tag = "3")]
pub block_reason_message: ::prost::alloc::string::String,
}
pub mod prompt_feedback {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum BlockedReason {
Unspecified = 0,
Safety = 1,
Other = 2,
Blocklist = 3,
ProhibitedContent = 4,
ModelArmor = 5,
Jailbreak = 6,
}
impl BlockedReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "BLOCKED_REASON_UNSPECIFIED",
Self::Safety => "SAFETY",
Self::Other => "OTHER",
Self::Blocklist => "BLOCKLIST",
Self::ProhibitedContent => "PROHIBITED_CONTENT",
Self::ModelArmor => "MODEL_ARMOR",
Self::Jailbreak => "JAILBREAK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BLOCKED_REASON_UNSPECIFIED" => Some(Self::Unspecified),
"SAFETY" => Some(Self::Safety),
"OTHER" => Some(Self::Other),
"BLOCKLIST" => Some(Self::Blocklist),
"PROHIBITED_CONTENT" => Some(Self::ProhibitedContent),
"MODEL_ARMOR" => Some(Self::ModelArmor),
"JAILBREAK" => Some(Self::Jailbreak),
_ => None,
}
}
}
}
impl ::prost::Name for PromptFeedback {
const NAME: &'static str = "PromptFeedback";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UsageMetadata {
#[prost(int32, tag = "1")]
pub prompt_token_count: i32,
#[prost(int32, tag = "2")]
pub candidates_token_count: i32,
#[prost(int32, tag = "14")]
pub thoughts_token_count: i32,
#[prost(int32, tag = "3")]
pub total_token_count: i32,
#[prost(int32, tag = "5")]
pub cached_content_token_count: i32,
#[prost(message, repeated, tag = "9")]
pub prompt_tokens_details: ::prost::alloc::vec::Vec<super::ModalityTokenCount>,
#[prost(message, repeated, tag = "10")]
pub cache_tokens_details: ::prost::alloc::vec::Vec<super::ModalityTokenCount>,
#[prost(message, repeated, tag = "11")]
pub candidates_tokens_details: ::prost::alloc::vec::Vec<
super::ModalityTokenCount,
>,
#[prost(message, repeated, tag = "12")]
pub tool_use_prompt_tokens_details: ::prost::alloc::vec::Vec<
super::ModalityTokenCount,
>,
#[prost(enumeration = "usage_metadata::TrafficType", tag = "8")]
pub traffic_type: i32,
}
pub mod usage_metadata {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum TrafficType {
Unspecified = 0,
OnDemand = 1,
OnDemandPriority = 3,
OnDemandFlex = 4,
ProvisionedThroughput = 2,
}
impl TrafficType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "TRAFFIC_TYPE_UNSPECIFIED",
Self::OnDemand => "ON_DEMAND",
Self::OnDemandPriority => "ON_DEMAND_PRIORITY",
Self::OnDemandFlex => "ON_DEMAND_FLEX",
Self::ProvisionedThroughput => "PROVISIONED_THROUGHPUT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TRAFFIC_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"ON_DEMAND" => Some(Self::OnDemand),
"ON_DEMAND_PRIORITY" => Some(Self::OnDemandPriority),
"ON_DEMAND_FLEX" => Some(Self::OnDemandFlex),
"PROVISIONED_THROUGHPUT" => Some(Self::ProvisionedThroughput),
_ => None,
}
}
}
}
impl ::prost::Name for UsageMetadata {
const NAME: &'static str = "UsageMetadata";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata"
.into()
}
}
}
impl ::prost::Name for GenerateContentResponse {
const NAME: &'static str = "GenerateContentResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.GenerateContentResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.GenerateContentResponse".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamQueryReasoningEngineRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub input: ::core::option::Option<::prost_types::Struct>,
#[prost(string, tag = "3")]
pub class_method: ::prost::alloc::string::String,
}
impl ::prost::Name for StreamQueryReasoningEngineRequest {
const NAME: &'static str = "StreamQueryReasoningEngineRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.StreamQueryReasoningEngineRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.StreamQueryReasoningEngineRequest"
.into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TensorboardBlob {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(bytes = "bytes", tag = "2")]
pub data: ::prost::bytes::Bytes,
}
impl ::prost::Name for TensorboardBlob {
const NAME: &'static str = "TensorboardBlob";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.TensorboardBlob".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.TensorboardBlob".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReadTensorboardBlobDataRequest {
#[prost(string, tag = "1")]
pub time_series: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub blob_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ReadTensorboardBlobDataRequest {
const NAME: &'static str = "ReadTensorboardBlobDataRequest";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadTensorboardBlobDataRequest".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadTensorboardBlobDataRequest"
.into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReadTensorboardBlobDataResponse {
#[prost(message, repeated, tag = "1")]
pub blobs: ::prost::alloc::vec::Vec<TensorboardBlob>,
}
impl ::prost::Name for ReadTensorboardBlobDataResponse {
const NAME: &'static str = "ReadTensorboardBlobDataResponse";
const PACKAGE: &'static str = "google.cloud.aiplatform.v1";
fn full_name() -> ::prost::alloc::string::String {
"google.cloud.aiplatform.v1.ReadTensorboardBlobDataResponse".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/google.cloud.aiplatform.v1.ReadTensorboardBlobDataResponse"
.into()
}
}