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