HirCoir's picture
Update README.md
eb056da verified
|
raw
history blame
2.66 kB
metadata
language:
  - en
  - zh
  - es
license: apache-2.0
library_name: transformers
widget:
  - text: <s> [|User|] Hola </s>[|Assistant|]
  - text: <s> [|User|] Que es Python? </s>[|Assistant|]
  - text: <s> [|User|] Hi </s>[|Assistant|]
tags:
  - unsloth
  - Sorah
  - spanish
  - HirCoir

MiniChat-2-3B-Sorah

Sorah

MiniChat-2-3B-Sorah es un modelo de lenguaje basado en MiniChat-1.5-3B y ajustado con datos de instrucci贸n y preferencia.

El modelo MiniChat-1.5-3B-Sorah complementa el modelo de voz Sorah, que fue creado por el proyecto Piper. El modelo Sorah est谩 en proceso de entrenamiento y mejoras, por lo que su acceso no es p煤blico, pero puedes encontrar m谩s informaci贸n en el repositorio de Sorah Neuronal.

El modelo MiniChat-2-3B-Sorah supera a Vicuna-7B y se acerca a LLaMA-2-Chat-7B en MT-Bench.

A continuaci贸n, se muestra un ejemplo de c贸digo para usar Sorah basado en MiniChat-2-3B:

import torch

from transformers import AutoModelForCausalLM, AutoTokenizer
from conversation import get_default_conv_template

# Cargar MiniChat-2-3B-Sorah
tokenizer = AutoTokenizer.from_pretrained("HirCoir/minichat-3b-sorah", use_fast=False)

# Configuraci贸n para GPU
model = AutoModelForCausalLM.from_pretrained(
    "HirCoir/minichat-3b-sorah",
    use_cache=True,
    device_map="auto",
    torch_dtype=torch.float16
).eval()

# Configuraci贸n para CPU (opcional)
# model = AutoModelForCausalLM.from_pretrained(
#     "HirCoir/minichat-3b-sorah",
#     use_cache=True,
#     device_map="cpu",
#     torch_dtype=torch.float16
# ).eval()

# Crear una conversaci贸n
conv = get_default_conv_template("minichat")

# Ejemplo de pregunta
question = "Como te llamas?"

# A帽adir la pregunta a la conversaci贸n
conv.append_message(conv.roles[0], question)
conv.append_message(conv.roles[1], None)

# Obtener el prompt
prompt = conv.get_prompt()
input_ids = tokenizer([prompt]).input_ids

# Generar respuesta
output_ids = model.generate(
    torch.as_tensor(input_ids).cuda(),
    do_sample=True,
    temperature=0.7,
    max_new_tokens=1024
)
output_ids = output_ids[0][len(input_ids[0]):]
output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()

# La respuesta se almacena en 'output'
# Salida: "def common_elements(arr1, arr2):\n    if len(arr1) == 0:\n        return []\n    if len(arr2) == 0:\n        return arr1\n\n    common_elements = []\n    for element in arr1:\n        if element in arr2:\n            common_elements.append(element)\n\n    return common_elements"
# Una conversaci贸n multivuelta se puede realizar a帽adiendo preguntas continuamente a `conv`.