API (Application Programming Interface) — bu dasturlar o‘rtasidagi aloqa qoidasi. Agent tashqi xizmat bilan shu orqali gaplashadi.
API nima uchun kerak?
Agent’ning tool’lari asosan API’larga so‘rov yuboradi:
- ob-havo xizmati API’si;
- qidiruv tizimi API’si;
- ma’lumotlar bazasi API’si;
- boshqa AI xizmatlari API’si.
Asosiy tushunchalar
| Atama | Ma’nosi |
|---|---|
| Endpoint | API’ning manzili (URL) |
| Method | Harakat turi: GET, POST, PUT, DELETE |
| Request | So‘rov (sarlavha + ma’lumot) |
| Response | Javob (holat kodi + ma’lumot) |
| Status code | Natija kodi: 200 OK, 404 topilmadi, 500 xato |
Oddiy misol
import requests
# GET so‘rov — ma'lumot olish
response = requests.get(
"https://api.weather.com/v1/cities/tashkent",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
if response.status_code == 200:
data = response.json()
print(f"Harorat: {data['temp']}°C")
else:
print(f"Xato: {response.status_code}")
Eslatma
API kalitlari (API key) maxfiy ma'lumotdir. Ularni kod ichiga yozmang — environment variable'larda saqlang.
REST API
Eng keng tarqalgan API turi — REST:
GET /cities → shaharlar ro‘yxati
GET /cities/tashkent → bitta shahar
POST /cities → yangi shahar yaratish
DELETE /cities/tashkent → shaharni o‘chirish
Agent bilan bog‘lash
Agent tool orqali API’ni chaqiradi:
def weather_tool(city: str) -> dict:
"""Shahar ob-havosini qaytaruvchi tool."""
resp = requests.get(
f"https://api.weather.com/v1/cities/{city}",
headers={"Authorization": f"Bearer {os.environ['WEATHER_KEY']}"},
timeout=10,
)
resp.raise_for_status()
return resp.json()
agent = Agent(model="gpt-4o", tools=[weather_tool])
Amaliy maslahat
API so‘rovlariga har doim timeout qo‘shing. Agent tool'ni chaqirganda, u qancha kutishi aniq bo‘lishi kerak.
Xulosa
API — agentning tashqi dunyoga eshigi. Tool’lar API’larga so‘rov yuboradi va natijani qayta ishlaydi.