{"id":21672365,"url":"https://github.com/redis-developer/redis-rag-workbench","last_synced_at":"2025-10-08T16:59:11.599Z","repository":{"id":251313774,"uuid":"817968287","full_name":"redis-developer/redis-rag-workbench","owner":"redis-developer","description":"Interactive RAG workbench to demonstrate Redis features and enhancements for improving accuracy, speed, cost, and reliability of LLM applications.","archived":false,"fork":false,"pushed_at":"2025-10-06T13:25:34.000Z","size":1537,"stargazers_count":23,"open_issues_count":4,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-06T15:23:35.342Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redis-developer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-20T20:34:25.000Z","updated_at":"2025-10-06T13:25:38.000Z","dependencies_parsed_at":"2024-08-02T06:28:44.843Z","dependency_job_id":"c77b9d74-6cfe-4c39-ba9b-5ebec5ac69e0","html_url":"https://github.com/redis-developer/redis-rag-workbench","commit_stats":null,"previous_names":["redis-developer/redis-rag-workbench"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/redis-developer/redis-rag-workbench","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-workbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-workbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-workbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-workbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redis-developer","download_url":"https://codeload.github.com/redis-developer/redis-rag-workbench/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-workbench/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278981511,"owners_count":26079640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T13:29:09.538Z","updated_at":"2025-10-08T16:59:11.593Z","avatar_url":"https://github.com/redis-developer.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\u003cdiv\u003e\u003cimg src=\"assets/redis-logo.svg\" style=\"width: 130px\"\u003e \u003c/div\u003e\n\u003ch1\u003e🚀 Redis RAG Workbench\u003c/h1\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![Language](https://img.shields.io/github/languages/top/redis-developer/redis-rag-workbench)\n![GitHub last commit](https://img.shields.io/github/last-commit/redis-developer/redis-rag-workbench)\n![Python](https://img.shields.io/badge/python-3.11%2B-blue)\n![FastAPI](https://img.shields.io/badge/FastAPI-0.115%2B-green)\n\n**🎯 The ultimate RAG development playground powered by Redis**\n\n\u003c/div\u003e\n\n🔥 **Redis RAG Workbench** is your go-to development environment for building and experimenting with **Retrieval-Augmented Generation (RAG)** applications. Drop in a PDF, chat with your documents, and harness the full power of Redis for **lightning-fast vector search**, **intelligent semantic caching**, **persistent LLM memory**, and **smart semantic routing**.\n\n✨ **What makes this special?**\n- 🚀 **One-command setup** - Get started in seconds with `make setup`\n- ⚡ **Multi-LLM support** - OpenAI, Azure OpenAI, Google VertexAI\n- 🎯 **Redis-powered** - Vector search, caching, and memory management\n- 🐳 **Docker ready** - Consistent development across all environments\n- 🔧 **Developer-first** - Hot reload, code formatting, and quality checks built-in\n\n---\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Prerequisites](#prerequisites)\n- [Getting Started](#getting-started)\n  - [Available Commands](#available-commands)\n  - [Development Workflows](#development-workflows)\n  - [Environment Configuration](#environment-configuration)\n- [Using Google VertexAI](#using-google-vertexai)\n- [Project Structure](#project-structure)\n- [Connecting to Redis Cloud](#connecting-to-redis-cloud)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n- [Learn More](#learn-more)\n\n\n## Quick Start\n\n**Get up and running in 3 commands:**\n\n```bash\ngit clone https://github.com/redis-developer/redis-rag-workbench.git\ncd redis-rag-workbench\nmake setup \u0026\u0026 make dev\n```\n\nThen visit `http://localhost:8000` and start chatting with your PDFs! 🎉\n\n---\n\n## Prerequisites\n\n1. Make sure you have the following tools available:\n   - [Docker](https://www.docker.com/products/docker-desktop/)\n   - [uv](https://docs.astral.sh/uv/)\n   - [make](https://www.make.com/en)\n2. Setup one or more of the following:\n   - [OpenAI API](https://platform.openai.com/)\n     - You will need an API Key\n   - [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service)\n     - You will need an API Key\n   - [Google VertexAI](https://cloud.google.com/vertex-ai?hl=en)\n     - [Using Google VertexAI](#using-google-vertexai)\n3. Get a [Cohere API key](https://cohere.com/) (for optional reranking features)\n\n\n## Getting Started\n\n\u003e 🌐 Access the workbench at `http://localhost:8000` in your web browser.\n\n\u003cdiv\u003e\u003cimg src=\"assets/workbench_sample.png\" style=\"width: 625px\"\u003e \u003c/div\u003e\n\n\u003e ⏱️ First run may take a few minutes to download model weights from Hugging Face.\n\n### Available Commands\n\n| Command | Description |\n|---------|-------------|\n| `make setup` | Initial project setup (install deps \u0026 create .env) |\n| `make install` | Install/sync dependencies |\n| `make dev` | Start development server with hot reload |\n| `make serve` | Start production server |\n| `make format` | Format and lint code |\n| `make check` | Run code quality checks without fixing |\n| `make docker` | Rebuild and run Docker containers |\n| `make docker-up` | Start Docker services (without rebuild) |\n| `make docker-logs` | View Docker application logs |\n| `make docker-down` | Stop Docker services |\n| `make clean` | Clean build artifacts and caches |\n\n### Development Workflows\n\n**Local Development:**\n```bash\nmake setup           # One-time setup\n# Edit .env with your API keys\nmake dev             # Start development server\n```\n\n**Docker Development:**\n```bash\nmake setup           # One-time setup  \n# Edit .env with your API keys\nmake docker          # Build and start containers\nmake docker-logs     # View logs\n```\n\n**Docker Management:**\n```bash\nmake docker-up       # Start existing containers\nmake docker-down     # Stop all services\nmake docker-logs     # Follow application logs\n```\n\n**Code Quality:**\n```bash\nmake format          # Auto-fix formatting issues\nmake check           # Check code quality without changes\n```\n\n### Environment Configuration\n\nThe project uses a single `.env` file for configuration. Copy from the example:\n\n```bash\ncp .env-example .env\n```\n\nRequired variables:\n- `REDIS_URL` - Redis connection (auto-configured for Docker)\n- `COHERE_API_KEY` - For reranking features\n\nAt least one LLM provider:\n- `OPENAI_API_KEY` - OpenAI API access\n- `AZURE_OPENAI_*` - Azure OpenAI configuration  \n- `GOOGLE_APPLICATION_CREDENTIALS` - Google VertexAI credentials\n\n## Using Google VertexAI\nThe workbench can be used with VertexAI, but requires you to set up your credentials using the `gcloud` CLI. The easiest way to do this is as follows:\n\n1. Make sure you have a [gcloud project setup](https://cloud.google.com/vertex-ai/docs/start/cloud-environment) with the VertexAI API enabled.\n2. Install the [gcloud CLI](https://cloud.google.com/sdk/docs/install)\n3. Follow the instructions to run the [`gcloud auth application-default login`](https://cloud.google.com/docs/authentication/application-default-credentials#personal) command\n4. Copy the JSON from the generated `application_default_credentials.json` into your `.env` file using the `GOOGLE_APPLICATION_CREDENTIALS` variable\n5. Set the `GOOGLE_CLOUD_PROJECT_ID` environment variable in your `.env` file to the associated gcloud project you want to use.\n\n## Project Structure\n\n- `main.py`: The entry point of the application\n- `demos/`: Contains workbench demo implementation\n- `shared_components/`: Reusable utilities and components\n- `static/`: Static assets for the web interface\n\n## Contributing\n\n🤝 Contributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Connecting to Redis Cloud\n\nIf you don't yet have a database setup in Redis Cloud [get started here for free](https://redis.io/try-free/).\n\nTo connect to a Redis Cloud database, log into the console and find the following:\n\n1. The `public endpoint` (looks like `redis-#####.c###.us-east-1-#.ec2.redns.redis-cloud.com:#####`)\n1. Your `username` (`default` is the default username, otherwise find the one you setup)\n1. Your `password` (either setup through Data Access Control, or available in the `Security` section of the database\n   page.\n\nCombine the above values into a connection string and put it in your `.env` file. It should look something like the following:\n\n```bash\nREDIS_URL=\"redis://default:\u003cpassword\u003e@redis-#####.c###.us-west-2-#.ec2.redns.redis-cloud.com:#####\"\n```\n\n\u003e 📝 **Note:** When using Docker, the Redis URL is automatically configured to use the internal Docker network. Your `.env` file can contain either a local Redis URL (`redis://localhost:6379`) or a Redis Cloud URL - both will work with Docker.\n\n## Troubleshooting\n\n### Apple Silicon (M1+)\n\nIf you find that `docker` will not work, it's possible you need to add the following line in the `docker/Dockerfile` (commented out in the Dockerfile for ease-of-use):\n\n```dockerfile\nRUN apt-get update \u0026\u0026 apt-get install -y build-essential\n```\n\n## Learn More\n\nTo learn more about Redis, take a look at the following resources:\n\n- [Redis Documentation](https://redis.io/docs/latest/) - learn about Redis products, features, and commands.\n- [Learn Redis](https://redis.io/learn/) - read tutorials, quick starts, and how-to guides for Redis.\n- [Redis Demo Center](https://redis.io/demo-center/) - watch short, technical videos about Redis products and features.\n","funding_links":[],"categories":["Demos"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredis-developer%2Fredis-rag-workbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredis-developer%2Fredis-rag-workbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredis-developer%2Fredis-rag-workbench/lists"}