Skip to main content

Local RAG framework for building intelligent knowledge bases

Project description

SolveDesk AI

Intelligent knowledge base powered by embeddings, vector search and Retrieval-Augmented Generation (RAG).

Overview

SolveDesk AI is a lightweight open-source framework for building local intelligent knowledge bases. The project provides a command-line interface for creating vector databases, importing documents, generating embeddings, performing semantic search, and integrating with local Large Language Models (LLMs).

Inspired by frameworks such as Laravel and Django, SolveDesk AI simplifies the process of building Retrieval-Augmented Generation (RAG) systems by providing ready-to-use commands and a modular architecture.

The framework can be used both as a production-ready knowledge base solution and as an educational platform for learning modern AI technologies, vector databases, embeddings, and semantic retrieval.


Features

  • Local knowledge base creation
  • Semantic document search
  • Retrieval-Augmented Generation (RAG)
  • Vector database management
  • Embedding generation
  • Local LLM integration through Ollama
  • Data synchronization from APIs
  • CSV, JSON and XLSX import support
  • Embedding quality analysis
  • Document chunking
  • FastAPI integration
  • Command-line interface

Architecture

Documents / API
       │
       ▼
Embedding Model
       │
       ▼
    ChromaDB
       │
       ▼
Semantic Search
       │
       ▼
      LLM
    Ollama
       │
       ▼
 Generated Response

Technologies

Technology Purpose
Python 3.11 Application runtime
FastAPI REST API
ChromaDB Vector database
silver-retriever-base-v1 Embedding model
Sentence Transformers Embedding generation
Ollama Local LLM integration
Matplotlib Data visualization
Typer Command-line interface

Installation

Install solvedesk:

venv\Scripts\activate 
(venv) pip install solvedesk-ai

Initialize project:

(venv) C:\path\to\project> solvedesk conf init

[INFO] SolveDesk AI - Project Generator

[INPUT] Project name: Test123
[INPUT] Project description [Local RAG knowledge base]:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Configuration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[DETAILS] Name        : Test123
[DETAILS] Description : Local RAG knowledge base
[DETAILS] Template    : https://github.com/studiocyfrowe/solvedesk-ai

[CONFIRM] Continue project creation? [y/N]: y

[STATUS] Downloading template...

[STATUS] Project created successfully

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Project information
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[DETAILS] Location : C:\path\to\project\Test123
[DETAILS] Name     : Test123
[DETAILS] Description : Local RAG knowledge base

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[INFO] Next steps:

cd Test123
solvedesk db init
solvedesk llm init
solvedesk run:app

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[STATUS] Happy coding!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Initialize vector database:

(venv) C:\path\to\project> solvedesk db init

Downloading embedding model...
Model downloaded: infrastructure\models\silver-retriever-base-v1
Plik .env już istnieje  pominięto tworzenie
Created databases directory: infrastructure\databases
Created vector database: infrastructure\databases\default-db
Created/downloaded collection: random-text
SolveDesk vector DB initialized


(venv) C:\path\to\project> solvedesk db new
[STATUS] Created new collection: sd-collection-8780

(venv) C:\path\to\project> solvedesk db new --collection-name test_col
[STATUS] Created new collection: test_col

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[NEXT STEP] Show details: solvedesk db details <collection-name>
[NEXT STEP] Show list: solvedesk db list


(venv) C:\path\to\project> solvedesk db list

test_col | id=235c239e-421b-4b09-95d2-8a81bbafffd3 | documents=0 | metadata={'hnsw:space': 'cosine'}
sd-collection-8780 | id=d857b0a3-27cc-4a67-8463-4d4d075b00dd | documents=0 | metadata={'hnsw:space': 'cosine'}


(venv) C:\path\to\project> solvedesk db init --chroma-dir test12345

[CONFIRM] Download embedding model (ipipan/silver-retriever-v1)? [y/N]: n
Plik .env już istnieje  pominięto tworzenie

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[STATUS] Created databases directory: utils\databases
[STATUS] Created vector database: utils\databases\test12345
[STATUS] Vector Database is ready!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[NEXT STEP] Create new collection: solvedesk db new <collection-name>

Configure local LLM:

solvedesk llm init

CLI Commands

Project Configuration

solvedesk conf init

Initialize project environment.

Database

solvedesk db init

Create vector database and download embedding model.

solvedesk db list

Display available collections.

solvedesk db details COLLECTION_NAME

Display collection details.

Data Synchronization

solvedesk sync api

Import documents from external API.

solvedesk sync file

Import documents from CSV, JSON or XLSX files.

Data Analysis

solvedesk data revision

Generate reports containing:

  • cosine similarity statistics
  • cluster distribution
  • token statistics
  • PCA visualization

Chunking

solvedesk data chunk

Split large documents into smaller chunks suitable for RAG systems.

LLM Configuration

solvedesk llm init

Configure Ollama host and model.

Run Application

solvedesk run:app

Start FastAPI server.


Supported Data Structures

FAQ

{
  "question": "How to reset password?",
  "answer": "Use reset password page."
}

Knowledge Base

{
  "name": "VPN Connection",
  "question": "Cannot connect to VPN",
  "answer": "Verify credentials and VPN client configuration."
}

Example Workflow

solvedesk conf init
solvedesk db init
solvedesk sync file
solvedesk data revision
solvedesk llm init
solvedesk run:app

Project Goals

  • Build local intelligent knowledge bases
  • Simplify RAG implementation
  • Support AI experimentation
  • Provide full control over data
  • Enable local LLM deployments
  • Offer educational value for learning AI technologies

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solvedesk_ai-0.2.8.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solvedesk_ai-0.2.8-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

Details for the file solvedesk_ai-0.2.8.tar.gz.

File metadata

  • Download URL: solvedesk_ai-0.2.8.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for solvedesk_ai-0.2.8.tar.gz
Algorithm Hash digest
SHA256 7d21845618c786614b98d7f18f8dc120897e92e816705dc784e98baaf8ef73df
MD5 20111c105abf93911e3e0682c8068bb7
BLAKE2b-256 cf434af96df6ffa85106366e3e1fcd9f5a359883c4d79a3a3eb2c961793f0a9f

See more details on using hashes here.

File details

Details for the file solvedesk_ai-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: solvedesk_ai-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 41.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for solvedesk_ai-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 5ddd34eb240ded0e10d4fb6e9cbd6a309df178248e8db30c882b444be0cb78e4
MD5 759d41c35840940def61a5a161b10cd5
BLAKE2b-256 dfe57e37f74095e389af6047edcc5ba2480b6e6910e363697dccc5c368c23024

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page