Meeting Action Item Extractor (LoRA)
This repository contains a LoRA adapter fine-tuned to extract structured action items from meeting transcripts.
The model converts unstructured, multi-speaker conversations into strict, schema-valid JSON suitable for downstream automation, analytics, and workflow systems.
Task
Extract action items from meeting transcripts with the following schema:
1{
2 "action_items": [
3 {
4 "action": string,
5 "owner": string | null,
6 "deadline": string | null
7 }
8 ]
9}
If no action items are present, the model outputs:
Why This Project
Prompt-only extraction often:
- Misses implicit owners
- Hallucinates deadlines
- Breaks on meetings with no action items
- Produces inconsistent or non-parseable outputs
This project focuses on boringly reliable behavior instead of flashy demos:
- Strict output schema
- Explicit handling of edge cases
- Measurable evaluation
Model Details
- Base model:
unsloth/mistral-7b-instruct-v0.2-bnb-4bit
- Fine-tuning method: LoRA (PEFT)
- Target modules:
q_proj, v_proj
- Language: English
- Frameworks: Unsloth, PEFT, Transformers
This repository contains only the LoRA adapter, not the full base model.
Evaluation
- Metric: Schema validity (Pydantic validation)
- Dataset: Held-out real + synthetic meeting transcripts
- Result: 97.14% schema-valid outputs
For comparison, the base instruct model achieved near-zero schema validity due to format drift and verbose natural language outputs.
Training Data
-
Manually labeled real meeting transcripts
-
Synthetic meetings generated to cover:
- Clear action items
- Implicit ownership
- Missing deadlines
- Meetings with no action items
-
Explicit negative examples to discourage hallucination
The dataset prioritizes format reliability and edge-case coverage, not scale.
Usage
1from unsloth import FastLanguageModel
2import torch
3
4# Load base model
5model, tokenizer = FastLanguageModel.from_pretrained(
6 "unsloth/mistral-7b-instruct-v0.2-bnb-4bit",
7 load_in_4bit=True,
8 max_seq_length=2048,
9)
10
11# Attach LoRA adapter
12model = FastLanguageModel.get_peft_model(
13 model,
14 r=8,
15 lora_alpha=16,
16 target_modules=["q_proj", "v_proj"],
17)
18
19model.load_adapter(
20 "muskankh03/meeting-action-item-lora",
21 adapter_name="default"
22)
Limitations
- Designed for English business meetings
- Does not infer missing information beyond the transcript
- Not intended for summarization or open-ended chat
License
Apache 2.0 (adapter only; base model license applies separately)
Author
Muskan Khandelwal