Building a RAG System for Patent Analysis

RAGLLMPythonFinal Year Project

Building a RAG System for Patent Analysis

This article covers my Final Year Project developing a patent document analyzer using Retrieval-Augmented Generation (RAG) and Large Language Models.

Overview

The Patent Analysis System is an intelligent platform designed to analyze and interact with patent documents using advanced natural language processing and machine learning techniques.

The system leverages vector databases, semantic search, and large language models to provide accurate, context-aware responses to queries about patent content.

Architecture

The system consists of multiple services:

  • Backend API: FastAPI server handling document processing
  • Vector Database: Storage for semantic embeddings (QdrantDB)
  • LLM Service: Language model for question answering
  • Frontend: React-based UI for interaction

Key Features

PDF Upload

Process patent documents in PDF format with automated text extraction using BeautifulSoup.

Vector Embeddings

Convert patent text to semantic vectors for efficient similarity search.

Q&A Chatbot

Ask questions and get intelligent answers powered by chain-of-thought prompting.

Topic Classification

Automatic categorization of patents using machine learning.

TRIZ Analysis

Extract innovation principles from patent claims using specialized prompts.

Implementation Details

Hybrid Retrieval

The system implements hybrid retrieval combining:

  1. Dense vector search using embeddings
  2. Sparse keyword-based search
  3. Re-ranking for optimal results

Chain-of-Thought Prompting

For complex reasoning tasks, the system uses chain-of-thought prompting to break down analysis into steps:

prompt = """
Analyze this patent claim step by step:
1. Identify the main technical problem
2. List the key components
3. Determine the innovation principle
4. Map to TRIZ principles
"""

Tech Stack

  • Python
  • FastAPI
  • NLP (Natural Language Processing)
  • Vector Database (QdrantDB)
  • Docker
  • React

API Usage

# Upload a patent PDF
curl -X POST -F "file=@/path/to/patent.pdf" http://localhost:8000/upload

# Query the chatbot
curl -X POST http://localhost:8000/query \
  -H "Content-Type: application/json" \
  -d '{"question": "What is the main innovation?"}'

Evaluation

Evaluating RAG systems requires measuring:

  • Retrieval accuracy (recall, precision)
  • Generation quality (relevance, faithfulness)
  • End-to-end system performance

Conclusion

This project demonstrates how RAG systems can be applied to domain-specific document analysis, combining the power of LLMs with structured retrieval for accurate, context-aware responses.

← Back to Writing