Vertex AI Gemini generateContent (non-streaming) API

Introduction In my recent blog post, I’ve been exploring Vertex AI’s Gemini REST API and mainly talked about the streamGenerateContent method which is a streaming API. Recently, a new method appeared in Vertex AI docs: generateContent which is the non-streaming (unary) version of the API. In this short blog post, I take a closer look at the new non-streaming generateContent API and explain why it makes sense to use as a simpler API when the latency is not super critical. Read More →

Orchestrate Vertex AI’s PaLM and Gemini APIs with Workflows

Everyone is excited about generative AI (gen AI) nowadays and rightfully so. You might be generating text with PaLM 2 or Gemini Pro, generating images with ImageGen 2, translating code from language to another with Codey, or describing images and videos with Gemini Pro Vision. No matter how you’re using gen AI, at the end of the day, you’re calling an endpoint either with an SDK or a library or via a REST API. Read More ↗︎

Using Vertex AI Gemini from GAPIC libraries (C#)

Introduction In my previous Using Vertex AI Gemini REST API post, I showed how to use the Gemini REST API from languages without SDK support yet such as C# and Rust. There’s actually another way to use Gemini from languages without SDK support: GAPIC libraries. In this post, I show you how to use Vertex AI Gemini from GAPIC libraries, using C# as an example. What is GAPIC? At this point, you might be wondering: What’s GAPIC? Read More →

Using Vertex AI Gemini REST API (C# and Rust)

Introduction Back in December, Google announced Gemini, its most capable and general model so far available from Google AI Studio andGoogle Cloud Vertex AI. The Try the Vertex AI Gemini API documentation page shows instructions on how to use the Gemini API from Python, Node.js, Java, and Go. That’s great but what about other languages? Even though there are no official SDKs/libraries for other languages yet, you can use the Gemini REST API to access the same functionality with a little bit more work on your part. Read More →

The butterfly effect of kindness

I’ve been using my blog for work-related topics since I can remember. I don’t know why but recently, I had an itch to write about non-work related topics for no particular reason. I’m not sure if anyone would care or find my non-tech writing useful but I’ll definitely find it useful for me as a mark of my consciousness at a given time, so here we go. Back in December, I was lucky enough to travel to Japan. Read More →

Test and change an existing web app with Duet AI

In the Create and deploy a new web app to Cloud Run with Duet AI post, I created a simple web application and deployed to Cloud Run using Duet AI’s help. Duet AI has been great to get a new and simple app up and running. But does it help for existing apps? Let’s figure it out. In this blog post, I take an existing web app, explore it, test it, add a unit test, add new functionality, and add more unit tests all with the help of Duet AI. Read More →

Create and deploy a new web app to Cloud Run with Duet AI

I’ve been playing with Duet AI, Google’s AI-powered collaborator, recently to see how useful it can be for my development workflow. I’m pleasantly surprised how helpful Duet AI can be when provided with specific questions with the right context. In this blog post, I document my journey of creating and deploying a new web application to Cloud Run with Duet AI’s help. I also capture some lessons learned along the way to get the most out of Duet AI. Read More →

Announcing Workflows execution steps history

As you orchestrate more services with Workflows, the workflow gets more complicated with more steps, jumps, iterations, parallel branches. When the workflow execution inevitably fails at some point, you need to debug and figure out which step failed and why. So far, you only had an execution summary with inputs/outputs and logs to rely on in your execution debugging. While this was good enough for basic workflows, it didn’t provide step level debugging information. Read More ↗︎

C# library and samples for GenAI in Vertex AI

In my previous post, I talked about multi-language libraries and samples for GenAI. In this post, I want to zoom into some C# specific information for GenAI in Vertex AI. C# GenAI samples for Vertex AI If you want to skip this blog post and just jump into code, there’s a collection of C# GenAI samples for Vertex AI. These samples show how to invoke GenAI from C# for different use cases such as text classification, extraction, summarization, sentiment analysis and more using the C# client library. Read More →

Deploy and manage Kubernetes applications with Workflows

Workflows is a versatile service in orchestrating and automating a wide range of use cases: microservices, business processes, Data and ML pipelines, IT operations, and more. It can also be used to automate deployment of containerized applications on Kubernetes Engine (GKE) and this got even easier with the newly released (in preview) Kubernetes API Connector. The new Kubernetes API connector enables access to GKE services from Workflows and this in turn enables Kubernetes based resource management or orchestration, scheduled Kubernetes jobs, and more. Read More ↗︎