Instructions to use 0PValencia/oppy-qwen3-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use 0PValencia/oppy-qwen3-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B") model = PeftModel.from_pretrained(base_model, "0PValencia/oppy-qwen3-lora") - Notebooks
- Google Colab
- Kaggle
Oppy — Qwen3-8B LoRA (oppy-qwen3-lora)
Adaptador LoRA / QLoRA sobre Qwen/Qwen3-8B para el agente Oppy: encontrar y recomendar oportunidades en Bolivia.
Este repo contiene solo el adaptador, no el modelo base completo.
Qué sabe hacer
| Skill | Descripción |
|---|---|
| extraction | Texto libre → JSON de oportunidad |
| classification | Tipo: beca, pasantía, curso, evento, empleo junior, voluntariado |
| matching | Compatibilidad usuario ↔ oportunidad (alto/medio/bajo/nulo + score + reason) |
| decision | Acción del agente: send_alert / skip / watch |
Cómo usarlo (base + LoRA)
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
base_id = "Qwen/Qwen3-8B"
adapter_id = "0PValencia/oppy-qwen3-lora"
bnb = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_use_double_quant=True,
bnb_4bit_compute_dtype=torch.float16,
)
tokenizer = AutoTokenizer.from_pretrained(base_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
base_id,
quantization_config=bnb,
device_map="auto",
trust_remote_code=True,
)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
messages = [
{
"role": "system",
"content": (
"Eres Oppy, un agente que encuentra y recomienda oportunidades "
"en Bolivia. Cuando pidan estructura, responde solo JSON válido."
),
},
{
"role": "user",
"content": (
"Clasifica esta oportunidad. Responde solo con JSON válido.\n\n"
"Convocatoria de beca para estudiantes universitarios en Bolivia."
),
},
]
prompt = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Datos de entrenamiento
- Dataset:
0PValencia/oppy-bolivia-sft - Fuente: oportunidades reales Bolivia (Exa + Firecrawl) + perfiles sintéticos
- Código / pipelines: cursor-buildathon
Entrenamiento
- Método: SFT + QLoRA (4-bit)
- Base:
Qwen/Qwen3-8B - Hardware: Google Colab (Tesla T4)
- Epochs: 2
- Samples approx.: train 322 / val 39
Frameworks
- PEFT 0.19.x
- TRL 1.9.x
- Transformers 5.x
- PyTorch 2.x + CUDA
Limitaciones
- Optimizado para español / Bolivia
- Extraction aún imperfecta en campos finos (skills, ciudad exacta)
- Requiere GPU para inferencia cómoda del 8B en 4-bit
- No incluye Explorer/Follow-up del sistema multi-agente completo (eso vive en orquestación/backend)
Licencia
Apache-2.0 (respetar también la licencia del modelo base Qwen3).
- Downloads last month
- -