Tutorial Lengkap Tavily: AI Search API untuk RAG dan AI Agents
Tavily adalah search API yang dirancang khusus untuk aplikasi AI, Large Language Models (LLM), dan Retrieval-Augmented Generation (RAG). Berbeda dengan search API tradisional seperti Google Custom Search atau Bing API yang mengembalikan daftar URL, Tavily mengoptimalkan hasil pencarian untuk dikonsumsi langsung oleh AI — memberikan konten yang sudah diekstrak, dirangkum, dan siap digunakan sebagai konteks LLM.
Dalam tutorial ini, kita akan mempelajari cara menggunakan Tavily mulai dari instalasi, penggunaan dasar, integrasi dengan LangChain dan LlamaIndex, hingga membangun aplikasi RAG yang powerful menggunakan Tavily sebagai sumber pengetahuan real-time.
Mengapa Tavily?
Ketika membangun aplikasi AI yang membutuhkan informasi terkini dari internet, developer menghadapi beberapa tantangan:
Tavily menyelesaikan semua masalah ini dengan menyediakan:
- Hasil pencarian yang sudah diekstrak dan dibersihkan
- Konten yang dioptimalkan untuk konsumsi LLM
- Support untuk berbagai search depth (basic dan advanced)
- Integrasi native dengan framework AI populer
- Pricing yang terjangkau untuk penggunaan production
Instalasi
Python SDK
pip install tavily-python
Node.js SDK
npm install @tavily/core
Mendapatkan API Key
export TAVILYAPIKEY="tvly-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Atau simpan dalam file .env:
TAVILYAPIKEY=tvly-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Tavily menyediakan free tier dengan 1000 API calls per bulan, cukup untuk development dan prototyping.
Penggunaan Dasar
Python — Simple Search
from tavily import TavilyClient
client = TavilyClient(apikey="tvly-YOURAPIKEY")
response = client.search("Apa itu Retrieval Augmented Generation?")
for result in response["results"]:
print(f"Title: {result['title']}")
print(f"URL: {result['url']}")
print(f"Content: {result['content'][:200]}...")
print("---")
Response Structure
{
"query": "Apa itu Retrieval Augmented Generation?",
"followupquestions": None,
"answer": None,
"images": [],
"results": [
{
"title": "What is RAG? - Retrieval-Augmented Generation Explained",
"url": "https://example.com/rag-explained",
"content": "Retrieval-Augmented Generation (RAG) is...",
"score": 0.98,
"rawcontent": None
}
],
"responsetime": 1.23
}
Node.js — Simple Search
const { tavily } = require("@tavily/core");
const client = tavily({ apiKey: "tvly-YOURAPIKEY" });
async function search() {
const response = await client.search("Latest developments in AI agents 2026");
response.results.forEach(result => {
console.log(Title: ${result.title});
console.log(URL: ${result.url});
console.log(Score: ${result.score});
console.log("---");
});
}
search();
Search dengan Parameter Lanjutan
from tavily import TavilyClient
client = TavilyClient(apikey="tvly-YOURAPIKEY")
response = client.search(
query="machine learning model deployment best practices",
searchdepth="advanced", # "basic" atau "advanced"
topic="general", # "general" atau "news"
maxresults=10, # jumlah hasil (default: 5)