Metadata-Version: 2.3
Name: raggify-perception
Version: 0.0.3
Summary: raggify-perception repo
Keywords: raggify,perception
Author: jun76
Author-email: jun76 <jun76.git@gmail.com>
License: MIT License
         
         Copyright (c) 2026 jun
         
         Permission is hereby granted, free of charge, to any person obtaining a copy
         of this software and associated documentation files (the "Software"), to deal
         in the Software without restriction, including without limitation the rights
         to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         copies of the Software, and to permit persons to whom the Software is
         furnished to do so, subject to the following conditions:
         
         The above copyright notice and this permission notice shall be included in all
         copies or substantial portions of the Software.
         
         THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
         SOFTWARE.
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Dist: openai
Requires-Dist: pillow
Requires-Dist: pymupdf
Requires-Dist: pydantic
Requires-Dist: pydantic-settings
Requires-Dist: python-dotenv
Requires-Dist: python-multipart
Requires-Dist: pyright ; extra == 'all'
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: pytest-cov ; extra == 'all'
Requires-Dist: pyright ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/jun76/raggify-perception
Project-URL: Issues, https://github.com/jun76/raggify-perception/issues
Provides-Extra: all
Provides-Extra: dev
Description-Content-Type: text/markdown

# Raggify Perception

## Introduction

This document is an input reference for developing raggify-perception: the part of Raggify system.

## Related Modules

### Raggify App

- Developed as a web application

#### Web Server (raggify-app client)

- The `client` folder is the root of raggify-app client
- Frontend of raggify-app
- Uses React, TypeScript, etc.
- Main feature is chat-style querying over documents ingested into the knowledge base
- Chat UI aims for a NotebookLM-like experience
- RAG pipeline settings UI aims for a Dify-like experience

#### App Server (raggify-app server)

- The `server` folder is the root of raggify-app server
- Backend of raggify-app
- Python program
- Manages user information and routes requests to raggify server
- Sits between raggify-app client (front) and raggify server (back)
- raggify server is treated as a driver abstraction
- It has an agent implementation and uses the backend LLM server to generate answers

### RAG Server (raggify server)

- The RAG foundation library described above
- Published as a PyPI library
- Handles upstream RAG processing (local file/URL ingestion, embeddings, index generation, etc.)
- Can selectively use local models and third-party APIs
- Supports several usage modes; in this project it runs as a resident REST API server
- This is where scaling should happen

### Raggify Client

- Client program used when raggify server is accessed as a REST API server
- Published as a PyPI library
- Supports several usage modes; in this project it provides an API for requests from raggify-app server to raggify server

### LLM Server

- Pure local LLM server.

### Raggify Perception Library

- The development target of this project
- Provides REST API Client for OCR, ASR, and image, audio, and video captioning, used by the raggify server when ingesting documents and by the app server when generating queries
