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

ประเด็นสำคัญ
- Ollama เป็นรันไทม์ในเครื่องที่คุณโฮสต์เอง; API ของ OpenAI เป็นบริการแบบโฮสต์ที่เรียกเก็บเงินตามโทเคน
- ทั้งสองแบบรองรับคำขอแชทสไตล์ OpenAI ดังนั้นไคลเอนต์หนึ่งสามารถใช้งานทั้งสองแบบได้โดยเปลี่ยน Base URL
- การรันในเครื่องมีต้นทุนฮาร์ดแวร์และเวลา การรันแบบโฮสต์มีต้นทุนโทเคน จุดคุ้มทุนขึ้นอยู่กับปริมาณของคุณ
- เอนด์พอยต์ที่เข้ากันได้กับ OpenAI แบบโฮสต์พร้อมโมเดลแบบเปิดน้ำหนักให้คุณจ่ายตามการใช้งานโดยไม่ต้องเป็นเจ้าของ GPU
คำตอบแบบสั้นๆ
คำถามเปรียบเทียบ API ของ Ollama กับ API ของ OpenAI ส่วนใหญ่เป็นคำถามเกี่ยวกับตำแหน่งที่โมเดลทำงาน เมื่อใช้ Ollama โมเดลจะทำงานบนคอมพิวเตอร์ที่คุณควบคุม และโค้ดของคุณจะเรียก localhost ส่วน OpenAI โมเดลจะทำงานในศูนย์ข้อมูลของผู้อื่น และโค้ดของคุณจะเรียกที่อยู่ HTTPS สาธารณะด้วยคีย์และบิลสิ้นเดือน
สิ่งอื่นๆ ทั้งหมดเป็นผลสืบเนื่องมาจากความแตกต่างเพียงอย่างเดียวนี้: โครงสร้างต้นทุน ค่าหน่วงที่คุณสามารถปรับได้ ใครบ้างที่สามารถเห็นพรอมต์ของคุณ โมเดลที่คุณสามารถเลือกได้ และเกิดอะไรขึ้นเมื่อคุณส่งคำขอพร้อมกันหนึ่งร้อยครั้ง ตารางด้านล่างแสดงข้อเท็จจริงที่ใช้ได้กับทั้งสองระบบ
| หัวข้อ | Ollama | OpenAI API |
|---|---|---|
| ตำแหน่งการทำงาน | แล็ปท็อป เครื่องทำงาน หรือเซิร์ฟเวอร์ของคุณ | เซิร์ฟเวอร์ของ OpenAI |
| ผู้กำหนดการตั้งค่าโมเดล | คุณดึงและอัปเดตน้ำหนักโมเดลเอง | OpenAI เลือกและอัปเดตโมเดลของตนเอง |
| การเรียกเก็บเงิน | ไม่มีค่าใช้จ่ายต่อโทเคนจากรันไทม์ในเครื่อง; คุณจ่ายสำหรับฮาร์ดแวร์และพลังงาน | ต่อโทเคน จากบัญชีที่มีการเรียกเก็บเงิน |
| รูปแบบคำขอ | เส้นทางเฉพาะตัว รวมถึงชั้น /v1 สไตล์ OpenAI | รูปแบบ OpenAI ดั้งเดิม |
| ปริมาณงาน | จำกัดโดยฮาร์ดแวร์ของคุณ | จำกัดโดยขีดจำกัดอัตราของบัญชี |
หากคุณต้องการทางเลือกกึ่งกลาง เอนด์พอยต์แบบโฮสต์ที่รองรับรูปแบบ OpenAI เช่นกันแต่ให้บริการโมเดลแบบเปิดน้ำหนัก ครอบคลุมอยู่ตอนท้ายของหน้านี้
แต่ละ API คืออะไรกันแน่
Ollama
Ollama คือโปรแกรมที่ดาวน์โหลดโมเดลแบบเปิดน้ำหนักและให้บริการผ่าน HTTP บนเครื่องของคุณ โดยค่าเริ่มต้นจะฟังพอร์ต 11434 มีเส้นทางเฉพาะตัวเช่น /api/chat และ /api/generate และยังเปิดชั้นสไตล์ OpenAI ภายใต้ /v1 เพื่อให้โค้ดไคลเอนต์ OpenAI ที่มีอยู่สามารถชี้ไปยังมันได้ ในการตั้งค่าในเครื่องทั่วไปจะไม่มีบัญชีและไม่มีคีย์ ไคลเอนต์ที่บังคับให้มีช่องคีย์จะได้รับสตริงค่าแทน
คุณเลือกโมเดล การควอนไทซ์ และการตั้งค่าหน้าต่างบริบท อิสระภาพนี้คือจุดดึงดูดหลัก และนั่นก็คือต้นทุน: หากโมเดลไม่พอดีกับหน่วยความจำของคุณ มันจะทำงานช้าหรือไม่โหลดเลย
OpenAI API
API ของ OpenAI เป็นบริการแบบโฮสต์ คุณสร้างบัญชี เพิ่มข้อมูลการเรียกเก็บเงิน สร้างคีย์ API และส่งคำขอไปยังที่อยู่ของ OpenAI คุณจะได้โมเดลที่ OpenAI นำเสนอ ภายใต้นโยบายการใช้งานของ OpenAI พร้อมขีดจำกัดตามระดับบัญชีของคุณ ความจุ การอัปเกรด และเวลาทำงานเป็นหน้าที่ของพวกเขามิใช่ของคุณ รูปแบบคำขอที่คุณเห็นในคู่มือส่วนใหญ่ มีอาร์เรย์ messages และอาร์เรย์ choicesในการตอบกลับ มาจาก API นี้
เหตุผลที่ผู้คนเปรียบเทียบกัน
การเปรียบเทียบนี้มีอยู่เพราะทั้งสองอย่างสามารถเข้าถึงได้ด้วยโค้ดไคลเอนต์เดียวกัน SDK ทางการของ OpenAI อนุญาตให้คุณกำหนดค่า Base URL ใหม่ และชั้น /v1 ของ Ollama เข้าใจการเสร็จสิ้นการสนทนา ดังนั้นสคริปต์ที่เขียนสำหรับระบบหนึ่งจึงมักสามารถชี้ไปยังอีกระบบได้เพียงบรรทัดเดียว สิ่งนี้สะดวก แต่ยังซ่อนความแตกต่างที่แท้จริงซึ่งส่วนถัดไปจะอธิบาย
โค้ดไคลเอนต์เดียวกัน Base URL สองแบบ
นี่คือส่วนที่ทำให้การสลับทำได้ง่าย โค้ดตัวอย่าง Python ด้านล่างนี้สื่อสารกับเซิร์ฟเวอร์ Ollama ในเครื่องของคุณ ค่าเฉพาะสำหรับเป้าหมายคือ URL ฐาน คีย์ และชื่อโมเดลเท่านั้น
from openai import OpenAI
# Local Ollama through its OpenAI-style layer
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
reply = client.chat.completions.create(
model="llama3.2", # whatever model you pulled locally
messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)เพื่อส่งคำขอเดียวกันไปยังเอนด์พอยต์ที่เข้ากันได้กับ OpenAI แบบโฮสต์ คุณต้องเปลี่ยนสามค่า นี่คือเวอร์ชันสำหรับเว็บไซต์นี้ พร้อม ID โมเดล uncensored
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaapi.com/v1", api_key="YOUR_KEY")
reply = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)คำขอเดียวกันสามารถใช้กับ curl ซึ่งสะดวกสำหรับการทดสอบอย่างรวดเร็วก่อนที่คุณจะแตะต้องโค้ดแอปพลิเคชันใดๆ
curl https://api.ollamaapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}]}'ข้อควรระวังหนึ่งข้อใช้กับการเปลี่ยนระหว่างเป้าหมายเหล่านี้ ความเข้ากันได้ครอบคลุมรูปร่างของคำขอและคำตอบ ไม่ใช่พฤติกรรม โมเดลที่แตกต่างกันปฏิบัติตามคำแนะนำแตกต่างกัน จัดการการเรียกใช้ฟังก์ชันแตกต่างกัน และผลิตผลลัพธ์ที่มีรูปแบบต่างกัน ให้ทดสอบพรอมต์ของคุณกับเป้าหมายใหม่ก่อนที่คุณจะไว้วางใจ
ต้นทุน: ฮาร์ดแวร์ที่คุณเป็นเจ้าของ เทียบกับโทเคนที่คุณซื้อ
การอนุมานในเครื่องดูเหมือนฟรีเพราะไม่มีใบแจ้งหนี้ส่งมา คุณจ่ายสำหรับ GPU หรือเครื่องที่มีหน่วยความจำขนาดใหญ่ ค่าไฟฟ้า และชั่วโมงที่ใช้ในการติดตั้งไดรเวอร์ เลือกการควอนไทซ์ และรีสตาร์ทเซิร์ฟเวอร์ที่หน่วยความจำหมด หากคุณสามารถใช้ฮาร์ดแวร์ที่มีประสิทธิภาพอยู่แล้วและรันพรอมต์ไม่กี่ครั้งต่อวัน ต้นทุนนั้นแทบเป็นศูนย์ในทางปฏิบัติ หากคุณต้องซื้อการ์ดเพียงอย่างเดียวเพื่อรันโมเดลที่คุณต้องการ คณิตศาสตร์ก็เปลี่ยนไป
ราคาแบบโฮสต์มีลักษณะตรงกันข้าม: ไม่มีค่าใช้จ่ายล่วงหน้า และค่าใช้จ่ายที่เพิ่มขึ้นตามการใช้งาน บนเว็บไซต์นี้ ราคาคือ $0.15 ต่อ 1M input tokens และ $0.50 ต่อ 1M output tokens จากเครดิตแบบเติมเงินล่วงหน้าโดยไม่ต้องสมัครสมาชิก สำหรับ OpenAI โปรดดูหน้าราคาปัจจุบันของพวกเขา เนื่องจากแตกต่างกันไปตามโมเดลและเปลี่ยนแปลงไปตามเวลา
นี่คือวิธีการคำนวณต้นทุนแบบโฮสต์สำหรับงานจริงบนเอนด์พอยต์นี้ สมมติว่าแอปพลิเคชันส่ง 40,000 คำขอในเดือนหนึ่ง แต่ละคำขอมี 1,500 input tokens และ 400 output tokens
- Input: 40,000 x 1,500 = 60,000,000 tokens หรือ 60M ที่อัตรา $0.15 ต่อ 1M คิดเป็น $9.00
- ผลลัพธ์: 40,000 x 400 = 16,000,000 tokens หรือ 16M ที่อัตรา $0.50 ต่อ 1M คิดเป็น $8.00
- รวม: $17.00 สำหรับเดือนนั้น
คุณสามารถเปรียบเทียบตัวเลขนี้กับต้นทุนของเครื่องที่เหมาะสมที่คุณต้องซื้อ จ่ายไฟ และบำรุงรักษา สำหรับปริมาณการจราจรที่เบาหรือแบบพุ่งสูง การจ่ายตามโทเคนมักจะได้เปรียบกว่า สำหรับปริมาณการจราจรหนักอย่างต่อเนื่องบนฮาร์ดแวร์ที่คุณมีอยู่แล้ว การรันในเครื่องมักจะได้เปรียบกว่า ดู หน้าราคา สำหรับจำนวนการเติมเงินและโบนัส
โมเดล กฎเนื้อหา และความเป็นส่วนตัว
ด้วย Ollama คุณตัดสินใจว่าจะรันโมเดลแบบเปิดน้ำหนักใด และไม่มีสิ่งใดกั้นระหว่างพรอมต์ของคุณกับน้ำหนักของโมเดล พฤติกรรมของเนื้อหาขึ้นอยู่กับสิ่งที่โมเดลนั้นทำ โมเดลจากชุมชนบางตัวได้รับการปรับให้ปฏิเสธน้อยลง บางตัวไม่ทำ และคุณสามารถสลับโมเดลเหล่านั้นได้อย่างอิสระ
ผู้ให้บริการแบบโฮสต์ใช้นโยบายการใช้งานและการกรองของตัวเอง ซึ่งเป็นตำแหน่งที่เหมาะสมสำหรับบริการวัตถุประสงค์ทั่วไป และนี่คือเหตุผลที่นักเขียน นักพัฒนาบทบาทสมมติ และนักวิจัยที่ทำงานกับนิยายสำหรับผู้ใหญ่พบว่าคำตอบแบบโฮสต์ถูกตัดทอน อ่านนโยบายของผู้ให้บริการที่คุณวางแผนจะพึ่งพา และตรวจสอบกฎปัจจุบันของพวกเขาแทนที่จะสันนิษฐาน
เว็บไซต์นี้อยู่ในตำแหน่งที่แตกต่างกัน มันให้บริการโมเดลแบบเปิดน้ำหนักหนึ่งตัว โดยผู้ให้บริการอิสระและปรับให้ตอบโดยไม่มีการปฏิเสธเนื้อหา สำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย ไม่ใช่ API ทางการของ OpenAI, Meta, Mistral หรือผู้ให้บริการรายอื่นใด และไม่ใช่ตัวกลางระหว่างผู้ให้บริการ มีขีดจำกัดหนึ่งข้อ: ห้ามมีเนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ พรอมต์ไม่ถูกใช้ในการฝึกสอน คำขอที่ล้มเหลวหรือถูกปฏิเสธไม่มีการเรียกเก็บเงิน
ในเรื่องความเป็นส่วนตัว Ollama ในเครื่องจะเก็บพรอมต์ไว้ในเครื่องของคุณ ซึ่งบริการแบบโฮสต์ไม่สามารถเทียบเคียงได้ หากข้อมูลของคุณต้องไม่ออกจากอาคาร ให้รันในเครื่องและหยุดเปรียบเทียบ หากคุณสามารถส่งข้อความไปยังบริการแบบโฮสต์ ให้อ่านหน้าความเป็นส่วนตัวของผู้ให้บริการก่อน หน้าของเราอยู่ที่ /privacy/
ขีดจำกัด ความพร้อมใช้งานพร้อมกัน และฟีเจอร์
ขีดจำกัดในเครื่องเป็นทางกายภาพ GPU หนึ่งตัวให้บริการคำขอพร้อมกันไม่กี่รายการก่อนที่แต่ละรายการจะช้าลง และหน้าต่างบริบทที่ยาวกินหน่วยความจำอย่างรวดเร็ว ขีดจำกัดแบบโฮสต์เป็นนโยบาย บนเอนด์พอยต์นี้ คีย์แบบเต็มอนุญาตให้ทำคำขอพร้อมกัน 8 รายการและ 300 คำขอต่อนาที และคีย์ทดลองอนุญาตให้ทำคำขอพร้อมกัน 2 รายการและ 60 รายการต่อนาที หน้าต่างบริบทคือ 100,000 tokens นับรวมพรอมต์และการสร้าง และเนื้อหาคำขอสามารถมีขนาดได้สูงสุด 8 MB
หากคุณเกินขีดจำกัด คุณจะได้รับ HTTP 429 รหัสข้อผิดพลาดคือ rate_limited สำหรับคำขอต่อนาที และ concurrency สำหรับคำขอพร้อมกันมากเกินไป คำตอบ 429 พร้อมหัวข้อความ Retry-After: 5 หมายถึงการโอเวอร์โหลดชั่วคราว ดังนั้นรอห้าวินาทีแล้วลองใหม่ คำขอแบบสตรีมมิงจะครอบครองช่องความพร้อมใช้งานพร้อมกันจนกว่าสตรีมจะสิ้นสุด ซึ่งสำคัญหากคุณเปิดสตรีมหลายสตรีมพร้อมกัน
ฟีเจอร์ที่รองรับฝั่งโฮสต์เน้นการแชท คุณได้สตรีมมิงผ่าน SSE พร้อมข้อมูลการใช้งานที่ส่วนท้ายของสตรีม การเรียกใช้ฟังก์ชัน โหมด JSON และการส่งผ่านพารามิเตอร์ temperature, top_p, stop, seed และค่าปรับ ไม่มีฟีเจอร์สร้างภาพ เสียง หรือวิดีโอ ไม่มี embeddings และไม่มี fine-tuning หากคุณต้องการฟีเจอร์เหล่านั้น ให้วางแผนรับจากที่อื่น เอกสารของเรา ระบุฟิลด์คำขอที่แน่นอน
ส่วนหัวของคำตอบรวม X-Request-Id และ X-Balance-USD ทำให้คุณสามารถบันทึกคำขอและตรวจสอบเครดิตคงเหลือได้โดยไม่ต้องเรียกใช้แยก
วิธีการเลือก
เลือกตามข้อจำกัดที่ส่งผลกระทบมากที่สุด
- พรอมต์ต้องอยู่บนฮาร์ดแวร์ของคุณ ใช้ Ollama ในเครื่อง
- คุณมี GPU ที่ทรงพลังอยู่แล้วและต้องการทดลองใช้งาน ใช้ Ollama ในเครื่องก่อน แล้วค่อยย้ายไปใช้แบบโฮสต์เมื่อปริมาณการใช้งานเกินความสามารถของเครื่อง
- คุณต้องการโมเดลขอบเขตจากผู้ผลิตเฉพาะรายหรือระบบนิเวศของมัน ใช้ API ของผู้ผลิตนั้น ผู้ให้บริการรายอื่นไม่ใช่ทางเลือกแทนโมเดลเฉพาะ
- คุณต้องการการเข้าถึงโมเดลแบบเปิดน้ำหนักแบบโฮสต์ในลักษณะจ่ายตามการใช้งาน โดยไม่มีการปฏิเสธสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย และไม่ต้องดูแลฮาร์ดแวร์ ใช้เอนด์พอยต์ที่เข้ากันได้กับ OpenAI แบบโฮสต์ เช่น แห่งนี้
ทีมจำนวนมากมักใช้ทั้งสองแบบ: Ollama บนแล็ปท็อปสำหรับการพัฒนา และเอนด์พอยต์แบบโฮสต์สำหรับสิ่งที่ต้องเข้าถึงได้จากเซิร์ฟเวอร์หรือเบราว์เซอร์ของลูกค้า เนื่องจากทั้งสองรูปแบบใช้รูปแบบคำขอเดียวกัน การสลับจึงเป็นการเปลี่ยนค่าการกำหนดค่า ไม่ใช่การเขียนโค้ดใหม่ หากต้องการลองใช้แบบโฮสต์ ผู้ใช้ใหม่สามารถขอเครดิตทดลองใช้ $0.50 ได้เพียงคลิกเดียวที่ หน้าคีย์ API หลังจากเข้าสู่ระบบ ไม่จำเป็นต้องใช้บัตร และใช้ได้เป็นเวลา 7 วัน การเติมเงินแบบชำระเงินเริ่มต้นที่ $20 และรองรับการชำระเงินด้วยบัตรหรือคริปโต
คู่มือเพิ่มเติม
ถาม-ตอบ
Ollama API เข้ากันได้กับ SDK ของ OpenAI หรือไม่?
Ollama เปิดใช้งานชั้นที่คล้าย OpenAI ภายใต้ /v1 ซึ่งจัดการการตอบกลับแชท ทำให้ SDK ของ OpenAI ทางการสามารถชี้ไปที่มันได้โดยการเปลี่ยน base URL โปรดตรวจสอบเอกสารของ Ollama เพื่อดูว่าเวอร์ชันของคุณรองรับฟิลด์ใดบ้าง
Ollama มีราคาถูกกว่า API ของ OpenAI หรือไม่?
ขึ้นอยู่กับฮาร์ดแวร์และปริมาณการใช้งานของคุณ รันไทม์ในเครื่องไม่มีค่าใช้จ่ายต่อโทเคน แต่คุณต้องจ่ายค่าเครื่องและการบำรุงรักษา สำหรับการใช้งานเบาหรือไม่สม่ำเสมอ การเรียกเก็บเงินตามโทเคนมักจะถูกกว่าการซื้อ GPU
ฉันสามารถใช้เอนด์พอยต์ของเว็บไซต์นี้แทน Ollama ในเครื่องได้หรือไม่?
ใช่ หากคุณต้องการเอนด์พอยต์ที่เข้ากันได้กับ OpenAI แบบโฮสต์ ตั้งค่า base URL เป็น https://api.ollamaapi.com/v1 และตั้งค่าโมเดลเป็น uncensored นี่ไม่ใช่ Ollama และไม่ได้รันบนเครื่องของคุณ
เอนด์พอยต์แบบโฮสต์รองรับการเรียกใช้ฟังก์ชันและสตรีมมิงหรือไม่?
ได้ รองรับสตรีมมิงผ่าน SSE การเรียกใช้เครื่องมือ และโหมด JSON พร้อมหน้าต่างบริบทขนาด 100,000 โทเคน
เพียงกรอกแบบฟอร์มเดียวก็ได้รับคีย์ของคุณ
สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด