import (
"fmt"
"log"
"github.com/memodb-io/memobase/src/client/memobase-go/blob"
"github.com/memodb-io/memobase/src/client/memobase-go/core"
)
func main() {
client, err := core.NewMemoBaseClient("YOUR_PROJECT_URL", "YOUR_API_KEY")
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
user, err := client.GetUser("EXISTING_USER_ID", false)
if err != nil {
log.Fatalf("Failed to get user: %v", err)
}
chatBlob := &blob.ChatBlob{
Messages: []blob.OpenAICompatibleMessage{
{Role: "user", Content: "Hello, I am Jinjia!"},
{Role: "assistant", Content: "Hi there! How can I help you today?"},
},
}
// Asynchronous insert (sync=false)
blobID, err := user.Insert(chatBlob, false)
if err != nil {
log.Fatalf("Failed to insert blob: %v", err)
}
fmt.Printf("Successfully queued blob for insertion with ID: %s\n", blobID)
// Asynchronous flush (sync=false)
err = user.Flush(blob.ChatType, false)
if err != nil {
log.Fatalf("Failed to flush buffer: %v", err)
}
fmt.Println("Successfully queued buffer for flushing")
// Synchronous flush (sync=true)
err = user.Flush(blob.ChatType, true)
if err != nil {
log.Fatalf("Failed to flush buffer: %v", err)
}
fmt.Println("Successfully flushed buffer synchronously")
}