GithubHelp home page GithubHelp logo

aurora's Introduction

AURORA

已闭源发布,只用开源的可以绕行

README_EN

免登录只支持未被oai拉黑的ip,建议用accesstoken来请求,或者在项目同目录下加入access_tokens.txt

(带UI)免费的GPT3.5,支持使用access 调用

Web端

访问http://你的服务器ip:8080/web

web使用

注:仅ip属地支持免登录使用ChatGpt可以使用(也可以自定义Baseurl来绕过限制)

Docker部署

Docker部署

您需要安装Docker和Docker Compose。

docker run -d \
  --name aurora \
  -p 8080:8080 \
  ghcr.io/aurora-develop/aurora:latest

更新容器

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR aurora --debug

现闭源发布

Deploy

Docker Compose部署

创建一个新的目录,例如aurora-app,并进入该目录:

mkdir aurora
cd aurora

在此目录中下载库中的docker-compose.yml文件:

docker-compose up -d

Usage

curl --location 'http://你的服务器ip:8080/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "stream": true
   }'

高级设置

默认情况不需要设置,除非你有需求

环境变量


BASE_URL="https://chat.openai.com/backend-api" 代理网关
Authorization=your_authorization  用户认证 key。
TLS_CERT=path_to_your_tls_cert 存储TLS(传输层安全协议)证书的路径。
TLS_KEY=path_to_your_tls_key 存储TLS(传输层安全协议)证书的路径。
PROXY_URL=your_proxy_url 添加代理池来。

鸣谢

感谢各位大佬的pr支持,感谢。

参考项目

https://github.com/xqdoo00o/ChatGPT-to-API

License

MIT License

aurora's People

Contributors

0x676e67 avatar actions-user avatar aurorax-neo avatar bccahy avatar binjie09 avatar hot-chenxiaobai avatar icpd avatar k0baya avatar lanqian528 avatar larchliu avatar learnli avatar lysliu avatar neatlife avatar redshamea avatar ri0day avatar tunmax avatar xiaozhou26 avatar yjmp14 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aurora's Issues

Improving Version Control with .gitattributes File

  • 我已确认目前没有类似 issue
  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,已确定现有版本无法满足需求
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

.gitattributes 文件可以用于定义项目中文件的属性,以优化项目的版本控制。

  1. 定义行尾风格:,.gitattributes 文件可以用于定义行尾风格。你可以设置所有的 .go.html 文件在提交时自动转换为 LF 行尾,而在检出时转换为 CRLF 行尾。

    *.go text eol=lf
    *.html text eol=lf
  2. 定义文件的合并策略:.gitattributes 文件可以用于定义特定文件的合并策略。可以设置所有的 .json 文件使用 merge=ours 策略,这意味着在合并冲突时,总是选择当前分支的版本。

    *.json merge=ours

访问 Web端 http://127.0.0.1:8080/web 404 page not found

curl --location 'http://127.0.0.1:8080/v1/chat/completions' \

--header 'Content-Type: application/json'
--data '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"stream": true
}'
data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"This"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" is"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" a"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" test"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"!"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0125","choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}

data: [DONE]

[root@instance-20221012-2111 ~]# curl --location 'http://127.0.0.1:8080/v1/chat/completions' \

--header 'Content-Type: application/json'
--data '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"stream": true
}'
data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"This"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" is"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" a"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" test"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"!"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0125","choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}

data: [DONE]
使用nextchat也报错{
"error": true,
"message": "Failed to fetch"
}
接口地址写入的http://127.0.0.1:8080/v1/chat/completions
postman 请求http://127.0.0.1:8080/v1/chat/completions 也是404 page not found

报错

root@vm3:~/chatgpt-qq# curl --location 'http://127.0.0.1:8080/v1/chat/completions' --header 'Content-Type: application/json' --data '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"stream": true
}'
{"code":500,"message":"error sending request","param":{},"type":"InitTurnStile_request_error"}

401错误是不是机器的ip不支持运行

{
"code": 401,
"message": "response status code is not 200",
"param": {},
"type": "InitTurnStile_request_error"
}

有另外一台ip可以正常运行,这台KR的就不行,但是在KR的chatgptnext上面填我另外一条的api就可以

部署后打开网址只有提示{"message":"Hello, world!"}

部署后打开网址只有提示{"message":"Hello, world!"},在vps上用curl输出结果如下:

curl --location 'http://127.0.0.1:8080/v1/chat/completions'
--header 'Content-Type: application/json'
--data '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"stream": true
}
data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"This"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" is"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" a"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":" test"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"!"},"index":0,"finish_reason":null}]}

data: {"id":"chatcmpl-QXlha2FBbmROaXhpZUFyZUF3ZXNvbWUK","object":"chat.completion.chunk","created":0,"model":"gpt-3.5-turbo-0125","choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}

data: [DONE]

过一段时间之后就报403错误,重启Docker容器又恢复正常

大佬,发现一个问题;在Docker中使用了ProxyURL,刚启动时可以正常使用,但是过了几个小时没使用(具体时间没有测算过)之后就会报403错误,出现过403后就会一直出403无法使用,这时候再次重启Docker容器又会恢复正常可用状态。返回错误的时间很快,正常要1.5秒,403的时候只要250ms,感觉是不是过一段时间后就没有连接代理了啊。

�f[GIN] 2024/04/05 - 08:40:05 | 200 |  1.528015579s |    192.168.31.5 | POST     "/v1/chat/completions"
�f[GIN] 2024/04/05 - 08:40:08 | 200 |  1.473025831s |    192.168.31.5 | POST     "/v1/chat/completions"
�f[GIN] 2024/04/05 - 12:39:37 | 403 |  238.163146ms |    192.168.31.5 | POST     "/v1/chat/completions"
�f[GIN] 2024/04/05 - 12:39:40 | 403 |  275.352161ms |    192.168.31.5 | POST     "/v1/chat/completions"
�f[GIN] 2024/04/05 - 12:39:49 | 403 |  238.460123ms |    192.168.31.5 | POST     "/v1/chat/completions"

如何流式打印返回的内容

我看是支持stream=ture的。请问如何流式打印返回的内容?请大侠指导。
我使用的python代码是这样的:
import requests
import json
url = "http://127.0.0.1:8080/v1/chat/completions"
headers = {"Content-Type": "application/json"}
data = {
"model": "gpt-3.5-turbo",
"messages": [{
"role": "user",
"content": "Hi"
}],
"stream":True
}
response = requests.post(url, headers=headers, data=json.dumps(data))

为什么提示500错误

如题,昨天晚上还是可以的,今天就总是500了,拼命重试可以刷新出几次可以正常回答。

能否支持https?

查了一下,好像比较容易🥹

import (
  "github.com/gin-gonic/autotls"
  "github.com/gin-gonic/gin"
  "golang.org/x/crypto/acme/autocert"
)

UI界面

UI界面管理账号、指纹等功能

剥离 TlsClient

  1. Tlsclinet 抽出来,方便更换http框架
  2. 一个request context 使用一个 clinet的instance 不要全局用一个

非常棒的应用

之前我一直使用: ChatGPT-to-API

后来这个不能用,目前这个aurora是我用过最好的同类应用,可以直接用api !!!希望再接再厉!

Usage is not correct

I tried the example in the README.

curl --location 'http://127.0.0.1:8080/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "stream": true
   }'

The response is as following:

{"id":"xxxx","object":"chat.completion","created":0,"model":"gpt-3.5-turbo-0125","usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0},"choices":[{"index":0,"message":{"role":"assistant","content":"\"This is a test!\""},"finish_reason":null}]}

The tokens in the "usage" are all zero.

Can you fix it.

Thank for your great work.

目前好像还不支持中文

测试了一下,用中文提问,返回的text是乱码。如果用英文,一切正常。大家是这种情况吗?

unable to check chat requirement

报告佬: 有错误,不知道如何解决


 $docker ps
CONTAINER ID   IMAGE                                  COMMAND      CREATED              STATUS              PORTS                    NAMES
baa2171b690f   ghcr.io/aurora-develop/aurora:latest   "./aurora"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp   naughty_bartik


$curl --location 'http://127.0.0.1:8080/v1/chat/completions' --header 'Content-Type: application/json' --data '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Say this is a test!"}]
   }'
{"error":"unable to check chat requirement"}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.