Tutorial

Tahap 2: Membangun Backend (The Brain)

· 2 min read
Backend Programming AI Python
Tahap 2: Membangun Backend (The Brain)

🧠 1. Membuat Logika AI (backend/agents.py)

File ini berisi "Otak" asisten riset kita. Kita gunakan teknik yang sudah dipelajari: System Instruction dan Function Calling.

import google.generativeai as genai
import os
from dotenv import load_dotenv

load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

def run_research_agent(topic: str):
    # Setup Model
    model = genai.GenerativeModel(
        model_name='gemini-1.5-flash',
        system_instruction="Kamu adalah AI Research Architect untuk fadam24.my.id. Tugasmu meriset topik secara mendalam dan memberikan ringkasan yang elegan, minimalis, dan profesional."
    )
    
    prompt = f"Lakukan riset mendalam tentang topik: {topic}. Berikan poin-poin penting dan kesimpulan akhir."
    
    try:
        response = model.generate_content(prompt)
        return response.text
    except Exception as e:
        return f"Waduh Kay, ada error pas riset: {str(e)}"

🌐 2. Membuat Server API (backend/app.py)

File ini adalah gerbang yang akan menerima permintaan dari website kamu.

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
import agents # Memanggil file agents.py yang kita buat tadi

app = FastAPI()

# 🔐 PENTING: Izinkan Frontend akses ke Backend
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"], # Di tahap dev, kita izinkan semua. Nanti bisa diperketat.
    allow_methods=["*"],
    allow_headers=["*"],
)

class ResearchRequest(BaseModel):
    topic: str

@app.get("/")
def home():
    return {"message": "Server AI fadam24 Aktif!"}

@app.post("/research")
async def do_research(request: ResearchRequest):
    # Menjalankan agen riset secara asynchronous
    result = agents.run_research_agent(request.topic)
    return {"data": result}

🚀 3. Menjalankan Server

Sekarang, buka terminal di folder /backend (pastikan venv aktif) dan jalankan:

uvicorn app:app --reload

Jika muncul pesan Uvicorn running on http://127.0.0.1:8000, selamat! Otak AI kamu sudah hidup dan siap menerima perintah.


💡 Tips Arsitek: Kenapa Pake FastAPI?

  • Async: AI butuh waktu buat "mikir". FastAPI bisa nungguin AI tanpa bikin server macet.
  • Auto-Docs: Coba buka http://127.0.0.1:8000/docs. Kamu bakal dapet dokumentasi API otomatis buat ngetes perintah tanpa perlu coding frontend dulu.

Share this article