跳转到主要内容
支持通过 OpenAI、Anthropic 和 Gemini AI Studio 兼容接口进行文本生成调用。

OpenAI 兼容接口 (推荐)

如部分功能本文档未提及,请参考 OpenAI官方文档

消息体结构说明

消息类型功能描述示例内容
system模型指令,设定AI角色,描述模型应一般如何行为和响应例如:“你是有10年经验的儿科医生”
user用户输入,将最终用户的消息传递给模型例如:“幼儿持续低烧应如何处理?“
assistant模型生成的历史回复,为模型提供示例,说明它应该如何回应当前请求例如:“建议先测量体温…”
若希望模型按照分层指令进行响应,可以利用消息角色来提升输出的质量。不过,消息角色并不总是有确定性的表现,因此建议尝试多种用法,比较不同方法带来的效果,找出最适合你的方案。

基础对话

from openai import OpenAI

client = OpenAI(
    base_url="https://api.elkapi.com/v1",
    api_key="",  # 替换为你在本站点的 API Key
)

response = client.chat.completions.create(
    model="deepseek-r1",
    messages=[
        {
            "role": "user",
            "content": "say 1"
        }
    ]
)

print(response.choices[0].message.content)

流式响应

from openai import OpenAI

client = OpenAI(
    base_url="https://api.elkapi.com/v1",
    api_key="",  # 替换为你在本站点的 API Key
)

stream = client.chat.completions.create(
    model="deepseek-r1",
    messages=[
        {
            "role": "user",
            "content": "写一首关于春天的诗"
        }
    ],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

工具调用(Function Calling)

更多详情参考 OpenAI 函数调用指南
from openai import OpenAI

client = OpenAI(
    base_url="https://api.elkapi.com/v1",
    api_key="",  # 替换为你在本站点的 API Key
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取指定城市的天气信息",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "城市名称"
                    }
                },
                "required": ["city"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="deepseek-r1",
    messages=[
        {
            "role": "user",
            "content": "北京今天天气怎么样?"
        }
    ],
    tools=tools
)

print(response.choices[0].message)

Response 接口

目前该接口仅支持OpenAI模型 具体使用方案请参考 OpenAI官方文档

注意事项

如果在使用过程中遇到任何问题:
  • 联系我们的技术支持团队
  • 在我们的 工单中心 提交工单反馈
  • 使用时需要将 OPENAI_BASE_URL 设置为 https://api.elkapi.com/v1
  • OPENAI_API_KEY 应设置为您的 API Key
  • 部分模型不支持 presence_penaltyfrequency_penaltylogit_bias 等参数,传入会被忽略
  • 旧版的 function_call 参数已废弃,请使用 tools

Anthropic 兼容接口

如部分功能本文档未提及,请参考 Anthropic官方文档

基础对话

import anthropic

client = anthropic.Anthropic(
    base_url="https://api.elkapi.com/anthropic",
    api_key=""  # 替换为你在本站点的 API Key
)

message = client.messages.create(
    model="deepseek-r1",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "请用简单的语言解释什么是机器学习"
        }
    ]
)

print(message.content[0].text)

流式响应

import anthropic

client = anthropic.Anthropic(
    base_url="https://api.elkapi.com/anthropic",
    api_key=""  # 替换为你在本站点的 API Key
)

with client.messages.stream(
    model="deepseek-r1",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "写一首关于春天的诗"
        }
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

工具调用(Function Calling)

更多详情参考 Anthropic 函数调用指南
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.elkapi.com/anthropic",
    api_key=""  # 替换为你在本站点的 API Key
)

tools = [
    {
        "name": "get_weather",
        "description": "获取指定城市的天气信息",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "城市名称"
                }
            },
            "required": ["city"]
        }
    }
]

message = client.messages.create(
    model="deepseek-r1",
    max_tokens=1024,
    tools=tools,
    messages=[
        {
            "role": "user",
            "content": "北京今天天气怎么样?"
        }
    ]
)

print(message.content)
  • 使用时需要将 ANTHROPIC_BASE_URL 设置为 https://api.elkapi.com/anthropic
  • ANTHROPIC_API_KEY 应设置为您的 API Key

Gemini AI Studio 兼容接口

Gemini 模型支持通过 Google AI Studio 官方 API 格式直接调用,无需转换为 OpenAI 格式。适用于已使用 Google genai SDK 的项目。 如部分功能本文档未提及,请参考 Google AI Studio 官方文档

基础对话

from google import genai
from google.genai import types

client = genai.Client(
    api_key="",  # 替换为你在本站点的 API Key
    http_options=types.HttpOptions(
        api_version="v1beta",
        base_url="https://api.elkapi.com",
    ),
)

response = client.models.generate_content(
    model="gemini-2.5-pro",
    contents="你好,请做一下自我介绍",
)

print(response.text)

流式响应

from google import genai
from google.genai import types

client = genai.Client(
    api_key="",  # 替换为你在本站点的 API Key
    http_options=types.HttpOptions(
        api_version="v1beta",
        base_url="https://api.elkapi.com",
    ),
)

for chunk in client.models.generate_content_stream(
    model="gemini-2.5-pro",
    contents="写一首关于春天的诗",
):
    print(chunk.text, end="", flush=True)

工具调用(Function Calling)

更多详情参考 Google AI Studio 函数调用指南
from google import genai
from google.genai import types

client = genai.Client(
    api_key="",  # 替换为你在本站点的 API Key
    http_options=types.HttpOptions(
        api_version="v1beta",
        base_url="https://api.elkapi.com",
    ),
)

get_weather = types.FunctionDeclaration(
    name="get_weather",
    description="获取指定城市的天气信息",
    parameters=types.Schema(
        type="OBJECT",
        properties={
            "city": types.Schema(type="STRING", description="城市名称"),
        },
        required=["city"],
    ),
)

response = client.models.generate_content(
    model="gemini-2.5-pro",
    contents="北京今天天气怎么样?",
    config=types.GenerateContentConfig(
        tools=[types.Tool(function_declarations=[get_weather])]
    ),
)

print(response.candidates[0].content.parts)
  • base_url / baseUrl 设置为 https://api.elkapi.com(不含 /v1beta 后缀,SDK 会自动拼接)
  • api_version / apiVersion 建议设为 v1beta
  • api_key / apiKey 应设置为您在本站点的 API Key
  • 依赖安装:Python 使用 pip install google-genai,Node.js 使用 npm install @google/genai

相关链接

OpenAI 官方文档

OpenAI Chat Completions API

Anthropic 官方文档

Anthropic Messages API

Google AI Studio 官方文档

Gemini GenerateContent API