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

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