Ollama API คู่มือเริ่มต้นใช้งาน
คู่มือนี้ให้การตั้งค่าที่จำเป็นสำหรับการเชื่อมต่อกับ API LLM แบบไม่มีเซ็นเซอร์ ใช้ SDK มาตรฐานของ OpenAI เพื่อส่งคำขอไปยังเอนด์พอยต์ที่โฮสต์ของเราด้วยการตั้งค่าเพียงเล็กน้อย
การตั้งค่า URL ฐานและการตรวจสอบสิทธิ์
กำหนดค่า client ของคุณให้ชี้ไปยัง endpoint ที่เราโฮสต์ไว้ ตั้งค่า base_url เพื่อ https://api.apiollama.com/v1 และระบุคีย์ของคุณใน Authorization header การตรวจสอบสิทธิ์ใช้รูปแบบมาตรฐาน Bearer scheme คุณสามารถสร้างคีย์ผ่าน Google หรืออีเมลบนแดชบอร์ด ระบบสร้างคีย์ที่ใช้งานได้นี้ต่อหนึ่งบัญชี
curl https://api.apiollama.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list installed models"}]
}'รักษาความมั่นคงปลอดภัยของคีย์ของคุณ หากคุณต้องการคีย์ใหม่ ให้สร้างคีย์ใหม่ในแดชบอร์ดและคีย์เก่าจะไม่มีผลทันที ไม่ต้องใช้หมายเลขโทรศัพท์สำหรับการตั้งค่า การตั้งค่านี้ใช้งานได้กับไคลเอนต์ที่เข้ากันได้กับ OpenAI
POST /v1/chat/completions: การส่งคำขอ
ส่งคำขอการเติมข้อความแชทครั้งแรกของคุณโดยใช้จุดสิ้นสุดมาตรฐาน ระบุ ID ของโมเดลเป็น uncensored ใน body ของคำขอ API รับอาร์เรย์ข้อความมาตรฐานที่มีบทบาทระบบ ผู้ใช้ และผู้ช่วย สิ่งนี้ใช้งานได้กับ SDK ใดๆ ที่รองรับรูปแบบ OpenAI ตรวจสอบว่าคุณรวม model field in every request.
from openai import OpenAI
client = OpenAI(base_url="https://api.apiollama.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)คำขอจะถูกประมวลผลผ่านเซิร์ฟเวอร์ของเรา โมเดลจะตอบกลับด้วยข้อความที่สร้างขึ้นจากคำสั่งของคุณ คุณสามารถปรับพารามิเตอร์เช่น temperature หรือ top_p เพื่อควบคุมความสุ่ม ระบบส่งคืนวัตถุการตอบกลับที่สมบูรณ์ซึ่งประกอบด้วยเนื้อหาที่สร้าง
GET /v1/models: แสดงรายการโมเดลที่มีอยู่
สอบถาม endpoint ของโมเดลเพื่อตรวจสอบตัวเลือกที่มีอยู่ ส่ง GET request ไปยัง /v1/models เพื่อแสดงรายการโมเดลที่โฮสต์ ผลลัพธ์การตอบกลับจะรวมถึง id field set to uncensored. เอนด์พอยต์นี้ยืนยันว่าคีย์ API ของคุณมีสิทธิ์ใช้งานที่ถูกต้อง มันส่งคืนเมตาดาต้าเกี่ยวกับการกำหนดค่าโมเดล
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiollama.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);ใช้การเรียกนี้เพื่อแก้ไขปัญหาการเชื่อมต่อ หากเอนด์พอยต์ส่งข้อผิดพลาด ให้ตรวจสอบส่วนหัวการตรวจสอบสิทธิ์ของคุณ เอนด์พอยต์ให้รายการโมเดลที่พร้อมใช้งานแบบง่าย คุณสามารถตรวจสอบสถานะบริการได้โดยไม่ต้องส่งคำขอแชทเต็มรูปแบบ
การตอบกลับแบบสตรีมมิ่งด้วย Server-Sent Events
เปิดใช้งานการสตรีมโดยการตั้งค่า stream ตั้งค่าเป็น true API จะส่ง Server-Sent Events (SSE) สำหรับการส่งโทเค็นแบบเรียลไทม์ แต่ละชุดมีอัปเดตเนื้อหาบางส่วน ชุดสุดท้ายจะรวมสถิติการใช้งานโทเค็นทั้งหมด ซึ่งช่วยลดความล่าช้าที่ผู้ใช้รู้สึกได้สำหรับคำตอบที่ยาวนาน
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)จัดการสตรีม SSE ในโค้ดไคลเอนต์ของคุณ ประมวลผลแต่ละเหตุการณ์เมื่อมาถึง เหตุการณ์สุดท้ายประกอบด้วย usage object พร้อมจำนวน input และ output tokens การสตรีมทำงานร่วมกับพารามิเตอร์ที่รองรับทั้งหมด ซึ่งให้ผลตอบรับทันทีสำหรับแอปพลิเคชันแบบโต้ตอบ
พารามิเตอร์การกำหนดค่า: อุณหภูมิ, Top-p และอื่นๆ
ปรับพฤติกรรมการสร้างโดยใช้พารามิเตอร์มาตรฐาน ตั้งค่า temperature สำหรับความสุ่มและ top_p สำหรับการสุ่มแบบ nucleus ใช้ stop ลำดับเพื่อหยุดการสร้างแต่เนิ่นๆ The seed พารามิเตอร์นี้ช่วยให้ได้ผลลัพธ์ที่ซ้ำกันได้ คุณสามารถตั้งค่า presence_penalty และ frequency_penalty สำหรับการควบคุมสไตล์
โหมด JSON พร้อมใช้งานผ่าน response_format. ตั้งค่าสิ่งนี้ให้เป็น json_object สำหรับผลลัพธ์แบบมีโครงสร้าง โมเดลปฏิบัติตามรูปแบบที่กำหนด พารามิเตอร์เหล่านี้ใช้กับคำขอทั้งหมด ใช้เพื่อปรับแต่งสไตล์การตอบสนอง
การจัดการข้อผิดพลาดและการรายงานการใช้งานโทเค็น
จัดการข้อผิดพลาด HTTP ที่พบบ่อยในแอปพลิเคชันของคุณ รหัสสถานะ 401 บ่งชี้ว่าคีย์ API ไม่ถูกต้อง รหัสสถานะ 402 หมายความว่าเครดิตเติมเงินล่วงหน้าของคุณหมดแล้ว รหัสสถานะ 429 บ่งชี้ว่าคุณได้เกินขีดจำกัดอัตราส่วน ตรวจสอบบอดีการตอบสนองสำหรับข้อความข้อผิดพลาดโดยละเอียด การปฏิเสธเนื่องจากนโยบายเนื้อหาเป็นบริการฟรี
หน้าต่างบริบทรองรับ 100,000 tokens รวม เอาต์พุตจำกัดไว้ที่ 16,000 tokens ต่อคำขอ เอาต์พุตเริ่มต้นคือ 2,048 tokens หาก max_tokens ยังไม่กำหนด การใช้งานโทเคนจะรายงานในชิ้นส่วนสตรีมสุดท้าย ข้อผิดพลาดไม่ใช้เครดิต
คำถามที่พบบ่อย
URL API ของ ollama สำหรับบริการที่โฮสต์คืออะไร
URL ฐานคือ HTTPS://api.apiollama.com/v1 จุดปลายนี้เข้ากันได้กับ SDK มาตรฐานของ OpenAI คุณเพียงต้องอัปเดต URL ฐานและคีย์ API ในการกำหนดค่าของคุณ
LLM แบบไม่มีการกรองเนื้อหารองรับการสตรีมมิ่งหรือไม่?
ใช่ การสตรีมรองรับผ่าน Server-Sent Events ตั้งค่าพารามิเตอร์ stream เป็น true ในการร้องขอของคุณ ชิ้นสุดท้ายจะรวมสถิติการใช้โทเค็นเพื่อความโปร่งใสในการเรียกเก็บเงิน
ขอบเขตหน้าต่างบริบทคืออะไร?
โมเดลรองรับหน้าต่างบริบทขนาด 100,000 token ผลลัพธ์สูงสุดคือ 16,000 token ต่อการเรียกใช้ หากไม่ได้ตั้งค่า max_tokens output เริ่มต้นคือ 2,048 token