AllToken Go SDK

公式 Go SDK。HTTP ラッパーで OpenAI・Anthropic デュアルサーフェス。

インストール

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

Go 1.24+ 必要。

クイックスタート

1 つの API キーで 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 クライアントラッパーです。ベース URL と認証は設定済みで、.Do(ctx, method, path, body) で任意のルートにアクセスできます。ボディは自動的に JSON エンコードされます。oapi-codegen で OpenAPI スペックから生成された型は internal/gen/ にあります。

フィールドベース URL
client.OpenAI.Rawhttps://api.alltoken.ai/v1
client.Anthropic.Rawhttps://api.alltoken.ai/anthropic