88API88API
User GuideAI ApplicationsAPI ReferenceHelp & Support

Mô-đun đồng bộ hóa tỷ lệ mô hình

Mô tả tính năng

Tiền tố API thống nhất là http(s)://<your-domain>

HTTPS nên được sử dụng trong môi trường sản xuất để đảm bảo mã thông báo xác thực. HTTP chỉ được khuyến nghị cho môi trường phát triển.

Một tính năng nâng cao dành riêng cho việc đồng bộ hóa giá mô hình. Nó hỗ trợ tìm nạp đồng thời các cấu hình tỷ lệ từ nhiều nguồn ngược dòng, tự động xác định các định dạng giao diện khác nhau và cung cấp đánh giá độ tin cậy của dữ liệu. Chủ yếu được sử dụng để cập nhật hàng loạt thông tin về giá mô hình.

🔐 Xác thực gốc

Lấy danh sách các kênh có thể đồng bộ hóa

  • Tên giao diện: Nhận danh sách các kênh có thể đồng bộ hóa
  • Phương thức HTTP: NHẬN
  • Đường dẫn: /api/ratio_sync/channels
  • Yêu cầu xác thực: Root
  • Mô tả: Truy xuất danh sách tất cả các kênh có sẵn để đồng bộ hóa tỷ lệ trong hệ thống, bao gồm các kênh có BaseURL hợp lệ và giá trị đặt trước chính thức.

💡 Yêu cầu Ví dụ:

const response = await fetch('/api/ratio_sync/channels', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_root_token',
    'New-Api-User': 'your_user_id'
  }
});
const data = await response.json();

✅ Ví dụ phản hồi thành công:

{
  "success": true,
  "message": "",
  "data": [
    {
      "id": 1,
      "name": "OpenAI Official",
      "base_url": "https://api.openai.com",
      "status": 1
    },
    {
      "id": 2,
      "name": "Claude API",
      "base_url": "https://api.anthropic.com",
      "status": 1
    },
    {
      "id": -100,
      "name": "Official Ratio Preset",
      "base_url": "https://basellm.github.io",
      "status": 1
    }
  ]
}

❗ Ví dụ phản hồi không thành công:

{
  "success": false,
  "message": "Failed to retrieve channel list"
}

🧾 Mô tả trường:

  • data (Array): Danh sách các kênh có thể đồng bộ
  • id (Số): ID kênh, -100 là giá trị đặt trước chính thức
  • name (Chuỗi): Tên kênh
  • base_url (Chuỗi): URL cơ sở kênh
  • status (Số): Trạng thái kênh, 1=Đã bật

Tìm nạp tỷ lệ từ thượng nguồn

  • Tên giao diện: Tìm nạp tỷ lệ từ thượng nguồn
  • Phương thức HTTP: POST
  • Đường dẫn: /api/ratio_sync/fetch
  • Yêu cầu xác thực: Root
  • Mô tả: Tìm nạp cấu hình tỷ lệ mô hình từ các kênh ngược dòng được chỉ định hoặc URL tùy chỉnh, hỗ trợ tìm nạp đồng thời và so sánh khác biệt.

💡 Ví dụ về yêu cầu (thông qua ID kênh):

const response = await fetch('/api/ratio_sync/fetch', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_root_token',
    'New-Api-User': 'your_user_id'
  },
  body: JSON.stringify({
    channel_ids: [1, 2, -100],
    timeout: 10
  })
});
const data = await response.json();

💡 Ví dụ về yêu cầu (thông qua URL tùy chỉnh):

const response = await fetch('/api/ratio_sync/fetch', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_root_token',
    'New-Api-User': 'your_user_id'
  },
  body: JSON.stringify({
    upstreams: [
      {
        name: "Custom Source",
        base_url: "https://example.com",
        endpoint: "/api/ratio_config"
      }
    ],
    timeout: 15
  })
});
const data = await response.json();

✅ Ví dụ phản hồi thành công:

{
  "success": true,
  "data": {
    "differences": {
      "gpt-4": {
        "model_ratio": {
          "current": 15.0,
          "upstreams": {
            "OpenAI Official(1)": 20.0,
            "Official Ratio Preset(-100)": "same"
          },
          "confidence": {
            "OpenAI Official(1)": true,
            "Official Ratio Preset(-100)": true
          }
        }
      },
      "claude-3-sonnet": {
        "model_price": {
          "current": null,
          "upstreams": {
            "Claude API(2)": 0.003
          },
          "confidence": {
            "Claude API(2)": true
          }
        }
      }
    },
    "test_results": [
      {
        "name": "OpenAI Official(1)",
        "status": "success"
      },
      {
        "name": "Claude API(2)",
        "status": "error",
        "error": "Connection Timeout"
      }
    ]
  }
}

❗ Ví dụ phản hồi không thành công:

{
  "success": false,
  "message": "No valid upstream channels"
}

🧾 Mô tả trường:

  • channel_ids (Array): Danh sách ID kênh cần đồng bộ, tùy chọn
  • upstreams (Array): Danh sách các cấu hình ngược dòng tùy chỉnh, tùy chọn
  • name (String): Tên ngược dòng
  • base_url (String): URL cơ sở, phải bắt đầu bằng http
  • endpoint (String): Điểm cuối giao diện, mặc định là “/api/ratio_config”
  • timeout (Number): Thời gian chờ yêu cầu (giây), mặc định là 10 giây
  • differences (Đối tượng): Kết quả so sánh tỉ số chênh lệch
  • Key là tên model, value chứa thông tin khác biệt của các loại tỷ lệ khác nhau
  • current: Giá trị hiện tại cục bộ
  • upstreams: Các giá trị từ mỗi luồng lên, “giống nhau” biểu thị giống hệt với giá trị cục bộ
  • confidence: Độ tin cậy của dữ liệu, sai biểu thị khả năng không đáng tin cậy
  • test_results (Array): Kết quả kiểm tra cho từng thượng nguồn