Este é um finetuning do "cnmoro/Qwen2.5-0.5B-Portuguese-v1" para realizar a decomposição de prompts de usuários em um sistema RAG.
A mensagem de sistema indica o tipo de termos de busca que devem ser extraídos.
Caso queira extrair termos de busca para um search engine textual (Google, Solr e afins), utilizar a seguinte mensagem:
"Você decompõe o texto do usuário em termos de busca textuais, no formato JSON"
Caso queira extrair termos de busca para um banco vetorial (Pinecone, QDrant, Milvus, Chroma, etc), para busca semântica com embeddings, utilizar a seguinte mensagem:
"Você decompõe o texto do usuário em termos de busca semânticos, no formato JSON"
Exemplo:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "cnmoro/Qwen2.5-0.5B-Portuguese-Prompt-Decomposer"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name).to("cuda")
def decompose_prompt(prompt, _type="textual"):
termos_tipo = "textuais" if _type == "textual" else "semânticos"
messages = [
{
"role": "system",
"content": f"Você decompõe o texto do usuário em termos de busca {termos_tipo}, no formato JSON"
},
{
"role": "user",
"content": prompt
}
]
gen_input = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(gen_input, return_tensors="pt", return_token_type_ids=False).to("cuda")
outputs = model.generate(**inputs, max_new_tokens=384, temperature=0.3, do_sample=True, repetition_penalty=1.2)
input_length = inputs.input_ids.shape[1]
generated_tokens = outputs[0, (input_length):]
return tokenizer.decode(generated_tokens, skip_special_tokens=True)
print(
decompose_prompt(
"Com a edição da Lei n. 12.618/2012, quais foram os principais impactos sobre os servidores públicos, considerando que restaram consolidadas duas situações jurídicas previdenciárias?",
"textual"
)
)
# ```json
# {
# "search_terms": {
# "textual": [
# "Lei 12618",
# "servidor público previdência",
# "impacto lei 12618"
# ]
# }
# }
# ```
#########################
print(
decompose_prompt(
"Com a edição da Lei n. 12.618/2012, quais foram os principais impactos sobre os servidores públicos, considerando que restaram consolidadas duas situações jurídicas previdenciárias?",
"semantic"
)
)
# ```json
# {
# "search_terms": {
# "semantic": [
# "impacto lei servidores",
# "reforma previdência servidores"
# ]
# }
# }
# ```
- Downloads last month
- 17
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support
Model tree for cnmoro/Qwen2.5-0.5B-Portuguese-Prompt-Decomposer
Base model
Qwen/Qwen2.5-0.5B
Finetuned
Qwen/Qwen2.5-0.5B-Instruct
Finetuned
cnmoro/Qwen2.5-0.5B-Portuguese-v1