th ▾
รับ API key

NsfwLocalเอกสารสำหรับนักพัฒนา

เอกสาร API

เริ่มต้นใช้งาน API LLM แบบไม่มีเซนเซอร์ได้ในไม่กี่นาที ใช้เครื่องมือที่เข้ากันได้กับ OpenAI มาตรฐานเพื่อส่งคำขอข้อความและรับคำตอบโดยตรงที่ไม่มีการกรอง

เริ่มต้นคำขอแรกของคุณ

เริ่มสร้างข้อความได้ทันทีโดยชี้ไคลเอนต์ของคุณไปยัง URL พื้นฐานของเราและตรวจสอบสิทธิ์ด้วยคีย์ API ที่สร้างขึ้นมา อินเทอร์เฟซปฏิบัติตามมาตรฐานทั่วไป ดังนั้นคุณจึงสามารถใช้ SDK ที่มีอยู่โดยไม่ต้องเรียนรู้โปรโตคอลใหม่ คุณจะต้องส่งคำขอไปยัง uncensored model และรับข้อความตอบกลับที่ไม่ใช้ตัวกรองเนื้อหาทั่วไปสำหรับการใช้งานผู้ใหญ่ที่ถูกต้อง

กำหนดค่า URL พื้นฐานและคีย์

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

  • Base URL: https://api.nsfwlocalllm.com/v1
  • Auth Header: Authorization: Bearer YOUR_API_KEY

คุณสามารถตรวจสอบว่าคีย์ของคุณใช้งานได้โดยตรวจสอบ endpoint ของโมเดล คีย์ที่ถูกต้องจะส่งกลับ ID ของโมเดลที่มีอยู่ทันที

ส่งคำขอ chat completion

ส่งแพย์โหลด chat completion มาตรฐานเพื่อสร้างข้อความ ระบบประมวลผลอินพุตของคุณและส่งการตอบสนองของโมเดลกลับมา ใช้ uncensored model ID เพื่อให้แน่ใจว่าคุณกำลังเข้าถึงอินสแตนซ์ที่ไม่มีตัวกรอง

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

curl https://api.nsfwlocalllm.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Send me the server uptime stats"}]
  }'

ตรวจสอบรหัสสถานะ HTTP มาตรฐานเพื่อจัดการกรณีสำเร็จหรือล้มเหลว

เปิดใช้งานสตรีมสำหรับผลลัพธ์แบบเรียลไทม์

สตรีมการตอบกลับเพื่อลดเวลาแฝงที่ผู้ใช้รับรู้ เปิดใช้งานสตรีมโดยการตั้งค่า stream: true ในบอดีคำขอของคุณ API จะส่งคืนชุดเหตุการณ์ที่ส่งจากเซิร์ฟเวอร์ (SSE) ที่มีโทเค็นบางส่วน

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

from openai import OpenAI

client = OpenAI(base_url="https://api.nsfwlocalllm.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)

จัดการข้อผิดพลาดการเชื่อมต่อได้อย่างราบรื่นเพื่อสร้างประสบการณ์ผู้ใช้ที่ลื่นไหล

ใช้โหมด JSON สำหรับข้อมูลที่มีโครงสร้าง

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

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

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nsfwlocalllm.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);

ตรวจสอบ JSON ที่ส่งออกทางฝั่งของคุณเพื่อจับกรณีขอบเขตใดๆ

เพิ่มการเรียกใช้ฟังก์ชัน

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

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

ตั้งค่า tool_choice เพื่อ auto สำหรับการตัดสินใจที่ยืดหยุ่น คุณลักษณะนี้รองรับสถานการณ์การสวมบทบาทขั้นสูงที่ต้องการการเข้าถึงข้อมูลภายนอก

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)

คำถามที่พบบ่อย

ขนาด context window คืออะไร?

หน้าต่างบริบทมีขนาด 100,000 tokens โดยครอบคลุมทั้ง prompt และ completion ซึ่งเอื้อต่อการสนทนาที่ยาวนานและเอกสารขนาดใหญ่โดยไม่สูญเสียบริบท

เกิดอะไรขึ้นถ้าเครดิตหมด?

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

ฉันจัดการกับอัตราจำกัดได้อย่างไร?

API กำหนดอัตราสูงสุด 300 คำขอต่อนาทีต่อ key หากเกินกว่านี้ คุณจะได้รับ status code 429 ใช้ exponential backoff ในไคลเอนต์ของคุณเพื่อจัดการกับความล่าช้าเหล่านี้ได้อย่างมีประสิทธิภาพ

ดึงคีย์ API ของคุณทันที

สมัครสมาชิก คัดลอกโทเค็น แล้วอัปเดต URL พื้นฐาน การตั้งค่าเสร็จสมบูรณ์

รับ API key