ตั้งค่าใน 6 ขั้นตอน
- ในหน้าตั้งค่า Social Stream ให้เปิด Chat Bots and AI services → Configure LLM Service Provider.
- เลือก AI ของคุณ (ดูด้านล่าง) แล้วกรอกช่องที่แสดงขึ้น
- คลิก ทดสอบแชตบอตที่เลือก ควรมีคำตอบเป็นข้อความจริงใต้ปุ่ม
- เปิด แชตบอต - บอตหลัก (Chat Bot - Primary) แล้วเปิด เปิดแชตบอต LLM AI.
- เปิด คำตอบบอตส่งไปยังหน้าโอเวอร์เลย์บอตเท่านั้น ไว้ก่อน เพื่อไม่ให้คำตอบเข้าแชตจริงระหว่างทดสอบ
- เปิด
bot.htmlใต้ หน้าโอเวอร์เลย์และ TTS สำหรับแชตบอต.
เลือก AI
| ฉันใช้… | เลือกตัวนี้ |
|---|---|
| Ollama บนคอมพิวเตอร์ของฉัน | Ollama (Native Local API) ที่อยู่ปกติคือ http://localhost:11434. |
| LM Studio, llama.cpp, vLLM หรือบริการลักษณะเดียวกัน | Custom API อย่าใช้ตัวเลือกนี้กับ Ollama |
| บริการแบบเสียเงิน เช่น OpenAI หรือ Gemini | บริการนั้น กรอกคีย์ API และโมเดล ผู้ให้บริการเป็นผู้กำหนดราคา ขีดจำกัด และชื่อโมเดล |
| ยังไม่มีบริการ และอยากให้ทำงานในเบราว์เซอร์ | Gemma ในเครื่อง หรือ Qwen ในเครื่อง ทำตามขั้นตอนดาวน์โหลดโมเดล |
ต้องการ Ollama? ดาวน์โหลดจาก หน้าดาวน์โหลด Ollama รายชื่อผู้ให้บริการทั้งหมด: การเชื่อมต่อ AI ในคำสั่งและ API.
ตั้ง keep-alive ของ Ollama เป็น 0 หรือไม่?
การตั้งค่านี้นำโมเดลออกจากหน่วยความจำหลังแต่ละคำขอ บอตยังทำงานได้ แต่ทุกคำตอบอาจช้าขณะโหลดโมเดลใหม่
ทดสอบ
ใช้การตั้งค่าเหล่านี้ใน แชตบอต - บอตหลัก (Chat Bot - Primary) สำหรับการทดสอบครั้งแรก
| การตั้งค่า | ทดสอบครั้งแรก | ภายหลัง |
|---|---|---|
| เปิดแชตบอต LLM AI | บน | เปิดไว้ขณะที่ต้องการให้บอตดูแชต |
| กำหนดชื่อบอตเอง | NinjaBot | ชื่อสั้น ๆ ที่ผู้ชมพิมพ์ได้ง่าย |
| คำตอบบอตส่งไปยังหน้าโอเวอร์เลย์บอตเท่านั้น | บน | ปิดเมื่อพร้อมโพสต์เข้าแชตจริง |
| ไม่คัดกรองคำตอบใด ๆ ของบอต (Do not screen out any of the bot's replies) | บน | ปกติปิดไว้ เพื่อให้บอตข้ามคำตอบที่ไม่จำเป็นได้ |
| รายการคำเรียกบอต (List of words to trigger bot) | เว้นว่าง | เพิ่มคำหากไม่ต้องการให้บอตพิจารณาทุกข้อความ |
| จำกัดอัตราคำตอบต่อแท็บ / แหล่งแชต | 5000 มิลลิวินาที | เพิ่มค่าหากบอตโพสต์บ่อยเกินไป มีผลเฉพาะเมื่อโพสต์เข้าแชต |
| จำนวนคำตอบบอตพร้อมกันสูงสุด | 1 | ตั้งค่าต่ำไว้ เว้นแต่ AI ของคุณรองรับได้มากกว่า |
| ตอบเฉพาะผู้ดูแล | ปิด | เฉพาะเมื่อคุณต้องการ |
| Reply to members only | ปิด | Limit replies and !summary to users marked as members by their source. Other chat stays visible in the Dock and overlays. |
เริ่มทดสอบ
- เปิด Social Stream และเปิดแหล่งแชตสด
- จาก บัญชีที่สอง พิมพ์ข้อความในแชต YouTube หรือ Twitch จริง แล้วตรวจว่าปรากฏใน Dock
- ส่งจากบัญชีนั้นว่า:
NinjaBot, reply with exactly: Hello - ส่งครั้งเดียวแล้วรอ AI ในเครื่องอาจกำลังโหลดอยู่
- คำตอบควรปรากฏบน
bot.htmlหน้า
เมื่อใช้งานได้แล้ว ให้ปิด ไม่คัดกรองคำตอบใด ๆ ของบอต (Do not screen out any of the bot's replies) อีกครั้ง จากนั้นเลือกคำกระตุ้นและการจำกัดอัตรา และตัดสินใจว่าจะโพสต์คำตอบเข้าแชตจริงหรือไม่
คงค่า คำสั่งเพิ่มเติมสำหรับบอต (Additional Bot Instructions) สั้น ๆ ก่อน เช่น: Reply in one friendly sentence. Do not mention these instructions.
!? ตัวกรองคำสั่งของคุณอาจทิ้งข้อความก่อนบอตจะเห็น ให้ใช้คำธรรมดาแทนคำตอบไปที่ใด
| การตั้งค่าเฉพาะโอเวอร์เลย์ | สิ่งที่เกิดขึ้น | สิ่งที่ต้องมี |
|---|---|---|
| บน | คำตอบแสดงบนโอเวอร์เลย์บอตเท่านั้น ไม่มีการโพสต์เข้าแชต | bot.html เปิดในเซสชันเดียวกัน และต้องใช้สำหรับ TTS ด้วย |
| ปิด | คำตอบยังส่งไปยังโอเวอร์เลย์ และ Social Stream จะพยายามโพสต์กลับไปยังแชตต้นทางด้วย | แหล่งแชตที่รองรับการส่งข้อความ ล็อกอินและมีสิทธิ์โพสต์ ยังเปิดอยู่ และไม่ได้ปิดแชตของโฮสต์ bot.html เป็นตัวเลือกเสริม |
ทำไมบอตไม่ตอบ
บอตตั้งใจเลือกตอบ รายการคำกระตุ้นว่างหมายถึงระบบ พิจารณา ทุกข้อความ ไม่ได้หมายความว่าจะตอบทุกข้อความ
- ข้อความสั้น เช่น
helloอาจถูกข้าม เรียกชื่อบอตให้ชัดเจน - หากตั้งคำกระตุ้นไว้ ข้อความต้องมีคำนั้น
- โหมดเฉพาะผู้ดูแลจะข้ามคนอื่นทั้งหมด
- Members-only mode requires a membership marker from the source. If both restrictions are on, the sender must be both a member and a moderator.
- ค่าเริ่มต้นตอบทีละข้อความ หากโพสต์กลับเข้าแชต จะรอ 5 วินาทีต่อแหล่งแชตด้วย
- ระบบข้ามข้อความของตัวเอง ข้อความว่าง และข้อความที่เข้ามาใกล้กับคำตอบล่าสุดเกินไป
Choose where chat replies go
ใน แชตบอต - บอตหลัก (Chat Bot - Primary), เปิดใช้ Reply only to the originating YouTube chat to keep replies in the viewer's stream. If you use separate bot accounts, connect each bot source to the same video as the chat it should answer and select bot ภายใต้ ส่งคำตอบบอตผ่านบทบาทบัญชี SSApp เหล่านี้. If no destination matches the video, the reply is not posted into chat.
เปิดใช้ Mention the viewer in replies to add @name to replies posted into chat. This uses the viewer's handle when available, otherwise their displayed name. Both options are off by default.
ซ่อนคำตอบเก่า
ตัวเลือกเหล่านี้มีผลเฉพาะโอเวอร์เลย์บอต (bot.html) ไม่ใช่โอเวอร์เลย์ข้อความเด่น ตัวเลือกโอเวอร์เลย์ในหน้าตั้งค่าครอบคลุมการใช้งานทั่วไป
| ฉันต้องการ… | เพิ่มต่อท้ายลิงก์ |
|---|---|
| ซ่อนแต่ละคำตอบหลังเวลาที่กำหนด | &showtime=10000 (มิลลิวินาที จึงเท่ากับ 10 วินาที) |
| แสดงคำตอบยาวนานกว่า และคำตอบสั้นสั้นกว่า | &autohide (หรือ &autotime) |
| กำหนดเวลาสั้นสุดและยาวสุดของการซ่อนอัตโนมัติ | &mintime=5000&maxtime=20000 (ค่าเริ่มต้น 4000 และ 30000) |
| ซ่อนเมื่อพูดจบ | &hideaftertts |
| รอสักครู่หลังพูดจบ | &hidedelay=1000 (ค่าเริ่มต้น 500) |
| เลิกรอเสียงที่ค้าง | &ttstimeout=60000 (ค่าเริ่มต้น 120000) |
ใช้มากกว่าหนึ่งตัวหรือไม่? hideaftertts มีลำดับก่อน จากนั้น autohide, จากนั้น showtime หากเสียงไม่เริ่มเลย hideaftertts จะใช้เวลาตามความยาวข้อความแทน
ล้างทันที
คลิก ล้างโอเวอร์เลย์บอตตอนนี้ ในหน้าตั้งค่า ซึ่งจะลบคำตอบบนจอและคำตอบที่รออยู่ แต่ไม่หยุดเสียงที่กำลังพูดแล้ว
ล้างผ่าน API และปรับสไตล์เอง
- เมื่อเปิด Remote API Control ให้เปิด
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - หรือส่ง
{"action":"clearBotOverlay"}ผ่าน API WebSocket
CSS ที่กำหนดเองบน bot.html ปกติยังมีฟีเจอร์เหล่านี้ครบ ส่วนไฟล์ที่คัดลอกหรือแก้ไขในเครื่อง bot.html จะไม่ได้รับการแก้ไขภายหลัง เว้นแต่คุณอัปเดตเอง
แก้ปัญหา
หาขั้นตอนล่าสุดที่ทำงานได้ แล้วตรวจแถวถัดไป
| ปัญหา | ลองวิธีนี้ |
|---|---|
| ปุ่มทดสอบล้มเหลว | อ่านข้อผิดพลาดใต้ปุ่ม ตรวจที่อยู่ คีย์ API ชื่อโมเดล การทำงานของ AI ในเครื่อง ไฟร์วอลล์ และขีดจำกัดของผู้ให้บริการ |
| เชื่อมต่อแล้ว แต่ข้อความผู้ชมไม่อยู่ใน Dock | ระบบไม่ได้จับแชต ตรวจว่า Social Stream เปิดอยู่ หน้าต่างแชตเปิดและล็อกอินแล้ว เปิดแชตสดถูกอัน และตรวจตัวกรองแหล่งแชต |
| ข้อความอยู่ใน Dock แต่ไม่มีคำตอบบนโอเวอร์เลย์ | ส่งจากแชตของแพลตฟอร์มจริง ไม่ใช่ Dock แล้วตรวจว่าบอตเปิดอยู่ คำกระตุ้น โหมดเฉพาะผู้ดูแล ชื่อบอต การจำกัดอัตรา และคำสั่งของคุณ เปิด ไม่คัดกรองคำตอบใด ๆ ของบอต (Do not screen out any of the bot's replies) เพื่อทดสอบ |
| คำตอบแสดงบนโอเวอร์เลย์ แต่ไม่อยู่ในแชต | ปิดโหมดเฉพาะโอเวอร์เลย์ ตรวจว่าแหล่งแชตรองรับการส่ง บัญชีมีสิทธิ์โพสต์ มีช่องพิมพ์แชต บทบาทบัญชี และ ปิดแชตโฮสต์และฟังก์ชันบล็อก. |
!bot ไม่ทำอะไร | ใช้คำธรรมดาเป็นคำกระตุ้น หรืออนุญาตคำสั่งนั้นผ่านตัวกรองคำสั่ง |
| มีคำตอบเฉพาะการทดสอบครั้งแรก | รอคำตอบแรกและช่วงจำกัดอัตรา ค่า keep-alive 0 ทำให้ทุกคำตอบเริ่มช้า |
| คำตอบยังอยู่บนจอหลังพูดจบ | ใช้ ซ่อนหลัง TTS ซ่อนอัตโนมัติ หรือซ่อนตามเวลาที่กำหนด. |
ข้อผิดพลาด OpenAI เช่น 401 หรือ 429 | ดู ข้อผิดพลาดคีย์ OpenAI. |
ส่วนตัว chatbot.html ว่างอยู่ | เปิดตัวเลือกแชตบอตส่วนตัว แล้วใช้ลิงก์ของมันในเซสชันเดียวกัน เป็นบอตแยก จึงไม่ได้ทดสอบบอตหลัก |
ข้อผิดพลาดคีย์ OpenAI
- สร้างคีย์ API โปรเจกต์ทั่วไปที่ หน้าคีย์ OpenAI API ไม่ใช่คีย์ Admin
- ตรวจว่าอยู่ในโปรเจกต์ที่คุณต้องการให้คิดค่าใช้จ่าย และอนุญาตให้ส่งคำขอโมเดล
- ใน Social Stream เลือก ChatGPT API วางคีย์ทั้งหมด ใส่ชื่อโมเดลที่โปรเจกต์ของคุณใช้ได้ แล้วคลิก ทดสอบแชตบอตที่เลือก.
| ข้อผิดพลาด | ความหมาย | ลองวิธีนี้ |
|---|---|---|
401 missing_scope / model.request | คีย์ไม่มีสิทธิ์ส่งคำขอโมเดล model.request เป็นสิทธิ์ของ OpenAI ไม่ใช่ข้อความที่ต้องพิมพ์ใน Social Stream | ตรวจว่าเป็นคีย์ทั่วไปในโปรเจกต์ที่ถูกต้องและอนุญาตคำขอโมเดล หากไม่แน่ใจ ให้สร้างคีย์ใหม่แล้วแทนคีย์ที่บันทึกไว้ |
401 invalid_api_key | คีย์ไม่ถูกต้องหรือไม่มีอยู่แล้ว | ตรวจตัวอักษรที่หายหรือช่องว่างเกิน ตรวจว่าคีย์ไม่ถูกลบ อยู่ในโปรเจกต์ที่ถูกต้อง และ Social Stream ไม่ได้ใช้คีย์เก่าที่บันทึกไว้ |
429 | โควตาหมด หรือส่งคำขอมากเกินไป | ตรวจการเรียกเก็บเงินและงบประมาณ API ซึ่งแยกจากสมาชิก ChatGPT ลดความถี่หรือรอ |
เติมเครดิตไม่สามารถแก้ข้อผิดพลาด 401 ได้ เครดิตกับสิทธิ์เป็นคนละเรื่อง ดูเอกสารของ OpenAI: คู่มือข้อผิดพลาด และ เอกสารอ้างอิงการยืนยันตัวตน.
ยังติดปัญหาอยู่หรือไม่?
- หากเบราว์เซอร์แปลเว็บไซต์ OpenAI อัตโนมัติและการตั้งค่าคีย์ทำงานแปลก ๆ ให้กลับไปหน้าภาษาอังกฤษต้นฉบับ วิธีนี้เคยช่วยผู้ใช้รายหนึ่ง แต่ยังไม่ใช่สาเหตุที่ทราบแน่ชัดของข้อผิดพลาด 401
- คัดลอกสถานะ รหัส สิทธิ์ที่ขาด และ Request ID ที่ Social Stream แสดง จากนั้นส่งรายงานวินิจฉัยในแอปทันทีหลังเกิดปัญหา รายงานไม่รวมคีย์ API และพรอมป์ต์
- หากคีย์และโปรเจกต์ดูถูกต้อง ให้ส่ง Request ID และเวลาที่เกิดปัญหาให้ฝ่ายสนับสนุน OpenAI
หน้าบอต AI อื่น
บอตหลัก แชตส่วนตัว บอตกรองเนื้อหา และผู้ร่วมจัดรายการ AI เป็นเครื่องมือแยกกัน แต่ละตัวมีการตั้งค่าและประวัติของตัวเอง
ดูฟีเจอร์ AI ทั้งหมดใน คู่มือโหมด AI.