SDK 使用

AI 服务平台(AISP)完全兼容 OpenAI Chat Completions API, 支持 OpenAI 官方 SDK,同时兼容大部分第三方 AI 开发框架。

推荐方式

如果你的项目已经接入 OpenAI, 仅需修改 BaseURLAPI Key, 无需修改任何业务逻辑即可切换到 AISP。

支持 SDK

SDK支持情况
OpenAI Python✅ 支持
OpenAI Node.js✅ 支持
OpenAI PHP✅ 支持
OpenAI Java✅ 支持
OpenAI Go✅ 支持
OpenAI C#✅ 支持

安装 SDK

Python

pip install openai

Node.js

npm install openai

PHP

composer require openai-php/client

Go

go get github.com/openai/openai-go

修改 Base URL

AISP 与 OpenAI API 完全兼容, 所有 SDK 仅需修改 BaseURL 即可。

https://api.hejushuzi.com/api/openai
如果你之前使用的是
https://api.openai.com/v1
修改为
https://api.hejushuzi.com/api/openai
即可。

Python 示例

from openai import OpenAI

client = OpenAI(

    api_key="sk-xxxxxxxx",

    base_url="https://api.hejushuzi.com/api/openai"

)

response = client.chat.completions.create(

    model="deepseek-v4-pro",

    messages=[

        {

            "role":"user",

            "content":"你好"

        }

    ]

)

print(

    response.choices[0].message.content

)

Python Stream

from openai import OpenAI

client = OpenAI(

    api_key="sk-xxxxxxxx",

    base_url="https://api.hejushuzi.com/api/openai"

)

stream = client.chat.completions.create(

    model="deepseek-v4-pro",

    stream=True,

    messages=[

        {

            "role":"user",

            "content":"你好"

        }

    ]

)

for chunk in stream:

    if chunk.choices:

        print(

            chunk.choices[0].delta.content,

            end=""

        )

Node.js 示例

import OpenAI from "openai"

const client = new OpenAI({

    apiKey:"sk-xxxxxxxx",

    baseURL:"https://api.hejushuzi.com/api/openai"

})

const chat = await client.chat.completions.create({

    model:"deepseek-v4-pro",

    messages:[

        {

            role:"user",

            content:"你好"

        }

    ]

})

console.log(

    chat.choices[0].message.content

)

Node.js Stream

Node.js 支持流式输出(Streaming),可以实现逐字输出效果。

import OpenAI from "openai"

const client = new OpenAI({

    apiKey:"sk-xxxxxxxx",

    baseURL:"https://api.hejushuzi.com/api/openai"

})

const stream = await client.chat.completions.create({

    model:"deepseek-v4-pro",

    stream:true,

    messages:[

        {

            role:"user",

            content:"你好"

        }

    ]

})

for await (const chunk of stream) {

    process.stdout.write(

        chunk.choices[0]?.delta?.content || ""

    )

}

PHP 示例

<?php

$url = "https://api.hejushuzi.com/api/openai/chatCompletions";

$data = [

    "model" => "deepseek-v4-pro",

    "messages" => [

        [

            "role" => "user",

            "content" => "你好"

        ]

    ]

];

$ch = curl_init($url);

curl_setopt_array($ch, [

    CURLOPT_POST => true,

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_HTTPHEADER => [

        "Authorization: Bearer sk-xxxxxxxx",

        "Content-Type: application/json"

    ],

    CURLOPT_POSTFIELDS => json_encode($data)

]);

$response = curl_exec($ch);

curl_close($ch);

echo $response;

JavaScript(浏览器)

const res = await fetch(

    "https://api.hejushuzi.com/api/openai/chatCompletions",

    {

        method:"POST",

        headers:{

            "Authorization":"Bearer sk-xxxxxxxx",

            "Content-Type":"application/json"

        },

        body:JSON.stringify({

            model:"deepseek-v4-pro",

            messages:[

                {

                    role:"user",

                    content:"你好"

                }

            ]

        })

    }

)

const data = await res.json()

console.log(data)

JavaScript Stream

const response = await fetch(url)

const reader = response.body.getReader()

const decoder = new TextDecoder()

let result = ""

while(true) {

    const { value, done } = await reader.read()

    if(done) break

    result += decoder.decode(value, { stream:true })

    console.log(result)

}

Java 示例

OpenAIClient client = new OpenAIClient(
    "https://api.hejushuzi.com/api/openai",
    "sk-xxxxxxxx"
);

ChatCompletionRequest request = ChatCompletionRequest.builder()
    .model("deepseek-v4-pro")
    .message("user", "你好")
    .build();

ChatCompletionResponse response = client.chat().create(request);

System.out.println(
    response.getChoices().get(0).getMessage().getContent()
);

Go 示例

package main

import (
    "fmt"
    openai "github.com/openai/openai-go"
)

func main() {

    client := openai.NewClient("sk-xxxxxxxx")

    client.BaseURL = "https://api.hejushuzi.com/api/openai"

    resp, _ := client.Chat.Completions.Create(

        "deepseek-v4-pro",

        []openai.Message{

            {
                Role: "user",
                Content: "你好",
            },
        },
    )

    fmt.Println(resp.Choices[0].Message.Content)
}

C# 示例

var client = new OpenAIClient(

    apiKey: "sk-xxxxxxxx",

    baseUrl: "https://api.hejushuzi.com/api/openai"

);

var result = client.Chat.Completions.Create(new ChatRequest
{
    Model = "deepseek-v4-pro",
    Messages = new[]
    {
        new Message
        {
            Role = "user",
            Content = "你好"
        }
    }
});

Console.WriteLine(
    result.Choices[0].Message.Content
);

cURL

curl https://api.hejushuzi.com/api/openai/chatCompletions \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
    "model":"deepseek-v4-pro",
    "messages":[
        {
            "role":"user",
            "content":"你好"
        }
    ]
}'

流式输出说明

流式输出(Streaming)使用 SSE(Server-Sent Events)协议, 每次返回一个 delta 增量内容。

返回格式如下:

data: {
  "id":"xxx",
  "object":"chat.completion.chunk",
  "choices":[
    {
      "delta":{
        "content":"你好"
      }
    }
  ]
}

data: [DONE]

SDK 兼容说明

能力支持情况
Chat Completions✅ 支持
Stream 流式输出✅ 支持
多轮对话✅ 支持
OpenAI SDK 兼容✅ 100% 兼容
第三方工具接入✅ 支持
总结

只需修改 BaseURL,即可将 OpenAI SDK 无缝切换到 AISP 平台。