package main
import (
"context"
"fmt"
"log"
"time"
"github.com/deeprails/deeprails-go-sdk"
"github.com/deeprails/deeprails-go-sdk/option"
)
func main() {
apiKey := "YOUR_API_KEY"
client := deeprails.NewClient(option.WithAPIKey(apiKey))
// Create a monitor event (get the monitor_id from Console → Monitors)
created, err := client.Monitor.SubmitEvent(context.TODO(),
"mon_xxxxxxxxxxxx",
deeprails.MonitorSubmitEventParams{
ModelInput: deeprails.F(deeprails.MonitorSubmitEventParamsModelInput{
SystemPrompt: deeprails.F("You are a helpful tutor specializing in AP science classes."),
UserPrompt: deeprails.F("Explain the difference between mitosis and meiosis in one sentence."),
Context: deeprails.F([]string{
"user: I have an AP Bio exam tomorrow, can you help me study?",
"tutor: Sure, I'll help you study.",
}),
}),
ModelOutput: deeprails.F("Mitosis produces two genetically identical diploid cells for growth and tissue repair, whereas meiosis generates four genetically varied haploid gametes for sexual reproduction."),
RunMode: deeprails.F(deeprails.MonitorSubmitEventParamsRunModeFast),
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Event created: %+v\n", created)
time.Sleep(5 * time.Second)
var event *deeprails.MonitorEventDetailResponse
for event == nil || event.Status != deeprails.MonitorEventDetailResponseStatusCompleted {
time.Sleep(1 * time.Second)
var err error
event, err = client.Monitor.GetEvent(context.TODO(), created.MonitorID, created.EventID)
if err != nil {
log.Fatal(err)
}
}
fmt.Printf("Evaluation Result:\n%+v\n", event.EvaluationResult)
}