Agenttien tarjoaminen API:n takana
Pakatkaa agentti FastAPI:n sisään ja lisätkää todennus, pyyntöjen validointi sekä suoratoisto SSE:n tai WebSocketien kautta.
Agenttien tarjoaminen API:n takana on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Osaa tämän oppitunnin sisällöstä ei ole vielä käännetty, joten se näytetään englanniksi.
Muistikirjasta palveluksi
Toimiva agentti muistikirjassa on vasta alku. Tuotantoon viemistä varten ympäröikää se HTTP-API:lla, jota muut palvelut voivat kutsua.
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)Todennus
Jokaisen agentin päätepisteen on todennettava kutsuja. Käyttäkää API-avaimia tai OAuthia kutsujan tyypin mukaan:
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)):
...Vastausten suoratoisto
Chat-käyttöliittymiä varten suoratoistakaa tokenit SSE:n avulla:
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')Pyyntöjen validointi
Pydantic valvoo tyyppejä ja tekee perusvalidoinnin. Lisätkää tarvittaessa mukautettua validointia:
from pydantic import Field
class AgentRequest(BaseModel):
query: str = Field(min_length=1, max_length=10_000)
user_id: str
options: dict = {}Virheenkäsittely
Muuntakaa poikkeukset selkeiksi HTTP-vastauksiksi:
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)Samanaikaisuus
FastAPI käyttää async-mallia oletuksena. Käyttäkää suorittimen kuormittamille agenteille (harvinaisia) tai estäville SDK:ille asynkronisia asiakasohjelmia:
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']Ajakaa useilla workereilla
Uvicorn + Gunicorn tuotantokäyttöön:
gunicorn -k uvicorn.workers.UvicornWorker -w 4 main:appKäänteisvälityspalvelin
Sijoittakaa Nginx tai Caddy edustalle TLS:ää, gzip-pakkausta ja IP-osoitteiden sallittujen listojen hallintaa varten.
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 responseCORS for Browser Clients
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=['https://app.example.com'],
allow_methods=['*'], allow_headers=['*']
)Tuotantotarkistuslistan kohta
Mikä on välttämätöntä kaikissa tuotantokäytössä olevissa agentti-API:issa?
Kertaus
FastAPI + Pydantic + asynkroninen asiakas + suoratoisto + tunnistautuminen + rakenteiset lokit + terveystarkistukset. Tämä on tuotantokäytön vähimmäisvaatimus.
Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 60
- Oppitunnit
- 239
Usein kysytyt kysymykset
Onko oppitunti ”Agenttien tarjoaminen API:n takana” ilmainen?
Kyllä – oppitunnin ”Agenttien tarjoaminen API:n takana” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Agenttien tarjoaminen API:n takana”?
Pakatkaa agentti FastAPI:n sisään ja lisätkää todennus, pyyntöjen validointi sekä suoratoisto SSE:n tai WebSocketien kautta. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Agenttien tarjoaminen API:n takana”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?
Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Agenttien tarjoaminen API:n takana
- Asynkroniset työnkulut ja taustatyöt
- Nopeusrajoitukset ja kiintiöiden hallinta
- Blue-green- ja canary-julkaisut agenteille