2.在设置的接口地址填入 http://gpt4copilot.tech
3.在 API Key 中填入 Github Copilot 的 Token
提供两个已经开通了 Github Copilot 账号的 Token ,可以直接使用:
(大佬们如果有开通 Github Copilot 的话,可以使用自己的 Token ,不然我怕上面那两个账号顶不住)
4.支持各种 OpenAI 模型选择,目前默认使用的是 GPT-4 模型
之前也有其他大佬有类似的实现,最近用 golang 写了一个
Github: https://github.com/aaamoon/copilot-gpt4-service
如果大佬们用得上,可以给个 star ~
101
ldyisbest 336 天前
我的评价是🐮🍺!亲测有效
|
102
arloor 336 天前
star 了,感谢分享
|
103
SkywalkerJi 336 天前
这个意思是 copilot chat 实际=openai 的 plus 会员吗?
我直接问 Copilot Chat 他会拒绝回答编程以外的问题,这个办法可以绕过限制的意思? |
104
you222 OP @SkywalkerJi 可以的,github copilot chat 写了很严格 prompt 只能问技术相关的,通过网页调用的话可以自定义 prompt
|
105
arloor 336 天前
2023/12/28 14:14:05 [Recovery] 2023/12/28 - 14:14:05 panic recovered:
POST /v1/chat/completions HTTP/1.1 Host: Accept: text/event-stream Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,zh-TW;q=0.5 Authorization: * Cache-Control: no-cache Connection: keep-alive Content-Length: 384 Content-Type: application/json Origin: http://gpt4copilot.tech Pragma: no-cache Referer: http://gpt4copilot.tech/ User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0 X-Requested-With: XMLHttpRequest runtime error: invalid memory address or nil pointer dereference /usr/local/go/src/runtime/panic.go:261 (0x44b957) /usr/local/go/src/runtime/signal_unix.go:861 (0x44b925) /app/utils/utils.go:49 (0x73e205) /app/utils/utils.go:75 (0x73e75a) /app/main.go:203 (0x740077) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0x7337ca) /app/main.go:32 (0x740292) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0x7389b9) /go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:99 (0x7389a7) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0x737b9d) /go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:241 (0x737b60) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0x736caf) /go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:489 (0x73696b) /go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:445 (0x736624) /usr/local/go/src/net/http/server.go:2938 (0x650e4d) /usr/local/go/src/net/http/server.go:2009 (0x64dd93) /usr/local/go/src/runtime/asm_amd64.s:1650 (0x467460) 辛苦看看,扫了下代码。没看出来哪里报错的 |
106
zjt666666zjt 336 天前
为什么我是 3.5 模型 大佬
|
107
you222 OP @arloor 看起来是我的代码 c.JSON(response.StatusCode, gin.H{"error": err.Error()})这行报错了,但是我的代码跑了两个月没发生过这个报错,老哥你试下重新获取下 Token
|
108
arloor 336 天前
F12 看了下,token 好像被处理了下,不是我填的 ghu_了
curl 'http://xxxxxx:8080/v1/chat/completions' \ -H 'Accept-Language: zh-CN,zh;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,zh-TW;q=0.5' \ -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InplSk1uaTJ6MTk1NWljN2hDQTkyTVpzN0JQUW16NVlsbFl5TjNJUEdfeG8ifQ 。。。。。。。 base64 解码了下: {"alg":"RS256","kid":"zeJMni2z1955ic7hCA92MZs7BPQmz5YllYyN3IPG_xo"} &72#&V&W&旆 W26W'f6V 66V 炢¦V&W&旆 W2 斲 6W'f6V 66V 炶斖 W7 6R#&FVf Vǂ"¦V&W&旆 W 不清楚为啥 |
109
you222 OP @zjt666666zjt 默认就是 4.0 模型,你可以在提问输入框的上面的那一行 icon 那里确认一下有没有选对模型
|
110
you222 OP |
111
you222 OP @arloor curl --location 'http://gpt4copilot.tech/v1/chat/completions' \
--header 'Content-Type: application/json' \ --header 'Authorization: Bearer ghu_xx' \ --data '{ "model": "gpt-4-1106-preview", "messages": [ {"role": "user", "content": "你好"}] }' 你用你的 Token 试下 curl 行不行 |
112
arloor 336 天前
@you222
是用您的项目 docker 部署的 我好像知道了。。http://domain:8080 就有这个问题,http://domain 就没有 不清楚为啥需要 80 端口才行,nextchat 的限制? |
113
194180194 336 天前
github 这个项目有吗
|
114
you222 OP |
115
zjt666666zjt 336 天前
@you222 大佬请问一下部署在本地 4000 端口 接囗地址默认地址夕必須包含 p ( s ):// 怎么写呢
|
116
you222 OP @zjt666666zjt http://localhost:4000
|
117
zjt666666zjt 336 天前
@you222 大佬可以加个微信吗 想请教几个问题
|
118
you222 OP @zjt666666zjt OTE1NTA0Nzk3 base64
|
119
a174871 336 天前
用上了!不过请问这个只有原来的 gpt-4 ,没有后面新出的 1106 和 32k 之类的模型是吗
|
122
you222 OP @a174871 你用的客户端是 Chatbox 还是 ChatGPT-Next-Web ,我看前面说 Chatbox 前后会出现 null ,可能是 Chatbox 处理接口数据有问题,ChatGPT-Next-Web 是正常的
|
123
a174871 336 天前
@you222 #122 感谢回复,确实是 chatbox ;非常奇怪,不管用谁部署的 Next-Web ,都会报
{ "error": true, "message": "Failed to fetch" } |
126
Enter96 336 天前
@xipuxiaoyehua 可以打包成 docker 镜像,部署到 render 和 zeabur 上
|
128
Enter96 336 天前
部署成功,建议 LZ 把镜像打包到 dockerhub ,然后用 zeabur ,render 这些平台跑 docker 镜像,会更稳定。
另外部署到这些平台后还可以把服务地址填到 one api 里(one api 也可以部署到 zeabur) |
130
wanjiawei0755 336 天前 6
感谢楼主的分享,我基于楼主的思路重新写了一个 Cloudflare Worker 的版本,结合了 KV ,不方便部署 Docker 的同学可以试试:
https://github.com/wpv-chan/cf-copilot-service 把请求 body 的部分换成了 Chat 前端原本发送的,这样可以直接在前端换模型,方便一点 |
131
Rorysky 336 天前
思路厉害,为什么 github 没做限制?
|
132
zhaidoudou123 336 天前
@wanjiawei0755 #130
感谢,docker 版本一直跑不通,这个版本就 ok 了 |
133
you222 OP @wanjiawei0755 感谢大佬,我可以把你这个项目贴到我那边 README 吗,方便大家一起使用
|
134
wanjiawei0755 336 天前
@you222 #133 可以的,感谢楼主分享
|
135
arfaWong 336 天前
https://cocopilot.org/dash 这个平台上车的 token 能用吗?
|
136
you222 OP @arfaWong 试试能不能通过 https://cocopilot.org/copilot/token 拿到 token ,如果不行的话,你可以在代码编辑器使用 copilot 时抓一下包,token 以 ghu_开头的
|
138
ysmintor 336 天前
https://api.github.com/copilot_internal/v2/token
看代码 是 get https://api.github.com/copilot_internal/v2/token 由 github token 到 github copilot token , 有人能够给出 https://api.github.com/copilot_internal/v2/token 示例的 token 结果吗?结果可以替换一些字段,需要研究下来改写 |
139
ysmintor 336 天前
|
140
SkywalkerJi 336 天前
@you222 #104
我询问他数据库日期等会提示模型没有联网,只有 2021 年 9 月之前训练数据? |
141
you222 OP @SkywalkerJi GPT-4 是只有 2021.9 的数据的,可以试下 GPT-4-1106-preview ,有 2023 年 4 月前的数据
|
142
Vitta 336 天前
🐮🍺
|
145
Vitta 336 天前
问他什么模型他说他是 gpt3
|
146
you222 OP @Vitta 你直接问它是什么模型有时候不准的,可以通过以下问题判断是不是 GPT-4 模型
鲁迅为什么暴打周树人? GPT-3.5 会一本正经的胡说八道 GPT-4 表示鲁迅和周树人是同一个人 我爸妈结婚时为什么没有邀请我? GPT-3.5 他们当时认为你还太小,所以没有邀请你。 GPT-4 他们结婚时你还没出生。 |
147
qsnow6 336 天前
怕封号,算了,之前用潘多拉已经把 ChatGPT 账号搞封了
|
149
funnyzak 336 天前
用上了。项目已 Star 。
Fork 了项目,发布了镜像。镜像在这: https://hub.docker.com/r/funnyzak/copilot-gpt4-service/tags 快速启动容器: docker run -d \ --name gh-copilot \ --restart always \ -p 8080:8080 \ funnyzak/copilot-gpt4-service:latest 另外 github copilot token ,可以通过安装 github-copilot-cl 命令行工具后,然后运行 github-copilot-cl auth 授权 Copilot 后,通过 cat ~/.copilot-cli-access-token 命令获取,这样不用担心 Token 被盗用风险。 |
150
ysmintor 336 天前
@you222
从结果来看好像在模型是只有 GPT-4 才是真的 4 的版本, 如果选择了 GPT-4 32K ,GPT-4-0314 ,GPT-4-0613 ,GPT-4-1106-preview 等均不能正确返回周树人问题,不知道你那边结果如何。初步认为是通过 copilot api 限制了可选模型,不是 GPT-4 时,包括 GPT-4 32K 会采用大概是默认 GPT3.5 来处理 |
152
ysmintor 336 天前
|
153
wanjiawei0755 336 天前
@ysmintor #150 是的,我也发现了,官方的 API 用 GPT4 的模型都可以正确回答出来。用 NextChat (原 Chat-Next-Web )切换到 gpt-4-1106-preview 会回答知识库到 2023 年 4 月是因为代码里面把知识库时间作为 prompt 了,所以应该除了 gpt-4 以外都是用 3.5 或者别的模型处理的
|
155
Mason2021 335 天前
如果是用 vercel 部署了 nextChat ,接口地址哪里应该怎么填?
🙏 |
156
you222 OP @Mason2021 也是填入 http://gpt4copilot.tech 试试,不过可能 http 跟 https 不兼容导致不能用
|
157
nenseso 335 天前
❯ sudo docker build -t copilot-gpt4-service .
Password: Sorry, try again. Password: [+] Building 172.1s (13/14) docker:rancher-desktop => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 581B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/golang:latest 3.5s => [internal] load metadata for docker.io/library/alpine:latest 3.5s => [auth] library/alpine:pull token for registry-1.docker.io 0.0s => [auth] library/golang:pull token for registry-1.docker.io 0.0s => [builder 1/4] FROM docker.io/library/golang:latest@sha256:672a2286da3ee7a854c3e0a56e0838918d0dbb1c18652992930293312de898a6 0.0s => [stage-1 1/3] FROM docker.io/library/alpine:latest@sha256:51b67269f354137895d43f3b3d810bfacd3945438e94dc5ac55fdac340352f48 0.0s => [internal] load build context 0.0s => => transferring context: 48.47kB 0.0s => CACHED [stage-1 2/3] WORKDIR /app 0.0s => CACHED [builder 2/4] WORKDIR /app 0.0s => [builder 3/4] COPY . . 0.0s => ERROR [builder 4/4] RUN CGO_ENABLED=0 GOOS=linux go build -o myapp . 168.5s ------ > [builder 4/4] RUN CGO_ENABLED=0 GOOS=linux go build -o myapp .: 0.232 go: downloading github.com/gin-gonic/gin v1.7.4 168.5 utils/utils.go:13:3: github.com/gin-gonic/[email protected]: Get "https://goproxy.cn/github.com/gin-gonic/gin/@v/v1.7.4.zip": net/http: TLS handshake timeout ------ Dockerfile:13 -------------------- 11 | 12 | # 构建应用程序 13 | >>> RUN CGO_ENABLED=0 GOOS=linux go build -o myapp . 14 | 15 | # 第二阶段:运行阶段 -------------------- ERROR: failed to solve: process "/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o myapp ." did not complete successfully: exit code: 1 有大佬指点一下吗?我一直卡在这里 |
158
you222 OP @nenseso 帮你问了一下 GPT-4:
从你提供的错误信息来看,问题出在构建 Docker 镜像时,Go 无法从 goproxy.cn 下载 github.com/gin-gonic/gin 这个库。错误信息 net/http: TLS handshake timeout 表示在尝试建立 TLS 握手时超时,这可能是由于网络问题或者代理服务器问题。 以下是一些可能的解决方案: 更换 Go 代理。你可以尝试更换 Go 代理来解决这个问题。例如,你可以在 Dockerfile 中添加如下命令: ENV GOPROXY=https://goproxy.io,direct 或者在运行 docker build 命令之前,设置环境变量 GOPROXY: export GOPROXY=https://goproxy.io,direct sudo docker build -t copilot-gpt4-service . 更换网络环境。如果你的网络环境不稳定,可能会导致 TLS 握手超时。你可以尝试在网络环境更稳定的情况下重新构建 Docker 镜像。 使用 VPN 或代理。如果你的网络环境受到限制,可能无法访问某些资源。你可以尝试使用 VPN 或代理来解决这个问题。 |
161
nenseso 335 天前
@you222
❯ export GOPROXY=https://goproxy.io,direct ❯ go env -w GOPROXY=https://goproxy.io,direct ❯ go env -w GO111MODULE=on ❯ sudo docker build -t copilot-gpt4-service . [+] Building 21.5s (13/13) FINISHED docker:rancher-desktop => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 581B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/alpine:latest 2.8s => [internal] load metadata for docker.io/library/golang:latest 2.9s => [builder 1/4] FROM docker.io/library/golang:latest@sha256:672a2286da3ee7a854c3e0a56e0838918d0dbb1 0.0s => [stage-1 1/3] FROM docker.io/library/alpine:latest@sha256:51b67269f354137895d43f3b3d810bfacd39454 0.0s => [internal] load build context 0.0s => => transferring context: 42.82kB 0.0s => CACHED [stage-1 2/3] WORKDIR /app 0.0s => CACHED [builder 2/4] WORKDIR /app 0.0s => [builder 3/4] COPY . . 0.1s => [builder 4/4] RUN CGO_ENABLED=0 GOOS=linux go build -o myapp . 18.5s => [stage-1 3/3] COPY --from=builder /app/myapp . 0.0s => exporting to image 0.0s => => exporting layers 0.0s => => writing image sha256:9bf73add4942edcf39c4bd992c896073947ef61a87e89384cb31be3b98567666 0.0s => => naming to docker.io/library/copilot-gpt4-service 0.0s 不知道为什么 goproxy.cn 不行,我之前还试了阿里云的也不行 |
162
you222 OP @nenseso 现在看起来用 https://goproxy.io 好像可以了?
|
163
nenseso 334 天前
@you222
❯ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68aab7367876 copilot-gpt4-service "./myapp" 17 minutes ago Up 17 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cool_almeida 运行起来了,我刚刚在接口那里填写 http://127.0.0.1:8080 ,并填写 key 后就能正常访问了,感谢作者 |
164
woldfoll 334 天前 via iPhone
这么多账号是通过 CC 的吗?😊
|
165
glasswm 330 天前 via iPhone
@arloor 老兄这个问题解决了吗?
我遇到类似情况,在家用接口服务器填局域网 ip+8080 端口可以正常使用,在外用公网域名( ddns )+30001 端口(端口转发至 8080 )就 Load failed 了。 |
168
Ethkuil 329 天前
亲测有效,6
|
169
dongyi 328 天前
好用,谢谢
|
170
zZWdkdGNycmbhlma 322 天前
老大 ChatGPT-Next-Web 这个网页怎么不能选 gpt4 作为模型了
|
171
zZWdkdGNycmbhlma 322 天前
@zZWdkdGNycmbhlma 网页上不能选了, 安装本地软件又可以了
|
172
a174871 320 天前
从昨天开始,没有任何返回结果了,看了下这个: http://gpt4copilot.tech 502 错误
|
175
wsan 319 天前 via Android
copilot 账号咋弄啊
|
176
jiang24gdufs 253 天前
补充: 凌晨一点多收到参考被 github ban 的邮件, 不过不影响 docker😀
|
177
glasswm 160 天前
最近 docker 突然不能用了,连 vscode 上 copliot 也不能用了,是被 github ban 了吗?(没收到 github 邮件警告)
|
178
glasswm 160 天前
vscode 上报错如下:
[info] [auth] Invalid copilot token: missing token: 403 [error] [auth] Extension activation failed: "Contact Support. You are currently logged in as XXXXX." |