TH ▾
รับคีย์ API

LLM API คืออะไร? วิธีทำงานและเมื่อไหร่ควรใช้

API LLM คือบริการเว็บที่รันโมเดลภาษาขนาดใหญ่ให้คุณ โค้ดของคุณส่งข้อความผ่าน HTTP โมเดลส่งข้อความกลับ และคุณจ่ายสำหรับสิ่งที่ใช้

อัปเดต

ภาพสามมิติแบบไอโซเมตริกของแล็ปท็อปที่ส่งข้อมูลแพ็กเก็ตไปยังลูกบาศก์เรืองแสงซึ่งแสดงถึง API LLM

ประเด็นสำคัญ

  • API LLM คือเอนด์พอยต์ HTTP: คุณส่งข้อความผ่าน POST และรับผลลัพธ์
  • การเรียกเก็บเงินคิดตามโทเคน โดยนับแยกสำหรับข้อมูลนำเข้าและข้อมูลส่งออก
  • API ที่เข้ากันได้กับ OpenAI ใช้รูปแบบคำขอหนึ่งรูปแบบ ดังนั้นการเปลี่ยนผู้ให้บริการจึงเป็นการเปลี่ยน base URLเป็นหลัก
  • สตรีมมิง การเรียกใช้ฟังก์ชัน และโหมด JSON เปลี่ยนเอนด์พอยต์แชทธรรมดาให้กลายเป็นบล็อกสร้างสำหรับซอฟต์แวร์จริง

สรุปสั้นๆ

ดังนั้น API LLM คืออะไร? คือบริการที่เปิดเผยโมเดลภาษาผ่านที่อยู่เว็บ คุณไม่ต้องดาวน์โหลดโมเดล ไม่ต้องเป็นเจ้าของ GPU และไม่ต้องจัดการซอฟต์แวร์การอนุมาน คุณส่งคำขอที่ประกอบด้วยบทสนทนา และบริการจะส่งข้อความถัดไปในบทสนทนานั้นกลับคืน

คิดเหมือนที่คุณคิดเกี่ยวกับ API การชำระเงินหรือ API แผนที่ มีผู้อื่นดูแลโครงสร้างพื้นฐานที่ซับซ้อน และคุณเรียกใช้จากโปรแกรมของคุณเองด้วยคีย์ที่ระบุตัวตนของคุณ โมเดลคือผลิตภัณฑ์ และ API คือประตูสู่ผลิตภัณฑ์นั้น

ประตูนี้คือ HTTP ธรรมดาพร้อมบอดี้ JSON ซึ่งหมายความว่ามันทำงานได้จาก Python, Node, Go, shell script, มาโครสเปรดชีต หรือส่วนขยาย VS Code ไม่มีอะไรเกี่ยวกับมันที่ผูกติดกับภาษาเดียวหรือเฟรมเวิร์กเดียว

ลักษณะของคำขอและการตอบกลับ

LLM API ส่วนใหญ่ในปัจจุบันลอกเลียนแบบรูปแบบที่ OpenAI นำเสนอสำหรับแชท คุณเรียกใช้เอนด์พอยต์เดียว POST /v1/chat/completions และส่งรายการข้อความ แต่ละข้อความมี role และ content บางอย่าง

  • system กำหนดกฎและบุคลิกสำหรับทั้งบทสนทนา
  • user คือสิ่งที่บุคคล (หรือโปรแกรมของคุณ) พูด
  • assistant คือสิ่งที่โมเดลพูดก่อนหน้านี้ ซึ่งคุณส่งกลับเพื่อให้โมเดลจำสายการสนทนาได้
  • tool เก็บผลลัพธ์ของฟังก์ชันที่โมเดลขอให้คุณเรียกใช้

รายละเอียดสำคัญคือโมเดลไม่มีหน่วยความจำระหว่างการเรียกใช้ คำขอแต่ละครั้งต้องประกอบด้วยบทสนทนาทั้งหมดที่คุณต้องการให้มันพิจารณา หากคุณต้องการแชทบอทที่จำการสนทนาสิบรอบล่าสุด โค้ดของคุณต้องเก็บการสนทนาสิบรอบนั้นและส่งไปทุกครั้ง

นี่คือการเรียกใช้ที่เล็กที่สุดแต่ใช้งานได้ด้วย curl มันใช้เอนด์พอยต์ของเว็บไซต์นี้, ID โมเดล uncensored และ bearer token

curl https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are a concise assistant."},
      {"role": "user", "content": "Explain what a mutex is in two sentences."}
    ]
  }'

การตอบกลับคือ JSON ข้อความที่คุณต้องการอยู่ที่ choices[0].message.content ข้างๆ นั้นคุณจะได้รับอ็อบเจกต์ usage ที่รายงานจำนวนโทเคนที่ส่งเข้าและจำนวนโทเคนที่ส่งออก ซึ่งคือสิ่งที่ใบแจ้งหนี้คำนวณจาก

โทเคน: หน่วยที่ใช้วัดทุกอย่าง

โมเดลไม่อ่านอักขระหรือคำ มันอ่านโทเคน ซึ่งเป็นกลุ่มข้อความที่มักจะเป็นคำสั้นๆ หรือส่วนหนึ่งของคำที่ยาวกว่า งานเขียนภาษาอังกฤษโดยเฉลี่ยมีโทเคนน้อยกว่าหนึ่งโทเคนต่อคำ และโค้ดมีแนวโน้มที่จะใช้โทเคนมากกว่าต่อบรรทัดเนื่องจากเครื่องหมายวรรคตอนและการเยื้องบรรทัด ให้ถือว่าการแปลงที่แม่นยำเป็นเพียงการประมาณการ และอ่านฟิลด์ usage เพื่อจำนวนจริง

โทเคนมีความสำคัญด้วยสามเหตุผล

  1. ราคา คุณจ่ายต่อล้านโทเคน โดยมีอัตราราคาสำหรับข้อมูลเข้า (พรอมต์ของคุณ) และอัตราที่สูงกว่าสำหรับข้อมูลออก (คำตอบของโมเดล)
  2. หน้าต่างบริบท พรอมต์และคำตอบแบ่งปันขีดจำกัดเดียวกัน ใน API นี้ หน้าต่างบริบทมีขนาด 100,000 โทเคนรวมกัน
  3. ความเร็ว ผลลัพธ์ถูกสร้างทีละโทเคน ดังนั้นคำตอบที่ยาวจึงใช้เวลานานกว่าคำตอบสั้น

ด้วยอัตราบนเว็บไซต์นี้ $0.15 ต่อ 1M โทเคนนำเข้า และ $0.50 ต่อ 1M โทเคนส่งออก คำขอที่มี 2,000 โทเคนนำเข้าและ 500 โทเคนส่งออกจะมีค่าใช้จ่าย 2,000 x $0.15 / 1,000,000 = $0.0003 สำหรับข้อมูลนำเข้า บวก 500 x $0.50 / 1,000,000 = $0.00025 สำหรับข้อมูลส่งออก รวมเป็น $0.00055 ดังนั้นคำขอลักษณะนี้หนึ่งพันคำขอจะมีค่าใช้จ่าย $0.55 อัตราปัจจุบันอยู่บน หน้าราคา เสมอ

การเรียก LLM API จากโค้ด

คุณสามารถเขียน HTTP call ด้วยตนเอง แต่ SDK ช่วยลดความพยายาม เนื่องจาก API นี้เข้ากันได้กับ OpenAI ไลบรารีทางการของ OpenAI จึงใช้งานได้หลังจากเปลี่ยนค่าสองค่า: base URL และคีย์

Python

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a careful code reviewer."},
        {"role": "user", "content": "What is wrong with: for i in range(len(x)): print(x[i])"},
    ],
    temperature=0.3,
)

print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

Node

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.codingllmapi.com/v1",
  apiKey: process.env.LLM_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Give me three names for a CLI that renames files." }],
});

console.log(resp.choices[0].message.content);

เก็บคีย์ไว้ใน environment variable หรือ secret store การวางคีย์ลงในโค้ด front-end หรือ repository สาธารณะอาจทำให้ใครก็ตามที่พบคีย์นั้นนำไปใช้ได้ และค่าใช้จ่ายจะตกเป็นของคุณ

ฟีเจอร์ที่เปลี่ยนกล่องแชทให้เป็น building block

completion แบบเปล่ามีประโยชน์ แต่โปรแกรมส่วนใหญ่ใช้ฟีเจอร์อย่างน้อยหนึ่งข้อต่อไปนี้

สตรีมมิง

ตั้งค่า stream: true และเซิร์ฟเวอร์จะส่งคำตอบเป็น server-sent events ทีละ token ผู้ใช้จะเห็นข้อความปรากฏทันทีแทนที่จะรอให้คำตอบเสร็จสิ้น ข้อมูลการใช้งานจะมาถึงเมื่อสิ้นสุด stream

โหมด JSON

ส่ง response_format: {"type": "json_object"} และโมเดลจะถูกชี้นำให้ส่งคืน JSON ที่ถูกต้อง นี่คือวิธีที่คุณดึงฟิลด์จากข้อความที่ยุ่งเหยิง จัดประเภทตั๋ว หรือสร้างข้อมูลที่มีโครงสร้างสำหรับขั้นตอนถัดไปใน pipeline ยังคงต้องตรวจสอบผลลัพธ์ในโค้ดของคุณและบอกโมเดลในพรอมต์ว่าคุณคาดหวังคีย์ใด

การเรียกใช้ฟังก์ชัน

คุณอธิบายฟังก์ชันในอาร์เรย์ tools โมเดลอาจตอบกลับด้วยการร้องขอให้เรียกใช้ฟังก์ชันหนึ่งพร้อมอาร์กิวเมนต์ที่กรอกแล้ว โค้ดของคุณจะรันฟังก์ชันและส่งผลลัพธ์กลับเป็นข้อความที่มี role: "tool" โมเดลจะไม่รันอะไรด้วยตัวเอง มันเพียงแต่ถาม และคุณเป็นผู้ตัดสินใจว่าอะไรจะทำงานจริง นี่คือกลไกเบื้องหลัง coding agents ที่อ่านไฟล์และรันเทสต์

การควบคุม Sampling

temperature, top_p, stop, seed และค่าปรับความซ้ำจะถูกส่งผ่านออกไป ค่า temperature ต่ำให้คำตอบที่เสถียรกว่าสำหรับโค้ดและการดึงข้อมูล ค่าที่สูงกว่าให้ข้อความที่หลากหลายมากขึ้น

API ที่โฮสต์ไว้หรือการรันโมเดลด้วยตนเอง

ทางเลือกของ API คือการรัน open-weight model บนฮาร์ดแวร์ของคุณเอง นั่นเป็นทางเลือกที่สมเหตุสมผล และคุ้มค่าที่จะซื่อสัตย์เกี่ยวกับเมื่อมันดีกว่า

คำถามAPI แบบโฮสต์โฮสต์ด้วยตนเอง
ต้นทุนล่วงหน้าไม่มี คุณจ่ายตาม tokenการซื้อหรือเช่า GPU
เวลาตั้งค่านาทีชั่วโมงถึงวัน
การปรับขนาดจำกัดโดย rate limits ของคีย์ของคุณจำกัดโดยฮาร์ดแวร์ของคุณ
ข้อมูลออกจากเครื่องของคุณใช่ ไปยังผู้ให้บริการไม่
ต้นทุนเมื่อไม่ได้ใช้งานศูนย์คุณจ่ายแม้ไม่มีอะไรทำงาน

หากคุณส่งคำขอหลายพันคำขอต่อวัน หรือการใช้งานของคุณมีลักษณะเป็นช่วงๆ การคิดราคาต่อโทเคนมักจะเป็นทางเลือกที่ง่ายกว่า หากคุณมีโหลดหนักที่คงที่และมีกฎเข้มงวดที่ห้ามส่งข้อความไปยังบุคคลที่สาม การโฮสต์ในเครื่องอาจมีความเหมาะสมกว่า ทีมงานจำนวนมากเริ่มต้นใช้งาน API เพื่อตรวจสอบแนวคิดและกลับมาพิจารณาประเด็นนี้ในภายหลัง

ขีดจำกัด ข้อผิดพลาด และนิสัยที่ดี

API ทุกตัวมีขีดจำกัด และการรู้ขีดจำกัดเหล่านี้ตั้งแต่เนิ่นๆ จะช่วยประหยัดเวลาในการแก้ไขข้อบกพร่อง บนบริการนี้ คีย์แบบเต็มอนุญาตให้ทำคำขอพร้อมกัน 8 คำขอและ 300 คำขอต่อนาที คีย์ทดลองอนุญาตให้ทำ 2 และ 60 ตามลำดับ ขนาดสูงสุดของ body ของคำขอคือ 8 MB คำขอแบบสตรีมมิงจะคงช่องการทำงานพร้อมกันไว้จนกว่าการสตรีมจะเสร็จสิ้น ซึ่งมักทำให้ผู้ใช้ที่เปิดการสตรีมจำนวนมากแล้วลืมปิดมันตกอยู่ในสถานการณ์ลำบาก

การเกินขีดจำกัดจะส่ง HTTP 429 รหัสข้อผิดพลาด rate_limited หมายถึงมีคำขอต่อนาทีมากเกินไป และ concurrency หมายถึงมีคำขอพร้อมกันมากเกินไป คำตอบ 429 พร้อมหัวข้อความ Retry-After: 5 บ่งบอกถึงการโอเวอร์โหลดชั่วคราว ในทั้งสามกรณี การตอบสนองที่เหมาะสมคือการรอและลองใหม่ด้วย backoff ไม่ใช่การยิงคำขอรัวๆ ใส่เอนด์พอยต์

  • อ่านค่า X-RateLimit-Limit-Requests และ X-RateLimit-Limit-Concurrency จากหัวข้อความของ response เพื่อดูขีดจำกัดของคุณ และ X-Balance-USD เพื่อติดตามเครดิตของคุณ
  • บันทึก X-Request-Id กับทุกการเรียกใช้ มันทำให้การตอบคำถามสนับสนุนเร็วขึ้นมาก
  • ตั้งค่า timeout และจำกัดความยาวของการสนทนาที่เหมาะสม เพื่อให้ลูปที่ควบคุมไม่ได้ไม่สามารถใช้เครดิตของคุณจนหมด
  • ตัดตอนการสนทนาเก่าออกก่อนที่หน้าต่างบริบทจะเต็ม

คำขอที่ล้มเหลวหรือถูกปฏิเสธจะไม่ถูกเรียกเก็บเงินบน API นี้ และเครดิตไม่หมดอายุ ดังนั้นความผิดพลาดในการทดสอบจึงมีต้นทุนต่ำ

เริ่มต้นใช้งาน API นี้

บริการนี้คือ API ข้อความที่โฮสต์และเข้ากันได้กับ OpenAI สำหรับโมเดล open-weight หนึ่งตัว ดำเนินการโดยผู้ให้บริการอิสระและปรับแต่งเพื่อตอบโดยไม่มีการปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย มันมีเฉพาะข้อความ: ไม่มีภาพ เสียง embedding หรือ fine-tuning มันไม่ใช่ API ทางการของ vendor โมเดลใดๆ พรอมต์ไม่ถูกนำไปใช้ในการฝึก

ผู้ใช้ใหม่สามารถรับเครดิตทดลองใช้ฟรี $0.50 ได้ด้วยการคลิกหนึ่งครั้งบนหน้าคีย์ API หลังจากเข้าสู่ระบบด้วย Google หรือด้วยอีเมลและรหัสผ่าน ไม่ต้องใช้บัตรและใช้งานได้ 7 วัน หลังจากนั้นคุณสามารถเติมเงินด้วยจำนวนเต็มใดๆ ตั้งแต่ $20 ถึง $500 พร้อมโบนัส 5% จาก $50, 10% จาก $100 และ 15% จาก $200 คุณสามารถจ่ายด้วยบัตร (Visa, Mastercard, Apple Pay, Google Pay) หรือด้วยคริปโต (USDT บน TRC20, USDC บน Base)

ขั้นตอนมีไม่มาก: สร้างคีย์ API ของคุณ, ทำตาม quickstart ในเอกสาร, และรันโค้ด Python ด้านบน หากการใช้งานหลักของคุณคือความช่วยเหลือด้านการเขียนโปรแกรม หน้าเกี่ยวกับ โมเดล uncensored สำหรับ coding agents ครอบคลุมกรณีนั้นโดยละเอียดมากขึ้น

ถาม-ตอบ

API LLM เหมือนกับแชทบอทหรือไม่?

ไม่ใช่ แชทบอทคือแอปพลิเคชันที่มีอินเทอร์เฟซ API LLM คือบริการที่อยู่เบื้องหลังแอปพลิเคชันดังกล่าว และคุณเรียกใช้มันจากโค้ดของคุณเองเพื่อสร้างอินเทอร์เฟซหรือ workflow ที่คุณต้องการ

ฉันจำเป็นต้องรู้แมชชีนเลิร์นนิงเพื่อใช้งานหรือไม่?

ไม่จำเป็น หากคุณสามารถส่ง HTTP request หรือใช้ SDK ได้ คุณก็สามารถใช้ API LLM ได้ คุณต้องเข้าใจพรอมต์และโทเคน แต่ไม่จำเป็นต้องเข้าใจวิธีการฝึกโมเดล

ความหมายของ OpenAI-compatible คืออะไร?

หมายความว่า API นี้ยอมรับรูปแบบคำขอเดียวกับเอนด์พอยต์แชทของ OpenAI SDK และเครื่องมือ OpenAI ที่มีอยู่ใช้งานได้หลังจากที่คุณเปลี่ยน base URLและคีย์

API LLM มีราคาเท่าไหร่?

ผู้ให้บริการมักคิดราคาต่อล้านโทเคน โดยแยกอัตราสำหรับอินพุตและเอาต์พุต ที่นี่คือ $0.15 ต่อ 1M โทเคนอินพุต และ $0.50 ต่อ 1M โทเคนเอาต์พุต จากเครดิตแบบเติมเงินล่วงหน้าโดยไม่ต้องสมัครสมาชิก

ข้อมูลของฉันถูกนำไปฝึกโมเดลหรือไม่

บนบริการนี้ พรอมต์ไม่ถูกนำไปใช้ในการฝึกโมเดล สำหรับผู้ให้บริการรายอื่น โปรดอ่านนโยบายข้อมูลของพวกเขาก่อนส่งข้อความที่ละเอียดอ่อน

คีย์ของคุณอยู่ห่างแค่แบบฟอร์มเดียว

สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด

รับคีย์ API