https://github.com/codewithcharan/ai-blog-search
Agentic RAG with LangGraph 🔥
https://github.com/codewithcharan/ai-blog-search
agentic-ai agentic-rag chromadb embeddings google-generative-ai langchain langgraph python3 recursive-text-splitter retrieval-augmented-generation sematic-search
Last synced: 4 months ago
JSON representation
Agentic RAG with LangGraph 🔥
- Host: GitHub
- URL: https://github.com/codewithcharan/ai-blog-search
- Owner: CodeWithCharan
- License: gpl-3.0
- Created: 2025-01-31T07:28:42.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-11T19:49:06.000Z (10 months ago)
- Last Synced: 2025-02-17T23:42:47.881Z (10 months ago)
- Topics: agentic-ai, agentic-rag, chromadb, embeddings, google-generative-ai, langchain, langgraph, python3, recursive-text-splitter, retrieval-augmented-generation, sematic-search
- Language: Jupyter Notebook
- Homepage:
- Size: 479 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Agentic RAG with LangGraph: AI Blog Search
## Overview
AI Blog Search is an Agentic RAG application designed to enhance information retrieval from AI-related blog posts. This system leverages LangChain, LangGraph, and Google's Gemini model to fetch, process, and analyze blog content, providing users with accurate and contextually relevant answers.
## LangGraph Workflow

## Demo
https://github.com/user-attachments/assets/cee07380-d3dc-45f4-ad26-7d944ba9c32b
## Features
- **Document Retrieval:** Uses Qdrant as a vector database to store and retrieve blog content based on embeddings.
- **Agentic Query Processing:** Uses an AI-powered agent to determine whether a query should be rewritten, answered, or require more retrieval.
- **Relevance Assessment:** Implements an automated relevance grading system using Google's Gemini model.
- **Query Refinement:** Enhances poorly structured queries for better retrieval results.
- **Streamlit UI:** Provides a user-friendly interface for entering blog URLs, queries and retrieving insightful responses.
- **Graph-Based Workflow:** Implements a structured state graph using LangGraph for efficient decision-making.
## Technologies Used
- **Programming Language**: [Python 3.10+](https://www.python.org/downloads/release/python-31011/)
- **Framework**: [LangChain](https://www.langchain.com/) and [LangGraph](https://langchain-ai.github.io/langgraph/tutorials/introduction/)
- **Database**: [Qdrant](https://qdrant.tech/)
- **Models**:
- Embeddings: [Google Gemini API (embedding-001)](https://ai.google.dev/gemini-api/docs/embeddings)
- Chat: [Google Gemini API (gemini-2.0-flash)](https://ai.google.dev/gemini-api/docs/models/gemini#gemini-2.0-flash)
- **Blogs Loader**: [Langchain WebBaseLoader](https://python.langchain.com/docs/integrations/document_loaders/web_base/)
- **Document Splitter**: [RecursiveCharacterTextSplitter](https://python.langchain.com/v0.1/docs/modules/data_connection/document_transformers/recursive_text_splitter/)
- **User Interface (UI)**: [Streamlit](https://docs.streamlit.io/)
## Requirements
1. **Clone the Repository**:
```bash
git clone https://github.com/CodeWithCharan/AI-Blog-Search.git
cd AI-Blog-Search
```
2. **Install Dependencies**:
```bash
pip install -r requirements.txt
```
3. **Run the Application**:
```bash
streamlit run app.py
```
4. **Use the Application**:
- Paste your Google API Key in the sidebar.
- Paste the blog link.
- Enter your query about the blog post.
## :mailbox: Connect With Me

)