
Documentación
Trooper La nueva interfaz Trooper le permite no tener que especificar qué tipo de modelo desea usar. Stormtrooper detectará automáticamente el tipo de modelo del nombre especificado.
from stormtrooper import Trooper
# This loads a setfit model
model = Trooper ( "all-MiniLM-L6-v2" )
# This loads an OpenAI model
model = Trooper ( "gpt-4" )
# This loads a Text2Text model
model = Trooper ( "google/flan-t5-base" )Ya no tiene que especificar si un modelo debe ser unos pocos o un clasificador de disparo cero al inicializarlo. Si no aprueba ningún ejemplo de capacitación, se asumirá automáticamente que el modelo debe ser cero.
# This is a zero-shot model
model . fit ( None , [ "dog" , "cat" ])
# This is a few-shot model
model . fit ([ "he was a good boy" , "just lay down on my laptop" ], [ "dog" , "cat" ])Puede usar todo tipo de modelos de transformadores para pocos y cero clasificación de disparo en Stormtrooper.
Trooper("HuggingFaceH4/zephyr-7b-beta")Trooper("all-MiniLM-L6-v2")Trooper("google/flan-t5-base")Trooper("gpt-4")Trooper("facebook/bart-large-mnli") Encuentra más en nuestros documentos.
pip install stormtrooper from stormtrooper import Trooper
class_labels = [ "atheism/christianity" , "astronomy/space" ]
example_texts = [
"God came down to earth to save us." ,
"A new nebula was recently discovered in the proximity of the Oort cloud."
]
new_texts = [ "God bless the reailway workers" , "The frigate is ready to launch from the spaceport" ]
# Zero-shot classification
model = Trooper ( "google/flan-t5-base" )
model . fit ( None , class_labels )
model . predict ( new_texts )
# ["atheism/christianity", "astronomy/space"]
# Few-shot classification
model = Trooper ( "google/flan-t5-base" )
model . fit ( example_texts , class_labels )
model . predict ( new_texts )
# ["atheism/christianity", "astronomy/space"] Los modelos generativos y text2Text de forma predeterminada coincidirán con resultados difusos con la etiqueta de clase más cercana, puede deshabilitar este comportamiento especificando fuzzy_match=False .
Si desea acelerar la aceleración de coincidencia difusa, debe instalar python-Levenshtein .
De la versión 0.2.2 puede ejecutar modelos en GPU. Puede especificar el dispositivo al inicializar un modelo:
classifier = Trooper ( "all-MiniLM-L6-v2" , device = "cuda:0" ) Puede ejecutar un modelo en múltiples dispositivos en orden de GPU -> CPU + Ram -> Disk y en múltiples dispositivos utilizando el argumento device_map . Tenga en cuenta que esto solo funciona con Text2Text y modelos generativos.
model = Trooper("HuggingFaceH4/zephyr-7b-beta", device_map="auto")