Skip to content

AdityaNikhil/IDAA

Repository files navigation

Intelligent Digital Assets Assistant (IDAA)

pages-build-deployment

Thumbnail

Demo Notebook | React Demo | Streamlit Demo | Docker Image

Note

🚧 This repository features a React frontend. If you need a Streamlit frontend, visit the Streamlit version.


Table of Contents

  1. Overview
  2. Approach
  3. Setup
  4. Getting Started
  5. License
  6. Contributors

Overview

The Intelligent Digital Asset Advisor (IDAA) is an AI-powered financial advisory system integrating three core functions:

  • Professor: Provides educational insights on digital assets.
  • Analyst: Processes market and on-chain data for analytics.
  • Advisor: Offers strategic financial guidance.

Built using GPT-4, LLAMA 3.3, and RAG, IDAA delivers real-time, informed, and personalized digital asset recommendations. The system orchestrates these components seamlessly, ensuring accurate and timely financial insights.


Approach

System Workflow

System Workflow

  1. User Query Handling: Queries are routed to the appropriate agent via the supervisor node.
  2. Analyst Agent: Queries PostgreSQL for historical market data.
  3. Advisor Agent: Uses Pinecone vector DB for trading insights.
  4. Professor Agent: Gathers real-time educational content.
  5. Query Processing:
    • Analyst queries PostgreSQL and generates insights.
    • Advisor applies RAG operations for recommendations.
    • Professor fetches relevant educational materials.

This modular approach ensures a well-rounded financial advisory experience.


Setup

Important

Ensure the ETL pipeline is configured and PostgreSQL data is loaded before proceeding. Refer to the ETL setup for more details. Ensure the ETL pipeline is up and running.

Prerequisites

  • PostgreSQL Database: Ensure historical data is loaded.
  • API Keys: Obtain keys from Langsmith, Groq, OpenAI, TavilySearch.

Installation

Clone the repository:

git clone https://github.com/adityanikhil/idaa
cd idaa

Configure Environment Variables

Create setup.yml and add your API keys:

environment:
  LANGSMITH_TRACING_V2: "true"
  LANGCHAIN_ENDPOINT: "https://api.smith.langchain.com"
  LANGSMITH_API_KEY: "YOUR_API_KEY"
  TAVILY_API_KEY: "YOUR_API_KEY"
  GROQ_API_KEY: "YOUR_API_KEY"
  OPENAI_API_KEY: "YOUR_API_KEY" 
  DATABASE_URI: "postgresql://postgres:[email protected]:5432/postgres" 

Getting Started

Setting up the Docker Image

This docker image consists of the FastAPI endpoint responsible for generating chatbot responses.

Pull the docker image

docker pull adityadigala/idaa-react-app:latest 

Run the Fast API service through the docker image

docker run -p 8000:8000 -v 'path/to/setup.yml':/app/setup.yml adityadigala/idaa-react-app:latest

Running the React Frontend

  1. Clone the frontend repo:
    git clone https://github.com/yolandawu/IDAA-FN
    cd IDAA-FN
  2. Install dependencies:
    npm install
  3. Configure API endpoint in .env:
    REACT_APP_BACKEND_URL=http://localhost:8000
  4. Start the React server:
    npm run dev
  5. Open your browser at http://localhost:3000.

For additional frontend setup options, check this guide.

Note

🚧 Need a Streamlit frontend? Visit the Streamlit version.


License

This project is licensed under the MIT License. See LICENSE for details.


Contributors

About

Intelligent Digital Assets Assistant Chatbot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published