cybertron
v0.2.1
Cybertron是在Spago上构建的Pure Go中的一个软件包,它为GO开发人员提供了一个简单的界面,可以使用NLP技术,而无需其他编程语言或复杂的框架。它设计用于使用HuggingFace模型存储库中可用的预训练的变压器模型。
该软件包主要旨在进行推断,以便将来添加微调。
该团队愿意为加快其增长的贡献者开放。
要求:
克隆此存储库或获取图书馆:
go get -u github.com/nlpodyssey/cybertronCybertron支持两个主要用例,在下文中对此进行了详细的详细解释。
设置在.env文件中配置,该文件会自动由Cybertron加载。另外,它还可以通过标志接受配置。
对于完整的列表运行:
GOARCH=amd64 go run ./cmd/server -h输出:
Usage of server:
-address value
server listening address
-allowed-origins value
allowed origins (comma separated)
-loglevel value
zerolog global level
-model value
model name (and sub-path of models-dir)
-model-conversion value
model conversion policy ("always"|"missing"|"never")
-model-conversion-precision value
floating-point bits of precision to use if the model is converted ("32"|"64")
-model-download value
model downloading policy ("always"|"missing"|"never")
-models-dir value
models's base directory
-network value
network type for server listening
-task value
type of inference/computation that the model can fulfill ("textgeneration"|"zero-shot-classification"|"question-answering"|"text-classification"|"token-classification"|"text-encoding")
-tls value
whether to enable TLS ("true"|"false")
-tls-cert value
TLS cert filename
-tls-key value
TLS key filename
例如,要在服务器模式下运行Cybertron,以进行机器翻译(例如en it ),请在当前目录中创建.env文件:
echo "CYBERTRON_MODEL=Helsinki-NLP/opus-mt-en-it" > .env
echo "CYBERTRON_MODELS_DIR=models" >> .env
echo "CYBERTRON_MODEL_TASK=text-generation" >> .env并执行以下命令:
GOARCH=amd64 go run ./cmd/server -address 0.0.0.0:8080要测试服务器,请运行:
curl -X 'POST'
'0.0.0.0:8080/v1/generate'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"input": "You must be the change you wish to see in the world.",
"parameters": {}
}' 可以利用几个例子来参观塞伯顿目前的NLP功能。现在随后列出了演示列表。
GOARCH=amd64 go run ./examples/textgeneration
.env文件中指定的模型不兼容,则将返回错误。在这种情况下,从配置文件中删除指定的模型,因此将使用默认模型。
GOARCH=amd64 go run ./examples/zeroshotclassification politics,business,science,technology,health,culture,sports
塞伯特朗的典型依赖性是:
其余的主要用于GRPC和HTTP API开发。
本节旨在针对想要更改或丰富Cybertron GRPC和HTTP API的开发人员。
首先,您需要在计算机中安装BUF。
然后安装以下工具:
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
google.golang.org/protobuf/cmd/protoc-gen-go
google.golang.org/grpc/cmd/protoc-gen-go-grpc
然后运行以下命令以生成GRPC和HTTP API:
go generate ./...