Skip to content

LLM Search

Querying local documents, powered by LLM

Install

$git clone https://github.com/snexus/llm-search

Install command taken from the project's README or registry entry. Always review code before running it.

pyLLMSearch - Advanced RAG

Documentation

The purpose of this package is to offer an advanced question-answering (RAG) system with a simple YAML-based configuration that enables interaction with a collection of local documents. Special attention is given to improvements in various components of the system in addition to basic LLM-based RAGs - better document parsing, hybrid search, HyDE, chat history, deep linking, re-ranking, the ability to customize embeddings, and more. The package is designed to work with custom Large Language Models (LLMs) – whether from OpenAI or installed locally.

Interaction with the package is supported through the built-in frontend, or by exposing an MCP server, allowing clients like Cursor, Windsurf or VSCode GH Copilot to interact with the RAG system.

Features

  • Fast parsing and embedding of medium size document bases (tested on up to few gigabytes of markdown and pdfs)

  • Incremental updates for new documents, without a need to re-index the entire document base.

  • Supported document formats

    • Build-in parsers:
      • .md - Divides files based on logical components such as headings, subheadings, and code blocks. Supports additional features like cleaning image links, adding custom metadata, and more.
      • .pdf - MuPDF-based parser.
      • .docx - custom parser, supports nested tables.
    • Other common formats are supported by Unstructured pre-processor:
      • List of formats see here.
  • FastAPI based API + MCP server, allowing communicating with RAG via any mcp client, including VSCode/Windsurf/Cursor and others.

  • Deep linking into document sections - jump to an individual PDF page or a header in a markdown file.

  • Allows interaction with embedded documents, internally supporting the following models and methods (including locally hosted):

    • OpenAI compatible models and APIs.
    • HuggingFace models.
  • Interoperability with LiteLLM + Ollama via OpenAI API, supporting hundreds of different models (see Model configuration for LiteLLM)

  • SSE MCP Server enabling interface with popular MCP clients.

  • Hybrid search and Reranking

    • Dense embeddings from a folder of documents and stores them in a vector database (ChromaDB).

    • The following embedding models are supported:

      • Hugging Face embeddings.
      • Sentence-transformers-based models.
      • Instructor-based models.
      • OpenAI embeddings.
    • Sparse embeddings using SPLADE (https://github.com/naver/splade) to enable hybrid search (sparse + dense).

    • Supports the "Retrieve and Re-rank" strategy for semantic search, see here.

      • Besides the originally ms-marco-MiniLM cross-encoder, more modern bge-reranker-v2-m3 and zerank-2 is supported.
  • Support for table parsing via open-source gmft (https://github.com/conjuncts/gmft) or Azure Document Intelligence.

  • Optional support for image parsing using Gemini API.

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io