RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

Project Introduction

  • Project: There are various types of agents (projects), each with its own functionality. (rag, ragsql, inference, vision)

  • User: Users represent the system’s users. It is used for authentication and authorization (basic authentication). Each user can access multiple projects.

  • LLMs: Supports any public or local LLM supported by LlamaIndex or Ollama.

  • VRAM: Automatic VRAM management. RestAI will manage VRAM usage, automatically loading and unloading models as needed and requested.

  • API: The API is a first-class citizen of RestAI. All endpoints are documented using Swagger.

  • Frontend: restai-frontend has a usable frontend.

Project Types

RAG

RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

  • Embedding: You can use any embedding model supported by llamaindex. Check the embedding definition.

  • Vectorstore: Supports two vector stores: <span>Chroma</span> and <span>Redis</span>

  • Retrieval: It has embedding search and scoring evaluators that allow you to assess the quality of embeddings and in LLM. It also supports re-ranking, ColBERT, and LLM-based.

  • Loader: You can use any loader supported by llamaindex.

  • Sandbox Mode: The RAG agent (project) has a “sandbox” mode, which means that when a provided question has no embedding, a locked default answer will be given. This is useful for chatbots, where in an LLM chatbot, when it doesn’t know how to answer a question, you want to provide a default answer to avoid hallucination.

  • Evaluation: You can use deepeval to evaluate your RAG agent. Use the <span>eval</span> attribute in the RAG endpoint.

RAGSQL

RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

  • Connection: Provide a MySQL or PostgreSQL connection string, which will automatically crawl the database schema, using table and column names to figure out how to convert questions into SQL and then write responses.

Inference

RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

Vision

  • text2img: RestAI supports local Stable Diffusion and Dall-E. It has a prompt enhancement feature that uses LLM internally to enhance user prompts with more details.

  • img2text: RestAI supports LLaVA and BakLLaVA by default.

  • img2img: RestAI supports InstantID and Qwen-VL by default.

Stable Diffusion & InstantID

RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

LLaVA Company

RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

LLMs

  • You can use any LLM product supported by Ollama and/or LlamaIndex.

Installation

  • RestAI uses Poetry to manage dependencies. Use <span>pip install poetry</span>.

Project Links

https://github.com/apocas/restai

Follow the “GitHubStore” public account

Scan the WeChat below

1 Join the technical exchange group, note Programming Language-City-Nickname

RestAI: An Open Source AIaaS Platform Using LlamaIndex, Ollama, and HF Pipelines

Leave a Comment