Skip to content

Commit

Permalink
Merge pull request #4 from andreban/rename-response
Browse files Browse the repository at this point in the history
Rename ResponseStreamChunk to GenerateContentResponse
  • Loading branch information
andreban authored Feb 27, 2024
2 parents 288849d + 802df8f commit 631dc91
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 11 deletions.
4 changes: 2 additions & 2 deletions src/bin/function-calling.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use std::{collections::HashMap, env};

use gcp_auth::AuthenticationManager;
use gemini_rust::{
Content, FunctionDeclaration, FunctionParameters, FunctionParametersProperty, GenerateContentRequest, GenerationConfig, Part, ResponseStreamChunk, Tools
Content, FunctionDeclaration, FunctionParameters, FunctionParametersProperty, GenerateContentRequest, GenerationConfig, Part, GenerateContentResponse, Tools
};

static MODEL_NAME: &str = "gemini-pro";
Expand Down Expand Up @@ -112,7 +112,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.send()
.await?;

let response = resp.json::<ResponseStreamChunk>().await?;
let response = resp.json::<GenerateContentResponse>().await?;

response.candidates.iter().for_each(|candidate| {
candidate.content.parts.iter().for_each(|part| {
Expand Down
6 changes: 4 additions & 2 deletions src/bin/generate-text-from-image-gcs.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
use std::env;

use gcp_auth::AuthenticationManager;
use gemini_rust::{Content, GenerateContentRequest, GenerationConfig, Part, ResponseStreamChunk};
use gemini_rust::{
Content, GenerateContentRequest, GenerateContentResponse, GenerationConfig, Part,
};

static MODEL_NAME: &str = "gemini-pro-vision";

Expand Down Expand Up @@ -50,7 +52,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.send()
.await?;

let response = resp.json::<ResponseStreamChunk>().await?;
let response = resp.json::<GenerateContentResponse>().await?;

response.candidates.iter().for_each(|candidate| {
candidate.content.parts.iter().for_each(|part| {
Expand Down
6 changes: 4 additions & 2 deletions src/bin/generate-text-from-image-local.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ use std::env;

use base64::{engine::general_purpose::STANDARD, Engine};
use gcp_auth::AuthenticationManager;
use gemini_rust::{Content, GenerateContentRequest, GenerationConfig, Part, ResponseStreamChunk};
use gemini_rust::{
Content, GenerateContentRequest, GenerateContentResponse, GenerationConfig, Part,
};

static IMAGE_DATA: &[u8] = include_bytes!("image.jpg");
static MODEL_NAME: &str = "gemini-pro-vision";
Expand Down Expand Up @@ -52,7 +54,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.send()
.await?;

let response = resp.json::<ResponseStreamChunk>().await?;
let response = resp.json::<GenerateContentResponse>().await?;
response.candidates.iter().for_each(|candidate| {
candidate.content.parts.iter().for_each(|part| {
if let Part::Text(text) = part {
Expand Down
6 changes: 4 additions & 2 deletions src/bin/generate-text-from-text-stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ use std::env;

use futures_util::StreamExt;
use gcp_auth::AuthenticationManager;
use gemini_rust::{Content, GenerateContentRequest, GenerationConfig, Part, ResponseStreamChunk};
use gemini_rust::{
Content, GenerateContentRequest, GenerateContentResponse, GenerationConfig, Part,
};
use reqwest_eventsource::EventSource;

static MODEL_NAME: &str = "gemini-pro";
Expand Down Expand Up @@ -53,7 +55,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
while let Some(Ok(event)) = event_source.next().await {
match event {
reqwest_eventsource::Event::Message(msg) => {
let chunk = serde_json::from_str::<ResponseStreamChunk>(&msg.data)?;
let chunk = serde_json::from_str::<GenerateContentResponse>(&msg.data)?;
let text = chunk
.candidates
.iter()
Expand Down
4 changes: 2 additions & 2 deletions src/bin/generate-text-from-text.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::env;

use gcp_auth::AuthenticationManager;
use gemini_rust::{
Content, GenerateContentRequest, ResponseStreamChunk, GenerationConfig, Part,
Content, GenerateContentRequest, GenerateContentResponse, GenerationConfig, Part,
};

static MODEL_NAME: &str = "gemini-pro";
Expand Down Expand Up @@ -45,7 +45,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
.send()
.await?;

let response = resp.json::<ResponseStreamChunk>().await?;
let response = resp.json::<GenerateContentResponse>().await?;
response.candidates.iter().for_each(|candidate| {
candidate.content.parts.iter().for_each(|part| {
if let Part::Text(text) = part {
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ pub enum Part {

#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResponseStreamChunk {
pub struct GenerateContentResponse {
pub candidates: Vec<Candidate>,
pub usage_metadata: Option<UsageMetadata>,
}
Expand Down

0 comments on commit 631dc91

Please sign in to comment.