Служба, основанная на прокси-доступе Cloudflare Worker к API OpenAI/AzureOpenAI, в настоящее время поддерживает доступ к корпоративным приложениям WeChat и общедоступным учетным записям WeChat.
Есть три способа
快速编辑
в правом верхнем углу, скачайте упакованный js-файл в релизе этого проекта, скопируйте содержимое в редактор и сохраните.设置
в среднем ряду параметров на странице, выберите变量
слева, прокрутите страницу вниз до KV 命名空间绑定
,编辑变量
и щелкните, чтобы добавить созданную привязку. во второй части Namespace имя переменной слева должно быть заполнено в KV
环境变量
вверху и прочитайте следующие главы, чтобы настроить их в интерфейсе в соответствии с службой, к которой вы хотите получить доступ.触发器
в среднем ряду параметров на странице Worker, чтобы добавить имя домена в Worker. Вы можете обратиться к использованию Cloudflare Workers для решения проблемы недоступности API OpenAI и ChatGPT. Примечание. Когда wrangler
выполняет развертывание, он печатает соответствующую информацию, такую как переменные среды и идентификатор KV, настроенные в wrangler.toml
. Их можно увидеть в журнале выполнения действий Github.
id
kv_namespaces
в файле wrangler.toml
заполняется идентификатором созданного пространства имен для привязки.Settings
— Secrets and variables
— Actions
в ваш собственный репозиторий проекта.[vars]
в дополнительном файле wrangler.toml
в следующих главах в соответствии с сервисом, к которому осуществляется доступ, и заполните все содержимое файла.Deploy
на странице действий Github, чтобы завершить развертывание.Необходимо понять основы использования Git и Node.Js.
wranger
— официальный клиент командной строки Cloudflare. После входа в систему npx wrangler login
вы можете развертывать Workers через командную строку.KV
можно создать через командную строку, а затем id
kv_namespaces
в файле wrangler.toml
заполняется идентификатором созданного пространства имен для привязки.[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, заполните информацию по своему усмотрению, аутентификация не требуется.
Enterprise WeChat Management Backend-My Enterprise-Информационная страница предприятия Подтвердите свой идентификатор предприятия (корпоративный)
Управление приложениями - создайте приложение, вы сможете просматривать AgentId и Secret, получать сообщения - настройте прием API для случайной генерации Token, EncodingAESKey, и не нужно сохранять его в это время.
Worker настраивает переменные среды, необходимые приложению. Его можно настроить с помощью операций интерфейса, см. третий этап развертывания интерфейса Cloudflare выше. Его можно настроить с помощью файла конфигурации. См. третий шаг развертывания действий Github и третий шаг локального развертывания с помощью командной строки.
имя переменной | Описание контента | Примечание |
---|---|---|
WEWORK_ID_LIST | Список идентификаторов приложений, к которым разрешен доступ, кратные, разделенные запятыми. | Идентификатор настраивается вами. Рекомендуется состоять из букв и цифр длиной до 10 цифр. |
WEWORK_${ID}_APPID | корпоративный WeChat корпоративный | Замените ${ID} своим собственным идентификатором. |
WEWORK_${ID}_TOKEN | Токен приложения | Замените ${ID} своим собственным идентификатором. |
WEWORK_${ID}_AES_KEY | КодировкаAESKey применена | Замените ${ID} своим собственным идентификатором. |
WEWORK_${ID}_ADMIN_USER_ID_LIST | список пользователей-администраторов, кратные через запятую | Вы можете пока оставить его ненастроенным и настроить позже, когда узнаете свой идентификатор пользователя. |
В соответствии с именем домена и настроенным идентификатором получите адрес сервера (URL) на шаге 3 и настройте его. Формат: https://${域名}/openai/wework/${ID}
. Например, если имя домена — xxx.com
, а настроенный идентификатор — id123
, адрес сервера (URL) — https://xxx.com/openai/wework/id123
. Хотя предполагается为保障企业数据安全,需配置备案主体与当前企业主体相同或有关联关系的域名
. Однако фактическое тестирование показало, что Cloudflare связывает собственное доменное имя. также может пройти проверку. Я не уверен, каковы конкретные правила.
Пользователи могут присоединиться к компании через My Business-WeChat Plug-in-Invite Follower, отсканировать QR-код и войти в компанию, чтобы использовать приложения в личном WeChat. Обратите внимание, что вы можете отключить сообщения приложений в настройках Business WeChat — Уведомление о новых сообщениях — Получать сообщения только в Business WeChat, иначе вы не будете получать ответные сообщения в свой личный WeChat.
Зарегистрируйте общедоступную учетную запись WeChat, обычно личную учетную запись по подписке, с низким порогом проверки квалификации.
Платформа управления общедоступными учетными записями — Настройки и разработка — Страница базовой конфигурации. Подтвердите свой идентификатор разработчика (AppID), сгенерируйте токен (Token), ключ шифрования и дешифрования сообщений (EncodingAESKey) (требуется только в том случае, если включен режим безопасности или режим совместимости), это Там нет необходимости включать конфигурацию сервера, когда
Worker настраивает переменные среды, необходимые для общедоступной учетной записи WeChat. Его можно настроить с помощью операций интерфейса, см. третий этап развертывания интерфейса Cloudflare выше. Его можно настроить с помощью файла конфигурации. См. третий шаг развертывания действий Github и третий шаг локального развертывания с помощью командной строки.
имя переменной | Описание контента | Примечание |
---|---|---|
WECHAT_ID_LIST | Список официальных идентификаторов учетных записей, к которым разрешен доступ, несколько идентификаторов, разделенных запятыми. | Идентификатор настраивается вами. Рекомендуется состоять из букв и цифр длиной до 10 цифр. |
WECHAT_${ID}_APPID | Идентификатор разработчика (AppID) официального аккаунта | Замените ${ID} своим собственным идентификатором. |
WECHAT_${ID}_TOKEN | Токен публичного аккаунта | Замените ${ID} своим собственным идентификатором. |
WECHAT_${ID}_AES_KEY | Ключ шифрования и дешифрования сообщений официального аккаунта (EncodingAESKey) | Замените ${ID} своим собственным идентификатором. Это требуется только при включенном безопасном режиме или режиме совместимости. |
WECHAT_ADMIN_USER_ID_LIST | список пользователей-администраторов, кратные через запятую | Вы можете пока оставить его ненастроенным и настроить позже, когда узнаете свой идентификатор пользователя. |
WECHAT_ADMIN_OPENAI_KEY | Ключ OpenAI пользователя-администратора | Необязательно, WECHAT_GUEST_OPENAI_KEY будет использоваться по умолчанию с более высоким приоритетом, чем конфигурация OpenAI. |
WECHAT_GUEST_OPENAI_KEY | Ключ OpenAI посетителя | Необязательно, может использоваться по желанию, имеет более высокий приоритет, чем конфигурация OpenAI, настраивайте с осторожностью! |
На основе имени домена и настроенного идентификатора получите адрес сервера (URL), настроенный на втором этапе, и настройте его. Формат: https://${域名}/openai/wechat/${ID}
. Например, если имя домена — xxx.com
, а индивидуальный идентификатор — id123
, адрес сервера (URL) — https://xxx.com/openai/wechat/id123
Метод шифрования и дешифрования сообщений обычно выбирает простой текст, позволяет настроить сервер и может использоваться после успешной проверки доступа.
Регистр можно игнорировать при вводе
Заказ | Доступные роли | иллюстрировать |
---|---|---|
/помощь | посетитель, пользователь | Получить справочную информацию по команде |
/setOpenAiType | посетитель, пользователь | Укажите, следует ли использовать openAi или azureOpenAi. OpenAi используется по умолчанию. |
/bindKey | посетитель, пользователь | Привяжите ключ API OpenAI в формате /bindKey xxx. Если ключ был привязан, он будет перезаписан. После привязки используйте команду /testKey, чтобы проверить, доступна ли она в обычном режиме. |
/unbindKey | пользователь | Отменить привязку API-ключа OpenAI |
/bindAzureKey | посетитель, пользователь | Привяжите ключ AzureOpenAI в формате /bindAzureKey yourResourceName: yourDeploymentName: yourApiKey. Если ключ был привязан, он будет перезаписан. После привязки используйте команду /testKey, чтобы проверить, доступна ли она в обычном режиме. |
/unbindAzureKey | пользователь | Отменить привязку ключа API AzureOpenAI |
/testKey | пользователь | Вызовите OpenAI/AzureOpenAI, чтобы просмотреть интерфейс модели, проверить, нормально ли привязан и доступен ключ API, и не потребляет ли он какое-либо использование. |
/setChatType | пользователь, эксперт | Переключите режим разговора, вы можете выбрать между «одиночным чатом» и «последовательным чатом», по умолчанию используется «одиночный чат». «Одиночный чат» обрабатывает только текущий ввод, а «кросс-чат» будет отображать исторические записи чата для запроса OpenAI, что требует большего использования. |
/новыйЧат | пользователь, эксперт | Очистить предыдущую историю чата и начать новый чат |
/повторить попытку | пользователь, эксперт | Получите соответствующий ответ на основе msgId, и ответ будет храниться всего 3 минуты. Время хранения настраивается через ANSWER_EXPIRES_MINUTES. |
.. | пользователь, эксперт | Повторить последний отложенный ответ |
. . | пользователь, эксперт | Повторить последний отложенный ответ |
/bindSessionKey | посетитель, пользователь | Чтобы привязать сеансовый ключ OpenAI, вы можете просмотреть заголовок запроса https://api.openai.com/v1/usage на странице использования. Исходный сеансовый ключ станет недействительным каждый раз, когда вы снова входите в систему, и вам необходимо выполнить привязку. это снова. |
/unbindSessionKey | пользователь | Отвязать сеансовый ключ OpenAI |
/использование | пользователь | Для получения информации об использовании за этот месяц может возникнуть задержка около 5 минут, и вам необходимо привязать ключ API OpenAI или ключ сеанса. |
/freeUsage | пользователь | Для получения информации о бесплатном использовании может возникнуть задержка около 5 минут, и вам необходимо привязать сеансовый ключ OpenAI. |
/система | пользователь, администратор | Просмотрите некоторую текущую информацию о конфигурации системы, например текущую модель OpenAI, текущий идентификатор пользователя и т. д. |
/Часто задаваемые вопросы | посетитель, пользователь | некоторые часто задаваемые вопросы |
/adminAuth | посетитель, пользователь | Скрывайте команды и станьте администратором посредством аутентификации по токену, чтобы избежать проблем с настройкой идентификатора пользователя-администратора для каждой платформы. ADMIN_AUTH_TOKEN необходимо сначала настроить. |
/testAlarm | администратор | Скройте команду и проверьте отправку тревожного сообщения. ALARM_URL необходимо сначала настроить |
/обратная связь | посетитель, пользователь | Пользователи отправляют отзывы разработчикам. Сначала необходимо настроить FEEDBACK_URL |
Имя конфигурации | значение по умолчанию | иллюстрировать |
---|---|---|
ЧАТ_МОДЕЛЬ | gpt-3.5-турбо | Название модели OpenAI |
OPEN_AI_API_PREFIX | https://api.openai.com/v1 | Общий префикс API OpenAI |
GUEST_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 | Максимальная длина истории чата |
ANSWER_EXPIRES_MINUTES | 3 | Как долго хранить вопросы/ответы, минут |
СИСТЕМА_INIT_MESSAGE | Вы — ChatGPT, большая языковая модель, обученная OpenAI. Ответьте максимально кратко: 01 сентября 2021 г. | Первое системное сообщение по умолчанию, отправленное в OpenAI, которое можно использовать для настройки модели. |
ДОБРО ПОЖАЛОВАТЬ_MESSAGE | Добро пожаловать, вы можете ввести /help, чтобы просмотреть доступные на данный момент команды. | Приветственное сообщение, когда пользователи подписываются на приложение |
AZURE_API_PREFIX | https://RESOURCENAME.openai.azure.com/openai | Azure OpenAI через префикс запроса |
AZURE_CHAT_API_VERSION | 2023-03-15-превью | Версия API интерфейса чата |
AZURE_LIST_MODEL_API_VERSION | 01.12.2022 | Получение списка версий API интерфейса модели |
AZURE_GUEST_KEY | Необязательно, ключ Azure OpenAI посетителя по умолчанию можно использовать по своему желанию. Он работает на всех платформах, поэтому настройте его тщательно! | |
AZURE_ADMIN_KEY | Необязательный ключ Azure Openai по умолчанию для пользователей с правами администратора, действительный на всех платформах. |
Имя конфигурации | значение по умолчанию | иллюстрировать |
---|---|---|
DEBUG_MODE | ЛОЖЬ | Режим отладки, будет распечатано больше журналов |
ECHO_MODE | ЛОЖЬ | режим эха, напрямую возвращает полученную информацию |
ALARM_URL | URL-адрес оповещения, в настоящее время поддерживает роботов корпоративных групп WeChat и пользовательские адреса. Пользовательские адреса будут отправлять данные POST { "msg": "xxxx" } JSON. | |
FEEDBACK_URL | URL-адрес обратной связи с пользователем в настоящее время поддерживает роботов корпоративных групп WeChat, а пользовательские адреса будут представлять собой данные POST { "msg": "xxxx" } JSON. | |
ADMIN_AUTH_TOKEN | Токен, аутентифицированный как администратор, должен иметь достаточную длину и сложность, его следует тщательно настраивать и сохранять! |