ตั้งค่าใน 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 ของคุณรองรับได้มากกว่า |
| ตอบเฉพาะผู้ดูแล | ปิด | เฉพาะเมื่อคุณต้องการ |
เริ่มทดสอบ
- เปิด 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อาจถูกข้าม เรียกชื่อบอตให้ชัดเจน - หากตั้งคำกระตุ้นไว้ ข้อความต้องมีคำนั้น
- โหมดเฉพาะผู้ดูแลจะข้ามคนอื่นทั้งหมด
- ค่าเริ่มต้นตอบทีละข้อความ หากโพสต์กลับเข้าแชต จะรอ 5 วินาทีต่อแหล่งแชตด้วย
- ระบบข้ามข้อความของตัวเอง ข้อความว่าง และข้อความที่เข้ามาใกล้กับคำตอบล่าสุดเกินไป
ซ่อนคำตอบเก่า
ตัวเลือกเหล่านี้มีผลเฉพาะโอเวอร์เลย์บอต (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.