Skip to content
Bob: Platforma Open-Source de Agenți AI cu RAG și Multi-Tenancy
← ← Înapoi la Idei AI

Bob: Platforma Open-Source de Agenți AI cu RAG și Multi-Tenancy

Construirea aplicațiilor bazate pe inteligența artificială presupune astăzi mult mai mult decât integrarea unui model lingvistic. Ai nevoie de o interfață conversațională cu memorie persistentă, de un sistem de regăsire a informațiilor din documente proprii, de autentificare și management al utilizatorilor, și de flexibilitatea de a schimba furnizorul de modele AI fără să rescrii aplicația. Fiecare dintre aceste componente reprezintă un proiect în sine, iar asamblarea lor într-un sistem coerent consumă luni de dezvoltare.

Bob este răspunsul nostru la această provocare. Dezvoltat de Ten Invent și publicat sub licența MIT, Bob este o platformă open-source de agenți AI care integrează conversații inteligente, un pipeline complet de RAG (Retrieval-Augmented Generation), sistem multi-tenant cu autentificare JWT și un strat de abstractizare care permite comutarea între modele AI din cloud și modele locale fără nicio modificare în codul aplicației.

Problema pe Care Bob o Rezolvă

Un model lingvistic de mari dimensiuni, oricât de performant, nu este o aplicație. Pentru a construi ceva cu adevărat util, ai nevoie de context conversațional persistent, astfel încât utilizatorii să poată purta dialoguri coerente pe parcursul mai multor mesaje. Ai nevoie de ingestie și regăsire de documente, pentru ca modelul să răspundă pe baza datelor tale reale, nu să inventeze informații. Ai nevoie de autentificare, gestionarea utilizatorilor și administrarea token-urilor API pentru ca mai mulți oameni sau echipe să poată folosi sistemul în siguranță.

Și, poate cel mai important, ai nevoie de libertatea de a alege furnizorul de modele AI. Poate că astăzi folosești Amazon Bedrock, dar mâine vrei să testezi un model local pe Ollama sau LM Studio. Această tranziție nu ar trebui să implice rescrierea backend-ului.

Majoritatea echipelor ajung să construiască toată această infrastructură de la zero, de multe ori cu rezultate sub-optime și întotdeauna cu un consum mare de timp. Bob oferă aceste capabilități într-o platformă coerentă, bine arhitecturată, pe care o poți instala, extinde și personaliza.

Arhitectura Platformei

Bob urmează o separare clară între backend și frontend, conectate printr-un API RESTful cu Server-Sent Events (SSE) pentru streaming-ul răspunsurilor în timp real.

Backend-ul este construit cu FastAPI și SQLAlchemy 2, folosind Alembic pentru migrările bazei de date. Gestionează toată logica de business: managementul conversațiilor, orchestrarea agenților, procesarea documentelor, autentificarea utilizatorilor și comunicarea cu modelele lingvistice. MariaDB (sau MySQL) servește ca bază de date relațională, iar ChromaDB funcționează ca vector store pentru pipeline-ul RAG.

Frontend-ul este o aplicație React modernă construită cu Vite, TypeScript și Tailwind CSS. Oferă o interfață de chat responsivă cu streaming în timp real, funcționalități de încărcare a documentelor, gestionarea sesiunilor și un panou de administrare pentru aprobarea utilizatorilor și configurarea sistemului.

Infrastructura este gestionată prin Docker pentru dezvoltare locală și template-uri AWS CloudFormation pentru deployment în cloud, facilitând tranziția de la un prototip local la un mediu de producție.

Funcționalități Principale

Conversații AI cu Memorie Persistentă

Bob menține istoricul conversațiilor pe bază de sesiuni, permițând utilizatorilor să poarte dialoguri naturale pe mai multe ture. Fiecare sesiune păstrează contextul, astfel încât modelul înțelege referințele la porțiunile anterioare ale conversației. Răspunsurile sunt transmise în flux în timp real prin SSE, oferind o experiență fluidă și responsivă.

Pipeline RAG cu ChromaDB

Una dintre cele mai valoroase capabilități ale lui Bob este pipeline-ul de Retrieval-Augmented Generation. Utilizatorii pot încărca documente care sunt procesate prin utilitarele LangChain, fragmentate, transformate în embeddings și stocate în ChromaDB. Când un utilizator pune o întrebare, Bob regăsește fragmentele de document cele mai relevante și le include ca context pentru modelul lingvistic, producând răspunsuri ancorate în datele tale reale.

Acest lucru este esențial pentru cazurile de utilizare profesionale și enterprise unde acuratețea contează. În loc să se bazeze exclusiv pe datele de antrenament ale modelului, Bob poate referenția documentația internă, lucrările de cercetare, documentele de politică sau orice alt corpus de text pe care îl furnizezi.

Instrumente de Agent prin Strands Agents

Bob nu este doar o interfață de chat — este o platformă de agenți. Prin Strands Agents, Bob orchestrează un set de instrumente pe care inteligența artificială le poate invoca în timpul conversațiilor: un calculator pentru operații matematice, căutare de oră și dată, regăsire de documente pentru răspunsuri bazate pe RAG și sumarizare pentru condensarea textelor mai lungi. Agentul decide când și cum să folosească aceste instrumente pe baza cererii utilizatorului.

Sistem Multi-Tenant cu Autentificare JWT

Bob este proiectat de la bun început pentru medii cu mai mulți utilizatori. Include un sistem complet de autentificare bazat pe token-uri JWT, cu înregistrare de utilizatori care necesită aprobare din partea administratorului înainte de acordarea accesului. Utilizatorii își pot gestiona propriile token-uri API pentru acces programatic. Acest lucru face ca Bob să fie potrivit pentru deployment-uri în echipă, instrumente interne și aplicații de tip SaaS unde izolarea utilizatorilor și controlul accesului sunt esențiale.

Suport Flexibil pentru LLM: Cloud sau Local

Aspectul cel mai distinctiv al arhitecturii lui Bob este stratul de abstractizare a furnizorului de modele. Bob suportă două backend-uri LLM:

  • Amazon Bedrock pentru inferența în cloud, oferind acces la modele precum Claude, Llama și altele disponibile prin AWS.
  • Servere compatibile OpenAI precum LM Studio, Ollama sau vLLM pentru inferența locală sau auto-găzduită.

Comutarea între furnizori este o schimbare de configurație, nu o schimbare de cod. Poți dezvolta local cu un model pe Ollama, testa cu un alt model pe LM Studio și face deploy în producție pe Amazon Bedrock — totul fără să modifici aplicația. Pentru organizațiile cu cerințe de suveranitate a datelor sau pentru cei care doresc să experimenteze cu diferite modele, această flexibilitate este de neprețuit.

Stiva Tehnologică

Strat Tehnologie
Framework Backend FastAPI
ORM și Migrații SQLAlchemy 2 + Alembic
Baza de Date MariaDB / MySQL
Vector Store ChromaDB
Procesare Documente LangChain
Orchestrare Agenți Strands Agents
Integrare AWS boto3
Framework Frontend React + Vite
Limbaj Frontend TypeScript
Stilizare Tailwind CSS
Autentificare JWT
Infrastructură Docker, AWS CloudFormation

Cum Începi

Pornirea lui Bob este gândită să fie cât mai simplă. Repository-ul include configurații Docker Compose pentru dezvoltare locală, așa că poți avea întreaga stivă — backend, frontend, bază de date și vector store — funcțională în câteva comenzi.

  1. Clonează repository-ul de la https://github.com/ianghel/bob.
  2. Configurează variabilele de mediu pentru furnizorul de LLM ales.
  3. Rulează docker compose up pentru a porni toate serviciile.
  4. Accesează frontend-ul, înregistrează un utilizator și începe să conversezi.

Fișierul README din repository oferă instrucțiuni detaliate atât pentru dezvoltarea locală, cât și pentru deployment-ul pe AWS folosind template-urile CloudFormation incluse.

De Ce Contează că Este Open Source

Am construit Bob ca proiect open-source pentru că suntem convinși că infrastructura AI ar trebui să fie transparentă, auditabilă și personalizabilă. Platformele AI proprietare te blochează la furnizori specifici, îți ascund detaliile de implementare și percep prețuri premium pentru funcționalități care ar trebui să fie standard. Cu Bob, ai codul sursă complet sub licența MIT. Poți inspecta fiecare linie, modifica orice pentru a se potrivi nevoilor tale și instala platforma oriunde dorești — pe propriile servere, în propriul cont de cloud sau pe laptopul unui dezvoltator.

Licența MIT înseamnă că nu există restricții pentru utilizarea comercială. Poți construi produse pe baza lui Bob, îl poți integra în sistemele tale existente sau îl poți folosi ca resursă de învățare pentru a înțelege cum sunt structurate aplicațiile AI de producție.

Contribuții și Comunitate

Bob este dezvoltat activ de Ten Invent și primim cu bucurie contribuții din partea comunității. Fie că este vorba de adăugarea de noi instrumente de agent, îmbunătățirea pipeline-ului RAG, suportul pentru furnizori suplimentari de LLM, perfecționarea frontend-ului sau rezolvarea de bug-uri — apreciem fiecare pull request și raport de problemă.

Vizitează repository-ul la https://github.com/ianghel/bob pentru a explora codul, citi documentația și a te implica. Dacă Bob îți este util, oferă un star pe GitHub — ajută și pe alții să îl descopere.

Suntem nerăbdători să vedem ce vei construi cu Bob.