Guillaume Laforge
Developer Advocate for Google Cloud
Paris, France
Actions
Guillaume Laforge is Developer Advocate for Google Cloud Platform, at day, focusing on generative AI, LLMs, serverless technologies and event-driven architecture, and at night, he is a Java Champion and wears his Apache Groovy hat.
Area of Expertise
Topics
From naive to expert RAG: advanced techniques to get great answers
Embarking on your Retrieval Augmented Generation journey may seem easy at first glance, but achieving satisfying results often proves challenging. Inaccurate, incomplete, or outdated answers, suboptimal document retrieval, and poor text chunking can quickly dampen your initial enthusiasm.
In this session, we'll leverage LangChain4j to elevate your RAG implementations.
We'll explore:
* Advanced Chunking Strategies: Optimize document segmentation for improved context and relevance.
* Query Refinement Techniques: Expand and compress queries to enhance retrieval accuracy.
* Metadata Filtering: Leverage metadata to pinpoint the most relevant documents.
* Document Reranking: Reorder retrieved documents for optimal result presentation.
* Agentic Approaches: Take advantage of function calling to build more clever agents.
* Data Lifecycle Management: Implement processes to maintain data freshness and relevance.
* Evaluation and Presentation: Assess the effectiveness of your RAG pipeline and deliver results that meet user expectations.
Join us as we transform your simplistic RAG experience from one of frustration to delight your users with meaningful and accurate answers.
Gemini, Google's Large Language Model
Gemini is the Large Language Model (LLM) powering many services and tools from Google, but you can also use its API through Google Cloud and integrate it into your applications. Gemini offers different models like Flash, Pro, or even Nano. Its unique feature is its multimodality: you can give it text, images, or videos! This opens up new use cases for you.
In this presentation, we will explore the Gemini model. With our Java hats on, we will learn how to use its API, especially with the LangChain4j library.
How to get the most out of Gemini? We will see how to extract unstructured data, how to classify text, how to extend the model's knowledge with the RAG (Retrieval Augmented Generation) approach, and how to use "function calls" to invoke external services when generating text.
Hold on tight! The Gemini capsule is about to take off!
Things you never dared to ask about LLMs
Large Language Models (LLMs) have taken the world by storm, powering applications from chatbots to content generation. Yet, beneath the surface, these models remain enigmatic.
This presentation will “delve” into the hidden corners of LLM technology that often leave developers scratching their heads. It’s time to ask those questions you’ve never dared ask about the mysteries underpinning LLMs.
Here are some questions we’ll to answer:
- Do you wonder why LLMs spit tokens instead of words? Where do those tokens come from?
- What’s the difference between a “foundation” / “pre-trained” model, and an “instruction-tuned” one?
- We’re often tweaking (hyper)parameters like temperature, top-p, top-k, but do you know how they really affect how tokens are picked up?
- Quantization makes models smaller, but what are all those number encodings like fp32, bfloat16, int8, etc?
- LLMs are good at translation, right? Do you speak the Base64 language too?
We’ll realize together that LLMs are far from perfect:
- We’ve all heard about hallucinations, or should we say confabulations?
- What is this reversal curse that makes LLMs ignore some facts from a different viewpoint?
- You’d think that LLMs are deterministic at low temperature, but you’d be surprised by how the context influences LLMs’ answers…
Buckle up, it’s time to dispel the magic of LLMs, and ask those questions we never dared to ask!
Generative AI in practice: Concrete LLM use cases in Java, with the PaLM API
Large language models (LLMs) are a powerful new technology that can be used for a variety of tasks, including generating text, translating languages, and writing different kinds of creative content. However, LLMs can be difficult to use, especially for developers who are not proficient in Python, the lingua franca for AI. So what about us Java developers? How can we make use of Generative AI?
This presentation will go through how to use LLMs in Java without the need for Python. We will use the PaLM API, provided by Google Cloud’s Vertex AI services, to perform a variety of tasks, such as searching through documentation, generating kids stories, summarizing content, extracting keywords or entities, and more. In our journey through demos, we’ll discover LangChain4J, a wonderful LLM orchestrator for Java developers that simplifies the implementation of advanced LLM use cases.
Implementing Webhooks backends and clients, not so trivial
Webhooks, we know what they are, right? You’ve probably already used some to be notified of Github commits, to react to text messages received via Twilio, or created a fulfillment for a Dialogflow chatbot to answer users. From the Webhook consumer side, it doesn’t seem complicated to code… On the server-side, is it really just a web API to implement? Hmm… maybe not! Actually, we’ll see that it might be not as simple as it first sounds ! After an introduction on the concept of Webhooks, we’ll create our own callbacks to be notified of events. Then, we’ll go on the other side of the mirror, by creating our own Webhook backend. We’ll study how to deal with client subscription queues, manage all kinds of errors, debug the webhook, handle retries to avoid flooding subscribers, or how to secure those hooks. There’s lots to cover!
Choreography vs Orchestration in Serverless Microservices
We went from a single monolith to a set of microservices that are small, lightweight, and easy to implement. Microservices enable reusability, make it easier to change and scale apps on demand. But they also introduce new problems. How do microservices interact with each other toward a common goal? How do you figure out what went wrong when a business process composed of several microservices fails? Should there be a central orchestrator controlling all interactions between services, or should each service work independently in a loosely coupled way, and only interact through shared events? In this talk, we’ll explore the Choreography vs Orchestration question and see demos of some of the tools that can help.
Learn about Workflows patterns and best practices
One step at a time, that’s how to get started with Google Cloud Workflows! However, writing rock-solid workflows can be trickier than it seems. In this presentation, we’ll share patterns and best practices, tips and tricks, to design your business processes like a pro. How to deploy workflows in multiple environments, how to share and reuse common fragments of workflows, how to version and automate the composition and deployment of your workflows, and much more.
Reuse old smartphones to monitor 3D prints, with WebRTC, WebSockets and Serverless
Monitoring my 3D prints in my basement means climbing lots of stairs back and forth! So here’s my story about how I reused an old smartphone to check the status of my prints. I built a small web app that uses WebRTC to exchange video streams between my broadcasting smartphone and viewers, with WebSockets for signaling, and a serverless platform for easily deploying and hosting my containerized app.
The Developer Advocacy Feedback Loop
Not just about one-way evangelism! Developer Advocacy is about the feedback loop! Dev Advocates talk about their products and services to a technical audience. But, as engineers themselves, they are also alpha testers of those solutions. Developer Advocates advocate for their products, right? Wrong! They first and foremost advocate on behalf of the developers. They help shape the products, thanks to this know-how from the field. Beyond this, they actually advocate for their communities. They represent technical practitioners, listen to their feedback, and influence product teams to implement those needs.
In this presentation, we’ll talk about approaches, tools and solutions that a Developer Advocate can use or put in place in order to create that tight feedback loop (like “friction logs”, “customer empathy sessions”, “office hours”, and more)
A product that is shaped by its users makes for a better product, and happier users make for great customers and themselves advocates of your products! So tighten the loop!
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top