watsonx-go
is a watsonx Client for Go
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"
Create a client:
client, _ := wx.NewClient()
Or pass in the required secrets directly:
client, err := wx.NewClient(
wx.WithWatsonxAPIKey(apiKey),
wx.WithWatsonxProjectID(projectID),
)
Generation:
result, _ := client.GenerateText(
"meta-llama/llama-3-70b-instruct",
"Hi, who are you?",
wx.WithTemperature(0.9),
wx.WithTopP(.5),
wx.WithTopK(10),
wx.WithMaxNewTokens(512),
)
println(result.Text)
If you want to use Watsonx test environment, choose one of the following methods:
Specify the Watsonx URL and IAM endpoint using environment variables:
export WATSONX_URL_HOST="us-south.ml.test.cloud.ibm.com"
export WATSONX_IAM_HOST="iam.test.cloud.ibm.com"
Specify the Watsonx URL and IAM endpoint through the parameters of the NewClient function:
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),
)
export WATSONX_API_KEY="YOUR WATSONX API KEY"
export WATSONX_PROJECT_ID="YOUR WATSONX PROJECT ID"
go test ./...
Run the following command to run pre-commit formatting:
git config --local core.hooksPath .githooks/