عنوان URL الأساسي والمصادقة
ابدأ بالمصادقة باستخدام عنوان URL الأساسي https://api.googlegeminiuncensored.com/v1. تتلقى مفتاح API نشطاً واحداً على الفور بعد التسجيل عبر Google أو البريد الإلكتروني. استخدم هذا المفتاح في Authorization رأس الصفحة كرمز حامل (Bearer token) لجميع الطلبات اللاحقة.
- URL الأساسي:
https://api.googlegeminiuncensored.com/v1 - رأس:
Authorization: Bearer YOUR_API_KEY
curl https://api.googlegeminiuncensored.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top five open source LLMs for local deployment"}]
}'
نقطة نهاية إكمال الدردشة
أرسل طلبات توليد النص إلى POST /v1/chat/completions. تقبل نقطة النهاية هذه مصفوفات رسائل قياسية وتعيد استجابات نصية خام بدون مرشحات محتوى للاستخدام البالغ القانوني.
from openai import OpenAI
client = OpenAI(base_url="https://api.googlegeminiuncensored.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)معرف النموذج هو uncensored. إنه نموذج مفتوح المصدر يعمل على خوادمنا، ومميز عن GPT أو Gemini. لا يقوم بالتوجيه بين الموردين أو يقدم تضمينات.
استجابات البث (SSE)
فعّل البث عن طريق تعيين stream: true في جسم الطلب الخاص بك. تُعيد الواجهة البرمجية (API) أحداث الإرسال من الخادم (SSE) حيث تظهر بيانات استخدام الرموز في الشريحة النهائية.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.googlegeminiuncensored.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);يقلل التدفق من زمن الاستجابة المُدرَك للمخرجات الطويلة. يحتوي كل جزء على فوارق نصية جزئية. قم بتحليل الحدث الأخير للحصول على استهلاك الرموز الإجمالي لشفافية الفوترة.
التدفق
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)