Cybertron은 다른 프로그래밍 언어 나 복잡한 프레임 워크가 필요하지 않고 NLP 기술을 사용할 수있는 쉬운 인터페이스를 GO 개발자에게 제공하는 Pure Go의 패키지입니다. 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
예를 들어, en it 으로 기계 번역을 위해 서버 모드에서 CyberTron을 실행하려면 현재 디렉토리에서 .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
Cybertron의 우연한 의존성은 다음과 같습니다.
나머지는 주로 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 ./...