Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ACToR

SVG Banners

ACToR is an Adaptive Critical Token-aware Retrieval framework designed for repository-level code generation tasks.

🎯 Overview

Architecture Overview


📁 Project Structure

ACToR/
├── README.md # Project documentation
├── classifiers/ # Critical Token classifiers ├── weights/ # Position-aware weights
├── datasets/ # Benchmarks and training datasets
├── repositories/ # Code repositories for training and testing
└── src/ # Source code directory
├── pipeline.py
├── critoken.py
├── train.py
├── data/ # Data processing pipeline
│ ├── __init__.py
│ ├── repo.py
│ ├── task.py
│ └── process/ # Data processing modules
│ ├── __init__.py
│ ├── data.py
│ ├── window.py
│ ├── vector.py
│ ├── search.py
│ ├── prompt.py
│ └── utils.py
└── server/ # Model server integration
├── __init__.py
├── classifier.py
└── llm.py

🛠️ Quick Start

1. Prerequisites & Installation

Requirements:

  • Python 3.12.11 (recommended)

Installation:

pip install -r requirements.txt

2. Repository Setup

Organize code repositories in the repositories/ directory following this structure:

repositories/
├── codereval/
│ └── python/ # CoderEval Python repositories
├── repoexec/
│ └── test-app/ # RepoExec test repositories
└── repost/
└── train/ # RepoST training repositories

Setup Instructions:

  1. CoderEval: Clone CoderEval Python repositories to repositories/codereval/python/
  2. RepoExec: Clone RepoExec test repositories to repositories/repoexec/test-app/
  3. RepoST: Clone RepoST training repositories to repositories/repost/train/ (for training reproduction)

Note: More Details are available in src/data/process/utils.py

⚡ Usage

  1. Repo Context Prep
python src/pipeline.py repo --benchmark 'repoexec'# alternative 'codereval-python', 'repost_train'
  1. (Optional) Training Data Prep
python src/pipeline.py train --task_type 'data' --model_name 'model_name'# e.g. codellama-7b-hf
  1. (Optional) Classifier Training
python src/pipeline.py train --task_type 'classifier' --model_name 'model_name'# e.g. codellama-7b-hf
  1. Run Adaptive Critical Token-aware Retrieval augmented generation.
python src/pipeline.py task token --model_name 'model_name' --benchmark 'repoexec'

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages