Go - Manual Tracking

Track AI usage when you have direct access to token counts from API responses.

OpenAI Example

manual_openai.go
1package main
2
3import (
4    "context"
5    "os"
6    
7    paygent "github.com/paygent-org/paygent-sdk-go"
8    "github.com/sashabaranov/go-openai"
9)
10
11func main() {
12    paygentClient := paygent.NewClient(os.Getenv("PAYGENT_API_KEY"))
13    openaiClient := openai.NewClient(os.Getenv("OPENAI_API_KEY"))
14    
15    // Make OpenAI API call
16    resp, err := openaiClient.CreateChatCompletion(
17        context.Background(),
18        openai.ChatCompletionRequest{
19            Model: "gpt-4o",
20            Messages: []openai.ChatCompletionMessage{
21                {Role: "user", Content: "Explain quantum physics"},
22            },
23        },
24    )
25    if err != nil {
26        panic(err)
27    }
28    
29    // Extract usage data
30    usage := resp.Usage
31    
32    // Track with Paygent
33    usageData := paygent.UsageData{
34        ServiceProvider:  "OpenAI",
35        Model:            resp.Model,
36        PromptTokens:     usage.PromptTokens,
37        CompletionTokens: usage.CompletionTokens,
38        TotalTokens:      usage.TotalTokens,
39    }
40    
41    paygentClient.SendUsage(
42        "qa-agent",
43        "customer-456",
44        "question-answered",
45        usageData,
46    )
47}

Was this page helpful?

Need help? Contact us at support@withpaygent.com