Ollama Pay API Gateway - ระบบจัดการ API Gateway สำหรับ Ollama LLM
สถิติโดยรวม
ข้อมูลโดยรวมของระบบทั้งหมด
OpenAI-Compatible API
API นี้สนับสนุน OpenAI-compatible endpoints สำหรับการใช้งานกับ LLM
- Base URL:
http://localhost:3000/api/v1
- Chat Completions:
POST /api/v1/chat/completions
- Models:
GET /api/v1/models
OpenAI-Compatible API: API นี้สนับสนุน OpenAI-compatible endpoints สำหรับการใช้งานกับ LLM
- Base URL:
https://ollama-pay.thaigqsoft.com/api/v1
- Chat Completions: POST
/api/v1/chat/completions
- Models: GET
/api/v1/models
Your API Tokens
| Name |
Token |
Created |
Rate Limits |
Status |
Actions |
| Loading... |
Available Models
รายชื่อโมเดลที่สามารถใช้งานได้ผ่าน API — ใช้ชื่อโมเดลตามรายการด้านล่าง
ระบบลดโหลด (Fallback Mechanism)
fallback
Loading...
กำลังโหลดรายการโมเดล...
All Models
| # |
Model ID |
API Usage |
| Loading... |
วิธีเรียกใช้ API
ใช้ API Token ของคุณเพื่อเรียกใช้งานโมเดลผ่าน OpenAI-compatible endpoint
curl http://localhost:3000/api/v1/chat/completions \
-H "Authorization: Bearer sk-your-api-token" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k2.5:cloud",
"messages": [{"role": "user", "content": "Hello!"}]
}'
Anthropic API
สำหรับผู้ที่ใช้งาน Anthropic SDK หรือ Claude Code สามารถเรียกใช้งานผ่าน Anthropic-compatible endpoint ได้
Base URL
http://localhost:3000/api/anthropic
คัดลอก URL นี้ไปใช้กับ Anthropic SDK หรือ Client
ตัวอย่างก��รใช้งาน (Python SDK)
import anthropic
client = anthropic.Anthropic(
base_url="http://localhost:3000/api/anthropic",
api_key="sk-your-api-token"
)
message = client.messages.create(
model="gpt-5-mini",
max_tokens=1000,
system="คุณคือผู้ช่วยที่มีประโยชน์",
messages=[
{"role": "user", "content": "สวัสดีครับ"}
]
)
print(message.content)
ตัวอย่างการใช้งาน (cURL)
curl http://localhost:3000/api/anthropic/messages \
-H "Authorization: Bearer sk-your-api-token" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-mini",
"max_tokens": 1000,
"system": "คุณคือผู้ช่วยที่มีประโยชน์",
"messages": [{"role": "user", "content": "สวัสดีครับ"}]
}'
หมายเหตุ
- Model names: ใช้ชื่อโมเดลตามที่ปรากฏบนหน้า Models (เช่น
gpt-5-mini, claude-3-opus)
- API Key: ใช้ API Token ที่สร้างจากหน้า API Tokens
- Fallback: หาก model name ที่ส่งมาไม่รองรับ ระบบจะตั้งค่าให้เป็น
gpt-5-mini โดยอัตโนมัติ
API Documentation
This API is compatible with OpenAI's API format. Use your API token as the Bearer token.
System Fallback Mechanism
fallback
Base URL
http://localhost:3000/api/v1
Example with OpenAI SDK (Python)
from openai import OpenAI
client = OpenAI(
api_key="your-token-here",
base_url="http://localhost:3000/api/v1"
)
response = client.chat.completions.create(
model="qwen3.5:397b-cloud",
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message.content)
Example with cURL
curl http://localhost:3000/api/v1/chat/completions \
-H "Authorization: Bearer your-token-here" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5:397b-cloud",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
Available Endpoints
POST /api/v1/chat/completions - Create chat completion
GET /api/v1/models - List available models
GET /api/v1/models/:id - Get model details
คู่มือการใช้งาน Ollama Pay
ระบบ API Gateway สำหรับ Ollama พร้อมการจัดการ Token และ Rate Limiting
เริ่มต้นใช้งานอย่างรวดเร็ว
- สร้าง API Token ในหน้า "API Tokens"
- คัดลอก Token ไปใช้งานกับ OpenAI SDK หรือ HTTP Client
- ตรวจสอบการใช้งานได้ในหน้า "Usage"
1. การเข้าสู่ระบบ
สำหรับผู้ใช้งานใหม่:
- คลิก "Register" เพื่อสร้างบัญชีใหม่
- กรอก Username, Email และ Password
- ระบบจะเข้าสู่ระบบอัตโนมัติหลังจากลงทะเบียนสำเร็จ
สำหรับผู้ใช้งานเดิม:
- กรอก Email และ Password
- คลิก "Login"
- ระบบจะจำการเข้าสู่ระบบไว้ในเบราว์เซอร์
2. การสร้าง API Token
API Token ใช้สำหรับยืนยันตัวตนเมื่อเรียกใช้ API
| ฟิลด์ |
คำอธิบาย |
ค่าเริ่มต้น |
แนะนำ |
| Token Name |
ชื่อสำหรับจำแนก Token (เช่น "Production", "Development") |
- |
ตั้งชื่อที่สื่อถึงความหมาย |
| Requests/Min |
จำนวนคำขอสูงสุดต่อนาที |
60 |
60-120 สำหรับการใช้งานทั่วไป |
| Requests/Day |
จำนวนคำขอสูงสุดต่อวัน |
10000 |
10000-50000 |
| Tokens/Min |
จำนวน Token (LLM) สูงสุดต่อนาที |
100000 |
100000-500000 |
คำแนะนำ: สร้าง Token แยกตามสภาพแวดล้อม (Production, Development, Testing) เพื่อความปลอดภัย
3. การจัดการ Token
แสดง/ซ่อน Token
คลิกปุ่ม เพื่อแสดงหรือซ่อน Token
คัดลอก Token
คลิกปุ่ม เพื่อคัดลอก Token ไปยัง Clipboard
เปิด/ปิด Token
คลิกปุ่ม เพื่อปิดการใช้งานชั่วคราว
4. การใช้งาน API
Base URL
http://localhost:3000/api/v1
ตัวอย่างการใช้งาน
# ติดตั้ง OpenAI SDK
pip install openai
# ใช้งาน
from openai import OpenAI
client = OpenAI(
api_key="sk-xxx-your-token",
base_url="http://localhost:3000/api/v1"
)
response = client.chat.completions.create(
model="qwen3.5:397b-cloud",
messages=[
{"role": "user", "content": "สวัสดี!"}
]
)
print(response.choices[0].message.content)
// ติดตั้ง OpenAI SDK
npm install openai
// ใช้งาน
const OpenAI = require('openai');
const client = new OpenAI({
apiKey: 'sk-xxx-your-token',
baseURL: 'http://localhost:3000/api/v1'
});
const response = await client.chat.completions.create({
model: 'qwen3.5:397b-cloud',
messages: [{ role: 'user', content: 'สวัสดี!' }]
});
console.log(response.choices[0].message.content);
curl http://localhost:3000/api/v1/chat/completions \
-H "Authorization: Bearer sk-xxx-your-token" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5:397b-cloud",
"messages": [
{"role": "user", "content": "สวัสดี!"}
]
}'
// ติดตั้ง LangChain Go
go get github.com/tmc/langchaingo/llms/openai
// ใช้งาน
package main
import (
"context"
"fmt"
"log"
"github.com/tmc/langchaingo/llms"
"github.com/tmc/langchaingo/llms/openai"
)
func main() {
llm, err := openai.New(
openai.WithToken("sk-xxx-your-token"),
openai.WithBaseURL("http://localhost:3000/api/v1"),
)
if err != nil { log.Fatal(err) }
ctx := context.Background()
completion, err := llms.GenerateFromSinglePrompt(ctx, llm,
"สวัสดี! คุณเป็นใคร?",
llms.WithModel("qwen3.5:397b-cloud"),
)
if err != nil { log.Fatal(err) }
fmt.Println(completion)
}
# Cargo.toml
[dependencies]
async-openai = "0.20"
tokio = { version = "1", features = ["full"] }
// src/main.rs
use async_openai::{Client, config::OpenAIConfig};
use async_openai::types::{ChatCompletionRequestMessage, ChatCompletionRequestMessageArgs, CreateChatCompletionRequestArgs};
#[tokio::main]
async fn main() -> Result<(), Box> {
let config = OpenAIConfig::new()
.with_api_key("sk-xxx-your-token")
.with_api_base("http://localhost:3000/api/v1");
let client = Client::with_config(config);
let request = CreateChatCompletionRequestArgs::default()
.model("qwen3.5:397b-cloud")
.messages([ChatCompletionRequestMessageArgs::default()
.role(async_openai::types::ChatCompletionRequestMessageRole::User)
.content("สวัสดี!")
.build()?])
.build()?;
let response = client.chat().create(request).await?;
println!("{}", response.choices[0].message.content.as_ref().unwrap());
Ok(())
}
# ติดตั้งผ่าน Composer
composer require openai-php/client
// ใช้งาน
<?php
require 'vendor/autoload.php';
use OpenAI\Client;
$client = OpenAI::factory()
->withApiKey('sk-xxx-your-token')
->withBaseUri('http://localhost:3000/api/v1')
->make();
$response = $client->chat()->create([
'model' => 'qwen3.5:397b-cloud',
'messages' => [
['role' => 'user', 'content' => 'สวัสดี!'],
],
]);
echo $response->choices[0]->message->content;
// Maven pom.xml
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>0.35.0</version>
</dependency>
// ใช้งาน
import dev.langchain4j.model.openai.OpenAiChatModel;
public class Main {
public static void main(String[] args) {
var model = OpenAiChatModel.builder()
.apiKey("sk-xxx-your-token")
.baseUrl("http://localhost:3000/api/v1")
.modelName("qwen3.5:397b-cloud")
.build();
String response = model.generate("สวัสดี!");
System.out.println(response);
}
}
# Gemfile
gem 'ruby-openai'
# ใช้งาน
require 'openai'
client = OpenAI::Client.new(
access_token: 'sk-xxx-your-token',
uri_base: 'http://localhost:3000/api/v1'
)
response = client.chat(
parameters: {
model: 'qwen3.5:397b-cloud',
messages: [{ role: 'user', content: 'สวัสดี!' }]
}
)
puts response.dig('choices', 0, 'message', 'content')
// ติดตั้ง NuGet Package
// dotnet add package OpenAI
// ใช้งาน
using OpenAI.Chat;
var client = new ChatClient(
"qwen3.5:397b-cloud",
"sk-xxx-your-token",
new OpenAI.OpenAIClientOptions {
Endpoint = new Uri("http://localhost:3000/api/v1")
}
);
var completion = await client.CompleteChatAsync(
"สวัสดี!"
);
Console.WriteLine(completion.Content[0].Text);
// Package.swift
dependencies: [
.package(url: "https://github.com/MacPaw/OpenAI", from: "0.3.0")
]
// ใช้งาน
import OpenAI
let client = OpenAI(apiToken: "sk-xxx-your-token", host: "http://localhost:3000/api/v1")
let query = ChatQuery(
messages: [.user(.init(content: "สวัสดี!"))],
model: "qwen3.5:397b-cloud"
)
let result = try await client.chats(query: query)
print(result.choices[0].message.content ?? "")
// ติดตั้ง OpenAI SDK
npm install openai
// ใช้งาน (ES Module)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-xxx-your-token',
baseURL: 'http://localhost:3000/api/v1',
});
const completion = await client.chat.completions.create({
model: 'qwen3.5:397b-cloud',
messages: [
{ role: 'system', content: 'คุณคือผู้ช่วยที่เป็นประโยชน์' },
{ role: 'user', content: 'สวัสดี! ช่วยอธิบาย REST API หน่อย' }
],
temperature: 0.7,
max_tokens: 1000,
});
console.log(completion.choices[0].message.content);
// Streaming
const stream = await client.chat.completions.create({
model: 'qwen3.5:397b-cloud',
messages: [{ role: 'user', content: 'เล่านิทานให้ฉันฟัง' }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}
Models ที่รองรับ
หมายเหตุ: ตารางด้านล่าง���สดงโมเดลที่มีอยู่ในระบบปัจจุบัน คุณสามารถดูรายการโมเดลทั้งหมดได้ที่หน้า
Models
| Model |
คำอธิบาย |
แนะนำสำหรับ |
|
Loading...
กำลังโหลดรายการโมเดล...
|
4.5 การตั้งค่ากับ n8n, Hermes, OpenClaw, Continue
เครื่องมือเหล่านี้รองรับ OpenAI API ดังนั้นสามารถใช้งานผ่าน Ollama Pay ได้ทันที
Continue (VS Code Extension)
Continue คือ AI code agent ที่เป็น extension ของ VS Code รองรับ OpenAI-compatible API โดยตรง
- เปิด VS Code
- ไปที่ Extensions (หรือกด
Ctrl+Shift+X)
- ค้นหา Continue และติดตั้ง (Continue Dev Team)
- เปิด Continue ผ่าน Command Palette (
Ctrl+Shift+P) พิมพ์ Continue: Configure
ตั้งค่าใน Continue Configuration (file: ~/.continue/config.yml)
หมายเหตุ: Continue รองรับทั้ง JSON และ YAML แต่ไฟล์ตัวอย่างด้านล่างเป็น YAML format ซึ่งอ่านง่ายกว่า
name: Continue Config
version: 0.0.1
models:
- name: qwen3-coder-next:cloud
provider: openai
model: qwen3-coder-next:cloud
apiKey: sk-xxx-your-token
apiBase: https://ollama-pay.thaigqsoft.com/api/v1
roles:
- chat
- name: kimi-k2.5:cloud
provider: openai
model: kimi-k2.5:cloud
apiKey: sk-xxx-your-token
apiBase: https://ollama-pay.thaigqsoft.com/api/v1
roles:
- chat
- name: deepseek-v4-flash:cloud
provider: openai
model: deepseek-v4-flash:cloud
apiKey: sk-xxx-your-token
apiBase: https://ollama-pay.thaigqsoft.com/api/v1
roles:
- autocomplete
context:
- uses: continuedev/code-context
with: {}
- uses: continuedev/docs-context
with: {}
- uses: continuedev/diff-context
with: {}
- uses: continuedev/terminal-context
with: {}
- uses: continuedev/problems-context
with: {}
- uses: continuedev/folder-context
with: {}
อย่าลืมเปลี่ยน apiKey เป็น Token ของคุณจาก Ollama Pay
หรือใช้ Environment Variables (แนะนำ)
CONTINUE_OPENAI_API_KEY=sk-your-ollama-pay-token
CONTINUE_OPENAI_API_BASE=https://ollama-pay.thaigqsoft.com/api/v1
CONTINUE_OPENAI_MODEL=kimi-k2.5:cloud
หรือตั้งค่า environment variables ที่ไฟล์
~/.continue/config.json หรือ pass ผ่าน command line
CONTINUE_OPENAI_API_KEY=sk-xxx-your-token
CONTINUE_OPENAI_API_BASE=https://ollama-pay.thaigqsoft.com/api/v1
CONTINUE_OPENAI_MODEL=qwen3-coder-next:cloud
วิธีใช้งาน
- เปิด Continue chat:
Ctrl+L (หรือ Cmd+L บน Mac)
- Chat ใน code: เลือกโค้ดที่ต้องการแล้วกด
Ctrl+L
- Quick edit:
/ แล้วพิมพ์คำสั่ง เช่น /test, /fix
โมเดลแนะนำสำหรับ Continue
qwen3-coder-next |
แนะนำที่สุด |
Continue เขียนโค้ดเป็นหลัก qwen3-coder-next ตอบสนองดี nhất |
kimi-k2.5:cloud |
ทั่วไป |
ถ้าใช้ Continue ทั้งเขียนโค้ดและอื่นๆ ค่อนข้างสมดุล |
deepseek-v4-flash |
ประหยัด |
โ��เดลเร็ว ใช้ context น้อย เหมาะสำหรับ quick edit |
qwen3.5:397b-cloud |
บริบทมาก |
128K context สำหรับโปรเจกต์ใหญ่ๆ |
ตั้งค่า CONTINUE_OPENAI_MODEL หรือ model ใน config ตามชื่อโมเดลด้านบน
6. การตรวจสอบการใช้งาน
Dashboard:
- แสดงจำนวน Token ทั้งหมด
- จำนวนคำขอในวันนี้
- จำนวน Token ที่ใช้ไป
- อัตราความสำเร็จ
หน้า Usage:
- ประวัติการใช้งานทั้งหมด
- ชื่อ Model ที่ใช้
- จำนวน Token ต่อครั้ง
- ระยะเวลาในการประมวลผล
- สถานะ (สำเร็จ/ล้มเหลว)
6. Rate Limiting
ระบบจะจำกัดจำนวนคำขอตามที่ตั้งค่าไว้ใน Token
หากรับ Rate Limit:
- รอจนกว่าจะครบเวลา Reset
- ลดความถี่ในการเรียก API
- สร้าง Token ใหม่ที่มี Rate Limit สูงขึ้น
Headers ที่ส่งกลับมา:
X-RateLimit-Limit: 60 # จำนวนคำขอสูงสุด
X-RateLimit-Remaining: 45 # จำนวนคำขอที่เหลือ
X-RateLimit-Reset: 1642694400 # เวลา Reset (Unix timestamp)
7. การแก้ไขปัญหา
สาเหตุ: Token ไม่ถูกต้องหรือหมดอายุ
- ตรวจสอบว่าใช้ Token ถูกต้อง
- ตรวจสอบว่า Token ยัง Active อยู่
- ลองสร้าง Token ใหม่
สาเหตุ: เกิน Rate Limit ที่กำหนด
- รอจนกว่า Rate Limit จะ Reset
- ลดความถี่ในการเรียก API
- สร้าง Token ใหม่ที่มี Rate Limit สูงขึ้น
สาเหตุ: ความผิดพลาดจาก Server หรือ Ollama
- ตรวจสอบว่า Ollama กำลังทำงานอยู่
- ตรวจสอบ Log ของ Server
- ติดต่อ Admin
8. เคล็ดลับและแนวทางปฏิบัติ
- สร้าง Token แยกตามสภาพแวดล้อม
- ตั้ง Rate Limit ให้เหมาะสมกับการใช้งาน
- ตรวจสอบ Usage เป็นประจำ
- ปิด Token ที่ไม่ใช้งาน
- ใช้ HTTPS ใน Production
- แชร์ Token ให้ผู้อื่น
- Hardcode Token ใน Code
- ใช้ Token เดียวกับทุกสภาพแวดล้อม
- ตั้ง Rate Limit สูงเกินความจำเป็น
- ลืมตรวจสอบ Usage
ต้องการความช่วยเหลือ?
หากพบปัญหาหรือมีคำถาม:
- ตรวจสอบ API Docs สำหรับข้อมูล API
- ตรวจสอบ Log ของ Server
- ติดต่อ Admin ของระบบ