Skip to content

OpenAI API 直接调用

如果你直接通过 SDK 或 HTTP 请求调用 API,只需将 Base URL 指向中转站地址即可。

Python SDK

python
from openai import OpenAI

client = OpenAI(
    api_key="hb-xxxxxxxxxxxx",
    base_url="https://huobaoapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "Hello!"}
    ],
)
print(response.choices[0].message.content)

TIP

安装 Python SDK:pip install openai

Node.js SDK

javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "hb-xxxxxxxxxxxx",
  baseURL: "https://huobaoapi.com/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);

TIP

安装 Node.js SDK:npm install openai

Golang

go
package main

import (
	"context"
	"fmt"

	openai "github.com/sashabaranov/go-openai"
)

func main() {
	config := openai.DefaultConfig("hb-xxxxxxxxxxxx")
	config.BaseURL = "https://huobaoapi.com/v1"
	client := openai.NewClientWithConfig(config)

	resp, err := client.CreateChatCompletion(
		context.Background(),
		openai.ChatCompletionRequest{
			Model: openai.GPT4o,
			Messages: []openai.ChatCompletionMessage{
				{Role: openai.ChatMessageRoleUser, Content: "Hello!"},
			},
		},
	)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Choices[0].Message.Content)
}

PHP

php
<?php

$client = new GuzzleHttp\Client();

$response = $client->post('https://huobaoapi.com/v1/chat/completions', [
    'headers' => [
        'Content-Type' => 'application/json',
        'Authorization' => 'Bearer hb-xxxxxxxxxxxx',
    ],
    'json' => [
        'model' => 'gpt-4o',
        'messages' => [
            ['role' => 'user', 'content' => 'Hello!'],
        ],
    ],
]);

$data = json_decode($response->getBody(), true);
echo $data['choices'][0]['message']['content'];

cURL

bash
curl https://huobaoapi.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer hb-xxxxxxxxxxxx" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

流式输出(Streaming)

在请求体中添加 "stream": true 即可开启流式输出:

python
stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
javascript
const stream = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Hello!" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
bash
curl https://huobaoapi.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer hb-xxxxxxxxxxxx" \
  -d '{
    "model": "gpt-4o",
    "stream": true,
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

火豹 AI