https://github.com/kuro-jojo/bert-transaction-categorizer-api
This API categorizes financial transactions using a fine-tuned BERT model. It provides endpoints to categorize single or multiple transactions.
https://github.com/kuro-jojo/bert-transaction-categorizer-api
bert-fine-tuning categorization fastapi python3
Last synced: 3 months ago
JSON representation
This API categorizes financial transactions using a fine-tuned BERT model. It provides endpoints to categorize single or multiple transactions.
- Host: GitHub
- URL: https://github.com/kuro-jojo/bert-transaction-categorizer-api
- Owner: kuro-jojo
- License: apache-2.0
- Created: 2025-01-28T18:33:26.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-28T19:48:38.000Z (about 1 year ago)
- Last Synced: 2025-04-04T07:33:45.240Z (about 1 year ago)
- Topics: bert-fine-tuning, categorization, fastapi, python3
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Transaction Categorization API
This API categorizes financial transactions using a fine-tuned BERT model. It provides endpoints to categorize single or multiple transactions.
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Endpoints](#endpoints)
- [Request Schema](#request-schema)
- [Response Schema](#response-schema)
## Installation
1. Clone the repository:
```sh
git clone
cd
```
2. Create and activate a virtual environment:
```sh
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```
3. Install the dependencies:
```sh
pip install -r requirements.txt
```
4. Run the application:
```sh
fastapi dev src/main.py
```
## Usage
Once the application is running, you can access the API at `http://127.0.0.1:8000`.
## Endpoints
### Root Endpoint
- **GET** `/api/v1/`
- **Description**: Health check endpoint.
- **Response**: `{ "message": "Transaction Categorization API is running" }`
### Categorize Single Transaction
- **POST** `/api/v1/categorize/`
- **Description**: Categorizes a single transaction.
- **Request Body**: [TransactionRequest](http://_vscodecontentref_/1)
- **Response**: `TransactionResponse`
### Categorize Multiple Transactions
- **POST** `/api/v1/categorize/bulk/`
- **Description**: Categorizes multiple transactions.
- **Request Body**: List of [TransactionRequest](http://_vscodecontentref_/2)
- **Response**: List of `TransactionResponse`
## Request Schema
### TransactionRequest
```json
{
"id": "string (optional)",
"description": "string",
"t_type": "string"
}
```
## Response Schema
For single transaction categorization:
```json
{
"id": "string",
"label": "string"
}
```
For multiple transactions categorization:
```json
[
{
"id": "string",
"categories": [
{
"label": "string",
"score": "string"
}
]
}
]
```