diff --git a/.env.template b/.env.template index f6de6c46c..4a27a4c03 100644 --- a/.env.template +++ b/.env.template @@ -1,4 +1,6 @@ -# proxy +# 运行端口,如果不是 3000 口运行,需要改成其他的。注意:不是改了这个变量就会变成其他端口,而是因为改成其他端口,才用这个变量。 +PORT=3000 +# 代理 # AXIOS_PROXY_HOST=127.0.0.1 # AXIOS_PROXY_PORT=7890 # email diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml new file mode 100644 index 000000000..e8e6e92d2 --- /dev/null +++ b/.github/workflows/image.yml @@ -0,0 +1,62 @@ +name: Build images and copy image to docker +on: + workflow_dispatch: + push: + branches: + - 'main' + tags: + - 'v*.*.*' +jobs: + build-images: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 1 + - name: Install Dependencies + run: | + sudo apt update && sudo apt install -y nodejs npm + - name: Set up QEMU (optional) + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + driver-opts: network=host + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GH_PAT }} + - name: Build and publish image for tag push event only + if: startsWith(github.ref_name , 'v') + env: + DOCKER_REPO_TAGGED: ghcr.io/${{ github.repository_owner }}/fastgpt:${{ github.ref_name }} + run: | + docker buildx build \ + --platform linux/amd64,linux/arm64 \ + --label "org.opencontainers.image.source= https://github.com/ ${{ github.repository_owner }}/FastGPT" \ + --label "org.opencontainers.image.description=fastgpt image" \ + --label "org.opencontainers.image.licenses=MIT" \ + --push \ + -t ${DOCKER_REPO_TAGGED} \ + -f Dockerfile \ + . + push-to-docker-hub: + needs: build-images + runs-on: ubuntu-20.04 + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_NAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + - name: Pull image from GitHub Container Registry + run: docker pull ghcr.io/${{ github.repository_owner }}/fastgpt:${{ github.ref_name }} + - name: Tag image with Docker Hub repository name and version tag + run: docker tag ghcr.io/${{ github.repository_owner }}/fastgpt:${{ github.ref_name }} ${{ secrets.DOCKER_IMAGE_NAME }}:${{ github.ref_name }} + - name: Push image to Docker Hub + run: docker push ${{ secrets.DOCKER_IMAGE_NAME }}:${{ github.ref_name }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index b0fac460e..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Release - -on: - workflow_dispatch: - - push: - branches: - - 'main' - -jobs: - release: - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 1 - - - name: Install Dependencies - run: | - sudo apt update && sudo apt install -y nodejs npm - - # Add support for more platforms with QEMU (optional) - # https://github.com/docker/setup-qemu-action - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - driver-opts: network=host - - - name: Login to gitbub - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GH_PAT }} - - name: build and publish image - env: - # fork friendly ^^ - DOCKER_REPO: ghcr.io/${{ github.repository_owner }}/fastgpt - run: | - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --label "org.opencontainers.image.source=https://github.com/${{ github.repository_owner }}/FastGPT" \ - --label "org.opencontainers.image.description=fastgpt image" \ - --label "org.opencontainers.image.licenses=MIT" \ - --push \ - -t ${DOCKER_REPO}:latest \ - -f Dockerfile \ - . diff --git a/README.md b/README.md index fd60763bb..aaf431fad 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Fast GPT -Fast GPT 允许你使用自己的 openai API KEY 来快速的调用 openai 接口,目前集成了 gpt35 和 embedding. 可构建自己的知识库。 +Fast GPT 允许你使用自己的 openai API KEY 来快速的调用 openai 接口,目前集成了 Gpt35, Gpt4 和 embedding. 可构建自己的知识库。 ## 🛸 在线体验 -🎉 [fastgpt.run](https://fastgpt.run/) (国内版) -🎉 [ai.fastgpt.run](https://ai.fastgpt.run/) (海外版) +🎉 [fastgpt.run](https://fastgpt.run/) +🎉 [ai.fastgpt.run](https://ai.fastgpt.run/) ![Demo](docs/imgs/demo.png?raw=true 'demo') @@ -21,7 +21,8 @@ Fast GPT 允许你使用自己的 openai API KEY 来快速的调用 openai 接 ## 🚀 私有化部署 -- [docker-compose 部署教程](docs/deploy/docker.md) +- [Sealos 部署](https://sealos.io/docs/examples/ai-applications/install-fastgpt-on-desktop) 无需服务器,代理和域名。 +- [docker-compose 部署](docs/deploy/docker.md) - [由社区贡献的宝塔部署和本地运行教程](https://space.bilibili.com/431177525/channel/collectiondetail?sid=1370663) ## :point_right: RoadMap diff --git a/docs/deploy/fastgpt/docker-compose.yml b/docs/deploy/fastgpt/docker-compose.yml index dada8684a..48aa2f164 100644 --- a/docs/deploy/fastgpt/docker-compose.yml +++ b/docs/deploy/fastgpt/docker-compose.yml @@ -36,12 +36,13 @@ services: restart: always container_name: fastgpt environment: # 可选的变量,不需要的话需要去掉 + - PORT=3000 # 运行的端口地址,如果不是 3000,需要修改成实际地址。 # proxy(可选) - AXIOS_PROXY_HOST=127.0.0.1 - AXIOS_PROXY_PORT=7890 # 发送邮箱验证码配置。用的是QQ邮箱。参考 nodeMail 获取MAILE_CODE,自行百度。 - - MY_MAIL=xxxx@qq.com - - MAILE_CODE=xxxx + - MY_MAIL=54545@qq.com + - MAILE_CODE=1234 # 阿里短信服务(邮箱和短信至少二选一) - aliAccessKeyId=xxxx - aliAccessKeySecret=xxxx diff --git a/docs/deploy/fastgpt/pg/init.sql b/docs/deploy/fastgpt/pg/init.sql index ab26eb042..1ea5e9912 100644 --- a/docs/deploy/fastgpt/pg/init.sql +++ b/docs/deploy/fastgpt/pg/init.sql @@ -17,5 +17,5 @@ CREATE TABLE IF NOT EXISTS modelData ( -- CREATE INDEX IF NOT EXISTS modelData_kbId_index ON modelData USING HASH (kb_id); -- CREATE INDEX IF NOT EXISTS idx_model_data_md5_q_a_user_id_kb_id ON modelData (md5(q), md5(a), user_id, kb_id); -- CREATE INDEX IF NOT EXISTS vector_index ON modelData USING ivfflat (vector vector_cosine_ops) WITH (lists = 1000); --- vector 索引,可以到 pg vector 去配置,根据数据量去配置 +-- vector 索引,可以参考 [pg vector](https://github.com/pgvector/pgvector) 去配置,根据数据量去配置 EOSQL diff --git a/docs/dev/README.md b/docs/dev/README.md index 95c4d25ec..775631323 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md @@ -6,42 +6,6 @@ 复制.env.template 文件,生成一个.env.local 环境变量文件夹,修改.env.local 里内容。 -```bash -# proxy(可选) -AXIOS_PROXY_HOST=127.0.0.1 -AXIOS_PROXY_PORT=7890 -# email -MY_MAIL=xxx@qq.com -MAILE_CODE=xxx -# ali ems -aliAccessKeyId=xxx -aliAccessKeySecret=xxx -aliSignName=xxx -aliTemplateCode=SMS_xxx -# token -TOKEN_KEY=xxx -# root key, 最高权限 -ROOT_KEY=xxx -# 是否进行安全校验(1: 开启,0: 关闭) -SENSITIVE_CHECK=1 -# openai -# OPENAI_BASE_URL=https://api.openai.com/v1 -# OPENAI_BASE_URL_AUTH=可选的安全凭证(不需要的时候,记得去掉) -OPENAIKEY=sk-xxx # 对话用的key -OPENAI_TRAINING_KEY=sk-xxx # 训练用的key -GPT4KEY=sk-xxx -# claude -CLAUDE_BASE_URL=calude模型请求地址 -CLAUDE_KEY=CLAUDE_KEY -# db -MONGODB_URI=mongodb://username:password@0.0.0.0:27017/test?authSource=admin -PG_HOST=0.0.0.0 -PG_PORT=8100 -PG_USER=xxx -PG_PASSWORD=xxx -PG_DB_NAME=xxx -``` - ## 运行 ```