Slide 1

Slide 1 text

Gemini + Gemma from Java with LangChain4j Mete Atamel Developer Advocate at Google @meteatamel atamel.dev speakerdeck.com/meteatamel codelabs.developers.google.com/codelabs/gemini-java-developers

Slide 2

Slide 2 text

Google Cloud Artificial Intelligence NLP AI Landscape Data Science Machine Learning — Unsupervised, Supervised, Reinforcement Learning Deep Learning — Artificial, Convolution, Recurrent Neural Networks Generative AI — GAN, VAE, Transformers LLMs — Transformers Image Gen — GAN, VAE

Slide 3

Slide 3 text

Google Research & DeepMind innovations

Slide 4

Slide 4 text

Google Cloud LLM sizes

Slide 5

Slide 5 text

Google Cloud With larger models emerge new capabilities https://blog.research.google/2022/04/pathways-language-model-palm-scaling-to.html

Slide 6

Slide 6 text

Google Cloud Gemini (brand) Gemini App previously Bard Gemini Cloud Assist previously Duet AI Gemini Code Assist previously Duet AI for developers … Google AI Landscape Vertex AI Google AI Studio previously MakerSuite Model Garden Codey Imagen Gemma Llama 3 Claude 3 Falcon Vicuna Stable Diffusion … Search & Conversation Vector Search Notebooks Pipelines AutoML PaLM Gemini (model) … Vision, Video, TTS / STT, NL APIs

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Available in 3 sizes

Slide 9

Slide 9 text

Natively multimodal Advanced Coding Sophisticated reasoning

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Gemini 1.5

Slide 12

Slide 12 text

Open model derived from Gemini

Slide 13

Slide 13 text

Google Cloud 13 Gemini Gemma Type Closed, proprietary Open Size Very large Smaller (2B & 7B versions) Modality Text, image, video, speech Only text Languages 39 languages English-only Function calling ✅ ❌ Context window 32K for 1.0 Pro (8K out max) 1M+ for 1.5 Pro 8K tokens (in + out) Performance State-of-the-art in large models, high quality out-of-the-box State-of-the-art in its class, but can require fine-tuning Use cases Enterprise, scale, SLOs, model updates, etc. Experimentation, research, education Can run locally, privacy Pricing & Management Fully managed API Pay per character Manage yourself Pay for your own hardware & hosting Customization Through managed tuning: supervised, RLHF, distillation Programmatically modify underlying weights

Slide 14

Slide 14 text

Google Cloud 14 Python is the default language in AI… But what about Java developers?

Slide 15

Slide 15 text

Google Cloud 15 Option 1⃣ → Gemini SDK ● github.com/googleapis/google-cloud-java/tree/main/java-vertexai ● github.com/GoogleCloudPlatform/java-docs-samples/ tree/main/vertexai/snippets/src/main/java/vertexai/gemini ● cloud.google.com/java/docs/reference/google-cloud-vertexai/

Slide 16

Slide 16 text

Google Cloud 16 Option 2⃣ → LangChain4j

Slide 17

Slide 17 text

Time for some demos! codelabs.developers.google.com/codelabs/gemini-java-developers

Slide 18

Slide 18 text

LLM Vector DB vector embeddings chunks DOCS calculate split store vector + chunk ❶ INGESTION RAG

Slide 19

Slide 19 text

Chatbot app LLM Vector DB vector embeddings chunks DOCS calculate prompt vector embedding split calculate find similar answer context + prompt + chunks store vector + chunk ❶ INGESTION ❷ QUERYING RAG

Slide 20

Slide 20 text

Chatbot app Gemini What’s the weather like in Sofia? It’s sunny in Sofia! External API or service user prompt + getWeather(String) function contract call getWeather(“Sofia”) for me please 󰚦 getWeather(“Sofia”) {“forecast”:”sunny”} function response is {“forecast”:”sunny”} Answer: “It’s sunny in Sofia!” Function calling

Slide 21

Slide 21 text

Gemma via Ollama in TestContainers Why is the sky blue? Chatbot app Ollama container Gemma Rayleigh scattering

Slide 22

Slide 22 text

Thank you! Mete Atamel Developer Advocate at Google @meteatamel atamel.dev speakerdeck.com/meteatamel codelabs.developers.google.com/codelabs/gemini-java-developers