În acest capitol, părăsim definitiv laboratoarele izolate din Cloud și trecem la producția reală. Învățăm cum să proiectăm și să implementăm o infrastructură locală izolată folosind o mașină virtuală privată în mediul Proxmox, cum să configurăm o bază de date stabilă și cum să securizăm cheile de acces direct în sistemul de operare.
„Am testat contractul de Function Calling într-un mediu protejat și am înțeles cum comunică creierul din Cloud cu funcțiile noastre. Acum este momentul să dăm jos sandbox-ul și să ridicăm scheletul fizic al autonomiei direct pe serverul local: deschidem Proxmox și configurăm prima noastră mașină virtuală de producție.”
Bun venit la faza de producție a proiectului nostru. Lăsăm în urmă simulările din browser și construim un server virtual dedicat care va rula permanent, 24/7, pe hardware-ul tău privat.
🔹Strategia de Arhitectură (Design-ul Serverului Local)
Pentru a pune în practică acest proiect în mod profesionist, avem nevoie de un mediu complet separat de calculatorul tău de zi cu zi. Cea mai curată metodă este să folosim o Mașină Virtuală (sau un container izolat) în mediul Proxmox, care se va comporta ca un server independent în rețeaua ta.
În interiorul acestui server virtual, vom găzdui ambele componente ale Agentului nostru local:
- Serverul de Bază de Date (MariaDB): Registrul nostru fizic, local, care va stoca tabelele de inventar (lumea externă pe care o va sonda Agentul).
- Mediul de Execuție (Python 3): Unde va rula scriptul nostru autonom, fiind cel care preia deciziile din Cloud și le aplică pe baza de date locală.
🔹Pregătirea Serverului Virtual (Sistemul de Operare)
Fie că alegi să creezi o Mașină Virtuală (VM) clasică sau un container de sistem în Proxmox, vom folosi ca bază o distribuție curată de Ubuntu Server.
Odată ce serverul tău virtual a pornit, deschide terminalul (Consola) și execută următoarele comenzi pentru a actualiza sistemul și a instala uneltele de bază de care are nevoie Agentul:
# 1. Actualizăm sistemul de operare la zi
sudo apt update && sudo apt upgrade -y
# 2. Instalăm serverul de bază de date și mediul Python
sudo apt install mariadb-server python3 python3-pip python3-venv -y
# 3. Ne asigurăm că baza de date pornește automat cu sistemul
sudo systemctl enable --now mariadb🔹Pregătirea Lumii Externe (Structura SQL pentru Stoc)
Pentru ca Agentul tău AI să aibă ce să verifice și să modifice, trebuie să creăm structura tabelelor în serverul local de MariaDB. În consola mașinii tale virtuale, accesează baza de date rulând următoarea comandă:
sudo mysql -u rootOdată intrat în terminalul bazei de date, rulează codul SQL de mai jos pentru a crea baza de date a depozitului, tabelul de inventar hardware și pentru a introduce primele date reale de test:
CREATE DATABASE agent_warehouse;
USE agent_warehouse;
CREATE TABLE hardware_inventory (
id INT AUTO_INCREMENT PRIMARY KEY,
component_name VARCHAR(100) NOT NULL,
specs VARCHAR(255),
stock_count INT NOT NULL,
last_update TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO hardware_inventory (component_name, specs, stock_count) VALUES
('RAM DDR3L', '8GB Kingston 1600MHz Low Voltage', 6),
('Intel NUC Mainboard', 'Replacement board for NUC 2012 i3', 2),
('SSD SATA', '500GB Crucial MX500', 12);
# Creăm un utilizator securizat pe care scriptul Python îl va folosi ca să se logheze
CREATE USER 'agent_user'@'localhost' IDENTIFIED BY 'ParolaTaSecretaDB';
GRANT ALL PRIVILEGES ON agent_warehouse.* TO 'agent_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;Tastând exit, baza ta de date locală este perfect configurată și își așteaptă observatorul inteligent.
🔹Securizarea Credențialelor (Variabilele de Mediu locale)
O regulă absolută în inginerie este că nu scriem niciodată parolele sau cheile API direct în clar în interiorul codului Python. Dacă arăți scriptul cuiva, securitatea îți este compromisă. În mediul de producție de pe mașina noastră virtuală, rezolvăm acest lucru salvând cheile direct în profilul ascuns al sistemului de operare Linux.
Deschide fișierul de configurare al terminalului folosind editorul text:
nano ~/.bashrcMergi direct la sfârșitul fișierului și adaugă cele două linii strategice (înlocuiește valoarea cu cheia ta reală generată la Pasul 1 în Google AI Studio):
export API_KEY="AIzaSy..."
export DB_PASSWORD="ParolaTaSecretaDB"Salvează și închide fișierul (apasă CTRL+X, apoi Y și Enter). Pentru ca sistemul să citească noile chei instantaneu, rulează: source ~/.bashrc. Acum, credențialele tale sunt în siguranță, izolate în memorie.
💡 Logica de Izolare: Conexiunea nativă Localhost Este esențial să înțelegi de ce această structură simplificată reprezintă un pilon masiv de securitate și performanță. Deoarece ambele aplicații (baza de date MariaDB și scriptul Python) rulează în interiorul aceleiași mașini virtuale, ele comunică direct prin interfața internă a sistemului numită Localhost (sau IP-ul intern 127.0.0.1).
Latența de rețea este zero, iar comunicarea este fulgerătoare. Mai mult, serverul de bază de date nu este expus în rețeaua ta de acasă (LAN) și nu are porturi deschise în router. El este complet invizibil și baricadat în interiorul mașinii virtuale, fiind accesibil exclusiv pentru scriptul Python care rulează chiar lângă el.
🛠️ Ce urmează în Episodul 6? Mașina noastră virtuală este pregătită în Proxmox, baza de date este populată cu stocuri reale, iar cheia de acces este ascunsă în siguranță în sistem. Cu toate acestea, serverul este în acest moment ca o fabrică goală: avem infrastructura, dar ne lipsește muncitorul.
În episodul următor, intrăm în zona de programare pură. Vom scrie scriptul real agent.py direct în interiorul mașinii virtuale. Vei învăța cum să conectezi codul Python la baza de date locală și cum să implementezi mecanismul de Function Calling prin API-ul Gemini. Vom analiza în detaliu schimbul de mesaje dintre aplicația locală și modelul AI, folosind apeluri HTTP REST directe pentru a înțelege transparent fiecare etapă a procesului. Pregătește-te, dăm viață scriptului local!
Infrastructura ta locală a fost ridicată cu succes și este securizată. Serverul virtual rulează și pune bazele primei tale rețele autonome.
Stay Free! Stay Hidden! Stay Autonomous!
⚙️ Appendix: Micro-Curs de Inginerie AI (Clarificări Tehnice)
- Virtual Machine / Server Virtual: O emulare software a unui computer fizic care rulează un sistem de operare complet independent, utilizând o parte din resursele hardware (CPU, RAM, stocare) ale serverului gazdă.
- Localhost (127.0.0.1): O adresă IP standard utilizată de un sistem de operare pentru a trimite pachete de date către el însuși, permițând aplicațiilor locale să comunice securizat fără a trece prin rețeaua externă.
- Bashrc (~/.bashrc): Un fișier de configurare ascuns din sistemele Linux care stochează setările utilizatorului și variabilele de mediu, rulând automat de fiecare dată când se deschide o sesiune de terminal.
- MariaDB User Privileges: Mecanismul de securitate din SQL prin care se limitează drepturile unui utilizator la o singură bază de date specifică, interzicându-i accesul la restul sistemului în caz de compromitere.
