
Documentação
Trooper A nova interface Trooper permite que você não precise especificar qual tipo de modelo você deseja usar. O Stormtrooper detectará automaticamente o tipo de modelo do nome 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" )Você não precisa mais especificar se um modelo deve ser alguns ou um classificador de tiro zero ao inicializá-lo. Se você não passar nenhum exemplo de treinamento, será automaticamente assumido que o modelo deve ser zero.
# 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" ])Você pode usar todos os tipos de modelos de transformadores para poucos e classificação zero no Stormtrooper.
Trooper("HuggingFaceH4/zephyr-7b-beta")Trooper("all-MiniLM-L6-v2")Trooper("google/flan-t5-base")Trooper("gpt-4")Trooper("facebook/bart-large-mnli") Encontre mais em nossos 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"] Modelos generativos e text2Text Por padrão, os resultados da classe confusa do rótulo de classe mais próximos, você pode desativar esse comportamento especificando fuzzy_match=False .
Se você deseja uma aceleração combinada difusa, instale python-Levenshtein .
Na versão 0.2.2, você pode executar modelos na GPU. Você pode especificar o dispositivo ao inicializar um modelo:
classifier = Trooper ( "all-MiniLM-L6-v2" , device = "cuda:0" ) Você pode executar um modelo em vários dispositivos em ordem da GPU -> CPU + Ram -> Disk e em vários dispositivos usando o argumento device_map . Observe que isso funciona apenas com modelos text2text e generativos.
model = Trooper("HuggingFaceH4/zephyr-7b-beta", device_map="auto")