SDSC/open-pulse-hackathon-data-analysis huggingface dataset:
Repository: hassan11196/angular
Primary language: HTML

# Myapp

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.3.9.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
Repository: hassan11196/argrag
Description: A  RAG system designed for complex enterprise document corpora - Runner up solution to the Argusa AI Data Challenge
Primary language: Python
Topics: chatbot, data-mining, llm, rag

# argrag

Container-first Retrieval-Augmented Generation stack tailored for Material_GreenHorizon artifacts. The service watches a configurable data directory, performs incremental ingestion into ChromaDB and PostgreSQL, and exposes a FastAPI surface for querying indexed context.

## Prerequisites

- Docker and Docker Compose
- Copy `.env.example` to `.env` and fill in secrets (PostgreSQL credentials, Chroma token, etc.)
- Ensure the data source path (`DATA_SOURCE_PATH`) points to the repository of documents (default `../Material_GreenHorizon`).

## Getting Started

```bash
cd argrag
cp .env.example .env
# edit .env as needed
docker compose up --build
```

The FastAPI server will be available at `http://localhost:8000`. A ChromaDB service runs on `8001`, and PostgreSQL on `5432`.

## Key Endpoints

- `GET /healthz` – readiness probe.
- `POST /ingest/run` – trigger a full rescan and re-index of the data source.
- `POST /ingest/clear-and-reindex` – clear all documents from ChromaDB and PostgreSQL, then re-index everything from scratch.
- `POST /query` – submit a retrieval query. Supports `top_k`, score thresholds, metadata filters, and MMR toggles.
- `GET /documents` – list indexed documents and their current digests.
- `GET /documents/content?path=<path>` – retrieve the full content of any document by its path.
- `GET /documents/stats` – get statistics about indexed documents.
- `GET /chroma/stats` – get ChromaDB collection statistics.
- `POST /metadata/generate` – manually trigger metadata generation.
- `GET /metadata/summary` – get corpus metadata summary.


## Configuration

Runtime knobs live in `config/settings.yaml` (chunk size, glob patterns, etc.). Secrets and environment overrides belong in `.env`. The application validates required environment variables at startup.

## Development Tips

- Source code is volume-mounted into the `app` container for live reload (`uvicorn --reload`).
- To install new Python dependencies, update `pyproject.toml` and re-run `docker compose up --build` once.
- pytest and ruff are included for future test and lint workflows.

## Presentation Slides

![Screenshot 2](docs/presentation/2.jpg)

![Screenshot 3](docs/presentation/3.jpg)

![Screenshot 4](docs/presentation/4.jpg)

![Screenshot 5](docs/presentation/5.jpg)

![Screenshot 6](docs/presentation/6.jpg)

![Screenshot 7](docs/presentation/7.jpg)

![Screenshot 8](docs/presentation/8.jpg)

![Screenshot 9](docs/presentation/9.jpg)

![Screenshot 10](docs/presentation/10.jpg)

![Screenshot 11](docs/presentation/11.jpg)

![Screenshot 12](docs/presentation/12.jpg)

![Screenshot 13](docs/presentation/13.jpg)

![Screenshot 14](docs/presentation/14.jpg)

![Screenshot 15](docs/presentation/15.jpg)

![Screenshot 16](docs/presentation/16.jpg)

![Screenshot 17](docs/presentation/17.jpg)