Pengesahan dan Penetapan URL Asas
Kunci API anda mengesahkan setiap permintaan ke pelayan kami. Cukup daftar dengan Google atau alamat e-mel dan salin kunci dari papan pemuka anda. Tampalkannya ke dalam pembolehubah persekitaran anda sebagai DEEPSEEK_API_KEY dan arahkan klien anda ke https://api.keyapideepseek.com/v1. URL asas ini berfungsi dengan mana-mana perpustakaan serasi OpenAI standard.
curl https://api.keyapideepseek.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check the system health and confirm uptime status"}]
}'Anda boleh mengesahkan persediaan anda dengan menyenaraikan model yang tersedia. Respons mengesahkan kunci anda sah dan aktif. Langkah ini memastikan integrasi anda menunjuk ke endpoint tanpa penapisan yang betul sebelum anda menghantar prompt.
Hujung Sambungan Penyelesaian Sembang
The POST /v1/chat/completions hujung sambungan menerima permintaan anda dan mengembalikan respons model. Anda menghantar badan JSON yang mengandungi mesej, arahan sistem anda, dan parameter seperti suhu. ID model sentiasa uncensored. Model tunggal ini mengendalikan semua keperluan penjanaan teks anda tanpa kompleksiti pengaliran.
from openai import OpenAI
client = OpenAI(base_url="https://api.keyapideepseek.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)SDK Python mengendalikan permintaan HTTP secara automatik. Anda lulus kunci anda dan URL asas kepada konstruktor klien. Baki kod meniru corak OpenAI piawai. Ini memastikan anda boleh menukar vendor kemudian tanpa menulis semula logik aplikasi anda sepenuhnya.
Penggunaan Token Respons Streaming
Aktifkan aliran dengan menetapkan stream: true dalam permintaan anda. API mengembalikan aliran potongan Acara Diterusi Pelayan (SSE). Setiap potongan mengandungi teks separa dan statistik penggunaan. Potongan terakhir termasuk jumlah kiraan token untuk permintaan tersebut.
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)Penstriman mengurangkan latensi yang dirasakan oleh pengguna. Anda boleh memaparkan token apabila ia tiba. Ini amat penting untuk penjanaan teks panjang atau antara muka sembang interaktif. Pantau penggunaan token dalam bahagian akhir untuk menjejak penggunaan kredit prabayar anda dengan tepat.
Mod JSON dan Pemanggilan Fungsi
Kekalkan output terstruktur dengan menetapkan response_format ke {"type": "json_object"}. Model ini akan mengembalikan JSON bukan teks bentuk bebas. Ini sangat ideal untuk integrasi API atau tugas pengekstrakan data. Anda juga boleh menentukan definisi fungsi dalam prompt anda untuk penggunaan alat.
Model ini menyokong tool_choice parameter. Anda boleh memaksa fungsi tertentu atau membiarkan model memutuskan. Fleksibiliti ini membolehkan anda membina ejen kompleks. Pastikan skema fungsi anda bertip ketat untuk mengelakkan ralat penguraian dalam kod klien anda.
Had had laju dan kekonkurenan
Setiap kunci API terhad kepada 300 permintaan setiap minit. Anda boleh mempunyai sehingga 8 permintaan serentak yang aktif serentak. Saiz badan permintaan maksimum ialah 8 MB. Had-had ini mencegah penyalahgunaan dan memastikan prestasi stabil untuk semua pengguna. Melangkaui had-had ini akan memulangkan ralat 429.
Laksanakan penangguhan eksponen dalam kod klien anda. Cuba semula permintaan yang gagal selepas kelewatan singkat. Ini mengendalikan masalah rangkaian sementara dengan lancar. Kredit prabayar anda hanya didebit untuk penyelesaian berjaya, bukan untuk cubaan semula yang dihadkan kadar.
Pengendalian Ralat dan Penolakan
Kesilapan 401 bermaksud kunci anda tidak sah atau telah luput. Kesilapan 402 menunjukkan kredit pra-dibayar tidak mencukupi. Kesilapan 429 menandakan anda telah mencapai had kadar. Model menolak permintaan yang mengandungi kandungan seksual melibatkan kanak-kanak. Semua kandungan dewasa lain yang sah dibenarkan.
Semak badan respons ralat untuk mesej terperinci. Log ralat ini untuk nyahpepijalan masalah penggabungan. Kredit anda tidak digunakan untuk permintaan yang gagal. Model pengebilan telus ini membantu anda meramalkan kos dengan tepat tanpa yuran tersembunyi.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.keyapideepseek.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);