Go SDK
11/5/22Less than 1 minute
Go SDK
Warning
The Go SDK is under development, and APIs might be changed in later versions. Pull requests are welcomed: https://github.com/gorse-io/gorse-go
Install
go get github.com/zhenghaoz/gorse-io/gorse-goUsage
import client "github.com/gorse-io/gorse-go"
func main() {
// Create a client
gorse := client.NewGorseClient("http://127.0.0.1:8087", "api_key")
// Insert a user.
gorse.InsertUser(client.User{
UserId: "bob",
Labels: map[string]interface{}{
"company": "gorse",
"location": "hangzhou, china",
},
Comment: "Bob is a software engineer.",
})
// Insert an item.
gorse.InsertItem(client.Item{
ItemId: "gorse-io:gorse",
IsHidden: false,
Labels: map[string]interface{}{
"topics": []string{"recommendation", "machine-learning"},
},
Categories: []string{"go"},
Timestamp: "2022-02-22",
Comment: "Gorse is an open-source recommender system.",
})
// Insert feedback
gorse.InsertFeedback([]client.Feedback{
{FeedbackType: "star", UserId: "bob", ItemId: "ollama:ollama", Value: 1.0, Timestamp: "2022-02-24"},
{FeedbackType: "star", UserId: "bob", ItemId: "huggingface:transformers", Value: 1.0, Timestamp: "2022-02-25"},
{FeedbackType: "star", UserId: "bob", ItemId: "rasbt:llms-from-scratch", Value: 1.0, Timestamp: "2022-02-26"},
{FeedbackType: "star", UserId: "bob", ItemId: "vllm-project:vllm", Value: 1.0, Timestamp: "2022-02-27"},
{FeedbackType: "star", UserId: "bob", ItemId: "hiyouga:llama-factory", Value: 1.0, Timestamp: "2022-02-28"},
})
// Get recommendation.
gorse.GetRecommend("bob", "", 10)
}