watsonx go
v1.0.1
watsonx-go
Go용 watsonx 클라이언트입니다.
go get -u github.com/IBM/watsonx-go
import (
wx "github.com/IBM/watsonx-go/pkg/models"
)
export WATSONX_API_KEY= " YOUR WATSONX API KEY "
export WATSONX_PROJECT_ID= " YOUR WATSONX PROJECT ID "
클라이언트를 생성합니다:
client , _ := wx . NewClient ()
또는 필수 비밀을 직접 전달하세요.
client , err := wx . NewClient (
wx . WithWatsonxAPIKey ( apiKey ),
wx . WithWatsonxProjectID ( projectID ),
)
세대:
result , _ := client . GenerateText (
"meta-llama/llama-3-1-8b-instruct" ,
"Hi, who are you?" ,
wx . WithTemperature ( 0.4 ),
wx . WithMaxNewTokens ( 512 ),
)
println ( result . Text )
스트림 생성:
dataChan , _ := client . GenerateTextStream (
"meta-llama/llama-3-1-8b-instruct" ,
"Hi, who are you?" ,
wx . WithTemperature ( 0.4 ),
wx . WithMaxNewTokens ( 512 ),
)
for data := range dataChan {
print ( data . Text ) // print the result as it's being generated
}
임베딩 | 단일 쿼리:
result , _ := client . EmbedQuery (
"ibm/slate-30m-english-rtrvr" ,
"Hello, world!" ,
wx . WithEmbeddingTruncateInputTokens ( 2 ),
wx . WithEmbeddingReturnOptions ( true ),
)
embeddingVector := result . Results [ 0 ]. Embedding
임베딩 | 여러 문서:
result , _ := clientl . EmbedDocuments (
"ibm/slate-30m-english-rtrvr" ,
[] string { "Hello, world!" , "Goodbye, world!" },
wx . WithEmbeddingTruncateInputTokens ( 2 ),
wx . WithEmbeddingReturnOptions ( true ),
)
for _ , doc := range result . Results {
fmt . Println ( doc . Embedding )
}
export WATSONX_API_KEY= " YOUR WATSONX API KEY "
export WATSONX_PROJECT_ID= " YOUR WATSONX PROJECT ID "
go test ./...
커밋 전 형식 지정을 실행하려면 다음 명령을 실행하세요.
git config --local core.hooksPath .githooks/
테스트 환경에서 사용할 watsonx 클라이언트를 구성하는 방법에는 두 가지가 있습니다.
환경 변수를 사용하여 Watsonx URL 및 IAM 엔드포인트를 지정합니다.
export WATSONX_URL_HOST= " us-south.ml.test.cloud.ibm.com "
export WATSONX_IAM_HOST= " iam.test.cloud.ibm.com "
NewClient
함수 매개변수 사용NewClient 함수의 매개변수를 통해 Watsonx URL 및 IAM 엔드포인트를 지정합니다.
client , err := wx . NewClient (
wx . WithURL ( "us-south.ml.test.cloud.ibm.com" ),
wx . WithIAM ( "iam.test.cloud.ibm.com" ),
wx . WithWatsonxAPIKey ( apiKey ),
wx . WithWatsonxProjectID ( projectID ),
)