TH ▾
รับคีย์ API

VS Code LLM API: เชื่อมต่อ editor กับคีย์ของคุณเอง editor กับคีย์ของคุณเอง editor กับคีย์ของคุณเอง editor ของคุณกับคีย์ของคุณเอง

คุณสามารถชี้ VS Code ไปยังเอนด์พอยต์ที่เข้ากันได้กับ OpenAI ได้โดยให้ส่วนขยายสามค่า: base URL, คีย์ API และ ID โมเดล หน้าเว็บนี้แสดงตำแหน่งที่ใส่ค่าเหล่านั้นและวิธีทดสอบก่อน

อัปเดต

editor แบบนามธรรมที่เชื่อมต่อด้วยสายเคเบิลกับกล่องเซิร์ฟเวอร์เรืองแสง ซึ่งแสดงถึงการเชื่อมต่อ VS Code LLM API

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

  • ทดสอบคีย์ด้วย curl ก่อนที่จะแตะ editor เพื่อให้คุณรู้ว่าด้านใดที่เสีย
  • ส่วนขยายเช่น Continue และ Cline ขอค่าสามค่าเดียวกัน: base URL, key, model ID
  • ใช้โมเดล ID uncensored และ base URL https://api.codingllmapi.com/v1.
  • API ให้บริการ chat completions เท่านั้น ดังนั้นฟีเจอร์ที่ต้องการเอนด์พอยต์ completion แยกอาจไม่ทำงาน

สิ่งที่คุณต้องมีก่อนเริ่ม

การตั้งค่า LLM API ของ VS Code ไม่มีอะไรซับซ้อน VS Code เองไม่ได้สื่อสารกับโมเดลภาษาโดยตรง แต่ส่วนขยายจะทำหน้าที่นั้น และส่วนขยายจำเป็นต้องรู้ว่าจะส่งคำขอไปที่ใดและระบุตัวตนอย่างไร ส่วนขยายที่รองรับผู้ให้บริการที่เข้ากันได้กับ OpenAI แบบกำหนดเองสามารถใช้บริการนี้ได้

รวบรวมค่าทั้งสามนี้ก่อน

  • Base URL: https://api.codingllmapi.com/v1
  • รหัสโมเดล: uncensored
  • API key: สร้างบน หน้า API key หลังจากสมัครสมาชิก คุณสามารถรับเครดิตทดลองใช้มูลค่า $0.50 ได้ด้วยการคลิกครั้งเดียว ใช้ได้เป็นเวลา 7 วัน และไม่ต้องใช้บัตรเครดิต

คีย์จะถูกส่งในคำขอในรูปแบบ Authorization: Bearer <key> ส่วนขยายจะเพิ่มเฮดเดอร์นั้นให้คุณโดยอัตโนมัติเมื่อคุณวางคีย์ลงในค่ากำหนด

ขั้นตอนที่ 1: ทดสอบคีย์นอกโปรแกรมแก้ไขโค้ด

การแก้จุดบกพร่องภายในส่วนขยายทำได้ช้ากว่าการแก้ในเทอร์มินัล เปิดเทอร์มินัลใน VS Code (Ctrl+` บน Windows และ Linux, Cmd+` บน macOS) เก็บคีย์ในตัวแปรสภาพแวดล้อม แล้วเรียกใช้คำสั่งสองคำสั่ง คำสั่งแรกจะแสดงรายการโมเดล คำสั่งที่สองจะส่งคำขอแชทขนาดเล็ก

export LLM_API_KEY="paste-your-key-here"

curl -s https://api.codingllmapi.com/v1/models \
  -H "Authorization: Bearer $LLM_API_KEY"

curl -s https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}],"max_tokens":10}'

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

ขั้นตอนที่ 2: กำหนดค่าส่วนขยาย

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

Continue

Continue เป็นผู้ช่วยโอเพนซอร์สสำหรับ VS Code และ JetBrains โดยอ่านไฟล์กำหนดค่าจากไดเรกทอรี home ของคุณ เวอร์ชันใหม่ใช้ไฟล์ YAML และเวอร์ชันเก่าใช้ config.json การกำหนดค่าโมเดลมีฟิลด์เดียวกันทั้งสองรูปแบบ ในรูปแบบ JSON จะปรากฏดังนี้:

{
  "models": [
    {
      "title": "Uncensored",
      "provider": "openai",
      "model": "uncensored",
      "apiBase": "https://api.codingllmapi.com/v1",
      "apiKey": "paste-your-key-here"
    }
  ]
}

ผู้ให้บริการคือ openai เนื่องจากรูปแบบการส่งข้อมูลเป็นของ OpenAI มีเพียง apiBase เท่านั้นที่บอกให้ Continue สื่อสารกับเซิร์ฟเวอร์อื่น โหลดหน้าต่างใหม่หลังจากบันทึก แล้วเลือกโมเดลจากเมนูแบบเลื่อนลงในแผงแชท

Cline

Cline เป็นส่วนขยายประเภทเอเจนต์ที่สามารถอ่านไฟล์ แก้ไขไฟล์ และเรียกใช้คำสั่งเทอร์มินัลได้โดยได้รับความยินยอมจากคุณ เปิดค่ากำหนดแล้วเลือกผู้ให้บริการชื่อ OpenAI Compatible กรอก Base URL, API Key และ Model ID วาง https://api.codingllmapi.com/v1 คีย์ของคุณ และ uncensored บันทึก เริ่มงาน และอนุมัติการใช้งานเครื่องมือครั้งแรก

ส่วนขยายอื่นๆ

เครื่องมือจำนวนมากใช้รูปแบบเดียวกันภายใต้ชื่อเช่น "custom endpoint", "OpenAI-compatible" หรือ "bring your own key" ให้มองหาฟิลด์ที่รับ base URL หากส่วนขยายมีเพียงรายการผู้ให้บริการคงที่โดยไม่มีฟิลด์ URL จะไม่สามารถชี้ไปยัง API นี้ได้

สิ่งที่ทำงานได้และสิ่งที่อาจใช้ไม่ได้

API นี้รองรับ POST /v1/chat/completions และ GET /v1/models ซึ่งครอบคลุมแผงแชท คำสั่งแก้ไข การอธิบายโค้ด และวงจรเอเจนต์ แต่ไม่ได้ครอบคลุมทุกสิ่งที่โปรแกรมแก้ไขโค้ดอาจต้องการ

ฟีเจอร์ตัวแก้ไขผลลัพธ์ที่คาดหวัง
แชทเกี่ยวกับไฟล์ที่เปิดอยู่ใช้งานได้
เลือกโค้ดและขอการแก้ไขใช้งานได้
งานเอเจนต์พร้อมการเรียกใช้ฟังก์ชันใช้งานได้หากส่วนขยายใช้ฟิลด์ tools มาตรฐานหรือรูปแบบพรอมต์ของตัวเอง
การเติมข้อความอัตโนมัติแบบอินไลน์ขึ้นอยู่กับส่วนขยาย หากต้องการเอนด์พอยต์สำหรับการเติมข้อความหรือการเติมตรงกลางแยกต่างหาก API นี้ไม่ได้ให้บริการ
Embeddings และการจัดทำดัชนี codebaseไม่มีที่นี่ เนื่องจากไม่มีเอนด์พอยต์สำหรับการฝัง ใช้แหล่งข้อมูลการฝังอื่นหรือปิดการทำดัชนี
การป้อนภาพหรือการสร้างภาพไม่รองรับ เพราะ API รองรับเฉพาะข้อความ

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

นอกเหนือจากส่วนขยาย: สคริปต์ที่คุณรันจากตัวแก้ไข

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

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

import os
import sys
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

path = sys.argv[1]
with open(path, encoding="utf-8") as f:
    source = f.read()

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "Review the code. List bugs first, then style issues. Be brief."},
        {"role": "user", "content": source},
    ],
    temperature=0.2,
)
print(resp.choices[0].message.content)

รันด้วย python review.py src/app.py ไฟล์ขนาดใหญ่รองรับได้ภายในหน้าต่าง 100,000 โทเคน แต่พรอมต์ขนาดเล็กลงจะตอบได้เร็วกว่าและใช้ต้นทุนน้อยกว่า หากต้องการให้ผลลัพธ์ปรากฏขณะกำลังเขียน ให้ส่ง stream=True และพิมพ์ delta.content ของแต่ละชิ้นเมื่อได้รับ

แนวคิดเดียวกันนี้สามารถใช้เป็นงาน VS Code ใน .vscode/tasks.json ได้: กำหนดงานที่มีคำสั่งเป็นสคริปต์นี้โดยส่งไฟล์ปัจจุบันเป็นอาร์กิวเมนต์ แล้วเรียกใช้จากพาเลตต์คำสั่ง เป็นการตั้งค่าเพียงเล็กน้อย แต่ได้คำสั่งตรวจสอบที่คุณเข้าใจอย่างถ่องแท้

การแก้ไขข้อผิดพลาดทั่วไป

ปัญหาส่วนใหญ่เกิดจากสาเหตุไม่กี่ประการ ให้ตรวจสอบตามรายการนี้จากบนลงล่าง

  1. 401 หรือ "คีย์ API ไม่ถูกต้อง" คีย์ถูกวางพร้อมช่องว่างที่ท้าย หรือคุณใช้คีย์สำหรับเว็บไซต์อื่น สร้างคีย์ใหม่แล้ววางอีกครั้ง
  2. 404 หรือ "ไม่พบโมเดล" ชื่อ ID ของโมเดลพิมพ์ผิด หรือ Base URL ขาด /v1 หรือมีซ้ำ ID ที่ถูกต้องคือ uncensored เรียกใช้ /v1/models เพื่อดูว่าเซิร์ฟเวอร์รายงานอะไร
  3. 429 พร้อม rate_limited คุณเกินขีดจำกัดอัตราคำขอต่อนาที: 300 สำหรับคีย์เต็ม, 60 สำหรับคีย์ทดลอง เอเจนต์ที่วนลูปเร็วอาจชนขีดจำกัดนี้ รอแล้วลองใหม่ หรือลดจำนวนขั้นตอนอัตโนมัติ
  4. 429 พร้อม concurrency มีคำขอพร้อมกันมากเกินไป: 8 สำหรับคีย์เต็ม, 2 สำหรับคีย์ทดลอง ส่วนขยายบางตัวส่งคำขอหลายรายการพร้อมกันสำหรับงานหนึ่งๆ การตอบแบบสตรีมจะครอบครองช่องจนกว่าจะเสร็จ ดังนั้นสตรีมที่ค้างอยู่อาจบล็อกคำขอใหม่ได้
  5. 429 พร้อมเฮดเดอร์ Retry-After: 5 การโอเวอร์โหลดชั่วคราว ส่วนขยายควรลองใหม่หลังจากห้าวินาที หากไม่ทำ ให้ลองใหม่ด้วยตนเอง
  6. คำขอถูกปฏิเสธเนื่องจากมีขนาดใหญ่เกินไป ขนาดสูงสุดของบอดี้คือ 8 MB และหน้าต่างบริบทคือ 100,000 โทเคนสำหรับพรอมต์รวมกับคำตอบ เอเจนต์ที่แนบไฟล์จำนวนมากอาจเกินขีดจำกัดนี้ ให้ลดขนาดบริบทหรือล้างการสนทนา

เมื่อขอความช่วยเหลือจากทีมสนับสนุน ให้รวมค่าของเฮดเดอร์การตอบกลับ X-Request-Id คุณสามารถดูค่านี้ได้ด้วย curl -i

การติดตามต้นทุนที่ชัดเจน

เอเจนต์ในเอเจนต์ในเอเจนต์ในตัวแก้ไขส่งข้อความปริมาณมาก เนื่องจากแต่ละขั้นตอนมักมีไฟล์และประวัติจนถึงขณะนั้น การคิดราคาอยู่ที่ $0.15 ต่อ 1M โทเคนอินพุต และ $0.50 ต่อ 1M โทเคนเอาต์พุต ซึ่งทำให้คำขอเดี่ยวมีต้นทุนต่ำ แต่การวนซ้ำอาจทำให้ต้นทุนรวมสูงขึ้น

ตัวอย่างการคำนวณ: ขั้นตอนของเอเจนต์ที่มี 30,000 โทเคนอินพุตและ 1,000 โทเคนเอาต์พุต มีต้นทุนอินพุต 30,000 x $0.15 / 1,000,000 = $0.0045 และต้นทุนเอาต์พุต 1,000 x $0.50 / 1,000,000 = $0.0005 รวมเป็น $0.005 ต่อขั้นตอน งาน 40 ขั้นตอนเช่นนี้จะมีต้นทุน $0.20 นี่เป็นเพียงภาพรวม ไม่ใช่การรับประกัน เนื่องจากขั้นตอนจริงมีขนาดแตกต่างกัน

  • ตรวจสอบ X-Balance-USD ในเฮดเดอร์การตอบกลับเพื่อดูเครดิตของคุณหลังการเรียกใช้
  • เริ่มงานใหม่ในการสนทนาใหม่เพื่อให้ประวัติเก่าไม่ถูกส่งต่อไปเรื่อยๆ
  • ตั้งค่าขีดจำกัดขั้นตอนหรือคำขอของส่วนขยายหากมี

เครดิตเป็นแบบเติมเงินล่วงหน้า ดังนั้นการใช้จ่ายจะหยุดเมื่อเงินคงเหลือหมด และเครดิตจะไม่หมดอายุ การเติมเงินเริ่มต้นที่ $20 ถึง $500 เป็นจำนวนเต็ม พร้อมโบนัส 5% เมื่อเติม $50, 10% เมื่อเติม $100 และ 15% เมื่อเติม $200 รองรับบัตร (Visa, Mastercard, Apple Pay, Google Pay) และคริปโต (USDT บน TRC20, USDC บน Base) รายละเอียดอยู่ที่ หน้าราคา และ เอกสาร ระบุพารามิเตอร์ที่รองรับทั้งหมด

หมายเหตุเกี่ยวกับความเป็นส่วนตัวและการใช้งาน

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

ถาม-ตอบ

ฉันสามารถใช้ API นี้กับ GitHub Copilot ใน VS Code ได้หรือไม่

Copilot เชื่อมโยงกับบริการของตัวเอง ดังนั้นคีย์นี้จึงไม่สามารถแทนที่ได้ ให้ใช้ส่วนขยายที่รองรับ endpoint แบบกำหนดเอง เช่น Continue หรือ Cline

ฉันควรกรอก model ID ใด

กรอก uncensored คุณสามารถยืนยันได้โดยการเรียกใช้ GET /v1/models ด้วยคีย์ของคุณ

ทำไมตัวแก้ไขจึงบอกว่าการเชื่อมต่อล้มเหลว

ทดสอบด้วย curl ก่อน หาก curl ทำงานได้ ให้ตรวจสอบ base URL ในส่วนขยายอีกครั้ง รวมถึง /v1 ที่ท้าย URL และการไม่มีช่องว่างเพิ่มเติม

การเติมข้อความอัตโนมัติแบบ inline ทำงานได้หรือไม่

เฉพาะเมื่อส่วนขยายสามารถใช้งานchat completions แบบธรรมดาได้ API นี้ไม่มี endpoint การเติมข้อความแยกต่างหาก ดังนั้นให้ตรวจสอบการตั้งค่าการเติมข้อความอัตโนมัติของส่วนขยาย

มีวิธีทดสอบฟรีหรือไม่

ผู้ใช้ใหม่สามารถรับเครดิตทดลองใช้ $0.50 ได้ที่หน้าคีย์ API หลังจากสมัครสมาชิก ไม่จำเป็นต้องใช้บัตร ใช้ได้ 7 วัน และจำกัดหนึ่งครั้งต่อบุคคล

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

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

รับคีย์ API