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 クライアントを構成するには、次の 2 つの方法があります。
環境変数を使用して 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 ),
)