TH ▾
รับคีย์ API

URL ฐาน API Codex: วิธีชี้ไคลเอนต์ของคุณไปยังของเรา

codex api base url สำหรับบริการนี้คือ https://api.getcodexapi.com/v1 โดย model ID คือ uncensored และคีย์ของคุณอยู่ใน header Bearer มาตรฐาน SDK หรือไคลเอนต์ OpenAI ใด ๆ ทำงานได้เมื่อคุณเปลี่ยนค่าเหล่านั้น

อัปเดต

สายเคเบิลที่ส่องแสงเชื่อมต่อกับแล็ปท็อปเข้ากับกล่องเซิร์ฟเวอร์ แสดงการชี้ไคลเอนต์ไปยัง URL ฐาน API

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

  • Base URL: https://api.getcodexapi.com/v1 (รวม /v1 และอย่าใส่เส้นทางของเอนด์พอยต์)
  • Model ID คือ uncensored และการตรวจสอบสิทธิ์คือ Authorization: Bearer พร้อมคีย์ของคุณ
  • ทดสอบการเชื่อมต่อด้วย GET /v1/models ก่อนที่จะเชื่อมต่อกับแอปขนาดใหญ่
  • ความล้มเหลวส่วนใหญ่เกิดจากการมี /v1 ซ้ำกัน เส้นทางที่แปลกปลอม หรือคีย์ที่ผิด

ค่าสามค่าที่คุณต้องการ

ไคลเอนต์ที่เข้ากันได้กับ OpenAI ทุกตัวต้องการสิ่งเดียวกันสามอย่าง นี่คือสิ่งเหล่านั้นสำหรับบริการนี้

การตั้งค่าค่า
URL พื้นฐานhttps://api.getcodexapi.com/v1
คีย์ APIคีย์ของคุณจาก หน้าคีย์ API
โมเดลuncensored

คีย์จะถูกส่งเป็น Authorization: Bearer YOUR_KEY เอนด์พอยต์สองจุดที่คุณสามารถเรียกใช้ได้คือ POST /v1/chat/completions และ GET /v1/models นี่คือบริการอิสระที่รันโมเดลแบบเปิดน้ำหนักหนึ่งตัว ไม่ใช่ Codex ของ OpenAI ดังนั้นอย่าวางเอนด์พอยต์ของ OpenAI หรือคีย์ของ OpenAI ลงในการตั้งค่าเดียวกัน

ตรวจสอบการเชื่อมต่อด้วย curl

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

curl https://api.getcodexapi.com/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

คุณควรได้รับรายการ JSON ที่รวมโมเดล uncensored ไว้ด้วย จากนั้นส่งการสร้างข้อความจริงหนึ่งรายการ:

curl https://api.getcodexapi.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Say hello in five words."}]
  }'

หากการเรียกทั้งสองทำงานได้ ปัญหาในการล้มเหลวใดๆ ในภายหลังคือในการตั้งค่าไคลเอนต์ของคุณ ไม่ใช่บริการ ส่วนหัวของคำตอบรวมถึง X-Request-Id ซึ่งมีประโยชน์ในการเก็บไว้หากคุณต้องการติดตามการเรียกเฉพาะ และ X-Balance-USD ซึ่งแสดงเครดิตคงเหลือของคุณ

Python กับ SDK ของ OpenAI

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

from openai import OpenAI

client = OpenAI(
    base_url="https://api.getcodexapi.com/v1",
    api_key="YOUR_API_KEY",
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "Explain what a base URL is in two sentences."},
    ],
)
print(resp.choices[0].message.content)

หากคุณต้องการเก็บการตั้งค่าออกจากโค้ด SDK ยังอ่าน OPENAI_BASE_URL และ OPENAI_API_KEY จากสภาพแวดล้อม:

export OPENAI_BASE_URL="https://api.getcodexapi.com/v1"
export OPENAI_API_KEY="YOUR_API_KEY"

เมื่อตั้งค่าเหล่านั้นแล้ว OpenAI() โดยไม่มีอาร์กิวเมนต์จะดึงค่าเหล่านั้นมา นี่คือสิ่งที่มีประโยชน์เพราะเครื่องมือของบุคคลที่สามจำนวนมากที่สร้างบน SDK สืบทอดตัวแปรเดียวกันโดยไม่ต้องมีการเปลี่ยนแปลงโค้ด

Node.js

SDK ของ JavaScript ใช้ชื่อตัวเลือกเดียวกัน เขียนว่า baseURL

import OpenAI from "openai";

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

const stream = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Write a haiku about version control." }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

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

แอปที่มีหน้าจอการตั้งค่า

เครื่องมือเดสก์ท็อปและโปรแกรมแก้ไขมักติดป้ายชื่อฟิลด์ด้วยหนึ่งในสามวิธี: "Base URL", "API Base" หรือ "เอนด์พอยต์ที่เข้ากันได้กับ OpenAI" ทั้งหมดต้องการสตริงเดียวกัน หมายเหตุไม่กี่ข้อที่ช่วยประหยัดเวลา:

  • เลือกประเภทผู้ให้บริการ OpenAI หรือ "custom OpenAI-compatible" ไม่ใช่ประเภทเฉพาะของผู้ขาย
  • พิมพ์ชื่อโมเดลด้วยตนเองหากแอปมีกล่องข้อความแบบฟรีเท็กซ์ uncensored คือ ID ที่ถูกต้อง
  • หากแอปมีปุ่ม "ทดสอบการเชื่อมต่อ" ปุ่มนั้นมักจะเรียกดูรายการโมเดล ซึ่ง API นี้รองรับ
  • แอปพลิเคชันบางตัวแคชรายการโมเดลจากผู้ให้บริการรุ่นก่อนหน้า หากเมนูแบบเลื่อนลงแสดงผลไม่ถูกต้อง ให้ลบรายการเก่าออกแล้วเพิ่มรายการใหม่

ดูตัวอย่างการใช้งานในโปรแกรมแก้ไขข้อความเฉพาะจากคู่มือการเชื่อมต่อ Cursor หรือดูภาพรวมที่หน้า API สำหรับเขียนโค้ด เอกสารอ้างอิงพารามิเตอร์เต็มรูปแบบอยู่ใน เอกสาร API

เมื่อการเชื่อมต่อทำงานได้แล้ว ให้บันทึกค่าที่ถูกต้องไว้ที่ที่คุณสามารถเข้าถึงได้อีกครั้ง: URL, ชื่อโมเดล และวันที่สร้างคีย์ ทีมงานมักเสียเวลาหนึ่งชั่วโมงในการแก้ไขค่าที่เก็บไว้ในไฟล์การตั้งค่าซึ่งยังใช้ค่าเก่าอยู่ การใช้ไฟล์ตัวอย่างที่แชร์กันใน repository เพียงไฟล์เดียว โดยใส่ค่าแทนที่คีย์จริง จะช่วยป้องกันปัญหานี้ได้

ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

URL มีค่าเป็น /v1/v1

ไคลเอนต์บางตัวเพิ่ม /v1 เข้าไปเอง หากคำขอของคุณล้มเหลวและบันทึกไคลเอนต์แสดงเส้นทางที่มี /v1/v1/chat/completions ให้ลบ /v1 ออกจาก base URL ที่คุณป้อนเข้าไป ในทางกลับกัน ไคลเอนต์ที่ไม่เพิ่มค่านี้จำเป็นต้องมีในค่าตั้งค่าของคุณ บันทึกเส้นทางของคำขอจะช่วยยืนยันคำตอบได้ทันที

คุณใส่ endpoint เต็มลงใน base URL

base URL จะหยุดที่ /v1 อย่าป้อน /chat/completions ตรงนั้น SDK จะเพิ่มเส้นทางสำหรับแต่ละการเรียกใช้

เครื่องหมายทับท้ายหรือการพิมพ์ผิดในโฮสต์

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

คีย์ผิด หรือคีย์ของบริการอื่น

คีย์ OpenAI จะไม่ทำงานที่นี่ และคีย์ของเราจะไม่ทำงานที่นั่น ข้อผิดพลาดการตรวจสอบสิทธิ์เกือบทุกครั้งเกิดจากปัญหาการคัดลอกและวาง เช่น ตัวอักษรหายหรือมีช่องว่างที่ท้ายคีย์

ทำงานใน curl ได้แต่ไม่ทำงานในแอปของคุณ

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

HTTP 429

นั่นหมายถึงคุณชนขีดจำกัดแล้ว รหัสข้อผิดพลาด rate_limited คือ ขีดจำกัดอัตรา (คำขอต่อนาที) และ concurrency คือ จำนวนคำขอพร้อมกันที่เกินขีดจำกัด คีย์แบบเต็มอนุญาตให้ทำคำขอพร้อมกัน 8 คำขอและ 300 คำขอต่อนาที; คีย์ทดลองใช้ทำพร้อมกัน 2 คำขอและ 60 คำขอต่อนาที เมื่อระบบรับภาระชั่วคราว คุณยังได้รับ 429 พร้อมหัวข้อความ Retry-After: 5 ดังนั้นให้รอ 5 วินาทีแล้วลองอีกครั้ง

LangChain และการเก็บ URL ไว้ในที่เดียว

เฟรมเวิร์กที่สร้างบนไคลเอนต์ OpenAI ใช้ค่าเดียวกัน ในการผสานรวม OpenAI ของ LangChain อาร์กิวเมนต์มีชื่อดังนี้:

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="uncensored",
    base_url="https://api.getcodexapi.com/v1",
    api_key="YOUR_API_KEY",
)
print(llm.invoke("Name three uses of a base URL.").content)

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

หากคุณกำลังมองหาเอนด์พอยต์ของ OpenAI สำหรับผลิตภัณฑ์ Codex ของพวกเขาเอง นี่ไม่ใช่เอนด์พอยต์นั้น Base URL และวิธีการตรวจสอบสิทธิ์ของพวกเขามีเอกสารโดย OpenAI ดังนั้นให้ติดตามเอกสารปัจจุบันของพวกเขาสำหรับส่วนนั้น ที่อยู่บนหน้านี้เป็นบริการอิสระและยอมรับเฉพาะคีย์ที่ออกที่นี่เท่านั้น

สิ่งที่คุณสามารถส่งได้เมื่อเชื่อมต่อแล้ว

เอนด์พอยต์นี้รองรับการสตรีมมิง การเรียกใช้ฟังก์ชัน (tools, tool_choice, โดยส่งผลลัพธ์กลับเป็นข้อความ role: "tool") และโหมด JSON ผ่าน response_format: {"type": "json_object"} พารามิเตอร์ temperature, top_p, stop, seed และค่าปรับจะถูกส่งผ่านไปยังเซิร์ฟเวอร์ หน้าต่างบริบทคือ 100,000 โทเคนสําหรับพรอมต์และการสร้างข้อความรวมกัน และบอดี้ของคำขอสูงสุดคือ 8 MB

เป็นเพียงข้อความเท่านั้น ไม่มีฟีเจอร์สร้างภาพหรือเสียง ไม่มี embeddings และไม่มี fine-tuning ดังนั้นฟีเจอร์ไคลเอนต์ที่พึ่งพาฟีเจอร์เหล่านั้นจะไม่ทำงานกับ base URL นี้ การใช้งานคิดเงินตามโทเคนที่อัตรา $0.15 ต่อ 1M input และ $0.50 ต่อ 1M output; หน้า ราคา มีตัวอย่างการใช้งานที่ใช้งานได้

ถาม-ตอบ

Base URL คืออะไร

คือ https://api.getcodexapi.com/v1 ใช้เป็น Base URL ใน SDK หรือแอปที่เข้ากันได้กับ OpenAI โดยตั้งค่าโมเดลเป็น uncensored

นี่คือเอนด์พอยต์ Codex ทางการของ OpenAI หรือไม่

ไม่ใช่ เป็น API ที่เข้ากันได้กับ OpenAI แบบอิสระที่รันโมเดลแบบเปิดน้ำหนักหนึ่งโมเดล ไม่ได้รันโดย OpenAI หรือผู้ขายโมเดลรายอื่น

ทำไมฉันจึงได้ 404 หลังจากเปลี่ยน Base URL

โดยทั่วไป path ผิดพลาด อาจเกิดจากการมี /v1 ซ้ำหรือการรวม path ของเอนด์พอยต์ไว้ใน Base URL ตรวจสอบบันทึกคำขอของไคลเอนต์ของคุณและแก้ไข

ฉันต้องการ SDK พิเศษหรือไม่

ไม่ SDK มาตรฐานของ OpenAI สำหรับ Python และ Node.js ทำงานได้ รวมถึง HTTP ธรรมดาพร้อม curl ด้วย คุณเพียงเปลี่ยน Base URL คีย์ API และชื่อโมเดล

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

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

รับคีย์ API