0Pricing
AI Agents · Ders

Aracıları API Arkasında Sunma

Aracınızı kimlik doğrulama, istek doğrulama ve SSE veya WebSockets üzerinden akış sağlayacak şekilde FastAPI ile sarmalayın.

Aracıları API Arkasında Sunma, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Defterden Hizmete

Not defterinde çalışan bir aracı başlangıçtır. Kullanıma sunmak için onu diğer hizmetlerin çağırabileceği bir HTTP API ile sarmalayın.

FastAPI Skeleton

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class AgentRequest(BaseModel):
    query: str
    user_id: str

class AgentResponse(BaseModel):
    answer: str
    trace_id: str

@app.post('/agents/qa', response_model=AgentResponse)
def qa(req: AgentRequest):
    trace_id = run_agent(req.query, req.user_id)
    return AgentResponse(answer=result.answer, trace_id=trace_id)

Kimlik Doğrulama

Her aracı uç noktası kimlik doğrulaması yapmalıdır. Çağıranın türüne göre API anahtarları veya OAuth kullanın:

from fastapi import Header, HTTPException

def require_api_key(api_key: str = Header(alias='X-API-Key')):
    if not is_valid(api_key):
        raise HTTPException(401, 'Invalid API key')
    return api_key

@app.post('/agents/qa')
def qa(req: AgentRequest, key=Depends(require_api_key)):
    ...

Akış Yanıtları

Sohbet arayüzleri için belirteçleri SSE kullanarak akış halinde gönderin:

from fastapi.responses import StreamingResponse

@app.post('/agents/qa/stream')
def qa_stream(req: AgentRequest):
    def gen():
        for chunk in stream_agent(req.query):
            yield f'data: {chunk}\n\n'
        yield 'data: [DONE]\n\n'
    return StreamingResponse(gen(), media_type='text/event-stream')

İstek Doğrulama

Pydantic, türleri ve temel doğrulamayı uygular. Gerektiğinde özel doğrulama ekleyin:

from pydantic import Field

class AgentRequest(BaseModel):
    query: str = Field(min_length=1, max_length=10_000)
    user_id: str
    options: dict = {}

Hata İşleme

İstisnaları temiz HTTP yanıtlarına eşleyin:

from fastapi import HTTPException

@app.exception_handler(BudgetExceeded)
def budget_handler(req, exc):
    return JSONResponse({'error': 'budget-exceeded'}, status_code=429)

@app.exception_handler(Exception)
def catch_all(req, exc):
    log.exception('Unhandled')
    return JSONResponse({'error': 'internal', 'trace_id': get_trace_id()}, status_code=500)

Eşzamanlılık

FastAPI varsayılan olarak eşzamansız çalışır. CPU'ya bağlı aracılar (nadiren) veya engelleyici SDK'ler için eşzamansız istemcileri kullanın:

from openai import AsyncOpenAI
client = AsyncOpenAI()

async def run_agent_async(query):
    return await client.chat.completions.create(...)

Health and Readiness Endpoints

@app.get('/healthz')
def healthz():
    return {'status': 'ok'}

@app.get('/readyz')
def readyz():
    if not vector_db.is_healthy():
        raise HTTPException(503)
    return {'status': 'ready'}

Containerise

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ['uvicorn', 'main:app', '--host', '0.0.0.0', '--port', '8080']

Birden Çok İşçiyle Çalıştırın

Üretim için Uvicorn + Gunicorn:

gunicorn -k uvicorn.workers.UvicornWorker -w 4 main:app

Ters Vekil Sunucu

TLS, gzip ve IP adresi izin listesi için öne Nginx veya Caddy yerleştirin.

Logging Structured Output

import structlog
log = structlog.get_logger()

@app.middleware('http')
async def log_requests(request, call_next):
    response = await call_next(request)
    log.info('http', method=request.method, path=request.url.path, status=response.status_code)
    return response

CORS for Browser Clients

from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
    CORSMiddleware,
    allow_origins=['https://app.example.com'],
    allow_methods=['*'], allow_headers=['*']
)

Üretim Kontrol Listesi Öğesi

Herhangi bir üretim aracısı API'si için hangisi zorunludur?

Özet

FastAPI + Pydantic + eşzamansız istemci + akış + kimlik doğrulama + yapılandırılmış günlükler + sağlık yoklamaları. Üretim için gereken en az yapı budur.

Sıkça Sorulan Sorular

“Aracıları API Arkasında Sunma” dersi ücretsiz mi?

Evet — “Aracıları API Arkasında Sunma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Aracıları API Arkasında Sunma” dersinde ne öğreneceğim?

Aracınızı kimlik doğrulama, istek doğrulama ve SSE veya WebSockets üzerinden akış sağlayacak şekilde FastAPI ile sarmalayın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Aracıları API Arkasında Sunma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aracıları API Arkasında Sunma
  2. Eşzamansız İş Akışları ve Arka Plan İşleri
  3. Hız Sınırlama ve Kota Yönetimi
  4. Aracılar için Mavi-Yeşil ve Kanarya Dağıtımları
← AI Agents Sayfasına Dön