https://github.com/degisew/legal-assistant
An AI application that lets users upload documents and chat with them using natural language.
https://github.com/degisew/legal-assistant
ai fastapi langchain llm pineconedb postgressql python3 rag
Last synced: about 1 month ago
JSON representation
An AI application that lets users upload documents and chat with them using natural language.
- Host: GitHub
- URL: https://github.com/degisew/legal-assistant
- Owner: degisew
- License: mit
- Created: 2025-07-14T13:43:33.000Z (3 months ago)
- Default Branch: development
- Last Pushed: 2025-07-25T12:51:10.000Z (3 months ago)
- Last Synced: 2025-07-25T19:21:32.986Z (3 months ago)
- Topics: ai, fastapi, langchain, llm, pineconedb, postgressql, python3, rag
- Language: Python
- Homepage:
- Size: 716 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Legal Assistant
[](LICENSE)
[](https://python.org)
[](https://fastapi.tiangolo.com)
[](https://www.langchain.com/)**Contact**: [degisew.mengist21@gmail.com](mailto:degisew.mengist21@gmail.com) | [LinkedIn](https://linkedin.com/in/degisew-mengist)
## Overview
An AI application that lets users upload documents and chat with them using natural language. Whether it's legal agreements, contracts, or internal company docs, just upload and ask questions like you're chatting with a human expert.
**Key Features**:
- Upload documents in multiple formats (PDF, DOCX, Markdown)
- Chat interface with intelligent, context-aware answers
- Secure login & document management
- Chat history per document
## [Check Front-end code here](https://github.com/degisew/legal_assistant_ui)
## Table of Contents
- [Overview](#overview)
- [Setup](#setup)
- [Architecture](#architecture)## Setup
Show Setup Details
### Prerequisites
- Python 3.10+
- uv 0.7+
- Langchain 3+
- Git 2.30+### Instructions
1. **Clone the Repository**:
```bash
git clone https://github.com/degisew/RAG.git
cd RAG
```2. **Configure Environment**:
```bash
Create a .env file with-in your root project directory and store secure values.
```Example `.env`:
```bash
# API Keys
LANGSMITH_API_KEY=your_key
GROQ_API_KEY=your_key
```- **Local Development**:
```bash
# lInstall uv
curl -Ls https://astral.sh/uv/install.sh | sh# If you have pipx installed n your system,
pipx install uv# create virtual environment
uv venv # Creates a virtual environment
uv pip sync # Installs dependencies from pyproject.tomlfastapi dev main.py # run the flask app
```**Access API Docs**: [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)
## Architecture
**Tech Stack**:
- **Frontend:** React + TypeScript + CSS
- **Backend:** FastAPI
- **SQL Database:** PostgreSQL
- **Vector DB:** Pinecone
- **LLM Support:** Groq + HuggingFace transformers## License
MIT License. See [LICENSE](LICENSE).
**⭐ Star this repo if you found it useful!**
Built by [Degisew Mengist](https://github.com/degisew)
[⬆ Back to Top](#legal-assistant)