Skip to content

andreaseno/Financial_RAG_LLM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Financial Chatbot with RAG and Ollama

Table of Contents

  1. Project Overview
  2. Features
  3. Tech Stack
  4. Installation
  5. Usage
  6. Docker Setup
  7. Database Setup
  8. Running the Chatbot
  9. Contributing
  10. License

Project Overview

This project is a financial chatbot leveraging Retrieval-Augmented Generation (RAG) with Ollama as the large language model (LLM). It retrieves financial data from a database of SEC 10-Q filings and uses hybrid search (vector similarity + keyword search) to provide contextually relevant answers.

Features

  • Natural Language Financial Queries: Users can ask questions about company filings, and the chatbot responds with relevant data from 10-Q forms.
  • Hybrid Retrieval System: Combines keyword and vector similarity search using pgvector.
  • RAG Framework: Augments the LLM's capabilities with database-backed factual information for accurate responses.
  • Dockerized Setup: Ensures easy deployment and database persistence using Docker.

Tech Stack

  • Backend: Python
  • Frontend: CLI (for right now)
  • LLM: Ollama
  • Database: PostgreSQL with pgvector extension
  • Containerization: Docker

Installation

Prerequisites

  • Docker installed
  • Homebrew installed
  • Ollama setup on macOS
  • Python 3.8+ installed

Clone the Repository

git clone https://github.com/yourusername/financial-chatbot
cd financial-chatbot

Setup

docker pull pgvector/pgvector:pg16

docker run --name pgvector-container
-e POSTGRES_USER=admin
-e POSTGRES_PASSWORD=adminpass
-e POSTGRES_DB=vectordb
-p 5432:5432
-v pgvector-data:/var/lib/postgresql/data
-d pgvector/pgvector:pg16

Help

To access DB from CLI, run:

docker exec -it pgvector-container psql -U admin -d vectordb

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages