No description
Find a file
Edwin Jose 3881c50ad5 Add comprehensive test suite and Makefile targets
Introduces a full test suite under the tests/ directory, including API, service, connector, and utility tests, along with fixtures and documentation. Expands Makefile with granular test commands for unit, integration, API, service, connector, coverage, and quick tests. Adds configuration files for pytest and coverage reporting, and provides a quickstart guide for testing workflow.
2025-10-07 04:41:52 -04:00
.github/workflows Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
assets adding tui screenshots 2025-09-10 13:06:47 -04:00
docs provider-api-keys-restriction-and-docker-commands 2025-10-02 15:21:07 -04:00
documents adds support to load files in document folder at startup 2025-09-03 13:41:53 -04:00
flows Merge branch 'main' into add-mcp-agent-flows 2025-10-06 17:27:36 -04:00
frontend lint types fix 2025-10-06 23:36:37 -04:00
keys empty keys directory 2025-09-02 17:12:21 -04:00
securityconfig fix: os add scroll permissions for delete functionality 2025-09-19 12:17:46 -04:00
src Merge branch 'main' into add-mcp-agent-flows 2025-10-06 23:17:14 -04:00
tests Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
.coverage Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
.dockerignore Add environment and build file exclusions to .dockerignore 2025-09-08 18:06:18 -03:00
.DS_Store Update to components and flows 2025-09-29 14:53:47 -04:00
.env.example added url ingest id to everything 2025-10-03 17:29:28 -03:00
.gitignore tui: docling pid and host detection 2025-10-06 14:46:51 -04:00
.python-version take 0 2025-07-10 22:36:45 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md 2025-09-12 11:57:23 -04:00
coverage.xml Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
docker-compose-cpu.yml Merge branch 'main' into add-mcp-agent-flows 2025-10-06 17:27:36 -04:00
docker-compose.yml update the docker compose 2025-10-06 23:16:32 -04:00
Dockerfile chown 2025-09-03 22:22:20 -04:00
Dockerfile.backend make flows visible to backend container 2025-09-09 14:12:02 -04:00
Dockerfile.frontend change the parameter! 2025-09-08 15:42:20 -04:00
Dockerfile.langflow Update base image to langflow-nightly:1.6.3.dev1 2025-10-06 21:16:56 -04:00
Makefile Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
pyproject.toml Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
pytest.ini Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
README.md Merge branch 'main' into docs-env-vars 2025-09-30 15:22:41 -04:00
TESTING_QUICKSTART.md Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
uv.lock Add comprehensive test suite and Makefile targets 2025-10-07 04:41:52 -04:00
warm_up_docling.py doc processing knobs 2025-09-18 16:27:01 -04:00

OpenRAG

OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations. Users can upload, process, and query documents through a chat interface backed by large language models and semantic search capabilities. The system utilizes Langflow for document ingestion, retrieval workflows, and intelligent nudges, providing a seamless RAG experience. Built with Starlette, Next.js, OpenSearch, and Langflow integration. Ask DeepWiki

Langflow    OpenSearch    Starlette    Next.js

🚀 Quick Start

Prerequisites

  • Docker or Podman with Compose installed
  • Make (for development commands)

1. Environment Setup

# Clone and setup environment
git clone https://github.com/langflow-ai/openrag.git
cd openrag
make setup  # Creates .env and installs dependencies

2. Configure Environment

Edit .env with your API keys and credentials:

# Required
OPENAI_API_KEY=your_openai_api_key
OPENSEARCH_PASSWORD=your_secure_password
LANGFLOW_SUPERUSER=admin
LANGFLOW_SUPERUSER_PASSWORD=your_secure_password
LANGFLOW_CHAT_FLOW_ID=your_chat_flow_id
LANGFLOW_INGEST_FLOW_ID=your_ingest_flow_id
NUDGES_FLOW_ID=your_nudges_flow_id

See extended configuration, including ingestion and optional variables: docs/reference/configuration.md

3. Start OpenRAG

# Full stack with GPU support
make dev

# Or CPU only
make dev-cpu

Access the services:

🖥️ TUI Interface

OpenRAG includes a powerful Terminal User Interface (TUI) for easy setup, configuration, and monitoring. The TUI provides a user-friendly way to manage your OpenRAG installation without complex command-line operations.

OpenRAG TUI Interface

Launching the TUI

# Install dependencies first
uv sync

# Launch the TUI
uv run openrag

TUI Features

See the full TUI guide for features, navigation, and benefits: docs/get-started/tui.mdx

🐳 Docker Deployment

Standard Deployment

# Build and start all services
docker compose build
docker compose up -d

CPU-Only Deployment

For environments without GPU support:

docker compose -f docker-compose-cpu.yml up -d

More deployment commands and tips: docs/get-started/docker.mdx

🔧 Troubleshooting

Podman on macOS

If using Podman on macOS, you may need to increase VM memory:

podman machine stop
podman machine rm
podman machine init --memory 8192   # 8 GB example
podman machine start

Common Issues

See common issues and fixes: docs/support/troubleshoot.mdx

🛠️ Development

For developers wanting to contribute to OpenRAG or set up a development environment, please see our comprehensive development guide:

📚 See CONTRIBUTING.md for detailed development instructions

The contributing guide includes:

  • Complete development environment setup
  • Local development workflows
  • Testing and debugging procedures
  • Code style guidelines
  • Architecture overview
  • Pull request guidelines

Quick Development Commands

make help                    # See all available commands
make setup                   # Initial development setup
make infra                   # Start infrastructure services
make backend                 # Run backend locally
make frontend                # Run frontend locally