Cybertronは、他のプログラミング言語や複雑なフレームワークを必要とせずに、NLPテクノロジーを使用する簡単なインターフェイスをGO開発者に提供するSpago上に構築されたPure Goのパッケージです。これは、Huggingfaceモデルリポジトリで利用可能な事前に訓練された変圧器モデルを使用するために設計されています。
このパッケージは、主に将来の微調整を追加する可能性との推論を実行することを目的としています。
チームは、その成長を促進するために貢献者にオープンです。
要件:
このリポジトリをクローンするか、ライブラリを取得します。
go get -u github.com/nlpodyssey/cybertronCybertronは2つの主要なユースケースをサポートしています。これは、以下で詳しく説明しています。
設定は、Cybertronによって自動的にロードされる.envファイルで構成されています。または、フラグを介した構成も受け入れます。
完全なリストの実行の場合:
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
たとえば、デフォルトenで機械変換のためにサーバーモードでCybertronを実行するには、現在の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": {}
}' Cybertronの現在のNLP機能をツアーするために、いくつかの例を活用できます。デモのリストが続きます。
GOARCH=amd64 go run ./examples/textgeneration
.envファイルで指定されたモデルが互換性がない場合、エラーが返されます。この場合、設定ファイルから指定されたモデルを削除して、デフォルトのモデルが使用されます。
GOARCH=amd64 go run ./examples/zeroshotclassification politics,business,science,technology,health,culture,sports
CybertronのPricipal依存関係は次のとおりです。
残りは主に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 ./...