mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-02-18 19:05:19 -05:00
44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
---
|
|
title: "Javascript"
|
|
type: docs
|
|
weight: 2
|
|
description: >
|
|
How to add pre- and post- processing to your Agents using JS.
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
This tutorial assumes that you have set up Toolbox with a basic agent as described in the [local quickstart](../../getting-started/local_quickstart_js.md).
|
|
|
|
This guide demonstrates how to implement these patterns in your Toolbox applications.
|
|
|
|
## Implementation
|
|
|
|
{{< tabpane persist=header >}}
|
|
{{% tab header="ADK" text=true %}}
|
|
Coming soon.
|
|
{{% /tab %}}
|
|
{{% tab header="Langchain" text=true %}}
|
|
The following example demonstrates how to use `ToolboxClient` with LangChain's middleware to implement pre- and post- processing for tool calls.
|
|
|
|
```js
|
|
{{< include "js/langchain/agent.js" >}}
|
|
```
|
|
|
|
You can also use the `wrapModelCall` hook to intercept messages before and after model calls.
|
|
You can also use [node-style hooks](https://docs.langchain.com/oss/javascript/langchain/middleware/custom#node-style-hooks) to intercept messages at the agent and model level.
|
|
See the [LangChain Middleware documentation](https://docs.langchain.com/oss/javascript/langchain/middleware/custom#tool-call-monitoring) for details on these additional hook types.
|
|
|
|
{{% /tab %}}
|
|
{{< /tabpane >}}
|
|
|
|
## Results
|
|
|
|
The output should look similar to the following. Note that exact responses may vary due to the non-deterministic nature of LLMs and differences between orchestration frameworks.
|
|
|
|
```
|
|
AI: Booking Confirmed! You earned 500 Loyalty Points with this stay.
|
|
|
|
AI: Error: Maximum stay duration is 14 days.
|
|
```
|