AllToken Go SDK

공식 Go SDK. HTTP 래퍼로 OpenAI 및 Anthropic 듀얼 서피스.

설치

go get
$ go get github.com/alltoken-ai/alltoken-go

Go 1.24+ 필요.

빠른 시작

하나의 API Key로 OpenAI 호환 및 Anthropic 호환 엔드포인트를 모두 사용할 수 있습니다:

Go
1package main
2
3import (
4 "context"
5 "encoding/json"
6 "fmt"
7 "os"
8
9 "github.com/alltoken-ai/alltoken-go"
10)
11
12func main() {
13 client, _ := alltoken.New(alltoken.Config{
14 APIKey: os.Getenv("ALLTOKEN_API_KEY"),
15 })
16
17 // OpenAI 호환 (/v1에 매핑)
18 resp, _ := client.OpenAI.Raw.Do(context.Background(), "POST", "/chat/completions", map[string]any{
19 "model": "gpt-4o",
20 "messages": []map[string]string{{"role": "user", "content": "안녕하세요!"}},
21 })
22 defer resp.Body.Close()
23
24 var out map[string]any
25 json.NewDecoder(resp.Body).Decode(&out)
26 fmt.Println(out)
27}

설정

Go
1client, err := alltoken.New(alltoken.Config{
2 APIKey: "...", // 필수
3 BaseURL: "https://api.alltoken.ai", // 선택
4 HTTPClient: &http.Client{Timeout: 60 * time.Second}, // 선택
5 DefaultHeaders: map[string]string{"X-My-Tag": "a"}, // 선택
6})

API 서피스

.Raw는 HTTP 클라이언트 래퍼입니다. Base URL과 인증이 설정되어 있으며 .Do(ctx, method, path, body)로 모든 라우트에 접근할 수 있습니다. Body는 자동으로 JSON 인코딩됩니다. oapi-codegen으로 OpenAPI 스펙에서 생성된 타입은 internal/gen/ 디렉토리에 있습니다.

필드Base URL
client.OpenAI.Rawhttps://api.alltoken.ai/v1
client.Anthropic.Rawhttps://api.alltoken.ai/anthropic