ตั้งค่าและใช้แชตบอต AI

เชื่อมต่อผู้ให้บริการ AI เปิดบอตหลัก ทดสอบอย่างปลอดภัย และแก้ปัญหาไม่ตอบกลับ

ทำความเข้าใจสามส่วนที่แยกกัน

ผู้ให้บริการ AI ที่ทำงานได้เป็นเพียงส่วนแรกของบอตแชตสด ต้องตั้งค่าทั้งผู้ให้บริการ บอตหลัก และปลายทางคำตอบแยกกัน

ส่วนทำอะไรได้บ้างสิ่งที่ไม่ได้ยืนยัน
ผู้ให้บริการ AIสร้างข้อความด้วย Ollama, API ที่โฮสต์ไว้ หรือบริการอื่นที่รองรับว่ากำลังจับแชตสดอยู่หรือสามารถโพสต์คำตอบได้
แชตบอตหลักตัดสินว่าข้อความสดที่จับได้ใดควรได้รับคำตอบ AIว่าแพลตฟอร์มหรือบัญชีต้นทางอนุญาตให้ส่งกลับ
ปลายทางคำตอบเผยแพร่คำตอบที่สร้างไปยังช่องเอาต์พุตบอต และส่งผ่านแหล่งแชตที่จับข้อมูลอยู่ได้ด้วยว่า bot.html เปิดอยู่ หรือว่ามีการสร้างบัญชีบอตแพลตฟอร์มแยกแล้ว

สำคัญ: ผลสีเขียว เชื่อมต่อแล้ว ผลยืนยันเพียงว่าผู้ให้บริการและโมเดลที่เลือกตอบพรอมป์ต์ทดสอบหนึ่งครั้งแล้ว

1. ตั้งค่าผู้ให้บริการ AI

  1. เปิดการตั้งค่า Social Stream แล้วขยาย แชตบอตและบริการ AI.
  2. เปิด ตั้งค่าผู้ให้บริการ LLM.
  3. เลือกผู้ให้บริการให้ตรงกับบริการที่คุณใช้อยู่จริง
  4. ป้อน endpoint ชื่อโมเดล คีย์ API หรือช่องอื่นที่แสดงสำหรับผู้ให้บริการนั้น
  5. เลือก ทดสอบแชตบอตที่เลือก และยืนยันว่ามีคำตอบข้อความจริงปรากฏใต้ปุ่ม
ส่วน Configure LLM ที่เลือก Ollama กรอก endpoint ในเครื่องและโมเดล และผลทดสอบผู้ให้บริการแสดง Connected
ยืนยันว่าผู้ให้บริการและโมเดลตอบแล้ว ไม่ได้เปิดบอตหลักหรือทดสอบการจับและโพสต์แชตสด
  • Ollama (Native Local API): ใช้เฉพาะกับ Ollama โดย endpoint ในเครื่องที่ใช้ทั่วไปคือ http://localhost:11434.
  • Custom API: ใช้สำหรับเซิร์ฟเวอร์ที่เข้ากันได้กับ OpenAI เช่น llama.cpp, LM Studio, vLLM และบริการลักษณะเดียวกัน
  • ผู้ให้บริการที่โฮสต์ไว้: ป้อนคีย์ API และโมเดลที่ผู้ให้บริการนั้นต้องการ ค่าใช้จ่าย โควตา และชื่อโมเดลของผู้ให้บริการควบคุมจากภายนอก Social Stream Ninja
  • โมเดลในเครื่องที่ทำงานในเบราว์เซอร์: ใช้ตัวเลือก Local Gemma หรือ Local Qwen ที่ตรงกัน และทำตามคำแนะนำเรื่องไฟล์โมเดล

ต้องติดตั้ง Ollama ก่อนหรือไม่? ใช้ หน้าดาวน์โหลด Ollama อย่างเป็นทางการ ดูรายชื่อผู้ให้บริการทั้งหมดได้ที่ การเชื่อมต่อ AI ในคำสั่งและ API.

Ollama keep-alive: 0 นำโมเดลออกจากหน่วยความจำหลังคำขอ ไม่ได้ปิดบอต แต่คำตอบครั้งต่อไปอาจต้องโหลดโมเดลใหม่ทุกครั้ง

ตั้งค่า OpenAI / ChatGPT API

ใช้คีย์ OpenAI API มาตรฐานสำหรับเรียกโมเดล คีย์ OpenAI Admin API ใช้กับ endpoint จัดการองค์กร ไม่ใช่การเรียกโมเดลปกติ คีย์ต้องอยู่ในโปรเจกต์ที่ต้องการคิดค่าบริการ และสิทธิ์ที่มีผลจริงต้องอนุญาตการเรียกโมเดล

  1. สร้างหรือตรวจสอบคีย์ใน หน้าคีย์ API ของ OpenAI Platform ห้ามวางคีย์ลงในข้อความขอความช่วยเหลือหรือรายงานวินิจฉัย
  2. ใน Social Stream ให้เลือก ChatGPT API, วางคีย์ให้ครบ ป้อนโมเดลที่โปรเจกต์นั้นใช้ได้ แล้วเลือก ทดสอบแชตบอตที่เลือก.
  3. หากการทดสอบรายงาน Status: 401, Code: missing_scope, และ Missing scope: model.request, OpenAI ปฏิเสธข้อมูลรับรองเพราะสิทธิ์ที่มีผลจริงไม่รวมการเรียกโมเดล model.request เป็นชื่อสิทธิ์ที่เซิร์ฟเวอร์ระบุ ไม่ใช่การตั้งค่าที่ต้องเพิ่มในพรอมป์ต์หรือชื่อโมเดล
  4. ยืนยันว่าเป็นคีย์ API โปรเจกต์มาตรฐาน เลือกโปรเจกต์ที่ต้องการ และคีย์ไม่มีข้อจำกัดหรือได้รับอนุญาตให้เรียกโมเดลอย่างชัดเจน หากไม่แน่ใจ ให้สร้างคีย์มาตรฐานใหม่ในโปรเจกต์ที่ถูกต้องแล้วแทนที่คีย์ที่บันทึกไว้ใน Social Stream
  5. หากเปิดการแปลอัตโนมัติของเบราว์เซอร์บน OpenAI Platform และปุ่มหรือป้ายกำกับสิทธิ์ทำงานผิดปกติ ให้สลับกลับหน้าภาษาอังกฤษต้นฉบับก่อนตรวจสอบและบันทึกการตั้งค่าคีย์ วิธีนี้ช่วยแก้ได้ในกรณีที่มีผู้รายงานหนึ่งครั้ง แต่ไม่ได้มีเอกสารยืนยันว่าเป็นสาเหตุทั่วไปของข้อผิดพลาด OpenAI 401

เครดิตและสิทธิ์แยกจากกัน: การเติมเครดิต API ไม่ได้ให้สิทธิ์ที่คีย์ขาด เอกสาร OpenAI ระบุว่าข้อมูลรับรองไม่ถูกต้องและสิทธิ์ endpoint เป็นข้อผิดพลาด 401 ส่วนโควตาหมดมักเป็นข้อผิดพลาด 429 ดู คู่มือข้อผิดพลาด API และ เอกสารอ้างอิงการยืนยันตัวตน.

หากยังเกิดข้อผิดพลาด ให้คัดลอกสถานะ รหัส สิทธิ์ที่ขาด และ Request ID ที่ Social Stream แสดง แล้วส่งรายงานวินิจฉัยในแอปไม่นานหลังทำให้เกิดปัญหาซ้ำ รายงานบันทึกเมทาดาทาคำขอที่ปลอดภัยโดยไม่รวมคีย์ API และเนื้อหาพรอมป์ต์ หากข้อมูลรับรองและการตั้งค่าโปรเจกต์ดูถูกต้อง ให้ส่ง Request ID และเวลาเกิดเหตุให้ฝ่ายช่วยเหลือ OpenAI

2. เปิดและตั้งค่าบอตหลัก

เปิด แชตบอต - บอตหลัก (Chat Bot - Primary) แยกจากทั้งการตั้งค่าผู้ให้บริการและอินเทอร์เฟซส่วนตัว chatbot.html อินเทอร์เฟซ

การตั้งค่าการทดสอบครั้งแรกที่เหมาะสมการใช้งานปกติ
เปิดแชตบอต LLM AIบนเปิดไว้ขณะที่ต้องการให้บอตหลักติดตามแชตสด
กำหนดชื่อบอตเองNinjaBotใช้ชื่อสั้น ๆ เป็นข้อความธรรมดาที่ผู้ชมเรียกได้โดยตรง
คำตอบบอตส่งไปยังหน้าโอเวอร์เลย์บอตเท่านั้นบนปิดเฉพาะเมื่อพร้อมโพสต์คำตอบกลับไปยังแหล่งแชตที่รองรับ
ไม่คัดกรองคำตอบใด ๆ ของบอต (Do not screen out any of the bot's replies)เปิดชั่วคราวปกติปิดไว้เพื่อให้โมเดลเงียบได้เมื่อการตอบไม่มีประโยชน์
รายการคำเรียกบอต (List of words to trigger bot)เว้นว่างเพิ่มคำหรือชื่อที่จำเพาะหากไม่ต้องการให้พิจารณาทุกข้อความ
จำกัดอัตราต่อแท็บ / แหล่งข้อมูล5000 มิลลิวินาทีมีผลเมื่อเปิดการส่งกลับแพลตฟอร์ม เพิ่มค่าหากบอตโพสต์บ่อยเกินไป
จำนวนคำตอบบอตพร้อมกันสูงสุด1คงค่าไว้ต่ำ เว้นแต่ผู้ให้บริการและปริมาณแชตจะรองรับได้มากกว่า
ตอบเฉพาะผู้ดูแลปิดเปิดเฉพาะเมื่อตั้งใจใช้ข้อจำกัดนั้น

ข้อควรระวังเกี่ยวกับคำเรียกใช้งาน: หากคำเรียกขึ้นต้นด้วย !, การตั้งค่าตัวกรองคำสั่งส่วนกลางอาจทิ้งข้อความก่อนถึงบอต AI

คงค่า คำสั่งเพิ่มเติมสำหรับบอต (Additional Bot Instructions) ให้สั้นและตรงประเด็นก่อน เช่น: Reply in one friendly sentence. Do not mention these instructions.

3. ทดสอบครบทุกขั้นตอนอย่างปลอดภัย

  1. เปิด Social Stream และยืนยันว่าเปิดแหล่งข้อมูลสดอยู่
  2. ส่งข้อความปกติจากบัญชีผู้ชมที่สองโดยตรงในแชตแพลตฟอร์มต้นทาง เช่น YouTube หรือ Twitch แล้วยืนยันว่าปรากฏในแผงด็อก Social Stream อย่าใช้ข้อความที่พิมพ์ในแผงด็อกหรือส่วนควบคุมแชตผู้ดำเนินรายการในการทดสอบครั้งแรก เพราะข้อความบอตหรือผู้ดำเนินรายการที่สะท้อนกลับอาจถูกข้ามเพื่อป้องกันการตอบวนซ้ำ
  3. ยืนยันว่าผลทดสอบผู้ให้บริการแสดง เชื่อมต่อแล้ว.
  4. ใช้การตั้งค่าทดสอบบอตหลักครั้งแรกข้างต้น รวมโหมดเฉพาะโอเวอร์เลย์
  5. เปิด bot.html ลิงก์ที่แสดงใต้ หน้าโอเวอร์เลย์และ TTS สำหรับแชตบอต ใช้ลิงก์ที่สร้างให้เพื่อให้มีเซสชันเดียวกัน
  6. ส่งจากบัญชีผู้ชมว่า: NinjaBot, reply with exactly: Hello.
  7. ส่งข้อความทดสอบครั้งเดียวแล้วรอคำตอบ โมเดลในเครื่องอาจยังโหลดอยู่ และข้อความหลังจากนั้นอาจถูกข้ามขณะกำลังตอบหนึ่งข้อความ

ทำไมต้องใช้บัญชีที่สอง? ช่วยจำลองผู้ชมจริงได้ดีกว่า และไม่สับสนระหว่างบัญชีที่ใช้ส่งคำตอบกับบัญชีที่ส่งข้อความทดสอบ

หลังทดสอบโอเวอร์เลย์สำเร็จ ให้เปลี่ยน ไม่คัดกรองคำตอบใด ๆ ของบอต (Do not screen out any of the bot's replies) กลับเป็นปิด เลือกคำเรียกและคูลดาวน์ แล้วตัดสินใจว่าจะเปิดการส่งกลับแพลตฟอร์มหรือไม่

4. รู้ว่าเมื่อใดความเงียบเป็นเรื่องปกติ

บอตหลักเลือกตอบตามค่าเริ่มต้น รายการคำเรียกที่ว่างหมายถึงพิจารณาข้อความที่เข้าเกณฑ์ได้ทุกข้อความ ไม่ได้หมายความว่าทุกข้อความต้องได้รับคำตอบ

  • คำทักทายสั้น ๆ เช่น hello อาจถูกข้ามหากโมเดลเห็นว่าการตอบไม่เพิ่มประโยชน์
  • การเรียกชื่อบอตที่ตั้งไว้โดยตรงช่วยให้เจตนาชัดเจนขึ้น
  • คำเรียกใช้งานที่ตั้งไว้ต้องตรงกับข้อความขาเข้า
  • โหมดเฉพาะผู้ดูแลข้ามข้อความที่ไม่ได้ระบุว่าเป็นข้อความผู้ดูแล
  • เมื่อเปิดการส่งกลับแพลตฟอร์ม คูลดาวน์เริ่มต้นคือห้าวินาทีต่อแหล่งข้อมูล ขีดจำกัดพร้อมกันเริ่มต้นคือหนึ่งคำตอบในทุกโหมด
  • ข้อความที่ตรวจว่าเป็นเอาต์พุตบอต ข้อความสะท้อนกลับ ข้อความว่าง หรือคล้ายคำตอบก่อนหน้ามากเกินไปอาจถูกข้าม

5. เลือกปลายทางคำตอบ

โหมดผลลัพธ์ข้อกำหนด
เปิดโหมดเฉพาะโอเวอร์เลย์คำตอบไปยังช่องเอาต์พุตบอต และไม่ส่งกลับเข้าแชตแพลตฟอร์มเปิด bot.html ด้วยเซสชันเดียวกันเพื่อดูหรือฟังคำตอบ TTS ก็ต้องใช้หน้านี้ด้วย
ปิดโหมดเฉพาะโอเวอร์เลย์คำตอบยังไปยังช่องเอาต์พุตบอต และ Social Stream จะพยายามโพสต์ผ่านแหล่งที่จับข้อความต้นทางด้วยโหมดแหล่งข้อมูลต้องรองรับการส่ง บัญชีต้องเข้าสู่ระบบและมีสิทธิ์โพสต์ ต้องไม่ปิดแชตผู้ดำเนินรายการ และต้องเปิดแหล่งข้อมูลทิ้งไว้ bot.html ยังเป็นตัวเลือกเพิ่มเติม เว้นแต่ต้องการโอเวอร์เลย์หรือ TTS

ชื่อบอตกำหนดเองเป็นข้อความนำหน้า ไม่ได้สร้างบัญชีแพลตฟอร์มใหม่ หากไม่ได้ตั้งค่าเส้นทางตามบทบาทบัญชีในแอปแยก คำตอบจะโพสต์ผ่านบัญชีที่แหล่งจับข้อมูลใช้

ผู้ใช้แอปแยกที่ต้องการบัญชี Twitch แยกสามารถทำตาม คู่มือบัญชีบอต Twitch.

6. ล้างและซ่อนคำตอบบอตอัตโนมัติ

ตัวควบคุมเหล่านี้มีผลต่อหน้า Primary Chat Bot bot.html การทำงานเหล่านี้ไม่ล้างโอเวอร์เลย์ข้อความเด่นหลัก

ตัวเลือกความหมายตัวอย่าง
showtimeใช้เวลาแสดงคงที่หนึ่งค่าในหน่วยมิลลิวินาที&showtime=10000 ซ่อนหลัง 10 วินาที
autohideประเมินเวลาแสดงจากจำนวนคำในคำตอบ autotime ก็ใช้ได้เช่นกัน&autohide
mintime / maxtimeตั้งเวลาแสดงขั้นต่ำและสูงสุดแบบอิงความยาว ค่าเริ่มต้นคือ 4,000 และ 30,000 มิลลิวินาที&autohide&mintime=5000&maxtime=20000
hideafterttsแสดงคำตอบไว้จน TTS เล่นจบแล้วจึงซ่อน หากไม่เริ่มเล่น จะใช้เวลาอิงความยาวเป็นทางสำรอง&hideaftertts
hidedelayเพิ่มเวลาหน่วงหลัง TTS จบ ค่าเริ่มต้นคือ 500 มิลลิวินาที&hideaftertts&hidedelay=1000
ttstimeoutหมดเวลาเพื่อความปลอดภัยหาก TTS ทำงานไม่หยุด ค่าเริ่มต้นคือ 120,000 มิลลิวินาที&hideaftertts&ttstimeout=60000

หากเปิดหลายโหมด hideaftertts มีลำดับความสำคัญสูงสุด ตามด้วย autohide, จากนั้น showtime การตั้งค่าโอเวอร์เลย์บอตที่สร้างให้มีตัวเลือกทั่วไปพร้อมใช้

ล้างด้วยตนเอง

  • ในการตั้งค่า Social Stream ให้เลือก ล้างโอเวอร์เลย์บอตตอนนี้.
  • เมื่อเปิด Remote API Control แล้ว ให้เปิด https://io.socialstream.ninja/SESSION_ID/clearBotOverlay.
  • ส่งผ่าน API WebSocket ว่า {"action":"clearBotOverlay"}.

การล้างด้วยตนเองลบคำตอบที่แสดงและคิวแสดงผลโอเวอร์เลย์บอตที่รออยู่ แต่ไม่หยุดเสียงพูดที่กำลังเล่น

รูปแบบกำหนดเอง: CSS กำหนดเองที่ใช้กับลิงก์ปกติที่สร้างให้สำหรับ bot.html ลิงก์จะคงฟีเจอร์เหล่านี้ไว้ ส่วนไฟล์ในเครื่องที่คัดลอกหรือแก้ไข bot.html ต้องอัปเดตไฟล์จึงจะได้รับการแก้ไขหน้าในภายหลัง

แก้ปัญหาโดยเริ่มจากขั้นตอนสุดท้ายที่ทำงานได้

สิ่งที่เห็นส่วนที่น่าจะเกี่ยวข้องสิ่งที่ต้องตรวจสอบ
ทดสอบผู้ให้บริการไม่สำเร็จการตั้งค่าผู้ให้บริการEndpoint, คีย์ API, ชื่อโมเดล, สถานะบริการในเครื่อง, CORS/ไฟร์วอลล์, โควตาผู้ให้บริการ และข้อผิดพลาดที่แสดงใต้ปุ่มทดสอบ
401 missing_scope / model.requestสิทธิ์คีย์ OpenAIใช้คีย์มาตรฐานจากโปรเจกต์ที่ต้องการ ไม่ใช่คีย์ Admin ตรวจว่าอนุญาตการเรียกโมเดล แทนที่คีย์เก่าที่บันทึกไว้ และลองอีกครั้งจากหน้า OpenAI Platform ภาษาอังกฤษต้นฉบับหากการแปลอัตโนมัติทำให้ตัวควบคุมทำงานไม่แน่นอน การเติมเครดิตไม่ได้เพิ่มสิทธิ์นี้
401 invalid_api_key หรือคีย์ API ไม่ถูกต้องข้อมูลรับรอง OpenAIตรวจหาตัวอักษรหรือช่องว่างที่ตกหล่น ยืนยันว่าคีย์ไม่ได้ถูกลบหรือปิดใช้ ตรวจองค์กร/โปรเจกต์ที่ต้องการ และตรวจว่า Social Stream ไม่ได้ใช้คีย์เก่าที่บันทึกไว้
429 ข้อผิดพลาดโควตาหรือการจำกัดอัตราการคิดค่าบริการหรือขีดจำกัดของผู้ให้บริการยืนยันการคิดค่าบริการ API และงบโปรเจกต์แยกจากการสมัคร ChatGPT จากนั้นลดอัตราคำขอหรือรอ หากผู้ให้บริการแจ้งว่าถูกจำกัดอัตราชั่วคราว
เชื่อมต่อแล้ว แต่ข้อความผู้ชมไม่ปรากฏในแผงด็อกการจับแชตสถานะเปิด/ปิด Social Stream หน้าต่างแหล่งข้อมูล การเข้าสู่ระบบแพลตฟอร์ม การตั้งค่าอนุญาต/กรองแหล่งข้อมูล และเปิดแชตสดที่ถูกต้องหรือไม่
ข้อความถึงแผงด็อก แต่ไม่มีคำตอบถึงโอเวอร์เลย์บอตการตัดสินใจของบอตหลักยืนยันว่าข้อความมาจากแชตต้นทางโดยตรง จากนั้นตรวจสวิตช์เปิดบอตหลัก การตรงกับคำเรียกใช้งาน โหมดเฉพาะผู้ดูแล ชื่อบอตกำหนดเอง ขีดจำกัดขณะทำงาน/คูลดาวน์ คำสั่งเพิ่มเติม และโหมดไม่คัดกรองคำตอบชั่วคราว
คำตอบถึงโอเวอร์เลย์ แต่ไม่ถึงแชตแพลตฟอร์มการเลือกเส้นทางส่งกลับโหมดเฉพาะโอเวอร์เลย์ การรองรับเขียนของแพลตฟอร์ม/แหล่งข้อมูล การอนุญาตบัญชี ช่องป้อนแชต การเลือกเส้นทางตามบทบาทบัญชี และการตั้งค่า Disable host chat
คำตอบยังแสดงอยู่หลัง TTS จบระยะเวลาแสดงโอเวอร์เลย์บอตเปิด Hide after TTS การซ่อนตามความยาว หรือเวลาแสดงคงที่ในตัวเลือกโอเวอร์เลย์บอต ใช้ clearBotOverlay สำหรับล้างด้วยตนเองผ่าน API
!bot ไม่ทำอะไรการกรองคำสั่งใช้คำเรียกแบบคำธรรมดา หรืออนุญาตให้คำสั่งนั้นผ่านตัวกรองคำสั่งส่วนกลาง
ประมวลผลเฉพาะการทดสอบครั้งแรกระยะเวลารอคำขอที่กำลังทำงาน เว้นช่วงคูลดาวน์ และจำไว้ว่าค่า keep-alive 0 อาจทำให้ทุกคำขอต้องเริ่มโหลดโมเดลใหม่
ส่วนตัว chatbot.html ว่างอยู่บอตส่วนตัวแยกต่างหากเปิดตัวเลือกแชตบอตส่วนตัวและใช้ลิงก์ที่สร้างให้พร้อมเซสชันเดียวกัน การทดสอบนี้ไม่ได้ทดสอบบอตสดหลัก

หน้าบอต AI อื่น ๆ

บอตหลัก แชตส่วนตัว บอตเซ็นเซอร์ และผู้ช่วยดำเนินรายการ AI เป็นเครื่องมือแยกกัน มีการตั้งค่าและประวัติต่างกัน

ตารางอ้างอิงเปรียบเทียบโอเวอร์เลย์บอตหลัก แชตบอตส่วนตัว บอตเซ็นเซอร์ และผู้ช่วยดำเนินรายการ AI
เลือกหน้าที่ตรงกับงาน บอตส่วนตัวใช้แทนการทดสอบเส้นทางแชตสดของบอตหลักไม่ได้

ดูฟีเจอร์ AI อื่น ๆ ได้ใน คู่มือโหมด AI.