Guide · Open source
How to use production-agentic-rag-course: setup and weekly path
Updated · written with AI from the project's own documentation and checked against our catalogue data
production-agentic-rag-course is an MIT-licensed Python learning project from jamwithai, published as the arXiv Paper Curator. It builds a research assistant that fetches arXiv papers, parses and indexes them, and answers questions about them with retrieval-augmented generation. This guide shows you how to set it up with Docker Compose and uv, and how to follow its weekly stages from search basics to a LangGraph agent with a Telegram bot.
Quick start
- 1Check prerequisites. Install Docker Desktop with Docker Compose, Python 3.12+, and the UV Package Manager. Make sure you have 8GB+ RAM and 20GB+ free disk space.
- 2Clone the repository. Run git clone with the repository URL, then change into the arxiv-paper-curator folder.
- 3Copy the environment file. Run cp .env.example .env. Add the Jina embeddings API key and Langfuse keys described in the blog posts.
- 4Install Python dependencies. Run uv sync to install the project's Python dependencies.
- 5Start all services. Run docker compose up --build -d to build and start the containers in the background.
- 6Verify the API. Call http://localhost:8000/api/v1/health with curl, then open the /docs page to explore the endpoints.
- 7Pick a weekly tag. Clone a specific week's tagged release if you want to follow the course path stage by stage.
Check the prerequisites before you start
The project expects Docker Desktop with Docker Compose, Python 3.12 or newer, and the UV Package Manager. The README also recommends 8GB+ RAM and 20GB+ of free disk space.
- Docker Desktop (with Docker Compose)
- Python 3.12+
- UV Package Manager
- 8GB+ RAM and 20GB+ free disk space
Clone the repository and configure the environment
Clone the repository, enter the project folder, and copy the environment template. The README says the defaults work out of the box, but you need to add a Jina embeddings API key and Langfuse keys, which the blog posts explain.
git clone <repository-url>
cd arxiv-paper-curator
cp .env.example .envInstall dependencies and start the services
Install the Python dependencies with uv, then start all services with Docker Compose in detached mode. The build step runs as part of the start command.
uv sync
docker compose up --build -dVerify the stack and open the interfaces
Once the containers are up, call the health endpoint to confirm the API responds. The README lists the local URLs for the main services.
- API documentation: http://localhost:8000/docs
- Gradio RAG interface: http://localhost:7861
- Langfuse dashboard: http://localhost:3000
- Airflow dashboard: http://localhost:8080 (credentials are in airflow/simple_auth_manager_passwords.json.generated)
- OpenSearch Dashboards: http://localhost:5601
curl http://localhost:8000/api/v1/healthFollow the course week by week using tagged releases
The course is organised into weekly stages, each with a blog post and a tagged release. To run a specific stage, clone that tag, then reset the Docker volumes before starting, as the README shows. Replace the placeholder with a tag such as week1.0 or week2.0.
- Week 1: infrastructure with Docker, FastAPI, PostgreSQL, OpenSearch and Airflow
- Week 2: automated arXiv ingestion and parsing
- Week 3: BM25 keyword search with filtering
- Week 4: chunking and hybrid search
- Week 5: complete RAG pipeline with local LLM, streaming and Gradio
- Week 6: Langfuse tracing and Redis caching
- Week 7: agentic RAG with LangGraph and a Telegram bot
git clone --branch <WEEK_TAG> https://github.com/jamwithai/arxiv-paper-curator
cd arxiv-paper-curator
uv sync
docker compose down -v
docker compose up --build -dKnow what the Week 7 agent does
The final stage adds an agentic layer on top of retrieval. According to the README, agents evaluate and adapt retrieval, grade documents for relevance, rewrite queries when results are insufficient, and detect out-of-domain questions. A Telegram bot provides mobile access.
- Document grading with relevance assessment
- Query rewriting when results are insufficient
- Out-of-domain detection as a guardrail
- Full reasoning step tracking for debugging
What people use it for
- Learning how a RAG system is assembled from Docker, FastAPI, PostgreSQL and OpenSearch
- Building a research assistant that answers questions about arXiv papers
- Comparing BM25 keyword search with hybrid search that adds vectors
- Studying LangGraph agent patterns such as document grading and query rewriting
Frequently asked questions
Is production-agentic-rag-course free to use?
The project is released under the MIT licence, according to the listing. You still need to supply your own Jina embeddings API key and Langfuse keys, as the README notes.
What do I need to run production-agentic-rag-course?
You need Docker Desktop with Docker Compose, Python 3.12 or newer, the UV Package Manager, 8GB+ RAM and 20GB+ of free disk space. The README assumes familiarity with Docker Compose and uv.
Is this a ready-made research tool?
No. It is structured as a course that you build and run yourself. It requires setup with Docker and Python before it can answer questions about papers.
Do I need to know Python and Docker first?
Yes, the README assumes you already know Python and Docker Compose. Readers new to containers may find the setup difficult without that background.
Can I start from a specific week instead of the latest code?
Yes. Clone the release tag for that week, such as week3.0, then run uv sync and docker compose down -v before docker compose up --build -d.
How does it compare to LangChain, LlamaIndex, Haystack or RAGFlow?
This project is a course with a complete worked example, not a general reusable library. If you need a framework to build your own application, the comparable projects listed for this item are a more direct fit.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Choose this if you are an engineer or student who knows Python and Docker and wants to build a RAG system step by step, with a weekly blog and tagged code for each stage. Pick a different tool if you want a ready-made research assistant or a general production library, since this project requires significant setup and is structured as a course.
Install options & downloads