package main import ( "context" "fmt" "log" "os" "time" gollama "gitea.neitzel.de/konrad/go-ollama" ) func main() { ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute) defer cancel() client, err := gollama.FromEnv() if err != nil { log.Fatalf("connect: %v", err) } if err := client.Ping(ctx); err != nil { log.Fatalf("ping: %v", err) } names, err := client.ModelNames(ctx) if err != nil { log.Fatalf("list models: %v", err) } fmt.Println("models:", names) model := "llama3.2" if len(os.Args) > 1 { model = os.Args[1] } reply, err := client.Complete(ctx, "Say hi in one sentence.", gollama.WithModel(model)) if err != nil { log.Fatalf("complete: %v", err) } fmt.Println("reply:", reply.Text) session, err := client.NewSession(model, gollama.WithSessionSystem("Be brief.")) if err != nil { log.Fatalf("session: %v", err) } r, err := session.Send(ctx, "What is Go?") if err != nil { log.Fatalf("chat: %v", err) } fmt.Println("session:", r.Text) }