ตัวอย่างโหมด Grok แบบไม่เซ็นเซอร์: พรอมต์และ API Calls
กำลังมองหาตัวอย่างโหมด Grok แบบไม่เซ็นเซอร์หรือไม่? ด้านล่างคือคำขอที่รันได้ห้ารายการซึ่งจำลองสไตล์ที่หลวม ตรงไปตรงมา ไม่บรรยาย บนโมเดลแบบไม่เซ็นเซอร์ พร้อมโค้ดที่แน่นอนและสิ่งที่คาดหวังจากแต่ละรายการ

ประเด็นสำคัญ
- สไตล์แบบไม่เซ็นเซอร์มาจากระบบพรอมต์; โมเดลเองไม่ปฏิเสธคำขอสำหรับผู้ใหญ่ที่ถูกต้องตามกฎหมาย
- ตัวอย่างห้ารายการครอบคลุมบุคลิก นิยาย โหมด JSON การเรียกใช้ฟังก์ชัน และสตรีมมิง
- ผลลัพธ์มีความแตกต่างกันระหว่างการรัน ดังนั้นควรกำหนด seed คงที่เมื่อเปรียบเทียบพรอมต์
- การรันตัวอย่างหนึ่งครั้งที่ใช้ 400 input tokens และ 600 output tokens มีค่าใช้จ่าย $0.00036
ความหมายของป้าย "Unhinged" และวิธีที่สิ่งนี้แตกต่าง
"Unhinged" กลายเป็นชื่อเล่นสำหรับรูปแบบการสนทนาในผลิตภัณฑ์แชท Grok ของ xAI: ไร้ซึ่งความเกรงใจ, เสียดสี, ด่าได้เร็ว, ไม่ยอมสอนก่อนตอบ หากต้องการตัวอย่างโหมด Grok Unhinged สำหรับแอปของคุณ คำถามที่มีประโยชน์คือส่วนใดของรูปแบบนั้นที่คุณสามารถทำซ้ำผ่าน API ได้
ทั้งหมดในทางปฏิบัติ เพราะสไตล์ส่วนใหญ่คือคำสั่ง เว็บไซต์นี้รันโมเดลแบบเปิดน้ำหนักหนึ่งโมเดล โดยผู้ให้บริการอิสระเป็นโฮสต์และปรับแต่งให้ตอบโดยไม่ปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย ไม่ใช่ API ของ Grok และไม่ได้เป็นพันธมิตรกับ xAI สิ่งที่คุณได้รับคือการไม่มีคำปฏิเสธและเสรีภาพในการกำหนดโทนด้วยข้อความระบบ
หมายเหตุเกี่ยวกับความซื่อสัตย์: ตัวอย่างด้านล่างแสดงคำขอตามที่คุณจะส่ง และอธิบายประเภทของคำตอบที่คาดหวัง ข้อความที่สร้างจะแตกต่างกันในทุกการรัน ดังนั้นฉันจึงไม่แปะตัวอย่างเดียวแล้วเรียกมันว่าปกติ รันแต่ละอันด้วยคีย์ของคุณเองและอ่านผลลัพธ์ เครดิตทดลองใช้ครอบคลุมเรื่องนี้
ตัวอย่างทุกอันใช้การตั้งค่าสามส่วนเดียวกัน: Base URL https://api.unhingedgrok.com/v1, คีย์ Bearer ในส่วนหัว Authorization และโมเดล ID uncensored หากคุณส่งอันใดอันหนึ่งได้ คุณจะส่งทั้งห้าได้ และไคลเอนต์ที่เข้ากันได้กับ OpenAI จะยอมรับค่าเดียวกัน เลือกภาษาที่คุณทำงานอยู่แล้วและข้ามอันอื่น
ตัวอย่างที่ 1: บุคลิกของผู้วิจารณ์ที่ตรงไปตรงมา
การทดสอบที่ง่ายที่สุดคือพรอมต์ระบบที่เปลี่ยนทัศนคติ ไม่มีอะไรอื่น คำขอขอคำติชมเกี่ยวกับฟังก์ชัน และบอกให้บุคลิกตรงไปตรงมาแทนที่จะหยาบคายเพื่อความหยาบคายเอง
curl https://api.unhingedgrok.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"temperature": 0.9,
"messages": [
{"role": "system", "content": "You are a grumpy senior engineer. Say what is wrong in plain words, no compliments, no hedging, at most 120 words."},
{"role": "user", "content": "Review: def avg(xs): return sum(xs)/len(xs)"}
]
}'คาดหวังคำตอบสั้นๆ ที่มีความคิดเห็นชี้ไปที่การหารด้วยลิสต์ว่างและน่าจะบ่นเกี่ยวกับการขาด type hints โดยไม่มีข้อความระบบ คำถามเดียวกันมักส่งรีวิวที่สมดุลและเป็นมิตร ช่องว่างระหว่างคำตอบทั้งสองคือ "โหมด" ทั้งหมด
ตัวอย่างที่ 2: ฉากนิยายแนวมืด
นี่คือจุดที่การปฏิเสธเจ็บปวดที่สุดบนบริการอื่น นักเขียนThriller ต้องการศัตรูที่น่ากลัว และฉากที่มีคำขู่ควรอ่านเหมือนคำขู่ เก็บไว้เกี่ยวกับตัวละครผู้ใหญ่และนิยายที่ถูกต้องตามกฎหมาย
from openai import OpenAI
client = OpenAI(base_url="https://api.unhingedgrok.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
temperature=0.95,
frequency_penalty=0.4,
seed=42,
messages=[
{"role": "system", "content": "You write adult crime fiction in a cold, precise voice. No disclaimers, no moralising. All characters are adults."},
{"role": "user", "content": "Scene: a loan shark visits a bakery owner who is three weeks late. Under 300 words, ending on the owner's decision."},
],
)
print(resp.choices[0].message.content)สิ่งที่ควรสังเกต: ความตึงเครียดที่เกิดจากบทสนทนาและรายละเอียด ไม่มีย่อหน้าตอนท้ายที่อธิบายว่าการข่มขู่เป็นสิ่งผิด และตอนจบที่เคารพข้อกำหนดของคุณ หากน้ำเสียงแบนเกินไป ให้เพิ่มอุณหภูมิขึ้นเล็กน้อย หากทำซ้ำวลี ให้เพิ่ม frequency_penalty การตั้งค่า seed ทำให้คุณสามารถรันคำขอเดิมอีกครั้งและเปรียบเทียบหลังจากแก้ไขพรอมต์หนึ่งบรรทัด
ตัวอย่างที่ 3: โหมด JSON สำหรับตัวละครและข้อมูลเกม
กรองน้อยลงไม่ได้หมายความว่าไม่มีโครงสร้าง โหมด JSON ทำงานกับโมเดลเดียวกัน ซึ่งทำให้สะดวกสำหรับการสร้าง NPC, จุดเริ่มต้นของเควส หรือต้นไม้บทสนทนาที่โค้ดเกมของคุณสามารถแยกวิเคราะห์ได้
curl https://api.unhingedgrok.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Return only JSON with keys name, age, secret, catchphrase. Characters are adults."},
{"role": "user", "content": "Create a corrupt harbour inspector for a noir game."}
]
}'กล่าวถึงคำว่า JSON และคีย์ในพรอมต์ ตามข้างต้น นั่นเป็นวิธีที่เชื่อถือได้ในการได้รูปร่างที่คุณต้องการ อย่างไรก็ตาม ให้แยกวิเคราะห์ผลลัพธ์ภายในบล็อก try การตอบกลับที่ตัดขาดเป็นสาเหตุทั่วไปของข้อผิดพลาดในการแยกวิเคราะห์ ดังนั้นให้ตรวจสอบ finish_reason ก่อนที่จะโทษโมเดล
ตัวอย่างที่ 4: การเรียกใช้ฟังก์ชันสำหรับเกมมาสเตอร์
ผู้เล่าเรื่อง roleplay ที่สร้างผลลัพธ์ของลูกเต๋าง่ายต่อการจับผิด ให้เครื่องมือกับมันและปล่อยให้โค้ดของคุณโยน การเรียกใช้เครื่องมือปฏิบัติตามรูปแบบ OpenAI: tools, tool_choice, และผลลัพธ์ที่ส่งกลับเป็นข้อความที่มี role tool
import json, random
from openai import OpenAI
client = OpenAI(base_url="https://api.unhingedgrok.com/v1", api_key="YOUR_KEY")
tools = [{
"type": "function",
"function": {
"name": "roll_dice",
"description": "Roll a die with the given number of sides",
"parameters": {
"type": "object",
"properties": {"sides": {"type": "integer"}},
"required": ["sides"],
},
},
}]
messages = [
{"role": "system", "content": "You are a ruthless game master. Use roll_dice for any risky action and narrate the result."},
{"role": "user", "content": "I try to pick the lock on the warlord's strongbox."},
]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]
sides = json.loads(call.function.arguments)["sides"]
messages.append(first.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": str(random.randint(1, sides))})
final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)ในการผลิต ตรวจสอบว่า tool_calls มีอยู่ก่อนการทำดัชนี โมเดลอาจตัดสินใจว่าการงัดกุญแจไม่จำเป็นต้องมีการโยน โดยเฉพาะที่อุณหภูมิต่ำ
ตัวอย่างที่ 5: สตรีมมิงการตอบกลับในขณะที่กำลังเขียน
แอปแชทจะรู้สึกดีขึ้นเมื่อข้อความปรากฏทีละคำ ตั้งค่า stream เป็น true และอ่านบล็อกของ SSE ข้อมูลการใช้งานจะมาถึงในตอนท้าย
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.unhingedgrok.com/v1",
apiKey: process.env.API_KEY,
});
const stream = await client.chat.completions.create({
model: "uncensored",
stream: true,
messages: [
{ role: "system", content: "You are a deadpan late-night host. Two paragraphs, dry humour." },
{ role: "user", content: "Roast my plan to rewrite the whole app over a weekend." },
],
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}คำขอแบบสตรีมมิงจะครอบครองช่องความพร้อมกันไว้จนกว่าการสตรีมจะสิ้นสุดลง หากใช้คีย์ทดลองที่มีขีดจำกัด 2 คำขอพร้อมกัน การเปิดสตรีม 2 ช่องจะทำให้การเรียกครั้งถัดไปส่งสถานะ 429 พร้อมรหัส concurrency ให้ปิดสตรีมที่คุณไม่ได้ติดตามอ่านแล้ว
ปรับน้ำเสียงหลังจากที่พื้นฐานทำงานได้แล้ว
หลังจากการรันครั้งแรก ส่วนใหญ่แล้วความพยายามจะมุ่งไปที่การปรับแต่งเล็กน้อย คำขอชุดเดิมสามารถปรับไปในทิศทางที่แตกต่างกันมากโดยไม่จำเป็นต้องเปลี่ยนโมเดลหรือเอนด์พอยต์
ทดสอบ A/B บนระบบพรอมต์
ส่งข้อความผู้ใช้หนึ่งข้อความสองครั้งด้วย seed เดียวกัน ครั้งหนึ่งโดยไม่ใช้ข้อความระบบ และครั้งหนึ่งด้วยบุคลิกของคุณ เนื่องจาก seed ถูกกำหนดไว้ ความแตกต่างระหว่างการตอบกลับทั้งสองมาจากข้อความระบบ ไม่ใช่จากความน่าจะเป็นในการสุ่มทำเช่นนี้ก่อนเขียนพรอมต์ยาว และอีกครั้งหลังจากแก้ไขแต่ละครั้ง หากประโยคในพรอมต์ของคุณไม่เปลี่ยนผลลัพธ์ ให้ลบออกและบันทึกโทเคนอินพุต
อธิบายทัศนคติ ไม่ใช่แค่ป้ายกำกับ
คำว่า "unhinged" บอกโมเดลได้น้อยมาก ประโยคเช่น "คุณตอบคำถามก่อน แล้วเพิ่มข้อสังเกตที่จริงใจและห้วนๆ สักหนึ่งข้อ" จะให้โมเดลมีสิ่งที่ต้องดำเนินการได้ชัดเจน หลักเดียวกันนี้ใช้กับอารมณ์ขัน: ระบุเป้าหมาย (แผนงาน โค้ด หรือสถานการณ์) เพื่อให้มุกตลกพุ่งเข้าใส่สิ่งนั้น ไม่ใช่ผู้ใช้
รักษาโหมดเรียบง่ายไว้คู่กับโหมดหลวมๆ
แอปพลิเคชันส่วนใหญ่ต้องการทั้งสองโหมด ฟังก์ชันแชทอาจต้องการน้ำเสียงที่ไร้ซึ่งความเกรงใจ ในขณะที่ส่วนที่เขียนสรุปคำสั่งหรือข้อความข้อผิดพลาดต้องการน้ำเสียงที่เป็นกลาง ให้เก็บระบบพรอมต์สองแบบไว้ในโค้ดของคุณและเลือกใช้งานตามคำขอแต่ละครั้ง โมเดล ID และเอนด์พอยต์ยังคงเดิม ดังนั้นการสลับจึงไม่มีต้นทุนเพิ่ม
ระวังความยาว
บุคลิกแบบหลวมๆ จะพูดพร่ำเพรื่อ กำหนดช่วงคำในพรอมต์ เช่น "ไม่เกิน 150 คำ" และคุณจะเห็นการตอบกลับที่สั้นกระชับและขนาด output ที่เล็กลง output tokens มีค่าใช้จ่ายมากกว่า input tokens ที่ $0.50 ต่อ 1M เทียบกับ $0.15 ดังนั้นการตัดการตอบกลับคือการประหยัดที่ประหยัดที่สุด
รันตัวอย่างด้วยต้นทุนต่ำ และสิ่งที่อยู่นอกขอบเขต
แต่ละตัวอย่างมีขนาดเล็ก สมมติว่าการรันหนึ่งครั้งส่ง 400 input tokens และได้รับ 600 กลับ Input มีค่าใช้จ่าย 400 x $0.15 / 1,000,000 = $0.00006, output มีค่าใช้จ่าย 600 x $0.50 / 1,000,000 = $0.0003 ดังนั้นการรันมีค่าใช้จ่าย $0.00036 เครดิตทดลองใช้ฟรี $0.50 ครอบคลุมการรันดังกล่าวได้มากกว่าหนึ่งพันครั้ง แม้ว่าจะมีหน้าต่าง 7 วันและขีดจำกัดการใช้งานพร้อมกัน 2 คำขอ เป็นข้อจำกัดที่แท้จริง รายละเอียดเต็มๆ อยู่ใน หน้าราคา
เพื่อเริ่มต้น สร้างคีย์ของคุณ และทำตาม quickstart สำหรับการตั้งค่าไคลเอนต์ การชำระเงินสำหรับการเติมเงินจำนวนมากขึ้นใช้เฉพาะคริปโต คือ USDT บน TRC20 หรือ USDC บน Base
มีขอบเขตสองประการที่ใช้กับทุกตัวอย่าง โมเดลเป็นแบบข้อความเท่านั้น ดังนั้นจึงไม่มีรูปภาพ เสียง หรือ embedding และเนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ไม่อนุญาตเด็ดขาด สิ่งอื่นๆ ทั้งหมดในที่นี้เกี่ยวกับนวนิยายสำหรับผู้ใหญ่และการใช้งานที่ถูกต้องตามกฎหมาย ซึ่งเป็นจุดที่โมเดลแบบไม่มีการปฏิเสธ (model without refusals) จะแสดงคุณค่าของมัน
คู่มือเพิ่มเติม
ถาม-ตอบ
นี่คือโหมด unhinged ของ Grok ใช่หรือไม่?
ไม่ Grok เป็นผลิตภัณฑ์ของ xAI นี่คือ API อิสระที่ให้บริการโมเดลแบบเปิดน้ำหนักหนึ่งตัว คุณสามารถสร้างสไตล์นี้ขึ้นมาได้โดยใช้ระบบพรอมต์
ฉันจะได้รับผลลัพธ์เหมือนกับตัวอย่างของคุณหรือไม่?
การรันสองครั้งไม่เหมือนกันเว้นแต่คุณปรับ seed ให้ตรงกัน นำแต่ละตัวอย่างไปใช้เพื่อรันโมเดล แล้วประเมินผลลัพธ์ที่ได้
โมเดลสามารถปฏิเสธคำขอได้หรือไม่?
โมเดลถูกปรับแต่งให้ตอบโดยไม่มีการปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย คำขอที่ล้มเหลวหรือถูกปฏิเสธจะไม่ถูกคิดเงิน
ฉันควรใช้ไคลเอนต์ใดเพื่อทดสอบ?
รองรับ API ที่เข้ากันได้กับ OpenAI: Python SDK หรือ Node SDK ของ OpenAI, curl, SillyTavern หรือ Open WebUI ตั้งค่า base URL, คีย์ API และ model ID uncensored
เพียงกรอกแบบฟอร์มเดียวก็ได้รับคีย์
สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด