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")