OpenAI/AzureOpenAI API에 대한 Cloudflare Worker 프록시 액세스를 기반으로 하는 서비스로, 현재 기업 WeChat 애플리케이션 및 WeChat 공용 계정에 대한 액세스를 지원합니다.
세 가지 방법이 있습니다
快速编辑
이 프로젝트 릴리스에 패키지된 js 파일을 다운로드하고 해당 내용을 편집기에 복사한 후 저장합니다.设置
을 클릭하고 왼쪽에서变量
선택한 다음 페이지를 아래로 스크롤하여 KV 命名空间绑定
으로 이동하고编辑变量
후 클릭하여 생성된 바인딩을 추가합니다. 두 번째 부분 Namespace에서는 왼쪽의 변수 이름을 KV
에 채워야 합니다.环境变量
까지 위로 스크롤하고 다음 장을 읽어 액세스하려는 서비스에 따라 인터페이스에서 환경 변수를 구성하세요.触发器
에 사용자 지정 도메인을 추가하여 작업자에 도메인 이름을 추가합니다. Cloudflare Workers를 사용하여 OpenAI 및 ChatGPT의 API 접근성 문제를 해결할 수 있습니다. 참고: wrangler
배포를 실행하면 wrangler.toml
에 구성된 환경 변수 및 KV ID와 같은 관련 정보가 인쇄됩니다. Github Actions 실행 로그에서 확인할 수 있습니다.
wrangler.toml
파일의 kv_namespaces
id
에 바인딩을 위해 생성된 네임스페이스의 id가 채워집니다.Settings
- Secrets and variables
- 자체 프로젝트 저장소의 Actions
에 다음 비밀을 추가하세요.wrangler.toml
의 [vars]
아래 항목을 읽고 전체 파일 내용을 입력합니다.Deploy
작업을 수동으로 실행하세요.Git 및 Node.Js의 기본 사용법을 이해해야 합니다.
wranger
Cloudflare의 공식 명령줄 클라이언트입니다. npx wrangler login
로그인한 후 명령줄을 통해 작업자를 배포할 수 있습니다.KV
명령줄을 통해 생성할 수 있으며, wrangler.toml
파일의 kv_namespaces
id
에 바인딩을 위해 생성된 네임스페이스의 ID가 채워집니다.wrangler.toml
의 [vars]
아래 항목을 보완하려면 다음 장을 읽으십시오.wrangler.toml
이름을 wrangler.prod.toml
로 바꾸고 npm run deploy
명령을 사용하여 Worker에 배포합니다.WeChat과 비교하여 Enterprise WeChat을 사용하는 것이 더 좋습니다. 장점은 다음과 같습니다. 1. 기업 WeChat 애플리케이션의 가시 범위는 통제되며 공개 계정처럼 완전히 공개되지 않습니다. 2. 기업에 가입한 후 개인 WeChat은 회사를 통해 개인 WeChat에 애플리케이션을 입력할 수 있습니다. 2번의 클릭이 필요하며 구독 계정을 입력하려면 더 많은 클릭이 필요합니다. 3. 기업 WeChat 그룹 로봇 알람을 지원합니다.
Enterprise WeChat에 등록하고 원하는 정보를 입력하세요. 인증이 필요하지 않습니다.
기업위챗관리백엔드-내기업-기업정보페이지 기업ID 확인(corpid)
애플리케이션 관리 - 애플리케이션 생성, AgentId 및 Secret 확인, 메시지 수신 가능 - 토큰, EncodingAESKey를 무작위로 생성하도록 API 수신을 설정하고 지금은 저장할 필요가 없습니다.
작업자는 애플리케이션에 필요한 환경 변수를 구성합니다. 인터페이스 작업을 통해 구성할 수 있습니다. 위의 Cloudflare 인터페이스 배포의 세 번째 단계를 참조하세요. 구성 파일을 통해 구성할 수 있습니다. Github Action 배포의 세 번째 단계와 로컬 명령줄 배포의 세 번째 단계를 참조하세요.
변수 이름 | 콘텐츠 설명 | 주목 |
---|---|---|
WEWORK_ID_LIST | 액세스가 허용된 애플리케이션 ID 목록으로, 여러 개는 쉼표로 구분됩니다. | ID는 사용자가 직접 설정하며, 10자리 이내의 문자와 숫자로 구성하는 것을 권장합니다. |
WEWORK_${ID}_APPID | 기업 위챗 기업 | ${ID}를 사용자 정의 ID로 바꾸세요. |
WEWORK_${ID}_TOKEN | 애플리케이션 토큰 | ${ID}를 사용자 정의 ID로 바꾸세요. |
WEWORK_${ID}_AES_KEY | 인코딩AESKey 적용됨 | ${ID}를 사용자 정의 ID로 바꾸세요. |
WEWORK_${ID}_ADMIN_USER_ID_LIST | 관리자 사용자 목록, 쉼표로 구분된 배수 | 지금은 구성하지 않은 상태로 두고 나중에 사용자 ID를 알게 되면 구성할 수 있습니다. |
도메인 이름과 맞춤 ID에 따라 3단계에서 서버 주소(URL)를 얻어 구성합니다. 형식은 https://${域名}/openai/wework/${ID}
입니다. 예를 들어, 도메인 이름이 xxx.com
이고 맞춤 ID가 id123
이라면 서버 주소(URL)는 https://xxx.com/openai/wework/id123
입니다.为保障企业数据安全,需配置备案主体与当前企业主体相同或有关联关系的域名
제안되었지만, 실제 테스트에서는 Cloudflare가 자체 도메인 이름을 바인딩하는 것으로 나타났습니다. 구체적인 규칙이 무엇인지 잘 모르겠습니다.
사용자는 마이비즈니스-위챗플러그인-팔로워 초대를 통해 회사에 가입한 뒤 QR코드를 스캔해 회사에 입장해 개인 위챗에서 애플리케이션을 사용할 수 있다. 비즈니스 WeChat 설정 - 새 메시지 알림 - 비즈니스 WeChat에서만 메시지 수신에서 애플리케이션 메시지를 끌 수 있습니다. 그렇지 않으면 개인 WeChat에서 응답 메시지를 받을 수 없습니다.
자격 확인 기준이 낮은 WeChat 공개 계정(일반적으로 개인 구독 계정)을 등록하세요.
공용 계정 관리 플랫폼 - 설정 및 개발 - 기본 구성 페이지 개발자 ID(AppID) 확인, 토큰(Token) 생성, 메시지 암호화 및 복호화 키(EncodingAESKey)(보안 모드 또는 호환 모드가 켜져 있는 경우에만 필요)가 있습니다. 다음과 같은 경우 서버 구성을 활성화할 필요가 없습니다.
작업자는 WeChat 공개 계정에 필요한 환경 변수를 구성합니다. 인터페이스 작업을 통해 구성할 수 있습니다. 위의 Cloudflare 인터페이스 배포의 세 번째 단계를 참조하세요. 구성 파일을 통해 구성할 수 있습니다. Github Action 배포의 세 번째 단계와 로컬 명령줄 배포의 세 번째 단계를 참조하세요.
변수 이름 | 콘텐츠 설명 | 주목 |
---|---|---|
WECHAT_ID_LIST | 접근이 허용된 공식 계정 ID 목록입니다. 여러 ID는 쉼표로 구분됩니다. | ID는 사용자가 직접 설정하며, 10자리 이내의 문자와 숫자로 구성하는 것을 권장합니다. |
WECHAT_${ID}_APPID | 공식 계정의 개발자 ID(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를 기반으로 2단계에서 구성한 서버 주소(URL)를 얻어 구성합니다. 형식은 https://${域名}/openai/wechat/${ID}
입니다. 예를 들어 도메인 이름이 xxx.com
이고 맞춤 ID가 id123
인 경우 서버 주소(URL)는 https://xxx.com/openai/wechat/id123
입니다.
메시지 암호화 및 복호화 방법은 일반적으로 일반 텍스트를 선택하고 서버 구성을 활성화하며 성공적인 액세스 확인 후에 사용할 수 있습니다.
입력시 대소문자를 무시할 수 있습니다.
주문하다 | 사용 가능한 역할 | 설명하다 |
---|---|---|
/돕다 | 방문자, 사용자 | 명령 도움말 정보 얻기 |
/setOpenAiType | 방문자, 사용자 | openAi를 사용할지, 기본적으로 OpenAi를 사용할지 설정합니다. |
/바인드키 | 방문자, 사용자 | /bindKey xxx 형식으로 OpenAI API 키를 바인딩합니다. 키가 바인딩된 경우 덮어쓰게 됩니다. 바인딩 후 /testKey 명령어를 이용하여 정상적으로 사용 가능한지 테스트해 보세요. |
/unbind키 | 사용자 | OpenAI API 키 바인딩 해제 |
/bindAzureKey | 방문자, 사용자 | /bindAzureKey yourResourceName:yourDeploymentName:yourApiKey 형식으로 AzureOpenAI 키를 바인딩합니다. 키가 바인딩된 경우 덮어쓰게 됩니다. 바인딩 후 /testKey 명령어를 이용하여 정상적으로 사용 가능한지 테스트해 보세요. |
/unbindAzureKey | 사용자 | AzureOpenAI API 키 바인딩 해제 |
/테스트키 | 사용자 | OpenAI/AzureOpenAI를 호출하여 모델 인터페이스를 나열하고, API 키가 정상적으로 바인딩되어 사용 가능한지, 사용량을 소비하지 않는지 테스트합니다. |
/setChat유형 | 사용자, 평가판 | 대화 모드를 전환하면 '단일 채팅'과 '연속 채팅' 중에서 선택할 수 있으며, 기본값은 '단일 채팅'입니다. '싱글 채팅'은 현재 입력만 처리하고, '교차 채팅'은 과거 채팅 기록을 가져와 OpenAI를 요청하므로 사용량이 더 많이 소모됩니다. |
/new채팅 | 사용자, 평가판 | 이전 채팅 기록을 지우고 새 채팅을 시작하세요 |
/다시 해 보다 | 사용자, 평가판 | msgId를 기준으로 해당 답변을 얻으면 답변은 3분 동안만 유지됩니다. 보존 시간은 ANSWER_EXPIRES_MINUTES를 통해 구성 가능합니다. |
.. | 사용자, 평가판 | 마지막으로 지연된 답변 다시 시도 |
. . | 사용자, 평가판 | 마지막으로 지연된 답변 다시 시도 |
/bindSessionKey | 방문자, 사용자 | OpenAI 세션 키를 바인딩하려면 사용 페이지에서 https://api.openai.com/v1/usage 요청 헤더를 확인하면 다시 로그인할 때마다 원래 세션 키가 무효화되므로 바인딩해야 합니다. 다시. |
/unbindSessionKey | 사용자 | OpenAI 세션 키 바인딩 해제 |
/용법 | 사용자 | 이번 달 사용량 정보를 가져오기까지 약 5분 정도 지연이 있을 수 있으며, OpenAI API 키나 세션 키를 바인딩해야 합니다. |
/무료사용 | 사용자 | 무료 사용 정보를 얻기까지 약 5분 정도 지연이 있을 수 있으며, OpenAI 세션 키를 바인딩해야 합니다. |
/체계 | 사용자,관리자 | 현재 OpenAI 모델, 현재 사용자 ID 등과 같은 일부 현재 시스템 구성 정보를 봅니다. |
/자주 묻는 질문 | 방문자, 사용자 | 몇 가지 자주 묻는 질문 |
/admin인증 | 방문자, 사용자 | 각 플랫폼에 대한 관리자 사용자 ID를 구성하는 수고를 피하기 위해 토큰 인증을 통해 명령을 숨기고 관리자가 됩니다. ADMIN_AUTH_TOKEN을 먼저 구성해야 합니다. |
/테스트알람 | 관리자 | 명령을 숨기고 알람 메시지 전송을 테스트해 보세요. ALARM_URL을 먼저 구성해야 합니다. |
/피드백 | 방문자, 사용자 | 사용자는 개발자에게 피드백을 보냅니다. 먼저 FEEDBACK_URL을 구성해야 합니다. |
구성 이름 | 기본값 | 설명하다 |
---|---|---|
CHAT_MODEL | gpt-3.5-터보 | OpenAI 모델 이름 |
OPEN_AI_API_PREFIX | https://api.openai.com/v1 | OpenAI의 공통 API 접두사 |
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 | 질문/답변을 저장하는 시간, 분 |
SYSTEM_INIT_MESSAGE | 귀하는 OpenAI로 훈련된 대규모 언어 모델인 ChatGPT입니다. 지식 마감: 2021-09-01입니다. | 모델을 조정하는 데 사용할 수 있는 OpenAI로 전송되는 기본 첫 번째 시스템 메시지 |
WELCOME_MESSAGE | 환영합니다. /help를 입력하면 현재 사용 가능한 명령을 볼 수 있습니다. | 사용자가 앱을 팔로우할 때 환영 메시지 |
AZURE_API_PREFIX | https://RESOURCENAME.openai.azure.com/openai | 요청 접두사를 통한 Azure OpenAI |
AZURE_CHAT_API_버전 | 2023-03-15-미리보기 | 채팅 인터페이스 API 버전 |
AZURE_LIST_MODEL_API_VERSION | 2022-12-01 | 모델 인터페이스 API 버전 나열 |
AZURE_GUEST_KEY | 선택 사항으로 방문자의 기본 Azure OpenAI 키를 마음대로 사용할 수 있으며 여러 플랫폼에서 작동하므로 신중하게 구성하세요! | |
AZURE_ADMIN_KEY | 선택 사항, 관리 사용자를 위한 기본 Azure openai 키, 플랫폼 전반에 걸쳐 유효함 |
구성 이름 | 기본값 | 설명하다 |
---|---|---|
DEBUG_MODE | 거짓 | 디버그 모드에서는 더 많은 로그가 인쇄됩니다. |
에코_모드 | 거짓 | 에코 모드는 수신된 정보를 직접 반환합니다. |
ALARM_URL | 알람 URL은 현재 기업 WeChat 그룹 로봇과 사용자 정의 주소를 지원합니다. 사용자 정의 주소는 { "msg": "xxxx" } JSON 데이터를 게시합니다. | |
FEEDBACK_URL | 사용자 피드백 URL은 현재 기업 WeChat 그룹 로봇 및 사용자 정의 주소를 지원합니다. POST { "msg": "xxxx" } JSON 데이터입니다. | |
ADMIN_AUTH_TOKEN | 관리자로 인증된 토큰은 길이가 충분하고 복잡해야 하며 신중하게 구성하고 저장해야 합니다! |