stormtrooper
v1.0.0

文档
Trooper全新的Trooper接口使您无需指定要使用的型号类型。 Stormtrooper将自动从指定名称检测模型类型。
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" )初始化时,您不再需要指定模型是少数还是零弹分的分类器。如果您不通过任何培训示例,将自动假定该模型应为零。
# 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" ])您可以在Stormtroper中使用各种变压器模型进行少量和零射击分类。
Trooper("HuggingFaceH4/zephyr-7b-beta")Trooper("all-MiniLM-L6-v2")Trooper("google/flan-t5-base")Trooper("gpt-4")Trooper("facebook/bart-large-mnli") 在我们的文档中找到更多。
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"]默认情况下,生成和text2Text模型将模糊的结果与最接近的类标签匹配,您可以通过指定fuzzy_match=False禁用此行为。
如果您想要模糊的匹配加速,则应安装python-Levenshtein 。
从0.2.2版本,您可以在GPU上运行型号。您可以在初始化模型时指定设备:
classifier = Trooper ( "all-MiniLM-L6-v2" , device = "cuda:0" )您可以使用device_map参数在多个设备优先级GPU -> CPU + Ram -> Disk以及多个设备上运行模型。请注意,这仅适用于Text2Text和生成模型。
model = Trooper("HuggingFaceH4/zephyr-7b-beta", device_map="auto")