Go API 参考

导入

1import joytoken "github.com/joytoken/client-sdk-golang"

NewClient

1client := joytoken.NewClient(
2 joytoken.WithAPIKey(os.Getenv("JOY_TOKEN_API_KEY")),
3 joytoken.WithAPIBaseURL(os.Getenv("JOY_TOKEN_API_BASE_URL")),
4 joytoken.WithOpenAIBaseURL(os.Getenv("JOY_TOKEN_OPENAI_BASE_URL")),
5)
选项用途
WithAPIKey请求认证
WithAPIBaseURL模型列表等 JoyToken API 的 base URL
WithOpenAIBaseURLOpenAI 兼容接口 base URL
WithHTTPClient自定义 HTTP client
WithHeader添加默认请求头

CreateChatCompletion

1completion, err := client.CreateChatCompletion(ctx, joytoken.ChatCompletionRequest{
2 Model: "auto",
3 Messages: []joytoken.ChatMessage{
4 {Role: "user", Content: "Hello"},
5 },
6})

调用 POST /openai/v1/chat/completions,返回非流式 Chat Completions 响应。

StreamChatCompletion

1stream, err := client.StreamChatCompletion(ctx, request)
2defer stream.Close()
3
4chunk, err := stream.Recv()

使用 SSE 读取流式 chunks。返回 io.EOF 表示流结束。

ListModels

1models, err := client.ListModels(ctx)

调用 GET /api/v1/models

APIError

1var apiErr *joytoken.APIError
2if errors.As(err, &apiErr) {
3 fmt.Println(apiErr.StatusCode, apiErr.RequestID, apiErr.Body)
4}
字段用途
StatusCodeHTTP 状态码
RequestID请求 ID
Body错误响应体