Files
curso-langchain/slides/pages/models/12.md
T

45 lines
857 B
Markdown

---
layout: default
---
# Binding Tools al Modelo
<div class="text-sm mt-8">
<v-click>
<div class="mb-6">
Puedes vincular tools directamente al modelo con `.bindTools()`
</div>
</v-click>
<v-click>
```typescript
import { ChatOpenAI } from "@langchain/openai";
import { tool } from "@langchain/core/tools";
import { z } from "zod";
const weatherTool = tool(
async ({ location }) => `El tiempo en ${location} es soleado`,
{
name: "get_weather",
description: "Obtiene el tiempo de una ubicación",
schema: z.object({ location: z.string() }),
}
);
const model = new ChatOpenAI({ model: "gpt-4.1-mini" });
const modelWithTools = model.bindTools([weatherTool]);
const response = await modelWithTools.invoke("¿Qué tiempo hace en Madrid?");
console.log(response.tool_calls); // Tool que el LLM decidió usar
```
</v-click>
</div>