Vision: A financial agent to assist users in information retrieval and data analysis. It provides the information sources of generated responses to help users evaluate the responses' quality.
This is a demo of FinLLM Leaderboard on HuggingFace's Open Financial LLM Leaderboard.
- A powerful agent for retrieving financial information across major finance websites (Yahoo Finance, Bloomberg, XBRL International).
- A powerful answer engine: performs open search to quickly locate relevant financial information from various sources, such as websites, reports, filings, and databases
- Users can check the sources of generated responses, ensuring reliability and accuracy.
NO Trading Suggestions!
Current Progress:
-
Snapshot of the search agent: drag, resize and minimize; Providing information on user's current page.

-
Checking sources, which are very important and help reduce misinformation.

- Python 3.12.x (uv will download it automatically)
- Node.js 18+
- Google Chrome browser
Build and run everything with a single command.
# Clone the repository
git clone https://github.com/Open-Finance-Lab/FinGPT-Search-Agent.git
cd FinGPT-Search-Agent
# Copy backend environment template and add your API keys
cp Main/backend/.env.example Main/backend/.env
# Edit Main/backend/.env and add at least one API key (OPENAI_API_KEY, ANTHROPIC_API_KEY, or DEEPSEEK_API_KEY)
# Start everything with one command (first run builds the image)
docker compose upThe backend API will be available at http://localhost:8000
Use this path if you want to run Django without Docker.
# Clone the repository
git clone https://github.com/Open-Finance-Lab/FinGPT-Search-Agent.git
cd FinGPT-Search-Agent
# Install backend dependencies with uv (Python 3.12)
cd Main/backend
uv sync --python 3.12 --frozen
# Install Playwright's Chromium once per machine
uv run playwright install chromium
# Start Django (no database migrations required)
uv run python manage.py runserverFor the browser extension, run once per environment:
cd Main/frontend
npm install
npm run build:full-
Configure API Keys (Required)
Edit
Main/backend/.env(copied fromMain/backend/.env.example) and add at least one:OPENAI_API_KEY=your-actual-openai-key ANTHROPIC_API_KEY=your-actual-anthropic-key DEEPSEEK_API_KEY=your-actual-deepseek-keyNote: The server will refuse to start without at least one valid API key configured.
-
Load Browser Extension
- Open Chrome and navigate to Extensions page →
chrome://extensions - Enable Developer mode
- Click "Load unpacked"
- Select
Main/frontend/distfolder
- Open Chrome and navigate to Extensions page →
- "No API keys configured!": The server won't start without valid API keys in
Main/backend/.env - Running locally: Use
uv sync --python 3.12 --frozeninsideMain/backendto bootstrap dependencies. - Port 8000 in use: Close other servers or continue anyway.
- Non-English systems: UTF-8 encoding is automatically handled.
- Playwright browser errors: If you see browser-related errors, install Chromium:
See
cd Main/backend uv run playwright install chromiumMain/backend/PLAYWRIGHT_INTEGRATION.mdfor detailed troubleshooting.
For detailed usage instructions and more information, see: https://fingpt-search-agent-docs.readthedocs.io/
Immediate Next Steps:
- Deploy the back-end to cloud, further simplifying the installation process.
Future Plans:
- zkp demo.
Citing:
@inproceedings{tian2024customized,
title={Customized fingpt search agents using foundation models},
author={Tian, Felix and Byadgi, Ajay and Kim, Daniel S and Zha, Daochen and White, Matt and Xiao, Kairong and Liu, Xiao-Yang},
booktitle={Proceedings of the 5th ACM International Conference on AI in Finance},
pages={469--477},
year={2024}
}
Disclaimer: We are sharing codes for academic purposes under the MIT education license. Nothing herein is financial advice, and NOT a recommendation to trade real money. Please use common sense and always first consult a professional before trading or investing.