Open a Conversation
Learn how to start using the SDK with sdk.Open().
Basic Usage
Section titled “Basic Usage”import "github.com/AltairaLabs/PromptKit/sdk"
conv, err := sdk.Open("./app.pack.json", "assistant")if err != nil { log.Fatal(err)}defer conv.Close()Parameters
Section titled “Parameters”Pack Path
Section titled “Pack Path”First argument is the path to your pack file:
// Relative pathconv, _ := sdk.Open("./prompts/app.pack.json", "chat")
// Absolute pathconv, _ := sdk.Open("/etc/myapp/prompts.pack.json", "chat")Prompt Name
Section titled “Prompt Name”Second argument is the prompt name from your pack:
// Pack contains: prompts.assistant, prompts.support, prompts.salesconv, _ := sdk.Open("./app.pack.json", "assistant")conv, _ := sdk.Open("./app.pack.json", "support")conv, _ := sdk.Open("./app.pack.json", "sales")Options
Section titled “Options”Override Model
Section titled “Override Model”conv, _ := sdk.Open("./app.pack.json", "chat", sdk.WithModel("gpt-4o"),)Override Temperature
Section titled “Override Temperature”conv, _ := sdk.Open("./app.pack.json", "chat", sdk.WithTemperature(0.9),)Multiple Options
Section titled “Multiple Options”conv, _ := sdk.Open("./app.pack.json", "chat", sdk.WithModel("gpt-4o"), sdk.WithTemperature(0.8), sdk.WithMaxTokens(2000),)Environment Variables
Section titled “Environment Variables”The SDK uses these environment variables:
# Provider API keys (one required)export OPENAI_API_KEY="sk-..."export ANTHROPIC_API_KEY="sk-ant-..."export GOOGLE_API_KEY="..."
# Optional: Default modelexport PROMPTKIT_MODEL="gpt-4o-mini"Error Handling
Section titled “Error Handling”conv, err := sdk.Open("./app.pack.json", "chat")if err != nil { switch { case errors.Is(err, sdk.ErrPackNotFound): log.Fatal("Pack file not found") case errors.Is(err, sdk.ErrPromptNotFound): log.Fatal("Prompt not in pack") case errors.Is(err, sdk.ErrInvalidPack): log.Fatal("Pack file is invalid") default: log.Fatalf("Failed to open: %v", err) }}defer conv.Close()Always Close
Section titled “Always Close”Always close conversations when done:
conv, err := sdk.Open("./app.pack.json", "chat")if err != nil { log.Fatal(err)}defer conv.Close() // Important!
// Use conversation...Complete Example
Section titled “Complete Example”package main
import ( "context" "fmt" "log"
"github.com/AltairaLabs/PromptKit/sdk")
func main() { // Open conversation conv, err := sdk.Open("./app.pack.json", "assistant", sdk.WithModel("gpt-4o"), ) if err != nil { log.Fatal(err) } defer conv.Close()
// Set variables conv.SetVar("user_name", "Alice")
// Send message ctx := context.Background() resp, err := conv.Send(ctx, "Hello!") if err != nil { log.Fatal(err) }
fmt.Println(resp.Text())}