---
title: ผู้ให้บริการ AI
description: เชื่อมต่อเอนด์พอยต์ AI ที่รองรับ OpenAI สำหรับ AI Chat และ AI Agent — เปิดใช้งานโมดูล AI ใส่เอนด์พอยต์และคีย์ ทดสอบการเชื่อมต่อ และตั้งค่าขีดจำกัด
url: https://nexcmp.com/th/docs/ai/ai-providers/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# ผู้ให้บริการ AI {#ai-provider}

> **ตำแหน่งในผู้ดูแล:** System › Settings › AI provider (`/settings/ai`) สวิตช์โมดูล AI อยู่ที่นั่นและบน System › Admin › License & updates (`/license`) การ์ด **Module**

## What it does {#what-it-does}

AI Chat (แชทสนับสนุนอัตโนมัติ) และ AI Agent (การดูแลระบบ VM ด้วยภาษาธรรมชาติ) ไม่ได้มาพร้อมกับโมเดลในตัว คุณต้องเลือก **ผู้ให้บริการของคุณเอง**: บริการใดก็ตามที่มี `chat/completions` API ที่ **รองรับ OpenAI** — ตัวอย่างเช่น OpenAI, OpenRouter, เกตเวย์ LiteLLM หรือเซิร์ฟเวอร์ vLLM ของคุณเอง NexCMP จะจัดเก็บเอนด์พอยต์และ API key (แบบเข้ารหัส) และใช้งานสำหรับฟีเจอร์ AI ทุกรายการ คุณชำระเงินให้กับผู้ให้บริการโดยตรง

## ข้อกำหนด {#requirements}

| Item | Requirement |
|---|---|
| Endpoint | URL พื้นฐานที่รองรับ OpenAI (`https://api.openai.com/v1`, `https://ai.example.com/v1`) NexCMP จะต่อท้าย `/chat/completions` กับ URL ที่ลงท้ายด้วย `/v1` สำหรับ URL อื่นๆ จะต่อท้าย `/v1/chat/completions` ส่วน URL ที่ลงท้ายด้วย `/chat/completions` อยู่แล้วจะถูกนำไปใช้ตามนั้น |
| Model | โมเดลที่รองรับการเรียกใช้งาน **tool (function) calling** ทั้ง AI Chat และ Agent ต้องอาศัยสิ่งนี้ |
| คีย์ API | คีย์สำหรับปลายทางนั้น ควรใช้คีย์ที่มี**การจำกัดวงเงินใช้จ่าย**ฝั่งผู้ให้บริการ (เช่น คีย์เสมือนของ LiteLLM ที่มีงบประมาณรายเดือน) |
| Network | เซิร์ฟเวอร์ของแผงควบคุมต้องเข้าถึงปลายทางผ่าน HTTP(S) ได้ URL ที่พิมพ์ในฟอร์มจะอนุญาตให้ชี้ไปยังอินเทอร์เน็ตบนพอร์ต 80, 443, 8080 หรือ 8443 เท่านั้น หากต้องการใช้อีเมลหรือที่อยู่ภายใน ให้บันทึกผู้ให้บริการก่อนแล้วค่อยทดสอบ |
| Dependencies | เปิดใช้งานโมดูล **AI** สำหรับ Agent โปรดดูที่ [AI Agent](https://nexcmp.com/th/docs/ai/ai-agent/#requirements) |

## เตรียมโครงสร้างพื้นฐาน {#prepare-the-infrastructure}

1. ลงทะเบียนกับผู้ให้บริการและสร้าง API key หากผู้ให้บริการรองรับงบประมาณหรืออัตราจำกัด ให้กำหนดขีดจำกัดรายเดือน
2. จดบันทึก **base URL** และ**ชื่อโมเดล**ที่แน่นอน (และเลือกเพิ่มโมเดลสำรองได้สูงสุดสี่โมเดล)
3. ทดสอบจากเซิร์ฟเวอร์ NexCMP ก่อนป้อนข้อมูล:

   ```bash
   curl -s https://ai.example.com/v1/chat/completions \
     -H "Authorization: Bearer XXXX" -H "Content-Type: application/json" \
     -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Reply with one word: OK"}]}'
   ```

   คำตอบ JSON ที่มี `choices[0].message.content` หมายความว่าปลายทางทำงานได้

## เชื่อมต่อใน NexCMP {#connect-in-nexcmp}

1. เปิด **System › Settings › AI provider**
2. ในการ์ด **Module AI** ให้สลับเปิดโมเดล **on** จนกว่าจะเปิด ลูกค้าจะไม่เห็น AI Chat หรือ AI Agent ในพอร์ตัล (คุณยังสามารถสลับเปิดได้ที่ **License & updates**)
3. ในการ์ด **Connection** ให้กรอกข้อมูล:

   | ฟิลด์ | ตัวอย่าง | หมายเหตุ |
   |---|---|---|
   | Use this provider | on | ต้องระบุ base URL, โมเดล และคีย์ จึงจะสามารถเปิดใช้งานได้ |
   | ชื่อที่แสดง | `LiteLLM` | สูงสุด 60 ตัวอักษร |
   | Base URL (OpenAI-compatible) | `https://ai.example.com/v1` | `http://` หรือ `https://` สูงสุด 300 ตัวอักษร ห้ามมีช่องว่าง |
   | Provider API key | `sk-XXXX` | จัดเก็บแบบเข้ารหัส หลังจากนั้นจะแสดงเฉพาะ 4 ตัวอักษรสุดท้าย เว้นว่างไว้หากต้องการคงคีย์เดิมที่จัดเก็บไว้ |
   | Default model | `gpt-4o-mini` | ตัวอักษร, ตัวเลข และ `- _ . / : @` |
   | Fallback models | `gemini-2.5-flash` | คั่นด้วยเครื่องหมายจุลภาค สูงสุด 4 โมเดล ใช้เมื่อโมเดลเริ่มต้นล้มเหลว |
   | Reasoning effort | Default (not sent) | `Minimal`, `Low`, `Medium` หรือ `High` สำหรับโมเดลการใช้เหตุผล (Gemini, o-series) ระดับต่ำจะตอบกลับได้เร็วกว่ามาก คงค่าเริ่มต้นไว้สำหรับโมเดลปกติ |

4. คลิก **Save** แล้วคลิก **Test connection** การทดสอบจะส่งคำถามสั้นๆ หนึ่งคำถามและแสดง `Connected — <model>, <ms> ms` หรือข้อผิดพลาดที่ส่งกลับมาจากผู้ให้บริการ

![หน้า AI provider ที่เปิดใช้งานโมดูล AI แล้วและกรอกฟอร์มการเชื่อมต่อด้วยค่าตัวอย่าง](https://nexcmp.com/th/docs/images/ai/ai-providers-01-connection.webp)


### What saving does {#what-saving-does}

- การตั้งค่าผู้ให้บริการจะถูกบันทึกเป็นรายการกำหนดค่าเดียว และคีย์จะถูกเข้ารหัสด้วย AES-256-GCM สำหรับจุดประสงค์นี้โดยเฉพาะ โดยใช้มาสเตอร์คีย์ของการติดตั้ง
- การตั้งค่าการสนับสนุน **Primary model** และ **Fallback model** (ที่ใช้โดย AI Chat) จะถูกตั้งค่าเป็นโมเดลเริ่มต้นและโมเดลสำรองแรกของคุณโดยอัตโนมัติ
- การเปลี่ยนแปลงจะถูกบันทึกในบันทึกการตรวจสอบ (ปลายทาง, โมเดล, คีย์มีการเปลี่ยนแปลงหรือไม่ — แต่จะไม่บันทึกตัวคีย์)

## ตรวจสอบ {#verify}

1. **Test connection** แสดงเป็นสีเขียว
2. ลงชื่อเข้าใช้พอร์ตัลในฐานะลูกค้าทดสอบ: เมนูจะแสดง **AI Chat** (หรือปุ่มแชท) และ **AI Agent**
3. ถาม AI Chat ว่า "ยอดคงเหลือของฉันคือเท่าไหร่?" คำตอบที่แสดงยอดคงเหลือจริงของคุณจะระบุว่าผู้ให้บริการจัดการกับการเรียกใช้เครื่องมือได้อย่างถูกต้อง

## ขีดจำกัดและหมายเหตุ {#limits-notes}

- **ผู้ให้บริการรายเดียว** NexCMP ใช้ผู้ให้บริการที่กำหนดค่าไว้เพียงรายเดียวสำหรับ Chat, Agent และการตรวจสอบตั๋ว โมเดลสำรองช่วยให้มีความยืดหยุ่นภายในผู้ให้บริการรายนั้น
- **ความปลอดภัยของคีย์** คีย์ที่บันทึกไว้จะถูกส่งไปยังปลายทางที่บันทึกไว้เท่านั้น หากคุณเปลี่ยน Base URL คุณต้องพิมพ์คีย์ใหม่อีกครั้งก่อนทำการทดสอบ
- **Limits per customer.** AI Chat เป็นบริการสำหรับลูกค้าที่เข้าสู่ระบบแล้วเท่านั้น โดยมีขีดจำกัดข้อความต่อนาทีและต่อแชท ตัว Agent มีขีดจำกัดการเรียกใช้งานต่อวันต่อบัญชี ดูข้อมูลเพิ่มเติมที่ [AI Chat](https://nexcmp.com/th/docs/ai/ai-chat/) และ [AI Agent](https://nexcmp.com/th/docs/ai/ai-agent/).
- **Privacy.** คำถามของลูกค้าและข้อมูลที่ AI อ่านสำหรับลูกค้านั้น ๆ (แบบอ่านอย่างเดียว) จะถูกส่งไปยังผู้ให้บริการของคุณ โปรดระบุเรื่องนี้ไว้ใน [privacy policy](https://nexcmp.com/th/docs/customers/legal/) ของคุณ.
- **Cost control.** NexCMP ไม่ได้คิดค่าใช้จ่าย AI ตามการใช้งานจริง โปรดใช้ฟีเจอร์ควบคุมงบประมาณของผู้ให้บริการ
- คุณสามารถปิดใช้งานโมดูลได้ตลอดเวลา: เมนู AI จะหายไป และเราต์ AI จะตอบกลับเป็น 404 `module_disabled` โดย background job บางตัวของ AI Chat (การตรวจสอบทิกเก็ต, การตอบกลับที่ล่าช้า) จะเริ่มใช้การเปลี่ยนแปลงนี้เมื่อรีสตาร์ท panel ในครั้งถัดไป

## การแก้ Problme {#troubleshooting}

| อาการ | สาเหตุ | วิธีแก้ปัญหา |
|---|---|---|
| `base_url must be an http(s) URL` | รูปแบบหรือช่องว่างไม่ถูกต้อง | ใช้ `https://host/v1` |
| `api_key is required to enable the provider` | ไม่มีคีย์ที่บันทึกไว้ | ป้อนคีย์และบันทึก |
| `base_url and model are required to enable the provider` | ช่องว่าง | กรอกทั้งสองช่อง |
| "Base URL ถูกบล็อก: เฉพาะ public http(s) เท่านั้น, พอร์ต 80/443/8080/8443" | กำลังทดสอบที่อยู่ภายในระบบที่ยังไม่ได้บันทึกหรือพอร์ตอื่น | บันทึกข้อมูลผู้ให้บริการก่อน แล้วจึงทำการทดสอบ |
| `api_key is required (enter the key again when you change the endpoint)` | Base URL แตกต่างจากที่บันทึกไว้ | พิมพ์คีย์ใหม่อีกครั้ง |
| `model: letters, digits and - _ . / : @` | อักขระไม่ถูกต้อง | ใช้รหัสโมเดลที่ถูกต้องของผู้ให้บริการ |
| `fallback_models: up to 4 model names` | มีจำนวนมากเกินไป | คงไว้ที่สี่รายการหรือน้อยกว่า |
| การทดสอบล้มเหลวด้วยรหัส 401 | Wrong key | ตรวจสอบคีย์และเอ็นด์พอยต์ |
| การทดสอบล้มเหลวด้วยรหัส 404 หรือ "model not found" | เส้นทางหรือโมเดลไม่ถูกต้อง | ตรวจสอบ base URL (`/v1`) และรหัสโมเดล |
| `Too many tests — wait a minute` (429) | มากกว่า 10 การทดสอบต่อนาที | โปรดรอสักครู่ |
| พอร์ทัลยังคงไม่แสดงเมนู AI | โมเดลปิดอยู่ หรือผู้ให้บริการไม่ได้ตั้งค่าเป็น "in use" | เปิดใช้งานโมดูลและเปิดใช้งานผู้ให้บริการ |
