File size: 3,042 Bytes
04785dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8647366
04785dd
 
 
 
 
 
 
8647366
04785dd
 
 
 
 
8647366
04785dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# jio-savan-music-downloader

[![Release](https://img.shields.io/github/v/release/DeepakPant93/jio-savan-music-downloader)](https://img.shields.io/github/v/release/DeepakPant93/jio-savan-music-downloader)
[![Build status](https://img.shields.io/github/actions/workflow/status/DeepakPant93/jio-savan-music-downloader/test-check-build.yml?branch=main)](https://github.com/DeepakPant93/jio-savan-music-downloader/actions/workflows/test-check-build.yml?query=branch%3Amain)
[![Commit activity](https://img.shields.io/github/commit-activity/m/DeepakPant93/jio-savan-music-downloader)](https://img.shields.io/github/commit-activity/m/DeepakPant93/jio-savan-music-downloader)
[![License](https://img.shields.io/github/license/DeepakPant93/jio-savan-music-downloader)](https://img.shields.io/github/license/DeepakPant93/jio-savan-music-downloader)

This app will download Jio-Savan music.
This repository contains a sample Data Science application built with FastAPI, designed to streamline model training and prediction processes via RESTful APIs. The application leverages **Poetry** for dependency management, ensuring a robust and scalable development environment.

---

## Features

### FastAPI Endpoints:

-   `/upload-docs`: API endpoint to upload documents for creating embeddings.
-   `/ask`: API endpoint for querying the system and receiving context-aware answers.

### Poetry for Dependency Management:

-   Simplifies package installation and management.
-   Ensures compatibility and reproducibility of the project environment.

### Scalable Architecture:

-   Modular design with clear separation of concerns.
-   Easy integration of new features or pipelines.

---

## Prerequisites

-   Python >= 3.12
-   Poetry installed (`pip install poetry`)

---

## Installation

1. Clone the repository:

    ```bash
    git clone https://github.com/DeepakPant93/jio-savan-music-downloader.
    cd jio-savan-music-downloader
    ```

1. Initialize the repository if it's your first time:

    ```bash
    cd jio-savan-music-downloader
    make init-repo
    ```

1. Install dependencies using Poetry:

    ```bash
    make bake-env
    ```

1. Run the FastAPI server:

    ```bash
    make run
    ```

---

## Project Structure

```plaintext
──jio-savan-music-downloader/
    β”œβ”€β”€ api         # API route definitions
    β”œβ”€β”€ config      # Configuration files and settings
    β”œβ”€β”€ constants   # Static constants and enumerations
    β”œβ”€β”€ core        # Core logic for the application
    β”œβ”€β”€ entity      # Definitions of data models and schemas
    β”œβ”€β”€ exception   # Custom exception classes for error handling
    β”œβ”€β”€ logger      # Logging setup for the application
    β”œβ”€β”€ models      # Request and response models
    β”œβ”€β”€ services    # Business logic and service layer
    β”œβ”€β”€ utils       # Utility functions (e.g., file handling, data encoding)
    └── main.py     # Entry point for the FastAPI application
```

---

Enjoy building with this RAG FastAPI application! πŸš€