Skip to content

Repository files navigation

🇬🇧 English | 🇫🇷 Français | 🇪🇸 Español | 🇵🇹 Português | 🇯🇵 日本語 | 🇷🇺 Русский | 🇸🇦 العربية | 🇨🇳 中文 | 🇭🇰 🇹🇼 🇲🇴 中文


Rubus-VMS

🌿 Welcome to Rubus-VMS - API & Vector Memory Service (Rubus-VMS)

🏗️ Introduction

The Vector Memory Service project is designed to create a vector memory from data collected by the Rubus-Cron system. This vector memory will serve as a dynamic knowledge base for specialized AI agents.

🔹 Tech Stack:

  • Language: Python 🐍
  • Vector Database: FAISS / Weaviate / Pinecone / ChromaDB
  • Backend API: FastAPI ⚡
  • Metadata Storage: PostgreSQL 🏛️
  • Integration with AI Agents: OpenAI API / LlamaIndex / Custom RAG (Retrieval-Augmented Generation)

🎯 Goals & Features

1️⃣ Data Ingestion & Preprocessing

  • Extraction from Rubus-Cron 📡
  • Text cleaning and tokenization
  • Data vectorization (embedding with BERT, SBERT, etc.)

2️⃣ Storage & Indexing

  • Indexing vectors in FAISS / Weaviate 🔍
  • Association with metadata stored in PostgreSQL 📊

3️⃣ Search & Retrieval API

  • Endpoint to query the vector memory
  • Advanced semantic search for AI agents 🤖
  • Optimization of RAG (Retrieval-Augmented Generation)

4️⃣ Integration with AI Agents

  • Connection to models via model-ai_microservice 🎯
  • Access to filtered data based on specific agent needs (e.g., economic agent) 🏦

⚙️ Installation & Setup

1️⃣ Clone the repository

git clone https://github.com/0xrubusdata/rubus-vms
cd rubus-vms

2️⃣ Configure environment variables

Create a .env file at the project root:

  • Define Base source (Rubus-PostgreSQL)
  • Define Base locale (VMS-PostgreSQL) métadata
  • Define Embedding API (local or remote)

3️⃣ Run with Docker

docker-compose up --build

🧠 Workflow of Rubus-VMS

📌 How data flows

  • 1️⃣ Raw data is fetched from CRON-PostgreSQL using DataFetcher.fetch_data().
  • 2️⃣ Text is cleaned and preprocessed with DataTransformer.preprocess().
  • 3️⃣ The embedding is generated via DataTransformer.embed().
  • 4️⃣ The embedding is stored in FAISS/ChromaDB via VectorStore.add_vectors().
  • 5️⃣ The metadata is stored in VMS-PostgreSQL via MetadataStorage.store_metadata().
  • 6️⃣ A search request is made via /api/search to find relevant results.

🚀 Execution

📌 /api/search

curl -X GET "http://localhost:8001/api/search?model=llama3.2&memory_type=economic&query=Latest economic trends&top_k=5"

📌 Conclusion

The Vector Memory Service project is a central component of the RubusData ecosystem:

  • It enables efficient organization, search, and retrieval of indexed data.
  • It provides a solid foundation for AI agents capable of accessing persistent and optimized memory.
  • Its flexible integration allows adaptation to various types of AI missions.

🔥 Next step: Integration with the AI agent framework! 🚀


📄 License

This project is licensed under the MIT License.


📝 Author

🌐 Connect with Us

🎯 Happy Coding! 🚀

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages