paperprocessor/README.md

103 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2025-01-25 19:53:40 +00:00
# Paper Processor
Go package for automated evaluation of academic papers using LLM-based criteria
## Features
- Process multiple papers with configurable API settings
- Structured evaluation results (accepted/rejected)
- Rate limiting with request delay configuration
- File-based processing (JSON input/output)
- Customizable evaluation criteria
## Installation
```bash
2025-01-25 20:06:07 +00:00
go get gitea.r8z.us/stwhite/paperprocessor
2025-01-25 19:53:40 +00:00
```
## Usage
### Basic Configuration
```go
2025-01-25 20:06:07 +00:00
import "gitea.r8z.us/stwhite/paperprocessor"
2025-01-25 19:53:40 +00:00
config := paperprocessor.Config{
APIEndpoint: "https://api.llm-provider.com/v1/chat/completions",
APIKey: "your-api-key",
Model: "llm-model-name",
RequestDelay: time.Second * 2,
}
```
### File Processing
```go
err := paperprocessor.ProcessFile(
"input/papers.json",
"output/results.json",
"criteria.txt",
config,
)
```
## Input Formats
### Papers JSON
```json
[
{
"title": "Paper Title",
"abstract": "Paper abstract text...",
"arxiv_id": "1234.56789"
}
]
```
### Criteria File
```
Evaluation criteria:
- Relevance to quantum computing
- Novelty of approach
- Technical rigor
```
## Output Example
```json
{
"accepted": [
{
"paper": {
"title": "Advanced Quantum Computing Methods",
"abstract": "...",
"arxiv_id": "2301.12345"
},
"decision": "ACCEPT",
"explanation": "Fulfills all criteria..."
}
],
"rejected": [
{
"paper": {
"title": "Basic Classical Algorithms",
"abstract": "...",
"arxiv_id": "2301.67890"
},
"decision": "REJECT",
"explanation": "Doesn't meet novelty requirements..."
}
]
}
```
## Configuration Options
| Parameter | Description | Default |
|-----------------|--------------------------------------|---------------|
| APIEndpoint | LLM API endpoint URL | Required |
| APIKey | API authentication key | Required |
| Model | LLM model name | Required |
| RequestDelay | Delay between API requests | 1 second |
## License
MIT