ITPub博客

首页 > 数据库 > 数据库开发技术 > Thor发布v0.2.0

Thor发布v0.2.0

原创 数据库开发技术 作者:token 时间:2024-09-05 00:48:26 0 删除 编辑

更新内容 (v0.2.0)

  • 界面调整 :Lobe Chat UI 的界面经过了调整,改善了某些展示效果,贡献者@DHclly[1] 提出了这个改进。
  • 代码结构优化 :对代码结构进行了优化并修复了一些bug,贡献者同样是@DHclly[2]。
  • 讯飞星火对接修改 :将讯飞星火的对接实现从 WebSocket (wss)改为 HttpClient 形式,贡献者@DHclly[3]。
  • 分布式事件支持 :新增对 RabbitMQ 分布式事件的支持。
  • 请求耗时记录 :新增对单个请求耗时的记录功能。

新贡献者

  • 欢迎@DHclly[4]成为本项目的新贡献者,他们在第19个Pull Request中做出了首次贡献。

完整更新日志

想要查看完整的更新记录可以访问:完整更新日志[5]。



Thor(雷神托尔)

Thor(雷神托尔),一个AI大模型管理网关。



Thor(雷神托尔)

Thor(雷神托尔) 是一款强大的人工智能模型管理工具,其主要目的是为了实现多种AI模型的统一管理和使用。通过Thor(雷神托尔),用户可以轻松地管理和使用众多AI模型,而且Thor(雷神托尔)兼容OpenAI的接口格式,使得使用更加方便。

Thor(雷神托尔)提供了丰富的功能:

  1. 管理功能:支持用户管理,渠道管理以及token管理,简化了管理流程。
  2. 数据统计预览:可以清晰地看到各种数据的统计情况,帮助用户更好地了解使用情况。
  3. 日志查看:支持日志查看,方便用户跟踪和解决问题。
  4. 系统设置:可以根据需要进行各种系统设置。
  5. 外部Chat链接接入:支持接入外部Chat链接,提升交互体验。
  6. 支付宝购买账号余额:提供支付宝购买账号余额的功能,方便用户进行充值。

此外,Thor(雷神托尔)还支持多种AI大模型,包括OpenAI、星火大模型、Claudia、智谱AI、Ollama、通义千问(阿里云)、AzureOpenAI以及腾讯混元大模型,满足了用户对各种AI模型的需求。

Thor(雷神托尔)还支持多种数据库,包括SqlServer、PostgreSql、Sqlite以及MySql,用户可以根据自己的需要选择合适的数据库。

功能实现

  • [x] 支持用户管理
  • [x] 支持渠道管理
  • [x] 支持token管理
  • [x] 提供数据统计预览
  • [x] 支持日志查看
  • [x] 支持系统设置
  • [x] 支持接入外部Chat链接
  • [x] 支持支付宝购买账号余额
  • [x] 支持Rabbit消费日志(默认情况下使用本地事件)

AI大模型支持列表

  • [x] OpenAI (支持function)
  • [x] Kimi(月之暗面)(支持function)
  • [x] 星火大模型(支持function)
  • [x] Claudia (非Stream支持function)
  • [x] 智谱AI (支持function)
  • [x] AzureOpenAI(支持function)
  • [x] Ollama
  • [x] 通义千问(阿里云)
  • [x] 腾讯混元大模型
  • [x] 支持百度大模型(ErnieBot)

支持数据库

  • [x] SqlServer 配置类型[sqlserver,mssql]
  • [x] PostgreSql 配置类型[postgresql,pgsql]
  • [x] Sqlite 配置类型[sqlite,默认]
  • [x] MySql 配置类型[mysql]

修改appsettings.json的ConnectionStrings:DBType配置项即可切换数据库类型。请注意切换数据库不会迁移数据。

简单使用

默认账号密码 admin admin

注意事项

需要注意的是,如果克隆项目后,项目根目录缺少data时,需要手动创建,docker compose up 时,需要挂载本地目录data。

环境变量

  • DBType sqlite | [postgresql,pgsql] | [sqlserver,mssql] | mysql
  • ConnectionString 主数据库连接字符串
  • LoggerConnectionString 日志数据连接字符串
  • CACHE_TYPE 缓存类型 Memory|Redis
  • CACHE_CONNECTION_STRING 缓存连接字符串 如果是Redis则为Redis连接字符串,Memory则为空

使用docker compose启动服务:

version: '3.8'

services:
  ai-dotnet-api-service:
    image: registry.token-ai.cn/thor:latest
    ports:
      - 18080:5045
    container_name: ai-dotnet-api-service
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - DBType=sqlite # sqlite | [postgresql,pgsql] | [sqlserver,mssql] | mysql
      - ConnectionString=data source=/data/token.db
      - LoggerConnectionString=data source=/data/logger.db

使用docker run启动服务

docker run -d -p 18080:5045 --name ai-dotnet-api-service --network=gateway -v $PWD/data:/data -e Theme=lobe -e TZ=Asia/Shanghai -e DBType=sqlite -e ConnectionString="data source=/data/token.db" -e LoggerConnectionString="data source=/data/logger.db" registry.token-ai.cn/thor:latest

Sqlite构建

docker compose版本

项目根目录创建docker-compose.yml文件,内容如下:

version: '3.8'

services:
  ai-dotnet-api-service:
    image: registry.token-ai.cn/thor:latest
    container_name: ai-dotnet-api-service
    ports:
      - 18080:5045
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - DBType=sqlite
      - ConnectionString=data source=/data/token.db
      - LoggerConnectionString=data source=/data/logger.db

执行如下命令打包镜像

sudo docker compose build

执行以下命令启动服务

sudo docker compose up -d

docker run版本

docker run -d -p 18080:5045 --name ai-dotnet-api-service -v $(pwd)/data:/data -e Theme=lobe -e TZ=Asia/Shanghai -e DBType=sqlite -e ConnectionString=data source=/data/token.db -e LoggerConnectionString=data source=/data/logger.db registry.token-ai.cn/thor:latest

然后访问 http://localhost:18080 即可看到服务启动成功。

PostgreSql构建

docker compose版本

项目根目录创建docker-compose.yml文件,内容如下:

version: '3.8'

services:
  ai-dotnet-api-service:
    image: registry.token-ai.cn/thor:latest
    container_name: ai-dotnet-api-service
    ports:
      - 18080:5045
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - DBType=postgresql
      - "ConnectionString=Host=127.0.0.1;Port=5432;Database=token;Username=token;Password=dd666666"
      - "ConnectionString=Host=127.0.0.1;Port=5432;Database=logger;Username=token;Password=dd666666"

执行如下命令打包镜像

sudo docker compose build

执行以下命令启动服务

sudo docker compose up -d

docker run版本

docker run -d \
  --name ai-dotnet-api-service \
  -p 18080:5045 \
  -v $(pwd)/data:/data \
  -e TZ=Asia/Shanghai \
  -e DBType=postgresql \
  -e "ConnectionString=Host=127.0.0.1;Port=5432;Database=token;Username=token;Password=dd666666" \
  -e "ConnectionString=Host=127.0.0.1;Port=5432;Database=logger;Username=token;Password=dd666666" \
  registry.token-ai.cn/thor:latest

然后访问 http://localhost:18080 即可看到服务启动成功。

SqlServer构建

docker compose版本

项目根目录创建docker-compose.yml文件,内容如下:

version: '3.8'

services:
  ai-dotnet-api-service:
    image: registry.token-ai.cn/thor:latest
    container_name: ai-dotnet-api-service
    ports:
      - 18080:5045
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - DBType=sqlserver
      - "ConnectionString=Server=127.0.0.1;Database=token;User Id=sa;Password=dd666666;"
      - "ConnectionString=Server=127.0.0.1;Database=logger;User Id=sa;Password=dd666666;"

执行如下命令打包镜像

sudo docker compose build

执行以下命令启动服务

sudo docker compose up -d

docker run版本

docker run -d \
  --name ai-dotnet-api-service \
  -p 18080:5045 \
  -v $(pwd)/data:/data \
  -e TZ=Asia/Shanghai \
  -e DBType=sqlserver \
  -e "ConnectionString=Server=127.0.0.1;Database=token;User Id=sa;Password=dd666666;" \
  -e "ConnectionString=Server=127.0.0.1;Database=logger;User Id=sa;Password=dd666666;" \
  registry.token-ai.cn/thor:latest

然后访问 http://localhost:18080 即可看到服务启动成功。

MySql构建

docker compose版本

项目根目录创建docker-compose.yml文件,内容如下:

version: '3.8'

services:
  ai-dotnet-api-service:
    image: registry.token-ai.cn/thor:latest
    container_name: ai-dotnet-api-service
    ports:
      - 18080:5045
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - DBType=mysql
      - "ConnectionString=mysql://root:dd666666@localhost:3306/token"
      - "ConnectionString=mysql://root:dd666666@localhost:3306/logger"

执行如下命令打包镜像

sudo docker compose build

执行以下命令启动服务

sudo docker compose up -d

docker run版本

docker run -d \
  --name ai-dotnet-api-service \
  -p 18080:5045 \
  -v $(pwd)/data:/data \
  -e TZ=Asia/Shanghai \
  -e DBType=mysql \
  -e "ConnectionString=mysql://root:dd666666@localhost:3306/token" \
  -e "ConnectionString=mysql://root:dd666666@localhost:3306/logger" \
  registry.token-ai.cn/thor:latest

然后访问 http://localhost:18080 即可看到服务启动成功。


Thor(雷神托尔)是一个强大的AI大模型管理网关,它能帮助您轻松管理和使用多种AI模型。以下是Thor的主要特点和优势:

  1. 一站式AI模型管理:支持OpenAI、星火、Claudia等多种主流AI大模型,无需分别对接,一个平台轻松管理。

  2. 简化开发流程:兼容OpenAI接口,让您的应用无缝对接多种AI能力,大大降低开发难度。

  3. 灵活的用户和资源管理:内置用户管理、渠道管理、token管理等功能,轻松实现多租户、多应用场景。

  4. 数据可视化:提供直观的数据统计和日志查看,让您对AI使用情况了如指掌。

  5. 便捷的系统配置:支持多种数据库,并提供丰富的系统设置选项,适应不同的部署需求。

  6. 安全可靠:Docker部署,操作简单,保证您的AI服务稳定运行。

无论您是AI开发者、企业还是个人用户,Thor都能为您提供一站式的AI管理解决方案。它让复杂的AI调用变得简单,使您能够更专注于创新和应用开发,充分释放AI的潜力。

选择Thor,让您的AI之旅更加轻松愉快!


参考资料
[1]

@DHclly: https://github.com/DHclly

[2]

@DHclly: https://github.com/DHclly

[3]

@DHclly: https://github.com/DHclly

[4]

@DHclly: https://github.com/DHclly

[5]

完整更新日志: https://github.com/AIDotNet/Thor/compare/v0.1.1...v0.2.0


原文作者:token的技术分享;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2023-01-27

  • 博文量
    102
  • 访问量
    44385