Downloads · 30 days
14
18% of all-time downloads
0PValencia/oppy-qwen3-lora
oppy-qwen3-lora is a text generation model from 0PValencia. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
Adaptador LoRA / QLoRA sobre Qwen/Qwen3-8B para el agente Oppy: encontrar y recomendar oportunidades en Bolivia.
Downloads · 30 days
14
18% of all-time downloads
All-time downloads
77
Public
Repo size
274 MB
Likes
0
Public
Click a slice to open those files.
.pt175 MB · 47%
From the Hugging Face model README
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.
| 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 |
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))
0PValencia/oppy-bolivia-sftQwen/Qwen3-8BApache-2.0 (respetar también la licencia del modelo base Qwen3).