Closed SokWith closed 5 months ago
为什么代理地址 变成了 Post "1 了?
http 模式 还是 stream 模式 都一样错误
采用
go run main.go
就正确; 使用二进制或者docker就错误
可以描述下你启动的方式
在huggingface上部署,大致dockerfile文件(随意注释的):
FROM eryajf/chatgpt-dingtalk:latest
# 使用 golang:alpine 作为构建阶段的基础镜像
#FROM golang:alpine
# 添加 git,以便之后能从GitHub克隆项目
#RUN apk --no-cache add git
# 从 GitHub 克隆 go-proxy-bingai 项目到 /workspace/app 目录下
#RUN git clone https://github.com/eryajf/chatgpt-dingtalk.git /app
# 设置工作目录为之前克隆的项目目录
#WORKDIR /app
#COPY config.yml ./
#RUN go run main.go
WORKDIR /app
COPY . /app
#ENV GOARCH=amd64
#ENV GOOS=linux
#RUN go build -o chatgpt-dingtalk
EXPOSE 5000
# 容器启动时运行的命令
CMD ["./chatgpt-dingtalk"]
docker拉取下来运行二进制文件,或者git仓库下来编译成二进制文件,都会错误。 但git下来直接 go 运行则正常
这是正确的dockerfile:
FROM golang:alpine
# 添加 git,以便之后能从GitHub克隆项目
RUN apk --no-cache add git
# 从 GitHub 克隆 go-proxy-bingai 项目到 /workspace/app 目录下
RUN git clone https://github.com/eryajf/chatgpt-dingtalk.git /app
# 设置工作目录为之前克隆的项目目录
WORKDIR /app
COPY config.yml ./
RUN go run main.go
RUN go run main.go
go run main.go能用也仅仅限于RUN的构建时,若放在镜像构建完成后用CMD来执行,则错误一样。 看来是容器启动后某些服务没有启动起来或者是被屏蔽了
只是仅在镜像构建时可用,huggingface构建动作有时效性,一定时间后服务器就自己终止构建
把代理做到 http://localhost:8080上也不行
# 应用的日志级别,info or debug
log_level: "info"
# 运行模式,http 或者 stream ,强烈建议你使用stream模式,通过此链接了解:https://open.dingtalk.com/document/isvapp/stream
run_mode: "stream"
# openai api_key,如果你是用的是azure,则该配置项可以留空或者直接忽略
api_key: "sk-xxxx"
# 如果你使用官方的接口地址 https://api.openai.com,则留空即可,如果你想指定请求url的地址,可通过这个参数进行配置,注意需要带上 http 协议,如果你是用的是azure,则该配置项可以留空或者直接忽略
base_url: "http://localhost:8080"
# 指定模型,默认为 gpt-3.5-turbo , 可选参数有:"gpt-4-32k-0613", "gpt-4-32k-0314", "gpt-4-32k", "gpt-4-0613", "gpt-4-0314", "gpt-4-turbo-preview", "gpt-4-vision-preview", "gpt-4", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-0613", "gpt-3.5-turbo-0301", "gpt-3.5-turbo-16k", "gpt-3.5-turbo-16k-0613", "gpt-3.5-turbo",如果使用gpt-4,请确认自己是否有接口调用白名单,如果你是用的是azure,则该配置项可以留空或者直接忽略
model: "gpt-4-32k"
看起来这个运行环境有一定的特殊性,我对这个不是很了解,你可以尝试通过环境变量声明的方式来运行试试
看起来这个运行环境有一定的特殊性,我对这个不是很了解,你可以尝试通过环境变量声明的方式来运行试试
不好意思,自己的错。偷懒克隆了个space,里面有了环境变量BASE_URL,覆盖了配置文件的变量了。
给一个最后的Dockerfile文件,实现集成NewBing做openai的API: base_url = https://localhost:8080
FROM eryajf/chatgpt-dingtalk:latest
WORKDIR /app
COPY config.yml ./
ENV USER ${USER:-node}
ENV USER_ID ${USER_ID:-1000}
RUN apk add curl wget supervisor git py3-flask
RUN curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared && \
chmod +x cloudflared
RUN curl -L https://github.com/SokWith/go-bingai/releases/latest/download/go-proxy-bingai-linux-amd64.tar.gz -o go-proxy-bingai-linux-amd64.tar.gz && \
tar -xvf go-proxy-bingai-linux-amd64.tar.gz && \
chmod +x go-proxy-bingai && \
rm go-proxy-bingai-linux-amd64.tar.gz
RUN mkdir -p /var/run/supervisor /var/log/supervisor
RUN chown "${USER_ID}:${USER_ID}" /var/run/supervisor /var/log/supervisor
RUN chmod 777 /tmp /app
USER $USER
EXPOSE 5000
CMD /usr/bin/supervisord -c supervisor.conf
supervisor.conf:
[supervisord]
logfile=/var/log/supervisor/supervisord.log
logfile_maxbytes=10MB
logfile_backups=10
loglevel=info
pidfile=/var/run/supervisor/supervisord.pid
nodaemon=true
childlogdir=/var/log/supervisor
[inet_http_server]
port=127.0.0.1:9005
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=http://127.0.0.1:9005
[program:flask]
command=flask run --host=0.0.0.0
directory=/app
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
autostart=true
autorestart=true
startsecs=5
stopwaitsecs = 5
killasgroup=true
[program:gpb]
command=/app/go-proxy-bingai
environment=PORT=8080,LOCAL_MODE=true
directory=/app
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
autostart=true
autorestart=true
startsecs=5
stopwaitsecs = 5
killasgroup=true
[program:bdtk]
command=/app/chatgpt-dingtalk
directory=/app
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
autostart=true
autorestart=true
startsecs=5
stopwaitsecs = 5
killasgroup=true
[program:cloudflared]
command=/app/cloudflared tunnel --no-autoupdate run --token %(ENV_CF_TOKEN)s
directory=/app
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
autostart=true
autorestart=true
startsecs=5
stopwaitsecs = 5
killasgroup=true
详细集成方法参见: https://huggingface.co/spaces/Harry-zklcdc/go-proxy-bingai?duplicate=true
问题反馈
重要:提交问题时,请务必带上输出日志,以及个人排查的成果。
请求 OpenAI 失败了
错误信息:Post "1/v1/chat/completions": unsupported protocol scheme ""
用的代理地址: