59 lines
1.3 KiB
Markdown
59 lines
1.3 KiB
Markdown
# Task Card Processor
|
||
|
||
This project extracts a structured task card from a raw user text using a single LLM call and a Pydantic parser.
|
||
|
||
## Installation
|
||
|
||
```bash
|
||
# Create a virtual environment (recommended)
|
||
python -m venv .venv
|
||
source .venv/bin/activate # On Windows use .venv\Scripts\activate
|
||
|
||
# Install dependencies
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## Configuration
|
||
|
||
The script uses OpenAI API. Set the following environment variables before running:
|
||
|
||
- `OPENAI_API_KEY` – your OpenAI API key.
|
||
- `OPENAI_API_BASE` (optional) – override the default OpenAI base URL if you use a local LLM.
|
||
|
||
## Usage
|
||
|
||
You can pipe raw text into the script or provide it as a command‑line argument.
|
||
|
||
```bash
|
||
# From stdin
|
||
cat raw_text.txt | python agent.py
|
||
|
||
# As an argument
|
||
python agent.py "Generate a task card for a math homework assignment."
|
||
```
|
||
|
||
The script prints a validated JSON object followed by a short summary.
|
||
|
||
## Example Output
|
||
|
||
```json
|
||
--- Task Card JSON ---
|
||
{
|
||
"title": "Math Homework",
|
||
"subject": "Algebra",
|
||
"deadline_hint": "Next Friday",
|
||
"deliverable_type": "Problem set",
|
||
"grading_hints": "Include solutions and explanations"
|
||
}
|
||
|
||
--- Summary ---
|
||
Title: Math Homework
|
||
Subject: Algebra
|
||
Deadline: Next Friday
|
||
Deliverable: Problem set
|
||
Grading hints: Include solutions and explanations
|
||
```
|
||
|
||
## License
|
||
|
||
MIT License. |