FFreecode 文档
控制台

06 · OpenAI SDK 接入 Freecode#

使用官方 OpenAI SDK,自定义 Base URL 为 https://api.freecode.cc/v1。Responses 和 Chat Completions 是不同接口,应选择该模型及分组支持的格式。

1. 设置环境变量#

macOS / Linux / WSL:

export FREECODE_API_KEY="sk-your-freecode-api-key"
export FREECODE_MODEL="gpt-6.1-sol"

PowerShell:

$env:FREECODE_API_KEY = "sk-your-freecode-api-key"
$env:FREECODE_MODEL = "gpt-6.1-sol"

2. Python:Responses#

安装到当前 Python 环境:

python -m pip install --upgrade openai

保存为 freecode_openai.py:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["FREECODE_API_KEY"],
    base_url="https://api.freecode.cc/v1",
    timeout=120.0,
)

response = client.responses.create(
    model=os.environ.get("FREECODE_MODEL", "gpt-6.1-sol"),
    input="请用一句话打个招呼",
    store=False,
)
print(response.output_text)

运行:

python freecode_openai.py

流式输出,将上面创建请求和打印的部分替换为:

stream = client.responses.create(
    model=os.environ.get("FREECODE_MODEL", "gpt-6.1-sol"),
    input="请写一首四行小诗",
    store=False,
    stream=True,
)
for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
print()

3. JavaScript:Responses#

在项目目录安装:

npm install openai

保存为 freecode_openai.mjs。.mjs 使用 ES Modules,可直接在 Node.js 中执行:

import OpenAI from "openai";

if (!process.env.FREECODE_API_KEY) {
  throw new Error("请先设置 FREECODE_API_KEY");
}

const client = new OpenAI({
  apiKey: process.env.FREECODE_API_KEY,
  baseURL: "https://api.freecode.cc/v1",
  timeout: 120000,
});

const response = await client.responses.create({
  model: process.env.FREECODE_MODEL ?? "gpt-6.1-sol",
  input: "请用一句话打个招呼",
  store: false,
});
console.log(response.output_text);

运行:

node freecode_openai.mjs

流式输出,将创建请求和打印的部分替换为:

const stream = await client.responses.create({
  model: process.env.FREECODE_MODEL ?? "gpt-6.1-sol",
  input: "请写一首四行小诗",
  store: false,
  stream: true,
});
for await (const event of stream) {
  if (event.type === "response.output_text.delta") {
    process.stdout.write(event.delta);
  }
}
process.stdout.write("\n");

4. Chat Completions#

使用支持该接口的模型及分组,例如 gpt-4o。在上面的 Python client 初始化之后,可改为:

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "请用一句话打个招呼"}],
)
print(response.choices[0].message.content)

JavaScript 的对应写法:

const response = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "请用一句话打个招呼" }],
});
console.log(response.choices[0].message.content);

若使用 Chat Completions 流式输出,部分分片可能没有 choices,读取前先判断,避免因空分片导致应用异常。

5. 验证与集成#

收到回复后,在 使用日志 核对模型、分组和用量。LangChain 等框架若支持自定义 OpenAI Base URL,可以使用相同地址;接口和模型参数仍须按框架实际调用格式设置。

密钥仅放在服务端环境或本机环境中,不写入网页前端代码。报错见 常见问题。

参考:原 OpenAI SDK 指南、OpenAI 官方 SDK 快速开始。

Freecode 接入指南 · 更新于 2026-10-13

搜索文档