• Docker部署ChatGLM3、One API、FastGPT


    创建并运行chatglm3容器

    docker run --name chatglm3 -p 8000:8000 registry.cn-hangzhou.aliyuncs.com/ryyan/chatglm.cpp:chatglm3-q5_1

    创建并运行one-api容器

    (其中挂载路径 D:\one-api 可以选择你自己喜欢的目录)

    docker run --name oneapi -d -p 3000:3000 -e TZ=Asia/Shanghai -v D:\one-api:/data justsong/one-api

     浏览器登录  http://127.0.0.1:3000/

    默认用户名 root   密码 123456 

    添加渠道

    添加令牌

     复制令牌

    测试一下刚刚创建的渠道

    部署FastGPT

    在你自己喜欢的磁盘上创建fastgpt目录,我是 D:\fastgpt

    创建两个文件  docker-compose.yml  和  config.json

    其中,docker-compose.yml 内容为:

    1. # 非 host 版本, 不使用本机代理
    2. version: '3.3'
    3. services:
    4. pg:
    5. image: ankane/pgvector:v0.5.0 # git
    6. # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0 # 阿里云
    7. container_name: pg
    8. restart: always
    9. ports: # 生产环境建议不要暴露
    10. - 5432:5432
    11. networks:
    12. - fastgpt
    13. environment:
    14. # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
    15. - POSTGRES_USER=username
    16. - POSTGRES_PASSWORD=password
    17. - POSTGRES_DB=postgres
    18. volumes:
    19. - ./pg/data:/var/lib/postgresql/data
    20. mongo:
    21. image: mongo:5.0.18
    22. # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
    23. container_name: mongo
    24. restart: always
    25. ports: # 生产环境建议不要暴露
    26. - 27017:27017
    27. networks:
    28. - fastgpt
    29. environment:
    30. # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
    31. - MONGO_INITDB_ROOT_USERNAME=username
    32. - MONGO_INITDB_ROOT_PASSWORD=password
    33. volumes:
    34. - ./mongo/data:/data/db
    35. fastgpt:
    36. container_name: fastgpt
    37. #image: ghcr.io/labring/fastgpt:latest # git
    38. image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.6.6 # 阿里云
    39. ports:
    40. - 3020:3000 #与One API的默认3000地址冲突,所有修改为3020
    41. networks:
    42. - fastgpt
    43. depends_on:
    44. - mongo
    45. - pg
    46. restart: always
    47. environment:
    48. # root 密码,用户名为: root
    49. - DEFAULT_ROOT_PSW=1234
    50. # 中转地址,如果是用官方号,不需要管
    51. - OPENAI_BASE_URL=http://172.16.xxx.yyy:3000/v1
    52. - CHAT_API_KEY=sk-lBKqDxIOQtVgkPYo7274CbC9632748B6Ac8d515123456789
    53. - DB_MAX_LINK=5 # database max link
    54. - TOKEN_KEY=any
    55. - ROOT_KEY=root_key
    56. - FILE_TOKEN_KEY=filetoken
    57. # mongo 配置,不需要改. 如果连不上,可能需要去掉 ?authSource=admin
    58. - MONGODB_URI=mongodb://username:password@mongo:27017/fastgpt?authSource=admin
    59. # pg配置. 不需要改
    60. - PG_URL=postgresql://username:password@pg:5432/postgres
    61. volumes:
    62. - ./config.json:/app/data/config.json
    63. networks:
    64. fastgpt:

    需要修改的地方是

          - OPENAI_BASE_URL=http://172.16.xxx.yyy:3000/v1
          - CHAT_API_KEY=sk-lBKqDxIOQtVgkPYo7274CbC9632748B6Ac8d515123456789

    改成你的IP,和刚才在 One API 中复制的令牌 

    config.json 的内容为:

    1. {
    2. "systemEnv": {
    3. "openapiPrefix": "fastgpt",
    4. "vectorMaxProcess": 15,
    5. "qaMaxProcess": 15,
    6. "pgHNSWEfSearch": 100
    7. },
    8. "chatModels": [
    9. {
    10. "model": "chatglm3",
    11. "name": "chatglm3",
    12. "inputPrice": 0,
    13. "outputPrice": 0,
    14. "maxContext": 4000,
    15. "maxResponse": 4000,
    16. "quoteMaxToken": 2000,
    17. "maxTemperature": 1.2,
    18. "censor": false,
    19. "vision": false,
    20. "defaultSystemChatPrompt": ""
    21. }
    22. ],
    23. "qaModels": [
    24. {
    25. "model": "gpt-3.5-turbo-16k",
    26. "name": "GPT35-16k",
    27. "maxContext": 16000,
    28. "maxResponse": 16000,
    29. "inputPrice": 0,
    30. "outputPrice": 0
    31. }
    32. ],
    33. "cqModels": [
    34. {
    35. "model": "gpt-3.5-turbo",
    36. "name": "GPT35",
    37. "maxContext": 4000,
    38. "maxResponse": 4000,
    39. "inputPrice": 0,
    40. "outputPrice": 0,
    41. "toolChoice": true,
    42. "functionPrompt": ""
    43. },
    44. {
    45. "model": "gpt-4",
    46. "name": "GPT4-8k",
    47. "maxContext": 8000,
    48. "maxResponse": 8000,
    49. "inputPrice": 0,
    50. "outputPrice": 0,
    51. "toolChoice": true,
    52. "functionPrompt": ""
    53. }
    54. ],
    55. "extractModels": [
    56. {
    57. "model": "gpt-3.5-turbo-1106",
    58. "name": "GPT35-1106",
    59. "maxContext": 16000,
    60. "maxResponse": 4000,
    61. "inputPrice": 0,
    62. "outputPrice": 0,
    63. "toolChoice": true,
    64. "functionPrompt": ""
    65. }
    66. ],
    67. "qgModels": [
    68. {
    69. "model": "gpt-3.5-turbo-1106",
    70. "name": "GPT35-1106",
    71. "maxContext": 1600,
    72. "maxResponse": 4000,
    73. "inputPrice": 0,
    74. "outputPrice": 0
    75. }
    76. ],
    77. "vectorModels": [
    78. {
    79. "model": "text-embedding-ada-002",
    80. "name": "Embedding-2",
    81. "inputPrice": 0,
    82. "outputPrice": 0,
    83. "defaultToken": 700,
    84. "maxToken": 3000,
    85. "weight": 100
    86. }
    87. ],
    88. "reRankModels": [],
    89. "audioSpeechModels": [
    90. {
    91. "model": "tts-1",
    92. "name": "OpenAI TTS1",
    93. "inputPrice": 0,
    94. "outputPrice": 0,
    95. "voices": [
    96. {
    97. "label": "Alloy",
    98. "value": "alloy",
    99. "bufferId": "openai-Alloy"
    100. },
    101. {
    102. "label": "Echo",
    103. "value": "echo",
    104. "bufferId": "openai-Echo"
    105. },
    106. {
    107. "label": "Fable",
    108. "value": "fable",
    109. "bufferId": "openai-Fable"
    110. },
    111. {
    112. "label": "Onyx",
    113. "value": "onyx",
    114. "bufferId": "openai-Onyx"
    115. },
    116. {
    117. "label": "Nova",
    118. "value": "nova",
    119. "bufferId": "openai-Nova"
    120. },
    121. {
    122. "label": "Shimmer",
    123. "value": "shimmer",
    124. "bufferId": "openai-Shimmer"
    125. }
    126. ]
    127. }
    128. ],
    129. "whisperModel": {
    130. "model": "whisper-1",
    131. "name": "Whisper1",
    132. "inputPrice": 0,
    133. "outputPrice": 0
    134. }
    135. }

    保存完之后,在当前目录中打开 Windows PowerShell,我是用 Git Bash Here, 两个都是一样的。

    输入以下两个命令:

    拉取镜像

    docker-compose pull

    运行容器

    docker-compose up -d

    如果需要修改docker-compose.yml,执行 

    docker-compose down 

    docker-compose up -d

    就能重新构建容器了

    运行成功了,可以使用 docker ps 命令检查以下所有容器是否正常启动

    打开浏览器访问  http://127.0.0.1:3020/

     默认用户名 root  密码 1234

    接下来就是玩了:

     

    --------------------------------------------------------添加其他更多模型------------------------------------------------------------------------------------------------------

    前提条件,先安装其他模型,请看文章 docker安装ollama-CSDN博客

    例如,我这里又加上了 llama2 和 gemma:7b,可以直接修改config.json文件

    然后,重启One API容器,

    docker stop oneapi
    docker start oneapi

     登录one api,添加渠道

    登录FastGPT,添加新的应用

     有时候模型很久都没有响应,不知道是不是休眠了,回到one-api页面,点击一下测试,刷新几下浏览器,多点几次,它又醒了,搞不懂。

    或者直接命令行运行模型:

    目前测试发现,gemma:7b 模型速度快,但是没有 ChatGLM3 聪明。

  • 相关阅读:
    Python Parser 因子计算性能简单测试
    学习JavaScript进阶
    SWAT-MODFLOW耦合
    2-分类问题 SVM 核函数
    Python9-基于socket的网络编程
    python-opencv之边缘检测(cv2.Canny)
    小黑跑步碰到了北邮女学霸,全马比我还快20分钟,同时崇拜我校学弟让我倍感羡慕的leetcode之旅:1379. 找出克隆二叉树中的相同节点
    DRF JWT认证(二)
    手把手带你玩转Spark机器学习-使用Spark进行文本处理
    记·CSDN 秋游活动
  • 原文地址:https://blog.csdn.net/qq_39935901/article/details/136665991