OpenAI API 接入教程

完整的OpenAI兼容API接入指南,使用api.nyxar.org服务,快速集成AI功能到您的应用中

100%
兼容OpenAI
24/7
服务可用
99.9%
稳定性

概述

我们的API服务完全兼容OpenAI格式,提供稳定可靠的AI模型访问。通过api.nyxar.org,您可以轻松集成各种AI功能到您的应用中。

API基础信息

基础URL: https://api.nyxar.org

协议: HTTPS

格式: JSON

编码: UTF-8

安全特性

认证: API Key

传输: TLS 1.2+

限制: 速率控制

监控: 实时日志

支持模型

GPT-4: 最新版本

GPT-3.5: Turbo版本

自定义: 专用模型

更新: 定期升级

快速开始

按照以下步骤快速开始使用我们的API服务。

1

获取API密钥

联系我们获取您的专用API密钥,每个密钥都有独立的使用配额和权限设置

2

配置请求头

在所有API请求中包含Authorization头,格式为"Bearer your-api-key"

3

发送测试请求

使用聊天完成端点发送一个简单的测试请求,验证连接和认证

4

集成到应用

将API调用集成到您的应用程序中,开始构建AI驱动的功能

认证方式

我们的API使用API密钥进行认证,确保安全可靠的访问控制。

Bearer Token认证

在HTTP请求头中包含您的API密钥:

Authorization: Bearer sk-your-api-key-here

重要安全提示

  • 请妥善保管您的API密钥,不要在客户端代码中暴露
  • 建议在服务器端进行API调用,避免密钥泄露
  • 定期轮换API密钥以提高安全性
  • 监控API使用情况,及时发现异常访问

API端点

我们提供完整的OpenAI兼容API端点,支持各种AI功能。

POST /v1/chat/completions 聊天完成 - 主要的对话API
GET /v1/models 获取可用模型列表
POST /v1/completions 文本完成 - 传统完成API

聊天完成API参数

model
string
必需
要使用的模型ID,如"gpt-4"或"gpt-3.5-turbo"
messages
array
必需
对话消息数组,包含角色和内容
temperature
number
可选
控制输出随机性,范围0-2,默认1
max_tokens
integer
可选
生成的最大token数量
stream
boolean
可选
是否启用流式响应,默认false

代码示例

以下是使用不同编程语言调用我们API的示例代码。

JavaScript (Node.js)

const axios = require('axios');

async function chatCompletion() {
    try {
        const response = await axios.post('https://api.nyxar.org/v1/chat/completions', {
            model: 'gpt-3.5-turbo',
            messages: [
                {
                    role: 'user',
                    content: '你好,请介绍一下人工智能的发展历史。'
                }
            ],
            temperature: 0.7,
            max_tokens: 1000
        }, {
            headers: {
                'Authorization': 'Bearer sk-your-api-key-here',
                'Content-Type': 'application/json'
            }
        });
        
        console.log(response.data.choices[0].message.content);
    } catch (error) {
        console.error('API调用失败:', error.response?.data || error.message);
    }
}

chatCompletion();

Python

import requests
import json

def chat_completion():
    url = "https://api.nyxar.org/v1/chat/completions"
    
    headers = {
        "Authorization": "Bearer sk-your-api-key-here",
        "Content-Type": "application/json"
    }
    
    data = {
        "model": "gpt-3.5-turbo",
        "messages": [
            {
                "role": "user",
                "content": "你好,请介绍一下人工智能的发展历史。"
            }
        ],
        "temperature": 0.7,
        "max_tokens": 1000
    }
    
    try:
        response = requests.post(url, headers=headers, json=data)
        response.raise_for_status()
        
        result = response.json()
        print(result['choices'][0]['message']['content'])
        
    except requests.exceptions.RequestException as e:
        print(f"API调用失败: {e}")

chat_completion()

cURL

curl -X POST "https://api.nyxar.org/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {
        "role": "user",
        "content": "你好,请介绍一下人工智能的发展历史。"
      }
    ],
    "temperature": 0.7,
    "max_tokens": 1000
  }'

流式响应示例 (JavaScript)

async function streamChatCompletion() {
    const response = await fetch('https://api.nyxar.org/v1/chat/completions', {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer sk-your-api-key-here',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            model: 'gpt-3.5-turbo',
            messages: [
                {
                    role: 'user',
                    content: '请写一首关于春天的诗。'
                }
            ],
            stream: true
        })
    });

    const reader = response.body.getReader();
    const decoder = new TextDecoder();

    while (true) {
        const { done, value } = await reader.read();
        if (done) break;

        const chunk = decoder.decode(value);
        const lines = chunk.split('\n');

        for (const line of lines) {
            if (line.startsWith('data: ')) {
                const data = line.slice(6);
                if (data === '[DONE]') return;

                try {
                    const parsed = JSON.parse(data);
                    const content = parsed.choices[0]?.delta?.content;
                    if (content) {
                        process.stdout.write(content);
                    }
                } catch (e) {
                    // 忽略解析错误
                }
            }
        }
    }
}

最佳实践

遵循这些最佳实践,确保高效、安全地使用我们的API服务。

安全实践

  • 在服务器端存储和使用API密钥
  • 使用环境变量管理敏感信息
  • 实施IP白名单限制访问
  • 定期轮换API密钥
  • 监控异常使用模式

性能优化

  • 合理设置max_tokens参数
  • 使用适当的temperature值
  • 实施请求缓存机制
  • 批量处理多个请求
  • 使用流式响应提升用户体验

错误处理

  • 实施完整的错误捕获机制
  • 根据HTTP状态码处理不同错误
  • 实现指数退避重试策略
  • 记录详细的错误日志
  • 为用户提供友好的错误提示

使用监控

  • 跟踪API调用次数和成本
  • 监控响应时间和成功率
  • 设置使用量告警阈值
  • 分析用户使用模式
  • 优化基于数据的决策

错误处理

了解常见的API错误类型和相应的处理方法。

400
请求错误

请求格式不正确或缺少必需参数

解决方案:检查请求体格式、参数类型和必需字段
401
认证失败

API密钥无效或格式错误

解决方案:验证API密钥格式和有效性,确保正确设置Authorization头
429
速率限制

请求频率超过限制

解决方案:实施指数退避重试,降低请求频率
500
服务器错误

服务器内部错误

解决方案:稍后重试,如果问题持续请联系技术支持

速率限制

我们实施合理的速率限制以确保服务稳定性和公平使用。

限制规则

  • 每分钟最多60个请求
  • 每小时最多3600个请求
  • 每天最多50000个请求
  • 基于API密钥进行计算

响应头信息

  • X-RateLimit-Limit: 限制总数
  • X-RateLimit-Remaining: 剩余次数
  • X-RateLimit-Reset: 重置时间
  • Retry-After: 建议重试间隔

重试策略

  • 使用指数退避算法
  • 初始延迟1秒,逐步增加
  • 最大重试次数不超过5次
  • 监控Retry-After头信息

优化建议

  • 批量处理多个请求
  • 实施客户端缓存机制
  • 合理设置请求间隔
  • 监控使用量趋势

常见问题

以下是开发者最常遇到的问题和解答。

如何获取API密钥?

请通过以下方式联系我们获取API密钥:

  1. 发送邮件到 support@nyxar.org
  2. 提供您的项目信息和预期使用量
  3. 我们会在24小时内回复并提供密钥
  4. 密钥激活后即可开始使用

支持哪些AI模型?

我们支持多种主流AI模型:

  • gpt-4:最新的GPT-4模型,适合复杂任务
  • gpt-3.5-turbo:高性价比的选择,响应速度快
  • gpt-3.5-turbo-16k: 支持更长的上下文
  • 自定义模型:根据需求提供专用模型

使用 GET /v1/models 端点可以获取完整的可用模型列表。

如何处理长文本输入?

处理长文本时请注意以下几点:

  • Token限制:不同模型有不同的token限制
  • 分段处理:将长文本分成多个片段处理
  • 上下文管理:保持重要的上下文信息
  • 成本控制:longer输入会产生更高的费用

API调用失败如何排查?

按以下步骤排查API调用问题:

  1. 检查网络连接:确保能访问api.nyxar.org
  2. 验证API密钥:确认密钥格式和有效性
  3. 检查请求格式:验证JSON格式和必需参数
  4. 查看错误响应:分析返回的错误信息
  5. 检查速率限制:确认是否超过调用频率

如何优化API调用成本?

以下策略可以帮助优化成本:

  • 选择合适模型:根据任务复杂度选择模型
  • 控制输出长度:合理设置max_tokens参数
  • 实施缓存:缓存相似请求的结果
  • 批量处理:合并多个小请求
  • 监控使用量:定期检查使用统计

获取技术支持

邮件支持

发送详细问题描述到我们的技术支持邮箱

support@nyxar.org

开发文档

查看完整的API文档和开发指南

查看文档

在线客服

工作时间内提供实时技术咨询服务

开始对话

问题反馈

报告API问题或提出功能改进建议

提交反馈