Skip to content

Commit 2ff2a34

Browse files
userclaude
andcommitted
Improve README visual layout with shields.io badges and polished headers
- Root README: reorganize badges into three logical rows (GitHub stats, tech stack, resources); add Stars, Forks, Last Commit, Issues, and PRs Welcome badges; standardize to style=flat with consistent colors - project/README: replace plain header with centered div, descriptive subtitle, matching badge row, and bold dot-separated nav links; add left-alignment markers to all major tables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ee5184f commit 2ff2a34

2 files changed

Lines changed: 53 additions & 25 deletions

File tree

README.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,40 @@ To achieve this level of autonomy, this codebase integrates several best-in-clas
4949
<a href="#troubleshooting">Troubleshooting</a>
5050
</p>
5151

52+
<p align="center">
53+
<a href="https://github.com/scriptbuzz/tutorial-agentic-rag/stargazers">
54+
<img src="https://img.shields.io/github/stars/scriptbuzz/tutorial-agentic-rag?style=flat&logo=github&color=yellow" alt="GitHub Stars"/>
55+
</a>
56+
<a href="https://github.com/scriptbuzz/tutorial-agentic-rag/network/members">
57+
<img src="https://img.shields.io/github/forks/scriptbuzz/tutorial-agentic-rag?style=flat&logo=github&color=blue" alt="GitHub Forks"/>
58+
</a>
59+
<a href="https://github.com/scriptbuzz/tutorial-agentic-rag/commits/main">
60+
<img src="https://img.shields.io/github/last-commit/scriptbuzz/tutorial-agentic-rag?style=flat&logo=github" alt="Last Commit"/>
61+
</a>
62+
<a href="https://github.com/scriptbuzz/tutorial-agentic-rag/issues">
63+
<img src="https://img.shields.io/github/issues/scriptbuzz/tutorial-agentic-rag?style=flat&logo=github" alt="Open Issues"/>
64+
</a>
65+
<img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat" alt="License"/>
66+
</p>
67+
68+
<p align="center">
69+
<img src="https://img.shields.io/badge/Python-3.11%2B-3776AB?style=flat&logo=python&logoColor=white" alt="Python 3.11+"/>
70+
<img src="https://img.shields.io/badge/LangGraph-1.0%2B-1868F2?style=flat&logo=langchain&logoColor=white" alt="LangGraph"/>
71+
<img src="https://img.shields.io/badge/Qdrant-Vector%20DB-DC244C?style=flat&logo=qdrant&logoColor=white" alt="Qdrant"/>
72+
<img src="https://img.shields.io/badge/Gradio-UI-FF7C00?style=flat&logo=gradio&logoColor=white" alt="Gradio"/>
73+
<img src="https://img.shields.io/badge/LLM%20Providers-Ollama%20%7C%20OpenAI%20%7C%20Anthropic%20%7C%20Google-8B5CF6?style=flat" alt="LLM Providers"/>
74+
</p>
75+
5276
<p align="center">
5377
<a href="https://colab.research.google.com/github/scriptbuzz/tutorial-agentic-rag/blob/main/notebooks/agentic_rag.ipynb">
5478
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
5579
</a>
5680
<a href="https://github.com/von-development/awesome-langgraph">
5781
<img src="https://awesome.re/badge.svg" alt="Awesome LangGraph"/>
5882
</a>
59-
<img src="https://img.shields.io/badge/license-MIT-green" alt="License"/>
60-
</p>
61-
62-
<p align="center">
63-
<img src="https://img.shields.io/badge/python-3.11%2B-blue?logo=python&logoColor=white" alt="Python"/>
64-
<img src="https://img.shields.io/badge/LangGraph-1.0%2B-orange?logo=langchain&logoColor=white" alt="LangGraph"/>
65-
<img src="https://img.shields.io/badge/Qdrant-vector%20db-DC244C" alt="Qdrant"/>
66-
<img src="https://img.shields.io/badge/Gradio-UI-f97316?logo=gradio&logoColor=white" alt="Gradio"/>
67-
<img src="https://img.shields.io/badge/LLM%20Providers-Ollama%20%7C%20OpenAI%20%7C%20Anthropic%20%7C%20Google-purple" alt="LLM Providers"/>
83+
<a href="https://github.com/scriptbuzz/tutorial-agentic-rag/pulls">
84+
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat" alt="PRs Welcome"/>
85+
</a>
6886
</p>
6987

7088
<p align="center">

project/README.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
1-
# Intro To Agentic RAG System Documentation
1+
<div align="center">
22

3-
This codebase powers an **Agentic RAG Engine** leveraging the **LangGraph** framework. It natively supports **hierarchical indexing**, **hybrid semantic and keyword search**, and **pluggable LLM compatibility**.
3+
# Agentic RAG — Project Documentation
44

5+
**Full-stack Agentic RAG powered by LangGraph — modular, observable, and provider-agnostic.**
56

6-
## Table of Contents
7+
<p>
8+
<img src="https://img.shields.io/badge/Python-3.11%2B-3776AB?style=flat&logo=python&logoColor=white" alt="Python 3.11+"/>
9+
<img src="https://img.shields.io/badge/LangGraph-1.0%2B-1868F2?style=flat&logo=langchain&logoColor=white" alt="LangGraph"/>
10+
<img src="https://img.shields.io/badge/Qdrant-Vector%20DB-DC244C?style=flat&logo=qdrant&logoColor=white" alt="Qdrant"/>
11+
<img src="https://img.shields.io/badge/Gradio-UI-FF7C00?style=flat&logo=gradio&logoColor=white" alt="Gradio"/>
12+
<img src="https://img.shields.io/badge/Langfuse-Observability-5C4EE5?style=flat" alt="Langfuse"/>
13+
<img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat" alt="License"/>
14+
</p>
715

8-
[Quick Start](#quick-start) | [Architecture Overview](#architecture-overview) | [Project Structure](#project-structure) | [Configuration Guide](#configuration-guide) | [Common Customizations](#common-customizations) | [Observability](#observability) | [Advanced Topics](#advanced-topics) | [Troubleshooting](#troubleshooting)
16+
**[Quick Start](#quick-start)** · **[Architecture](#architecture-overview)** · **[Project Structure](#project-structure)** · **[Configuration](#configuration-guide)** · **[Customizations](#common-customizations)** · **[Observability](#observability)** · **[Docker](#docker-deployment)** · **[Troubleshooting](#troubleshooting)**
17+
18+
</div>
919

1020
---
1121

@@ -32,7 +42,7 @@ The application will be available at `http://localhost:7860` (default Gradio por
3242
### Prerequisites
3343

3444
| Requirement | Details |
35-
|---|---|
45+
|:---|:---|
3646
| **Python** | 3.11 or higher |
3747
| **RAM** | 16 GB for Ollama · 8 GB minimum for cloud providers |
3848
| **Ollama** | Required only for local inference — [install here](https://ollama.com) then run `ollama pull qwen3:4b-instruct-2507-q4_K_M` |
@@ -63,35 +73,35 @@ PDF → Markdown Conversion → Parent/Child Chunking → Vector Indexing → Ag
6373
### Entry Point & Configuration
6474

6575
| File | Purpose |
66-
|------|---------|
76+
|:------|:--------|
6777
| `project/app.py` | Application entry point, launches Gradio UI |
68-
| `project/config.py` | **Central configuration hub** - edit this for provider/model/chunking changes |
78+
| `project/config.py` | **Central configuration hub** edit this for provider/model/chunking changes |
6979
| `project/utils.py` | PDF to Markdown conversion and context token estimation |
7080
| `project/document_chunker.py` | Parent/child splitting logic with cleaning and merging rules |
7181
| `project/Dockerfile` | Dockerfile with Ollama for local deployment |
7282

7383
### Core System
7484

7585
| File | Purpose |
76-
|------|---------|
77-
| `project/core/rag_system.py` | System bootstrap - creates managers and compiles LangGraph agent |
86+
|:------|:--------|
87+
| `project/core/rag_system.py` | System bootstrap creates managers and compiles LangGraph agent |
7888
| `project/core/document_manager.py` | Document ingestion pipeline (convert, chunk, index) |
7989
| `project/core/chat_interface.py` | Thin wrapper for agent graph interaction |
8090
| `project/core/observability.py` | Optional Langfuse tracing — callback handler lifecycle |
8191

8292
### Database Layer
8393

8494
| File | Purpose |
85-
|------|---------|
95+
|:------|:--------|
8696
| `project/db/vector_db_manager.py` | Qdrant client wrapper with embedding initialization |
8797
| `project/db/parent_store_manager.py` | File-backed storage for parent chunks |
8898

8999
### RAG Agent (LangGraph)
90100

91101
| File | Purpose |
92-
|------|---------|
102+
|:------|:--------|
93103
| `project/rag_agent/graph.py` | Graph builder and compilation logic |
94-
| `project/rag_agent/graph_state.py` | Shared and per-agent graph state definitions and answer accumulation/reset logic|
104+
| `project/rag_agent/graph_state.py` | Shared and per-agent graph state definitions and answer accumulation/reset logic |
95105
| `project/rag_agent/nodes.py` | Node implementations (summarize, rewrite, agent execution, aggregate) |
96106
| `project/rag_agent/edges.py` | Conditional edge routing logic (e.g., routing based on query clarity) |
97107
| `project/rag_agent/tools.py` | Retrieval tools (`search_child_chunks`, `retrieve_parent_chunks`) |
@@ -101,7 +111,7 @@ PDF → Markdown Conversion → Parent/Child Chunking → Vector Indexing → Ag
101111
### User Interface
102112

103113
| File | Purpose |
104-
|------|---------|
114+
|:------|:--------|
105115
| `project/ui/css.py` | Custom CSS styling for the Gradio interface |
106116
| `project/ui/gradio_app.py` | Gradio UI implementation with document upload and chat |
107117

@@ -315,7 +325,7 @@ ACTIVE_LLM_CONFIG = "google" # Switch to Gemini Pro
315325
**Provider Reference Table:**
316326

317327
| Provider | Environment Variable | Import Statement | Example Models |
318-
|----------|---------------------|------------------|----------------|
328+
|:---------|:--------------------|:----------------|:--------------|
319329
| OpenAI | `OPENAI_API_KEY` | `from langchain_openai import ChatOpenAI` | `gpt-4o`, `gpt-4o-mini` |
320330
| Anthropic | `ANTHROPIC_API_KEY` | `from langchain_anthropic import ChatAnthropic` | `claude-opus-4-6`, `claude-sonnet-4-6` |
321331
| Google | `GOOGLE_API_KEY` | `from langchain_google_genai import ChatGoogleGenerativeAI` | `gemini-2.5-pro`, `gemini-2.5-flash` |
@@ -486,7 +496,7 @@ For additional details on integrating Langfuse with LangChain or LangGraph, see
486496
### What gets traced
487497

488498
| Component | Traced operations |
489-
|-----------|-------------------|
499+
|:----------|:-----------------|
490500
| Graph nodes | `summarize_history`, `rewrite_query`, `orchestrator`, `compress_context`, `fallback_response`, `aggregate_answers` |
491501
| Tools | `search_child_chunks`, `retrieve_parent_chunks` (arguments + results) |
492502
| Structured output | `QueryAnalysis` parsing in the rewrite step |
@@ -611,7 +621,7 @@ Once running, open `http://localhost:7860`.
611621
## Troubleshooting
612622
613623
| Issue | Cause | Solution |
614-
|-------|-------|----------|
624+
|:------|:------|:---------|
615625
| "Model not found" error | Incorrect model name for provider | Verify `LLM_MODEL` matches provider's API (e.g., `gpt-4o-mini` not `gpt4-mini`) |
616626
| Low-quality retrieval results | Poor embedding model or chunk configuration | Re-index with better embeddings (e.g., all-mpnet-base-v2) or adjust chunk sizes |
617627
| Slow response times | Large embedding model or high `top_k` value | Use smaller embedding models (e.g., all-MiniLM-L6-v2) or reduce `top_k` in retrieval tools |

0 commit comments

Comments
 (0)