Este repositorio contiene un código que demuestra el uso de la biblioteca de transformadores de cara de abrazo para la clasificación de texto de cero disparos y la generación de texto. Incluye ejemplos con BART para la clasificación y GPT-2 para la generación de texto.
Clase ZeroShotInference : una clase para manejar la clasificación de texto de disparo cero y la generación de texto. main.py : Ejemplo de uso de la clase ZeroShotInference para la clasificación de texto y la generación de texto.
Para ejecutar este código, debe instalar la biblioteca de transformadores de cara abrazada y sus dependencias. Puedes instalarlos con:
pip install transformers torchEste ejemplo utiliza el modelo grande de Facebook Bart (Bart-Large-Mnli) para clasificar un texto basado en etiquetas candidatas dadas.
from transformers import pipeline
class ZeroShotInference :
def __init__ ( self , task , pre_trained_model ):
self . model = pre_trained_model
self . task = task
self . pipe = pipeline ( task = self . task , model = self . model )
def classify_text ( self , text , candidate_labels ):
result = self . pipe ( text , candidate_labels )
return resultEjemplo de uso:
text = "I love to play video games"
candidate_labels = [ 'hobby' , 'habit' , 'adventure' , 'boredom' , 'business' ]
task = "zero-shot-classification"
model = "facebook/bart-large-mnli"
zero_short_inference = ZeroShotInference ( task , model )
result = zero_short_inference . classify_text ( text , candidate_labels )
print ( result ) # Output: {'sequence': 'I love to play video games', 'labels': ['hobby', 'habit', 'adventure', 'business', 'boredom'], 'scores': [0.8799885511398315, 0.09845343977212906, 0.016700521111488342, 0.0031407771166414022, 0.0017165272729471326]}Este ejemplo usa GPT-2 para generar texto basado en un mensaje dado.
def generate_text ( self , prompt , max_length = 100 , temperature = 0.7 ):
output = self . pipe ( prompt , max_length = max_length , do_sample = True , temperature = temperature , truncation = True )
return output [ 0 ][ 'generated_text' ]Ejemplo de uso:
prompt = "I was doing coding last night"
model_2 = "gpt2"
task_2 = "text-generation"
zero_shot_infernece_2 = ZeroShotInference ( task_2 , model_2 )
result_2 = zero_shot_infernece_2 . generate_text ( prompt )
print ( result_2 ) El modelo utiliza técnicas de cuantización para una inferencia eficiente, reduciendo el uso de la memoria y acelerando los tiempos de respuesta utilizando BitsAndBytesConfig
Para HF_Token, según mencioné, he generado el token de Huggingface y he agregado a Secret of Google Colab para ser utilizado
Esta tarea tiene como objetivo ajustar el modelo Mistral para generar texto instruccional utilizando la variante 7B. Implica capacitar al modelo en un conjunto de datos específico y luego usarlo para generar texto instruccional basado en indicaciones dadas.
La instrucción de instrucciones Mistral de FINA-ajuste aprovecha el modelo Mistral, un modelo de lenguaje a gran escala, para generar texto instructivo. Al ajustar el modelo en un conjunto de datos que contiene texto instructivo, el objetivo es crear un modelo especializado capaz de generar instrucciones coherentes e informativas.
Las contribuciones al proyecto son bienvenidas. Siéntase libre de desembolsar el repositorio, hacer sus cambios y enviar una solicitud de extracción. También puede abrir problemas para sugerir mejoras o informar errores.