Skip to content
Bob: Platforma Open-Source de Agenti AI cu RAG si Multi-Tenancy
← ← Înapoi la Idei AI

Bob: Platforma Open-Source de Agenti AI cu RAG si Multi-Tenancy

Construirea aplicatiilor bazate pe inteligenta artificiala presupune astazi mult mai mult decat integrarea unui model lingvistic. Ai nevoie de o interfata conversationala cu memorie persistenta, de un sistem de regasire a informatiilor din documente proprii, de autentificare si management al utilizatorilor, si de flexibilitatea de a schimba furnizorul de modele AI fara sa rescrii aplicatia. Fiecare dintre aceste componente reprezinta un proiect in sine, iar asamblarea lor intr-un sistem coerent consuma luni de dezvoltare.

Bob este raspunsul nostru la aceasta provocare. Dezvoltat de Ten Invent si publicat sub licenta MIT, Bob este o platforma open-source de agenti AI care integreaza conversatii inteligente, un pipeline complet de RAG (Retrieval-Augmented Generation), sistem multi-tenant cu autentificare JWT si un strat de abstractizare care permite comutarea intre modele AI din cloud si modele locale fara nicio modificare in codul aplicatiei.

Problema pe Care Bob o Rezolva

Un model lingvistic de mari dimensiuni, oricat de performant, nu este o aplicatie. Pentru a construi ceva cu adevarat util, ai nevoie de context conversational persistent, astfel incat utilizatorii sa poata purta dialoguri coerente pe parcursul mai multor mesaje. Ai nevoie de ingestie si regasire de documente, pentru ca modelul sa raspunda pe baza datelor tale reale, nu sa inventeze informatii. Ai nevoie de autentificare, gestionarea utilizatorilor si administrarea token-urilor API pentru ca mai multi oameni sau echipe sa poata folosi sistemul in siguranta.

Si, poate cel mai important, ai nevoie de libertatea de a alege furnizorul de modele AI. Poate ca astazi folosesti Amazon Bedrock, dar maine vrei sa testezi un model local pe Ollama sau LM Studio. Aceasta tranzitie nu ar trebui sa implice rescrierea backend-ului.

Majoritatea echipelor ajung sa construiasca toata aceasta infrastructura de la zero, de multe ori cu rezultate sub-optime si intotdeauna cu un consum mare de timp. Bob ofera aceste capabilitati intr-o platforma coerenta, bine arhitecturata, pe care o poti instala, extinde si personaliza.

Arhitectura Platformei

Bob urmeaza o separare clara intre backend si frontend, conectate printr-un API RESTful cu Server-Sent Events (SSE) pentru streaming-ul raspunsurilor in timp real.

Backend-ul este construit cu FastAPI si SQLAlchemy 2, folosind Alembic pentru migrarile bazei de date. Gestioneaza toata logica de business: managementul conversatiilor, orchestrarea agentilor, procesarea documentelor, autentificarea utilizatorilor si comunicarea cu modelele lingvistice. MariaDB (sau MySQL) serveste ca baza de date relationala, iar ChromaDB functioneaza ca vector store pentru pipeline-ul RAG.

Frontend-ul este o aplicatie React moderna construita cu Vite, TypeScript si Tailwind CSS. Ofera o interfata de chat responsiva cu streaming in timp real, functionalitati de incarcare a documentelor, gestionarea sesiunilor si un panou de administrare pentru aprobarea utilizatorilor si configurarea sistemului.

Infrastructura este gestionata prin Docker pentru dezvoltare locala si template-uri AWS CloudFormation pentru deployment in cloud, facilitand tranzitia de la un prototip local la un mediu de productie.

Functionalitati Principale

Conversatii AI cu Memorie Persistenta

Bob mentine istoricul conversatiilor pe baza de sesiuni, permitand utilizatorilor sa poarte dialoguri naturale pe mai multe ture. Fiecare sesiune pastreaza contextul, astfel incat modelul intelege referintele la portiunile anterioare ale conversatiei. Raspunsurile sunt transmise in flux in timp real prin SSE, oferind o experienta fluida si responsiva.

Pipeline RAG cu ChromaDB

Una dintre cele mai valoroase capabilitati ale lui Bob este pipeline-ul de Retrieval-Augmented Generation. Utilizatorii pot incarca documente care sunt procesate prin utilitarele LangChain, fragmentate, transformate in embeddings si stocate in ChromaDB. Cand un utilizator pune o intrebare, Bob regaseste fragmentele de document cele mai relevante si le include ca si context pentru modelul lingvistic, producand raspunsuri ancorate in datele tale reale.

Acest lucru este esential pentru cazurile de utilizare profesionale si enterprise unde acuratetea conteaza. In loc sa se bazeze exclusiv pe datele de antrenament ale modelului, Bob poate referentia documentatia interna, lucrarile de cercetare, documentele de politica sau orice alt corpus de text pe care il furnizezi.

Instrumente de Agent prin Strands Agents

Bob nu este doar o interfata de chat — este o platforma de agenti. Prin Strands Agents, Bob orchestreaza un set de instrumente pe care inteligenta artificiala le poate invoca in timpul conversatiilor: un calculator pentru operatii matematice, cautare de ora si data, regasire de documente pentru raspunsuri bazate pe RAG si sumarizare pentru condensarea textelor mai lungi. Agentul decide cand si cum sa foloseasca aceste instrumente pe baza cererii utilizatorului.

Sistem Multi-Tenant cu Autentificare JWT

Bob este proiectat de la bun inceput pentru medii cu mai multi utilizatori. Include un sistem complet de autentificare bazat pe token-uri JWT, cu inregistrare de utilizatori care necesita aprobare din partea administratorului inainte de acordarea accesului. Utilizatorii isi pot gestiona propriile token-uri API pentru acces programatic. Acest lucru face ca Bob sa fie potrivit pentru deployment-uri in echipa, instrumente interne si aplicatii de tip SaaS unde izolarea utilizatorilor si controlul accesului sunt esentiale.

Suport Flexibil pentru LLM: Cloud sau Local

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

  • Amazon Bedrock pentru inferenta in cloud, oferind acces la modele precum Claude, Llama si altele disponibile prin AWS.
  • Servere compatibile OpenAI precum LM Studio, Ollama sau vLLM pentru inferenta locala sau auto-gazduita.

Comutarea intre furnizori este o schimbare de configuratie, nu o schimbare de cod. Poti dezvolta local cu un model pe Ollama, testa cu un alt model pe LM Studio si face deploy in productie pe Amazon Bedrock — totul fara sa modifici aplicatia. Pentru organizatiile cu cerinte de suveranitate a datelor sau pentru cei care doresc sa experimenteze cu diferite modele, aceasta flexibilitate este de nepretuit.

Stiva Tehnologica

| Strat | Tehnologie | |---|---| | Framework Backend | FastAPI | | ORM si Migratii | SQLAlchemy 2 + Alembic | | Baza de Date | MariaDB / MySQL | | Vector Store | ChromaDB | | Procesare Documente | LangChain | | Orchestrare Agenti | Strands Agents | | Integrare AWS | boto3 | | Framework Frontend | React + Vite | | Limbaj Frontend | TypeScript | | Stilizare | Tailwind CSS | | Autentificare | JWT | | Infrastructura | Docker, AWS CloudFormation |

Cum Incepi

Pornirea lui Bob este gandita sa fie cat mai simpla. Repository-ul include configuratii Docker Compose pentru dezvoltare locala, asa ca poti avea intreaga stiva — backend, frontend, baza de date si vector store — functionala in cateva comenzi.

  1. Cloneaza repository-ul de la https://github.com/ianghel/bob.
  2. Configureaza variabilele de mediu pentru furnizorul de LLM ales.
  3. Ruleaza docker compose up pentru a porni toate serviciile.
  4. Acceseaza frontend-ul, inregistreaza un utilizator si incepe sa conversezi.

Fisierul README din repository ofera instructiuni detaliate atat pentru dezvoltarea locala, cat si pentru deployment-ul pe AWS folosind template-urile CloudFormation incluse.

De Ce Conteaza ca Este Open Source

Am construit Bob ca proiect open-source pentru ca suntem convinsi ca infrastructura AI ar trebui sa fie transparenta, auditabila si personalizabila. Platformele AI proprietare te blocheaza la furnizori specifici, iti ascund detaliile de implementare si percep preturi premium pentru functionalitati care ar trebui sa fie standard. Cu Bob, ai codul sursa complet sub licenta MIT. Poti inspecta fiecare linie, modifica orice pentru a se potrivi nevoilor tale si instala platforma oriunde doresti — pe propriile servere, in propriul cont de cloud sau pe laptopul unui dezvoltator.

Licenta MIT inseamna ca nu exista restrictii pentru utilizarea comerciala. Poti construi produse pe baza lui Bob, il poti integra in sistemele tale existente sau il poti folosi ca resursa de invatare pentru a intelege cum sunt structurate aplicatiile AI de productie.

Contributii si Comunitate

Bob este dezvoltat activ de Ten Invent si primim cu bucurie contributii din partea comunitatii. Fie ca este vorba de adaugarea de noi instrumente de agent, imbunatatirea pipeline-ului RAG, suportul pentru furnizori suplimentari de LLM, perfectionarea frontend-ului sau rezolvarea de bug-uri — apreciem fiecare pull request si raport de problema.

Viziteaza repository-ul la https://github.com/ianghel/bob pentru a explora codul, citi documentatia si a te implica. Daca Bob iti este util, ofera un star pe GitHub — ajuta si pe altii sa il descopere.

Suntem nerabdatori sa vedem ce vei construi cu Bob.