ID ▾
Dapatkan kunci API

API LLM VS Code: Sambungkan Editor ke Kunci Anda

Anda dapat mengarahkan VS Code ke endpoint apa pun yang kompatibel dengan OpenAI dengan memberikan tiga nilai ke ekstensi: base URL, kunci API, dan model ID. Halaman ini menunjukkan tempat nilai-nilai tersebut dan cara mengujinya terlebih dahulu.

Diperbarui

Editor kode abstrak yang terhubung dengan kabel ke kubus server bercahaya, mewakili koneksi API LLM VS Code

Poin utama

  • Uji kunci dengan curl sebelum menyentuh editor, agar Anda tahu sisi mana yang rusak.
  • Ekstensi seperti Continue dan Cline meminta tiga nilai yang sama: base URL, kunci, model ID.
  • Gunakan model ID uncensored dan base URL https://api.codingllmapi.com/v1.
  • API hanya melayani chat completions, sehingga fitur yang memerlukan endpoint completion terpisah mungkin tidak berfungsi.

Yang Anda butuhkan sebelum memulai

Pengaturan VS Code LLM API tidak memerlukan keajaiban. VS Code itu sendiri tidak berkomunikasi dengan model bahasa. Ekstensi yang melakukannya perlu mengetahui tempat mengirim permintaan dan cara mengidentifikasi Anda. Ekstensi apa pun yang mendukung penyedia kustom yang kompatibel dengan OpenAI dapat menggunakan layanan ini.

Kumpulkan ketiga nilai ini terlebih dahulu.

  • Base URL: https://api.codingllmapi.com/v1
  • ID Model: uncensored
  • Kunci API: dibuat di halaman kunci API. Setelah sign-up, Anda dapat mengklaim $0,50 kredit uji coba dengan satu klik, berlaku selama 7 hari dan tanpa perlu kartu.

Kunci dimasukkan ke permintaan sebagai Authorization: Bearer <key>. Ekstensi menambahkan header itu untuk Anda begitu Anda menempelkan kunci ke pengaturan mereka.

Langkah 1: uji kunci di luar editor

Debugging di dalam ekstensi lebih lambat daripada debugging di terminal. Buka terminal di VS Code (Ctrl+` di Windows dan Linux, Cmd+` di macOS), simpan kunci dalam variabel lingkungan, dan jalankan dua panggilan. Yang pertama mencantumkan model. Yang kedua mengirim permintaan chat kecil.

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}'

Jika panggilan kedua mengembalikan JSON dengan pesan, kunci, URL, dan model ID semuanya benar. Apa pun yang salah nanti adalah pengaturan ekstensi, bukan akun Anda. Jika Anda mendapatkan error autentikasi di sini, periksa apakah Anda menyalin seluruh kunci dan tidak ada kutipan atau spasi liar yang ikut serta.

Langkah 2: konfigurasi ekstensi

Pengaturan ekstensi berubah antar-versi, jadi perlakukan nama field di bawah ini sebagai panduan dan periksa dokumentasi ekstensi sendiri jika label berbeda. Ketiga nilai selalu sama.

Continue

Continue adalah asisten open-source untuk VS Code dan JetBrains. Ini membaca file konfigurasi dari direktori rumah Anda. Versi baru menggunakan file YAML, dan versi lama menggunakan config.json. Entri model membawa field yang sama dalam kedua format. Dalam format JSON, tampil seperti ini:

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

Penyedia adalah openai karena format wire-nya mengikuti OpenAI. Hanya apiBase yang memberi tahu Continue untuk berbicara ke server yang berbeda. Muat ulang jendela setelah menyimpan dan pilih model dari dropdown di panel chat.

Cline

Cline adalah ekstensi agen yang dapat membaca file, mengeditnya, dan menjalankan perintah terminal dengan persetujuan Anda. Buka pengaturannya dan pilih penyedia bernama OpenAI Compatible. Isi Base URL, API Key, dan Model ID. Tempelkan https://api.codingllmapi.com/v1, kunci Anda, dan uncensored. Simpan, mulai tugas, dan setujui penggunaan alat pertama.

Ekstensi lain

Banyak alat mengikuti pola yang sama di bawah nama seperti "custom endpoint", "OpenAI-compatible" atau "bring your own key". Cari field yang menerima base URL. Jika ekstensi hanya menawarkan daftar tetap vendor tanpa field URL, itu tidak dapat diarahkan ke API ini.

Apa yang berfungsi dan apa yang mungkin tidak

API ini mengimplementasikan POST /v1/chat/completions dan GET /v1/models. Itu mencakup panel chat, perintah edit, tindakan "jelaskan kode ini", dan loop agen. Itu tidak mencakup segala sesuatu yang mungkin diminta editor.

Fitur editorHasil yang diharapkan
Chat tentang file yang terbukaBerfungsi
Pilih kode dan minta editBerfungsi
Tugas agen dengan panggilan alatBerfungsi jika ekstensi menggunakan field tools standar atau format prompt kustomnya
Pelengkapan otomatis tab inlineTergantung pada ekstensi. Jika memerlukan endpoint completion atau fill-in-the-middle terpisah, API ini tidak menyediakannya
Embedding dan pengindeksan basis kodeTidak tersedia di sini, karena tidak ada endpoint embedding. Gunakan sumber embedding lain atau matikan pengindeksan
Input gambar atau generasiTidak tersedia, API hanya teks

Jika ekstensi gagal pada fitur di tabel ini, matikan fitur tersebut di pengaturannya alih-alih mengasumsikan kunci Anda salah. Untuk gambaran tentang bagaimana kinerja model ini untuk pekerjaan pemrograman, lihat halaman tentang model uncensored untuk agen coding.

Di luar ekstensi: skrip yang Anda jalankan dari editor

Ekstensi bukan satu-satunya cara untuk menggunakan kunci dari VS Code. Banyak pengembang menyimpan skrip kecil di proyek yang mengirim file ke model dan mencetak jawabannya, lalu menjalankannya dari terminal terintegrasi atau mengikatnya ke tugas. Ini memberi Anda kontrol penuh atas prompt dan menghindari kejutan dari instruksi tersembunyi ekstensi.

Berikut adalah skrip Python pendek yang meninjau jalur file apa pun yang Anda berikan. Ini membaca kunci dari variabel lingkungan, sehingga tidak ada rahasia yang masuk ke repositori Anda.

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)

Jalankan dengan python review.py src/app.py. File besar tidak masalah hingga jendela konteks 100.000 token, tetapi prompt yang lebih kecil memberikan jawaban lebih cepat dan lebih murah. Jika Anda ingin jawaban muncul saat ditulis, berikan stream=True dan cetak setiap bagian delta.content saat tiba.

Ide yang sama berfungsi sebagai tugas VS Code di .vscode/tasks.json: definisikan tugas yang perintahnya adalah skrip ini dengan file saat ini sebagai argumen, dan picu dari palet perintah. Ini adalah sedikit pengaturan, dan hasilnya adalah perintah tinjauan yang sepenuhnya Anda pahami.

Memperbaiki kesalahan umum

Sebagian besar masalah masuk ke dalam sejumlah kecil penyebab. Mulailah dari atas daftar ini.

  1. 401 atau "kunci API tidak valid". Kunci ditempel dengan spasi di akhir, atau Anda menggunakan kunci untuk situs lain. Buat kunci baru dan salin lagi.
  2. 404 atau "model tidak ditemukan". ID model salah ketik, atau base URL tidak menyertakan /v1 atau menyertakannya dua kali. ID yang benar adalah uncensored. Jalankan panggilan /v1/models untuk melihat apa yang dilaporkan server.
  3. 429 dengan rate_limited. Anda melebihi batas permintaan per menit: 300 untuk kunci penuh, 60 untuk kunci uji coba. Agen yang melakukan loop dengan cepat akan mencapai batas ini. Tunggu dan coba lagi, atau kurangi jumlah langkah otomatis.
  4. 429 dengan concurrency. Terlalu banyak permintaan sekaligus: 8 pada kunci penuh, 2 pada kunci uji coba. Beberapa ekstensi memicu beberapa panggilan secara paralel untuk satu tugas. Respons streaming memegang slotnya hingga berakhir, sehingga aliran yang macet dapat memblokir panggilan baru.
  5. 429 dengan header Retry-After: 5. Beban sementara. Ekstensi harus mencoba lagi setelah lima detik. Jika tidak, coba lagi secara manual.
  6. Permintaan ditolak karena terlalu besar. Batas body adalah 8 MB, dan jendela konteks adalah 100.000 token untuk prompt ditambah jawaban. Agen yang melampirkan banyak file dapat melebihi batas ini. Persempit konteks atau bersihkan percakapan.

Saat meminta bantuan dukungan, sertakan nilai header respons X-Request-Id. Anda dapat melihatnya dengan curl -i.

Memastikan biaya tetap terlihat

Agen editor mengirimkan banyak teks, karena setiap langkah biasanya membawa file dan riwayat sejauh ini. Harganya adalah $0,15 per 1 juta token input dan $0,50 per 1 juta token output, yang menjaga biaya permintaan tunggal tetap kecil, tetapi loop dapat menumpuk.

Contoh perhitungan: langkah agen dengan 30.000 token input dan 1.000 token output biayanya 30.000 x $0,15 / 1.000.000 = $0,0045 untuk input dan 1.000 x $0,50 / 1.000.000 = $0,0005 untuk output, sehingga $0,005 per langkah. Tugas dengan 40 langkah seperti itu biayanya $0,20. Ini adalah gambaran kasar, bukan janji, karena langkah nyata bervariasi ukurannya.

  • Periksa X-Balance-USD di header respons untuk melihat saldo Anda setelah panggilan.
  • Mulai tugas baru dalam percakapan baru agar riwayat lama tidak terus terbawa.
  • Atur batas langkah atau permintaan ekstensi jika ada.

Kredit adalah saldo prabayar, sehingga pengeluaran berhenti ketika saldo habis, dan tidak pernah kedaluwarsa. Isi saldo berkisar dari $20 hingga $500 dalam jumlah bulat, dengan bonus 5% dari $50, 10% dari $100, dan 15% dari $200. Kartu (Visa, Mastercard, Apple Pay, Google Pay) dan kripto (USDT pada TRC20, USDC pada Base) diterima. Detailnya ada di halaman harga, dan dokumentasi mencantumkan setiap parameter yang didukung.

Catatan tentang privasi dan penggunaan

Kode yang Anda kirim akan masuk ke server penyedia, jadi jangan tempelkan rahasia seperti kunci produksi, kata sandi, atau data pelanggan ke dalam prompt. Prompt pada layanan ini tidak digunakan untuk pelatihan. Model ini disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, yang berarti model tidak akan berhenti untuk memberi ceramah tentang pengujian keamanan atau skrip game bertema gelap, tetapi Anda tetap bertanggung jawab atas apa yang Anda mintakan. Konten seksual yang melibatkan anak di bawah umur tidak pernah diperbolehkan.

Tanya jawab

Bisakah saya menggunakan API ini dengan GitHub Copilot di VS Code?

Copilot terikat pada layanannya sendiri, sehingga kunci ini tidak menggantikannya. Gunakan ekstensi yang menerima endpoint kustom, seperti Continue atau Cline.

ID model mana yang harus saya masukkan?

Masukkan uncensored. Anda dapat mengonfirmasinya dengan memanggil GET /v1/models dengan kunci Anda.

Mengapa editor mengatakan koneksi gagal?

Jalankan uji curl terlebih dahulu. Jika curl berhasil, periksa kembali base URL di ekstensi, termasuk /v1 di akhir dan tidak adanya spasi tambahan.

Apakah autocomplete inline berfungsi?

Hanya jika ekstensi dapat menggunakan penyelesaian chat biasa untuk itu. API ini tidak memiliki endpoint penyelesaian terpisah, jadi periksa pengaturan autocomplete ekstensi.

Apakah ada cara gratis untuk mengujinya?

Pengguna baru dapat mengklaim $0,50 kredit uji coba di halaman kunci API setelah masuk. Ini tidak memerlukan kartu, berlaku selama 7 hari, dan dibatasi satu per orang.

Kunci Anda hanya selangkah lagi dari satu formulir

Buat akun, salin kunci, ubah base URL. Itu saja seluruh proses pengaturannya.

Dapatkan kunci API