บริการที่ใช้พร็อกซี Cloudflare Worker เข้าถึง OpenAI/AzureOpenAI API ซึ่งปัจจุบันรองรับการเข้าถึงแอปพลิเคชัน WeChat ระดับองค์กรและบัญชีสาธารณะ WeChat
มีสามวิธี
快速编辑
ที่มุมขวาบน ดาวน์โหลดไฟล์ packaged js ในการเปิดตัวโปรเจ็กต์นี้ คัดลอกเนื้อหาไปยังตัวแก้ไข และบันทึก设置
สุดท้ายในแถวกลางของตัวเลือกบนหน้า เลือก变量
ทางด้านซ้าย เลื่อนหน้าลงไปที่ KV 命名空间绑定
编辑变量
และคลิกเพื่อเพิ่มการเชื่อมโยงที่สร้างขึ้น ในส่วนที่สอง Namespace ชื่อตัวแปรทางด้านซ้ายจะต้องกรอกเป็น KV
环境变量
ที่ด้านบน และอ่านบทต่อไปนี้เพื่อกำหนดค่าบนอินเทอร์เฟซตามบริการที่คุณต้องการเข้าถึง触发器
ที่สองในแถวกลางของตัวเลือกในหน้าผู้ปฏิบัติงานเพื่อเพิ่มชื่อโดเมนให้กับผู้ปฏิบัติงาน คุณสามารถอ้างถึงการใช้ Cloudflare Workers เพื่อแก้ไขปัญหาความไม่สามารถเข้าถึง API ของ OpenAI และ ChatGPT หมายเหตุ: เมื่อ wrangler
ดำเนินการปรับใช้ มันจะพิมพ์ข้อมูลที่เกี่ยวข้อง เช่น ตัวแปรสภาพแวดล้อมและ KV ID ที่กำหนดค่าใน wrangler.toml
สามารถดูได้จากบันทึกการดำเนินการ Github Actions
kv_namespaces
id
ในไฟล์ wrangler.toml
จะถูกกรอกด้วย id ของเนมสเปซที่สร้างขึ้นสำหรับการเชื่อมโยงSettings
- Secrets and variables
- Actions
ในพื้นที่เก็บข้อมูลโปรเจ็กต์ของคุณเอง[vars]
ในไฟล์เสริม wrangler.toml
ในบทต่อไปนี้ตามบริการที่จะเข้าถึง และกรอกเนื้อหาไฟล์ทั้งหมดDeploy
Action บนหน้า Github Actions ด้วยตนเองเพื่อให้การปรับใช้เสร็จสมบูรณ์ต้องเข้าใจการใช้งานพื้นฐานของ Git และ Node.Js
wranger
เป็นไคลเอนต์บรรทัดคำสั่งอย่างเป็นทางการของ Cloudflare หลังจากเข้าสู่ระบบ npx wrangler login
คุณสามารถปรับใช้ Workers ผ่านทางบรรทัดคำสั่งKV
ผ่านบรรทัดคำสั่ง จากนั้น kv_namespaces
id
ในไฟล์ wrangler.toml
จะถูกกรอกด้วย id ของเนมสเปซที่สร้างขึ้นสำหรับการโยง[vars]
ในไฟล์กำหนดค่า wrangler.toml
ตามบริการที่คุณต้องการเข้าถึงwrangler.toml
เป็น wrangler.prod.toml
และใช้คำสั่ง npm run deploy
เพื่อปรับใช้กับ Workerเมื่อเทียบกับ WeChat ขอแนะนำให้ใช้ Enterprise WeChat มากกว่า ข้อดีคือ: 1. ช่วงที่มองเห็นได้ของแอปพลิเคชัน WeChat ระดับองค์กรได้รับการควบคุมและไม่เปิดอย่างสมบูรณ์เหมือนบัญชีสาธารณะ 2. หลังจากเข้าร่วมองค์กรแล้ว WeChat ส่วนตัวสามารถเข้าสู่แอปพลิเคชันผ่านบริษัทใน WeChat ส่วนตัวได้เท่านั้น ต้องใช้ 2 คลิกในขณะที่เข้าสู่บัญชีการสมัครสมาชิกต้องมีการคลิกมากขึ้น 3. รองรับการแจ้งเตือนหุ่นยนต์กลุ่ม WeChat ขององค์กร
ลงทะเบียนใช้งาน Enterprise WeChat กรอกข้อมูลตามที่คุณต้องการ ไม่ต้องมีการตรวจสอบสิทธิ์
แบ็กเอนด์การจัดการ WeChat ระดับองค์กร-หน้าข้อมูลองค์กร-องค์กรของฉัน ยืนยันรหัสองค์กรของคุณ (corpid)
การจัดการแอปพลิเคชัน - สร้างแอปพลิเคชัน คุณสามารถดู AgentId และ Secret รับข้อความ - ตั้งค่าการรับ API เพื่อสร้างโทเค็นแบบสุ่ม EncodingAESKey และไม่จำเป็นต้องบันทึกในขณะนี้
ผู้ปฏิบัติงานกำหนดค่าตัวแปรสภาพแวดล้อมที่แอปพลิเคชันต้องการ สามารถกำหนดค่าได้ผ่านการทำงานของอินเทอร์เฟซ โปรดดูขั้นตอนที่สามของการปรับใช้อินเทอร์เฟซ Cloudflare ด้านบน สามารถกำหนดค่าได้ผ่านไฟล์กำหนดค่า ดูขั้นตอนที่สามของการปรับใช้ Github Action และขั้นตอนที่สามของการปรับใช้บรรทัดคำสั่งในเครื่อง
ชื่อตัวแปร | คำอธิบายเนื้อหา | หมายเหตุ |
---|---|---|
WEWORK_ID_LIST | รายการรหัสแอปพลิเคชันที่ได้รับอนุญาตให้เข้าถึง โดยคั่นด้วยเครื่องหมายจุลภาค | ID ถูกกำหนดโดยคุณ ขอแนะนำให้ประกอบด้วยตัวอักษรและตัวเลขภายใน 10 หลัก |
WEWORK_${ID__APPID | องค์กร WeChat องค์กร | แทนที่ ${ID} ด้วย ID ที่คุณกำหนดเอง |
WEWORK_${ID__TOKEN | โทเค็นแอปพลิเคชัน | แทนที่ ${ID} ด้วย ID ที่คุณกำหนดเอง |
WEWORK_${ID__AES_KEY | ใช้การเข้ารหัส AESKey แล้ว | แทนที่ ${ID} ด้วย ID ที่คุณกำหนดเอง |
WEWORK_${ID__ADMIN_USER_ID_LIST | รายชื่อผู้ใช้ผู้ดูแลระบบ ทวีคูณคั่นด้วยเครื่องหมายจุลภาค | คุณสามารถปล่อยให้ไม่มีการกำหนดค่าในตอนนี้และกำหนดค่าในภายหลังเมื่อคุณทราบ ID ผู้ใช้ของคุณ |
ตามชื่อโดเมนและ ID ที่กำหนดเอง ให้รับที่อยู่เซิร์ฟเวอร์ (URL) ในขั้นตอนที่ 3 และกำหนดค่าให้อยู่ในรูปแบบ https://${域名}/openai/wework/${ID}
ตัวอย่างเช่น หากชื่อโดเมนคือ xxx.com
และ ID ที่กำหนดเองคือ id123
ที่อยู่เซิร์ฟเวอร์ (URL) จะเป็น https://xxx.com/openai/wework/id123
แม้ว่าจะแนะนำ为保障企业数据安全,需配置备案主体与当前企业主体相同或有关联关系的域名
อย่างไรก็ตาม จากการทดสอบจริงพบว่า Cloudflare เชื่อมโยงชื่อโดเมนของตัวเอง สามารถผ่านการตรวจสอบได้ ฉันไม่แน่ใจว่ามีกฎเฉพาะอะไร
ผู้ใช้สามารถเข้าร่วมบริษัทผ่านทาง My Business-WeChat Plug-in-Invite Follower และสแกนโค้ด QR และเข้าสู่บริษัทเพื่อใช้แอปพลิเคชันบน WeChat ส่วนตัว โปรดทราบว่าคุณสามารถปิดข้อความแอปพลิเคชันได้ในการตั้งค่า Business WeChat - การแจ้งเตือนข้อความใหม่ - รับเฉพาะข้อความใน Business WeChat เท่านั้น ไม่เช่นนั้น คุณจะไม่ได้รับข้อความตอบกลับใน WeChat ส่วนตัวของคุณ
ลงทะเบียนบัญชีสาธารณะ WeChat ซึ่งโดยปกติจะเป็นบัญชีสมัครสมาชิกส่วนบุคคล โดยมีเกณฑ์การตรวจสอบคุณสมบัติต่ำ
แพลตฟอร์มการจัดการบัญชีสาธารณะ - การตั้งค่าและการพัฒนา - หน้าการกำหนดค่าพื้นฐาน ยืนยัน ID นักพัฒนาของคุณ (AppID), สร้างโทเค็น (โทเค็น), การเข้ารหัสข้อความและคีย์ถอดรหัส (EncodingAESKey) (จำเป็นเท่านั้นหากโหมดความปลอดภัยหรือโหมดความเข้ากันได้เปิดอยู่) สิ่งนี้มี ไม่จำเป็นต้องเปิดใช้งานการกำหนดค่าเซิร์ฟเวอร์เมื่อใด
ผู้ปฏิบัติงานกำหนดค่าตัวแปรสภาพแวดล้อมที่จำเป็นสำหรับบัญชีสาธารณะ WeChat สามารถกำหนดค่าได้ผ่านการทำงานของอินเทอร์เฟซ โปรดดูขั้นตอนที่สามของการปรับใช้อินเทอร์เฟซ Cloudflare ด้านบน สามารถกำหนดค่าได้ผ่านไฟล์กำหนดค่า ดูขั้นตอนที่สามของการปรับใช้ Github Action และขั้นตอนที่สามของการปรับใช้บรรทัดคำสั่งในเครื่อง
ชื่อตัวแปร | คำอธิบายเนื้อหา | หมายเหตุ |
---|---|---|
WECHAT_ID_LIST | รายการรหัสบัญชีอย่างเป็นทางการที่ได้รับอนุญาตให้เข้าถึง โดยหลายรายการคั่นด้วยเครื่องหมายจุลภาค | ID ถูกกำหนดโดยคุณ ขอแนะนำให้ประกอบด้วยตัวอักษรและตัวเลขภายใน 10 หลัก |
WECHAT_${ID_APPID | รหัสนักพัฒนา (AppID) ของบัญชีอย่างเป็นทางการ | แทนที่ ${ID} ด้วย ID ที่คุณกำหนดเอง |
WECHAT_${ID__TOKEN | โทเค็นของบัญชีสาธารณะ | แทนที่ ${ID} ด้วย ID ที่คุณกำหนดเอง |
WECHAT_${ID__AES_KEY | คีย์การเข้ารหัสและถอดรหัสข้อความของบัญชีอย่างเป็นทางการ (EncodingAESKey) | แทนที่ ${ID} ด้วย ID ที่คุณกำหนดเอง ซึ่งจำเป็นเมื่อเปิดใช้งานเซฟโหมดหรือโหมดความเข้ากันได้เท่านั้น |
WECHAT_ADMIN_USER_ID_LIST | รายชื่อผู้ใช้ผู้ดูแลระบบ ทวีคูณคั่นด้วยเครื่องหมายจุลภาค | คุณสามารถปล่อยให้ไม่มีการกำหนดค่าในตอนนี้และกำหนดค่าในภายหลังเมื่อคุณทราบ ID ผู้ใช้ของคุณ |
WECHAT_ADMIN_OPENAI_KEY | คีย์ OpenAI ของผู้ใช้ผู้ดูแลระบบ | ไม่บังคับ WECHAT_GUEST_OPENAI_KEY จะถูกใช้เป็นค่าเริ่มต้น โดยมีลำดับความสำคัญสูงกว่าการกำหนดค่า OpenAI |
WECHAT_GUEST_OPENAI_KEY | คีย์ OpenAI ของผู้เยี่ยมชม | ทางเลือก สามารถใช้งานได้ตามต้องการ มีลำดับความสำคัญสูงกว่าการกำหนดค่าของ OpenAI กำหนดค่าด้วยความระมัดระวัง! |
ตามชื่อโดเมนและ ID ที่กำหนดเอง ให้รับที่อยู่เซิร์ฟเวอร์ (URL) ที่กำหนดค่าในขั้นตอนที่สองและกำหนดค่าไว้ รูปแบบคือ https://${域名}/openai/wechat/${ID}
ตัวอย่างเช่น หากชื่อโดเมนคือ xxx.com
และ ID ที่กำหนดเองคือ id123
ที่อยู่เซิร์ฟเวอร์ (URL) จะเป็น https://xxx.com/openai/wechat/id123
โดยทั่วไปวิธีการเข้ารหัสและถอดรหัสข้อความจะเลือกข้อความธรรมดา เปิดใช้งานการกำหนดค่าเซิร์ฟเวอร์ และสามารถใช้ได้หลังจากการตรวจสอบการเข้าถึงสำเร็จ
สามารถละเว้นตัวพิมพ์ได้เมื่อป้อนข้อมูล
คำสั่ง | บทบาทที่มีอยู่ | แสดงให้เห็น |
---|---|---|
/ช่วย | ผู้เยี่ยมชมผู้ใช้ | รับข้อมูลความช่วยเหลือคำสั่ง |
/setOpenAiType | ผู้เยี่ยมชมผู้ใช้ | ตั้งค่าว่าจะใช้ openAi หรือ azureOpenAi ตามค่าเริ่มต้น |
/bindKey | ผู้เยี่ยมชมผู้ใช้ | ผูกคีย์ OpenAI api ในรูปแบบ /bindKey xxx หากคีย์ถูกผูกไว้ มันจะถูกเขียนทับ หลังจากการโยงแล้ว ให้ใช้คำสั่ง /testKey เพื่อทดสอบว่าสามารถใช้งานได้ตามปกติหรือไม่ |
/unbindKey | ผู้ใช้ | เลิกผูกคีย์ OpenAI api |
/bindAzureKey | ผู้เยี่ยมชมผู้ใช้ | ผูกคีย์ AzureOpenAI ในรูปแบบของ /bindAzureKey yourResourceName:yourDeploymentName:yourApiKey หากคีย์ถูกผูกไว้ มันจะถูกเขียนทับ หลังจากการโยงแล้ว ให้ใช้คำสั่ง /testKey เพื่อทดสอบว่าสามารถใช้งานได้ตามปกติหรือไม่ |
/unbindAzureKey | ผู้ใช้ | ยกเลิกการเชื่อมโยงคีย์ AzureOpenAI api |
/testKey | ผู้ใช้ | เรียก OpenAI/AzureOpenAI เพื่อแสดงรายการอินเทอร์เฟซของโมเดล ทดสอบว่าคีย์ API ถูกผูกไว้และพร้อมใช้งานตามปกติหรือไม่ และไม่ใช้การใช้งานใดๆ |
/setChatType | ผู้ใช้ ผู้ทดลองใช้ | สลับโหมดการสนทนา คุณสามารถเลือกระหว่าง 'แชทเดี่ยว' และ 'แชทอนุกรม' และค่าเริ่มต้นคือ 'แชทเดี่ยว' 'แชทเดี่ยว' ประมวลผลเฉพาะอินพุตปัจจุบัน และ 'แชทข้าม' จะนำบันทึกการสนทนาในอดีตมาขอ OpenAI ซึ่งกินการใช้งานมากขึ้น |
/ใหม่แชท | ผู้ใช้ ผู้ทดลองใช้ | ล้างประวัติการแชทก่อนหน้าและเริ่มการแชทใหม่ |
/ลองอีกครั้ง | ผู้ใช้ ผู้ทดลองใช้ | รับคำตอบที่เกี่ยวข้องตาม msgId และคำตอบจะถูกเก็บไว้เพียง 3 นาทีเท่านั้น เวลาเก็บรักษาสามารถกำหนดค่าได้ผ่าน ANSWER_EXPIRES_MINUTES |
- | ผู้ใช้ ผู้ทดลองใช้ | ลองคำตอบที่ล่าช้าครั้งล่าสุดอีกครั้ง |
- - | ผู้ใช้ ผู้ทดลองใช้ | ลองคำตอบที่ล่าช้าครั้งล่าสุดอีกครั้ง |
/bindSessionKey | ผู้เยี่ยมชมผู้ใช้ | หากต้องการผูกเซสชันคีย์ OpenAI คุณสามารถดูส่วนหัวคำขอของ https://api.openai.com/v1/usage บนหน้าการใช้งาน คีย์เซสชันเดิมจะใช้ไม่ได้ทุกครั้งที่คุณเข้าสู่ระบบอีกครั้งและคุณจำเป็นต้องผูก มันอีกครั้ง |
/unbindSessionKey | ผู้ใช้ | เลิกผูกคีย์เซสชัน OpenAI |
/การใช้งาน | ผู้ใช้ | อาจมีความล่าช้าประมาณ 5 นาทีในการรับข้อมูลการใช้งานของเดือนนี้ และคุณต้องผูกคีย์ OpenAI api หรือคีย์เซสชัน |
/ฟรีการใช้งาน | ผู้ใช้ | อาจมีความล่าช้าประมาณ 5 นาทีในการรับข้อมูลการใช้งานฟรี และคุณต้องผูกคีย์เซสชัน OpenAI |
/ระบบ | ผู้ใช้ผู้ดูแลระบบ | ดูข้อมูลการกำหนดค่าระบบปัจจุบันบางส่วน เช่น โมเดล OpenAI ปัจจุบัน ID ผู้ใช้ปัจจุบัน ฯลฯ |
/คำถามที่พบบ่อย | ผู้เยี่ยมชมผู้ใช้ | บางคำถามที่พบบ่อย |
/adminAuth | ผู้เยี่ยมชมผู้ใช้ | ซ่อนคำสั่งและเป็นผู้ดูแลระบบผ่านการตรวจสอบโทเค็น เพื่อหลีกเลี่ยงปัญหาในการกำหนดค่า ID ผู้ใช้ผู้ดูแลระบบสำหรับแต่ละแพลตฟอร์ม ต้องกำหนดค่า ADMIN_AUTH_TOKEN ก่อน |
/testAlarm | ผู้ดูแลระบบ | ซ่อนคำสั่งและทดสอบการส่งข้อความแจ้งเตือน ต้องกำหนดค่า ALARM_URL ก่อน |
/ข้อเสนอแนะ | ผู้เยี่ยมชมผู้ใช้ | ผู้ใช้ส่งข้อเสนอแนะไปยังนักพัฒนา จำเป็นต้องกำหนดค่า FEEDBACK_URL ก่อน |
ชื่อการกำหนดค่า | ค่าเริ่มต้น | แสดงให้เห็น |
---|---|---|
CHAT_MODEL | gpt-3.5-เทอร์โบ | ชื่อรุ่น OpenAI |
OPEN_AI_API_PREFIX | https://api.openai.com/v1 | คำนำหน้า API ทั่วไปของ OpenAI |
แขก_KEY | ตัวเลือกเสริมคือ สามารถใช้คีย์ openai เริ่มต้นของผู้เยี่ยมชมได้ตามต้องการ โดยใช้งานได้ข้ามแพลตฟอร์ม ดังนั้นควรกำหนดค่าอย่างระมัดระวัง! | |
ADMIN_KEY | ไม่บังคับ เป็นคีย์ openai เริ่มต้นของผู้ใช้ผู้ดูแลระบบ ซึ่งใช้ได้ข้ามแพลตฟอร์ม | |
OPEN_AI_USAGE | https://api.openai.com/dashboard/billing/usage | ที่อยู่การใช้งาน OpenAI |
OPEN_AI_FREE_USAGE | https://api.openai.com/dashboard/billing/credit_grants | ที่อยู่การใช้งาน OpenAI ฟรี |
OPEN_AI_API_TIMEOUT_MS | 30000 | หมดเวลาคำขอ OpenAI API เป็นมิลลิวินาที |
OPEN_AI_API_KEY_OCCUPYING_DURATION | 0 | ช่วงเวลาการใช้งานคีย์ OpenAI API มีหน่วยเป็นวินาที ใช้เพื่อจำกัดกระแส และเปิดใช้งานเมื่อค่ามากกว่า 0 การใช้ kv เพื่อใช้การจำกัดกระแสสามารถพูดได้ว่าแทบจะไม่ได้ใช้งานเลย |
OPEN_AI_API_CHAT_EXTRA_PARAMS | พารามิเตอร์ส่วนกลางเพิ่มเติมของแชท OpenAI API, สตริง JSON, พารามิเตอร์ที่ใช้ได้ | |
MIN_CHAT_RESPONSE_TOKEN_NUM | 500 | จำนวนโทเค็นขั้นต่ำที่ OpenAI ตอบกลับ |
MAX_HISTORY_LENGTH | 20 | ความยาวประวัติการแชทสูงสุด |
คำตอบ_EXPIRES_MINUTES | 3 | ระยะเวลาในการบันทึกคำถาม/คำตอบ นาที |
SYSTEM_INIT_MESSAGE | คุณคือ ChatGPT โมเดลภาษาขนาดใหญ่ที่ฝึกฝนโดย OpenAI ตอบให้กระชับที่สุดเท่าที่จะทำได้: 2021-09-01 ปัจจุบันคือ 2023 | ข้อความระบบเริ่มต้นแรกส่งไปยัง OpenAI ซึ่งสามารถใช้เพื่อปรับเปลี่ยนโมเดล |
ยินดีต้อนรับ_ข้อความ | ยินดีต้อนรับ คุณสามารถป้อน /help เพื่อดูคำสั่งที่มีอยู่ในปัจจุบัน | ข้อความต้อนรับเมื่อผู้ใช้ติดตามแอป |
AZURE_API_PREFIX | https://RESOURCENAME.openai.azure.com/openai | Azure OpenAI ผ่านคำนำหน้าคำขอ |
AZURE_CHAT_API_VERSION | 15-03-2023-ตัวอย่าง | เวอร์ชัน API ของอินเทอร์เฟซการแชท |
AZURE_LIST_MODEL_API_VERSION | 01-12-2022 | แสดงรายการเวอร์ชัน API ของอินเทอร์เฟซโมเดล |
AZURE_GUEST_KEY | (ไม่บังคับ) สามารถใช้คีย์ Azure OpenAI เริ่มต้นของผู้เยี่ยมชมได้ตามต้องการ โดยใช้งานได้ข้ามแพลตฟอร์ม ดังนั้นกำหนดค่าอย่างระมัดระวัง! | |
AZURE_ADMIN_KEY | (ไม่บังคับ) คีย์ azure openai เริ่มต้นสำหรับผู้ใช้ผู้ดูแลระบบ ใช้ได้ข้ามแพลตฟอร์ม |
ชื่อการกำหนดค่า | ค่าเริ่มต้น | แสดงให้เห็น |
---|---|---|
DEBUG_MODE | เท็จ | โหมดแก้ไขข้อบกพร่อง จะมีการพิมพ์บันทึกเพิ่มเติม |
ECHO_MODE | เท็จ | โหมด echo ส่งคืนข้อมูลที่ได้รับโดยตรง |
ALARM_URL | URL การแจ้งเตือน ปัจจุบันรองรับโรบอตกลุ่ม WeChat ขององค์กรและที่อยู่ที่กำหนดเอง ที่อยู่ที่กำหนดเองจะ POST { "msg": "xxxx" } ข้อมูล JSON | |
ข้อเสนอแนะ_URL | ขณะนี้ URL ความคิดเห็นของผู้ใช้รองรับโรบอตกลุ่ม WeChat ขององค์กรและที่อยู่ที่กำหนดเองจะเป็นข้อมูล POST { "msg": "xxxx" } | |
ADMIN_AUTH_TOKEN | โทเค็นที่ได้รับการรับรองความถูกต้องในฐานะผู้ดูแลระบบควรมีความยาวและซับซ้อนเพียงพอ และควรกำหนดค่าและบันทึกอย่างระมัดระวัง! |