ในช่วงไม่กี่เดือนที่ผ่านมา ภูมิทัศน์ของ AI เปลี่ยนแปลงไปอย่างรวดเร็ว: OpenAI จัดส่ง GPT-5 ให้กับนักพัฒนาและอัปเดตสแต็กแบบเรียลไทม์ Anthropic ได้อัปเดต Claude และนโยบายการใช้ข้อมูล และ Google ได้ผลักดัน Gemini ให้ลึกเข้าไปในระบบนิเวศบ้านและอุปกรณ์อัจฉริยะมากขึ้น การเปลี่ยนแปลงเหล่านี้มีความสำคัญเพราะมันเปลี่ยนแปลงโมเดลที่คุณต้องการเข้าถึงและวิธีการตรวจสอบโมเดลเหล่านั้น ซึ่งตรงกับการจับคู่ของ "API แบบครบวงจร + ความสามารถในการสังเกตการณ์" LiteLLM + CometAPI ส่องแสง
ในคู่มือนี้ คุณจะได้รับคำแนะนำเชิงปฏิบัติที่เน้นโค้ดเกี่ยวกับการบูรณาการ LiteLLM สีสดสวย โคเมทเอพีไอ (ซึ่งพูดถึง เข้ากันได้กับ OpenAI (ภาษาถิ่น) ครอบคลุมการติดตั้ง การโทรพื้นฐาน การสตรีมแบบอะซิงโครนัสและแบบสตรีมมิ่ง และเคล็ดลับการใช้งาน ระหว่างนี้ เราจะเจาะลึกถึงสิ่งที่การอัปเดตโมเดลล่าสุดส่งผลต่อตัวเลือกการรวมระบบของคุณ
LiteLLM คืออะไร?
LiteLLM คือ Python SDK และพร็อกซีโอเพนซอร์ส (LLM gateway) ที่เปิดเผย API เดียวที่สอดคล้องกันสำหรับผู้ให้บริการโมเดลหลายราย (OpenAI, Anthropic, Vertex/Google, AWS Bedrock, Hugging Face ฯลฯ) LiteLLM ช่วยปรับความแตกต่างของผู้ให้บริการให้เป็นมาตรฐาน (รูปแบบอินพุต ข้อผิดพลาด รูปร่างเอาต์พุต) มอบตรรกะการลองใหม่/สำรอง/กำหนดเส้นทาง และรองรับทั้ง SDK น้ำหนักเบา และ พร็อกซีเซิร์ฟเวอร์สำหรับการกำหนดเส้นทาง LLM ส่วนกลางในสแต็กโครงสร้างพื้นฐาน กล่าวอีกนัยหนึ่งคือ API เดียวสำหรับเรียกใช้งานโมเดลต่างๆ ได้หลายแบบ
คุณสมบัติ:
- ฟังก์ชัน Python แบบรวม เช่น
completion,responses,embeddings. - การกำหนดเส้นทางที่เข้ากันได้กับ OpenAI (เพื่อให้ไคลเอนต์ที่พูด API สไตล์ OpenAI สามารถชี้ไปที่ผู้ให้บริการรายอื่นได้)
- รองรับ Async + สตรีมมิ่ง (ตัวห่อแบบ async เช่น
acompletionและstream=Trueสำหรับการตอบกลับแบบแบ่งกลุ่ม)
LiteLLM สร้างแบบจำลองและแมปจุดสิ้นสุดอย่างไร
- ใช้
completion()(ซิงค์) และacompletion()(แบบอะซิงค์) ใน Python SDK สำหรับการโทรแบบแชท/เสร็จสิ้น - สำหรับจุดสิ้นสุดที่เข้ากันได้กับ OpenAI LiteLLM รองรับ
api_base/api_keyการแทนที่เพื่อให้ SDK รู้ว่าจะต้องไปตามเส้นทางสไตล์ OpenAI
CometAPI คืออะไร?
โคเมทเอพีไอ เป็นบริการ “API หนึ่งเดียวสำหรับหลายโมเดล” ที่เปิดเผย หลายร้อยรุ่น (รวมถึง OpenAI GPT-5, Anthropic Claude, xAI Grok, Qwen, GLM และเครื่องสร้างภาพ/วิดีโอ) ผ่าน เข้ากันได้กับ OpenAI อินเทอร์เฟซ REST เนื่องจากเข้ากันได้ คุณจึงสามารถชี้ไคลเอนต์ OpenAI ของคุณไปยัง CometAPI ได้ base_url และรักษารูปแบบการร้องขอ/การตอบสนองแบบเดิมไว้ ทำให้เป็นทางเลือกเสริมหรือเป็นส่วนเสริมของ API ของบุคคลที่หนึ่ง
เคล็ดลับ: ความเข้ากันได้นี้เป็นสิ่งที่ LiteLLM คาดหวัง คุณสามารถอ้างอิงโมเดล CometAPI ผ่าน LiteLLM โดยใช้การเรียกแบบ OpenAI หรือกำหนดเส้นทางผ่าน LiteLLM Proxy ด้วย
base_urlการแทนที่
ข้อกำหนดเบื้องต้นสำหรับการบูรณาการ LiteLLM กับ CometAPI
ก่อนที่คุณจะเชื่อมต่อ LiteLLM กับ CometAPI ได้ คุณจะต้องมีบางสิ่งดังนี้:
สภาพแวดล้อมของ Python
- Python 3.8+ (แนะนำ: สภาพแวดล้อมเสมือนจริงผ่าน
venvorconda). pipอัพเกรด:python -m pip install --upgrade pip
ติดตั้ง LiteLLM แล้ว pip install litellm (ทางเลือก: ติดตั้ง litellm หากคุณต้องการเรียกใช้เซิร์ฟเวอร์พร็อกซี LiteLLM)
บัญชี CometAPI และรหัส API
- ลงทะเบียนได้ที่ โคเมตาปิดอทคอม.
- รับของคุณ คีย์ API จากแดชบอร์ดของคุณ
- เก็บไว้เป็นตัวแปรสภาพแวดล้อม:
export COMETAPI_KEY="sk-xxxx"
ความเข้าใจพื้นฐานเกี่ยวกับ API ที่เข้ากันได้กับ OpenAI
- CometAPI เปิดเผย จุดสิ้นสุดสไตล์ OpenAI กดไลก์
/v1/chat/completions. - LiteLLM รองรับรูปแบบนี้โดยตรง ดังนั้นจึงไม่จำเป็นต้องใช้ไคลเอนต์แบบกำหนดเอง
ฉันจะทำการเรียกการเสร็จสิ้นขั้นพื้นฐาน (โดยใช้ LiteLLM → CometAPI) ได้อย่างไร
ใช้ฟังก์ชันการเติมข้อความของ LiteLLM เพื่อส่งข้อความไปยังโมเดล CometAPI คุณสามารถระบุโมเดลเช่น cometapi/gpt-5 หรือ cometapi/gpt-4o ได้
วิธีที่ 1: ใช้ตัวแปรสภาพแวดล้อมสำหรับคีย์ API (แนะนำ)
from litellm import completion
import os
# Option A: use env var
os.environ = "sk_xxx" # CometAPI key
# Direct call with explicit api_base + api_key
resp = completion(
model="cometapi/gpt-5",
api_key=os.environ,
api_base="https://www.cometapi.com/console/", # CometAPI base URL
messages=[
{"role":"system", "content":"You are a concise assistant."},
{"role":"user", "content":"Explain why model-aggregation is useful in 3 bullets."}
],
max_tokens=200,
temperature=0.2
)
print(resp.choices.message)
หากคุณต้องการ คุณยังสามารถตั้งค่าได้ OPENAI_API_KEY/OPENAI_API_BASE — LiteLLM ยอมรับข้อตกลงของผู้ให้บริการหลายราย โปรดตรวจสอบเวอร์ชันเอกสาร SDK ของคุณ
วิธีที่ 2: ส่งรหัส API อย่างชัดเจน:
ตัวอย่าง:
from litellm import completion
import os
# Define your messages (array of dictionaries with 'content' and 'role')
messages =
api_key = 'your-cometapi-key-here' # Alternative: Store it in a variable for explicit passing
# CometAPI call - Method 2: Explicitly passing API key
response_2 = completion(model="cometapi/gpt-4o", messages=messages, api_key=api_key)
# Print the responses
print(response_2.choices.message.content)
การโทรแบบอะซิงโครนัสและสตรีมมิ่งทำงานอย่างไรกับ LiteLLM → CometAPI?
การโทรแบบอะซิงโครนัส
- ความหมาย:การเรียกแบบอะซิงโครนัสเกิดขึ้นเมื่อมีการร้องขอให้ทำบางอย่าง (เช่น ดึงข้อมูลหรือรันงาน) แต่แทนที่จะรอให้เสร็จสิ้นก่อนจึงจะดำเนินการอื่น โปรแกรมจะยังดำเนินการโค้ดอื่นต่อไป
- แนวคิดหลัก:“อย่าปิดกั้น ทำงานต่อไปในขณะที่รอ”
- ตัวอย่าง:
- ในแอปบนเว็บ: ดึงข้อมูลจาก API โดยไม่ต้องตรึง UI
- ใน Python: การใช้
async/awaitสีสดสวยasyncio. - ใน JavaScript: การใช้
Promisesorasync/await.
ใช้กรณี:ปรับปรุงประสิทธิภาพและการตอบสนองโดยไม่บล็อคเธรดหลัก
การโทรแบบสตรีมมิ่ง
- ความหมาย:การโทรแบบสตรีมมิ่งหมายถึงแทนที่จะรอให้ข้อมูลทั้งหมดพร้อมแล้วส่งกลับมาในครั้งเดียว เซิร์ฟเวอร์จะส่งข้อมูลเป็นชิ้นๆ ทันทีที่พร้อมใช้งาน
- แนวคิดหลัก:“ส่งข้อมูลทีละชิ้นในขณะที่กำลังผลิต”
- ตัวอย่าง:
- ชมวิดีโอ YouTube ก่อนที่จะดาวน์โหลดไฟล์วิดีโอทั้งหมด
- แอปแชทแบบเรียลไทม์หรืออัปเดตราคาหุ้น
- ใน API: แทนที่จะรอเอาท์พุตเต็มรูปแบบของโมเดล ไคลเอนต์จะได้รับคำ/โทเค็นอย่างต่อเนื่อง (เช่นเดียวกับวิธีที่ ChatGPT สตรีมข้อความ)
An การโทรแบบสตรีมมิ่งแบบอะซิงโครนัส meBoth LiteLLM และ CometAPI รองรับการสตรีมและการใช้งานแบบอะซิงโครนัส LiteLLM เปิดเผย stream=True เพื่อรับตัววนซ้ำของชิ้นส่วนและ acompletion() สำหรับการใช้งานแบบอะซิงโครนัส ใช้การสตรีมเมื่อคุณต้องการเอาต์พุตบางส่วนที่มีความหน่วงต่ำ (การโต้ตอบกับ UI, การประมวลผลแบบโทเค็นต่อโทเค็น) คำขอจะถูกส่งโดยไม่บล็อก และผลลัพธ์จะถูกส่งอย่างต่อเนื่องเมื่อพร้อมใช้งาน สำหรับแอปพลิเคชันที่ไม่มีการบล็อกหรือแบบเรียลไทม์ ให้ใช้ฟังก์ชัน acompletion ของ LiteLLM สำหรับการเรียกใช้แบบอะซิงโครนัส ซึ่งมีประโยชน์เมื่อใช้ร่วมกับ asyncio ของ Python สำหรับการจัดการการทำงานพร้อมกัน
ตัวอย่าง:
from litellm import acompletion
import asyncio, os, traceback
async def completion_call():
try:
print("Testing asynchronous completion with streaming")
response = await acompletion(
model="cometapi/chatgpt-4o-latest",
messages=,
stream=True # Enable streaming for chunked responses
)
print(f"Response object: {response}")
# Iterate over the streamed chunks asynchronously
async for chunk in response:
print(chunk)
except Exception:
print(f"Error occurred: {traceback.format_exc()}")
pass
# Run the async function
await completion_call()
คำอธิบาย:
acompletionเป็นเวอร์ชันอะซิงโครนัสของcompletion.stream=Trueเปิดใช้งานการสตรีมมิ่ง โดยที่การตอบสนองจะเกิดขึ้นเป็นส่วนๆ แบบเรียลไทม์- ใช้
asyncioเพื่อเรียกใช้ฟังก์ชัน (เช่น ใน Jupyter Notebook ด้วยawaitหรือผ่านทางasyncio.run()ในสคริปต์) - หากเกิดข้อผิดพลาด มันจะถูกจับและพิมพ์ออกมาเพื่อแก้ไขจุดบกพร่อง
ผลผลิตที่คาดหวัง:คุณจะเห็นวัตถุการตอบสนองและชิ้นส่วนแต่ละชิ้นถูกพิมพ์ เช่น:
Testing asynchronous completion with streaming
Response object: <async_generator object acompletion at 0x...>
Chunk: {'choices': }
Chunk: {'choices': }
... (full response streamed in parts)
เคล็ดลับเพิ่มเติม
- ไม่พบโมเดล / จุดสิ้นสุดไม่ตรงกัน: ตรวจสอบให้แน่ใจว่าคุณเลือกชื่อรุ่นที่มีอยู่ใน CometAPI (รายการเอกสารระบุตัวระบุที่มีอยู่) และข้อตกลงคำนำหน้ารุ่น LiteLLM ของคุณตรงกัน (เช่น
cometapi/<model>เมื่อจำเป็น) โมเดล CometAPI จะใช้รูปแบบ cometapi/ เช่น cometapi/gpt-5, cometapi/gpt-4o, cometapi/chatgpt-4o-latest โปรดตรวจสอบเอกสารประกอบของ CometAPI สำหรับโมเดลล่าสุด - การจัดการข้อผิดพลาด: ห่อการเรียกไว้ในบล็อก try-except เสมอเพื่อจัดการกับปัญหาต่างๆ เช่น คีย์ที่ไม่ถูกต้องหรือข้อผิดพลาดของเครือข่าย
- คุณลักษณะขั้นสูง:LiteLLM รองรับพารามิเตอร์ต่างๆ เช่น อุณหภูมิ, max_tokens และ top_p สำหรับการปรับแต่งการตอบสนองอย่างละเอียด เพิ่มพารามิเตอร์เหล่านี้ลงในการเรียกการเติมค่าหรือการเรียกการเติมค่า เช่น completion(…, temperature=0.7)
- ข้อผิดพลาด 403 / การตรวจสอบสิทธิ์ — ตรวจสอบให้แน่ใจว่าคุณใช้คีย์ CometAPI ที่ถูกต้องและส่งเป็น
api_keyถึง LiteLLM
สรุป
การบูรณาการของ LiteLLM กับ CometAPI แรงเสียดทานต่ำเนื่องจากทั้งสองฝ่ายใช้อินเทอร์เฟซที่เข้ากันได้กับ OpenAI และมีการบันทึกข้อมูลไว้อย่างดี ใช้ LiteLLM เพื่อรวมการใช้งาน LLM ไว้ในฐานโค้ดของคุณ ตั้งค่า api_base ไปที่ CometAPI และส่งคีย์ CometAPI และใช้ประโยชน์จากตัวช่วยการซิงค์/อะซิงค์/สตรีมมิ่งของ LiteLLM เพื่อสร้างแอปพลิเคชันที่ตอบสนองและยืดหยุ่น
เริ่มต้นใช้งาน
CometAPI เป็นแพลตฟอร์ม API แบบรวมที่รวบรวมโมเดล AI มากกว่า 500 โมเดลจากผู้ให้บริการชั้นนำ เช่น ซีรีส์ GPT ของ OpenAI, Gemini ของ Google, Claude ของ Anthropic, Midjourney, Suno และอื่นๆ ไว้ในอินเทอร์เฟซเดียวที่เป็นมิตรกับนักพัฒนา ด้วยการนำเสนอการตรวจสอบสิทธิ์ การจัดรูปแบบคำขอ และการจัดการการตอบสนองที่สอดคล้องกัน CometAPI จึงทำให้การรวมความสามารถของ AI เข้ากับแอปพลิเคชันของคุณง่ายขึ้นอย่างมาก ไม่ว่าคุณจะกำลังสร้างแชทบ็อต เครื่องกำเนิดภาพ นักแต่งเพลง หรือไพพ์ไลน์การวิเคราะห์ที่ขับเคลื่อนด้วยข้อมูล CometAPI ช่วยให้คุณทำซ้ำได้เร็วขึ้น ควบคุมต้นทุน และไม่ขึ้นอยู่กับผู้จำหน่าย ทั้งหมดนี้ในขณะที่ใช้ประโยชน์จากความก้าวหน้าล่าสุดในระบบนิเวศ AI
ในการเริ่มต้น ให้สำรวจความสามารถของโมเดลใน สนามเด็กเล่น และปรึกษา คู่มือการบูรณาการ LiteLLM สำหรับคำแนะนำโดยละเอียด ก่อนเข้าใช้งาน โปรดตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบ CometAPI และได้รับรหัส API แล้ว โคเมทเอพีไอ เสนอราคาที่ต่ำกว่าราคาอย่างเป็นทางการมากเพื่อช่วยคุณบูรณาการ
