How to Create Tools with LangChain – The Ultimate Guide

How to Create Tools with LangChain – The Ultimate Guide
Introduction
LangChain is a powerful framework for building applications with large language models (LLMs). One of its most exciting features is the ability to create custom tools that extend the capabilities of your agents. In this guide, you’ll learn how to create, register, and use custom tools in LangChain, with practical examples in both Python and JavaScript.What Are LangChain Tools?
LangChain tools are functions or classes that allow your LLM-powered agents to interact with external data, APIs, or perform specific tasks. Tools can be as simple as a calculator or as complex as a web search or database query.Why Create Custom Tools?
- Extend LLM capabilities: Go beyond text generation.
- Integrate with APIs: Fetch real-time data, automate workflows.
- Build smarter agents: Enable reasoning, planning, and action-taking.
Step 1: Setting Up Your Environment
Python:pip install langchain openai
JavaScript:
npm install langchain openai
Step 2: Creating a Simple Tool
#### Python Example The recommended way is to use the@tool decorator:
from langchain.tools import tool@tool
def get_weather(city: str) -> str:
"""Returns the weather for a given city."""
# Imagine this calls a real API
return f"The weather in {city} is sunny."
#### JavaScript Example
import { Tool } from "langchain/tools";const getWeather = new Tool({
name: "get_weather",
description: "Returns the weather for a given city.",
func: async (city) => {
// Imagine this calls a real API
return The weather in ${city} is sunny.;
},
});
Step 3: Registering Tools with an Agent
#### Pythonfrom langchain.agents import initialize_agent, AgentType
from langchain.llms import OpenAIllm = OpenAI()
tools = [get_weather]
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)
#### JavaScript
import { initializeAgent, AgentType } from "langchain/agents";
import { OpenAI } from "langchain/llms/openai";const llm = new OpenAI();
const tools = [getWeather];
const agent = initializeAgent(tools, llm, AgentType.ZERO_SHOT_REACT_DESCRIPTION);
Step 4: Best Practices for Tool Creation
Step 5: Advanced Tools
You can create tools that:Example (Python, API call):
@tool
def get_crypto_price(symbol: str) -> str:
"""Returns the current price of a cryptocurrency."""
# Call a real API here
return f"The price of {symbol} is $50,000."
Conclusion
Custom tools are the backbone of powerful, real-world LLM applications. With LangChain, you can easily create, register, and use tools to build agents that do more than just chat—they act!Resources
Ready to build your AI agent?
Start creating your own custom AI voice and chat agents today. Free tier available.
Get Started Free →