跳到主要内容

一言接口服务

实战:docker部署一言接口服务-2024.8.17(测试成功)

image-20240817231646119

目录

[toc]

版权声明

注意

本着开源共享、共同学习的精神:

本文是在 博主Hyde 文章:《docker部署一言接口服务》https://hydoc.netlify.app/docs/Blog/tutorial/Ruyu-Blog/hitokoto 基础上增加了自己实践过程的一些细节,转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢~

背景

为什么要折腾这个呢?

因为最近在部署ruyu-blog,用到了这个一言接口,体验还不错。

官网接口有每分钟qps限制,有时会得不到想要的结果。因此我这里自己进行部署。

简介

什么是一言接口服务

官网

https://developer.hitokoto.cn/

image-20240806100033304

环境

docker环境

centos7.x机器

源码

image-20240817234308639

链接:https://pan.baidu.com/s/1jd8IGC76Av9qdiE7l6U5nA?pwd=tbfd 提取码:tbfd 2024.8.17-实战:docker部署一言接口服务-2024.8.17(测试成功)

docker save  hitokoto/api |gzip > hitokoto.tar.gz #74M
docker save redis:6.0.8 |gzip > redis.6.0.8.tar.gz #36M

image-20240817233834783

1、部署

一言官方提供了各种部署方式,自己选一个,这里使用 Docker 部署

  • 创建数据目录
cd ~
#创建hitokoto目录
mkdir -p hitokoto

#进入hitokoto目录
cd hitokoto
  • 创建「一言」的配置文件

vim config.yml

填写config.yml的配置

自己本次配置:

name: 'hitokoto' # 服务名称,例如:hitokoto  [必填!]
url: 'http://192.168.1.100:8000' # 服务地址,例如:https://v1.hitokoto.cn [必填!]
api_name: 'demo_api_name' # 服务表示,例如:cd-01-demo [必填!]
server: # 配置 HTTP 服务的信息
host: hitokoto_api # 监听的地址,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: '8000' # 监听的端口 [必填!]
compress_body: true # 是否使用 GZIP 压缩
redis: # 配置 Redis
host: hitokoto_db # Redis 主机名,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: 6379 # Redis 端口 [必填!]
password: '输入你的密码' # Redis 密码 [必填!]
database: 0 # Redis 数据库索引,通常使用 0 号数据库
sentences_ab_switcher: # 本节是服务 AB 异步更新的配置,这是获取语句库的远程地址,除非有特殊需求,通常不需要修改保持默认!
a: 1 # a 状态对应的 redis 数据库
b: 2 # b 状态对应的 redis 数据库
remote_sentences_url: https://cdn.jsdelivr.net/gh/hitokoto-osc/sentences-bundle@latest/ # 语句库地址,通常默认即可。如果您想使用您自己打包部署的语句库,您可以修改此项

image-20240817232337657

参考:

name: 'hitokoto' # 服务名称,例如:hitokoto  [必填!]
url: '您的IP:8000' # 服务地址,例如:https://v1.hitokoto.cn [必填!]
api_name: 'demo_api_name' # 服务表示,例如:cd-01-demo [必填!]
server: # 配置 HTTP 服务的信息
host: hitokoto_api # 监听的地址,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: '8000' # 监听的端口 [必填!]
compress_body: true # 是否使用 GZIP 压缩
redis: # 配置 Redis
host: hitokoto_db # Redis 主机名,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: 6379 # Redis 端口 [必填!]
password: '' # Redis 密码 [必填!]
database: 0 # Redis 数据库索引,通常使用 0 号数据库
sentences_ab_switcher: # 本节是服务 AB 异步更新的配置,这是获取语句库的远程地址,除非有特殊需求,通常不需要修改保持默认!
a: 1 # a 状态对应的 redis 数据库
b: 2 # b 状态对应的 redis 数据库
remote_sentences_url: https://cdn.jsdelivr.net/gh/hitokoto-osc/sentences-bundle@latest/ # 语句库地址,通常默认即可。如果您想使用您自己打包部署的语句库,您可以修改此项

image-20240817185213677

  • 创建 docker-compose.yml

vim docker-compose.yml

version: "3.8"  # Docker Compose 文件的版本

services:
# Redis 服务
hitokoto_db:
image: redis:6.0.8 # 使用 Redis 6.0.8 镜像
# 可以添加更多 Redis 配置项,例如环境变量、持久化等
restart: always

# Hitokoto API 服务
hitokoto_api:
image: hitokoto/api # 使用 Hitokoto API 镜像
restart: always
ports:
- 8000:8000 # 将容器的 8000 端口映射到主机的 8000 端口
depends_on:
- hitokoto_db # 确保 hitokoto_api 在 hitokoto_db 启动后启动
volumes:
- ./config.yml:/usr/src/app/data/config.yml:ro # 将主机的 config.yml 文件挂载到容器中的指定路径,并以只读模式挂载
# 可以添加更多配置项,例如环境变量、启动命令等
  • 运行一言容器
docker-compose up -d

image-20240817225114140

  • 记得设置开机自启动哦

image-20240818163609882

参考:《Linux 系统设置开机自动运行脚本的方法》https://wiki.onedayxyy.cn/docs/linux-KaiJiZiQiShell

image-20240818163641840

2、测试

浏览器输入ip+8000端口是否成功返回

自己现象:

http://192.168.1.100:8000

image-20240817225215974

image-20240817225308464

3、给ruyu-blog博客配置一言jei'kou

最后在 ruyu-blog\blog-frontend\kuailemao-blog.env.development或者.env.production配置文件中填写您的ip+端口

# 开发环境配置
NODE_ENV = development
...

# 自己部署的一言接口,如果不填写会默认使用官网的接口,官网接口有每分钟qps限制,有时会得不到想要的结果
VITE_YIYAN_API = 'http://您的IP:8000/'

image-20240817190659438


自己配置:

cd /root/ruyu-blog/blog-frontend/kuailemao-blog

默认配置:

image-20240817225707683

我们来配置下.env.production

vim .env.production

# 生产环境配置
NODE_ENV = production

# 博客代理
VITE_APP_BASE_API = '/api'
# 后台域名
VITE_SERVE=''
# 前台域名
VITE_FRONTEND_URL = ''
# 音乐代理地址
VITE_MUSIC_BASE_API = '/wapi'
# 音乐后台
VITE_MUSIC_SERVE=''
# # 第三方开源集成的音乐前端地址,如果不配置上面菜单栏就不会出现音乐选项
VITE_MUSIC_FRONTEND_URL = ''
# 自己部署的一言接口,如果不填写会默认使用官网的接口,官网接口有每分钟qps限制,有时会得不到想要的结果
VITE_YIYAN_API = 'http://192.168.1.100:8000/'

image-20240817231048546

  • 重新构建测试
#重新构建dist
cd /root/ruyu-blog/blog-frontend/kuailemao-blog/
rm -rf dist
pnpm install
pnpm build

#删除老容器和老镜像
docker rm -f blog-qt
#docker rmi -f blog-qt

#构建新镜像和启动新容器
docker build . -t blog-qt-v1.4.2-v2-2024.8.17
docker run --name blog-qt -d -p 80:80 blog-qt-v1.4.2-v2-2024.8.17
docker ps
##

image-20240817231148437

  • 验证

http://192.168.1.100/

image-20240817231305414

image-20240817231518779

参考

提示

提示

可选,ruyu-blog原作者官网的一言接口有qps限制,想使用流畅一点就自己部署一个

「一言」官方部署文档:https://developer.hitokoto.cn/sentence/deploy.html

「一言」官网:https://hitokoto.cn/

在线 API 地址:https://v1.hitokoto.cn/

API 文档:[https://developer.hitokoto.cn/]

  • docker部署

https://developer.hitokoto.cn/sentence/deploy.html

image-20240806100142919

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号

《云原生架构师实战》

image-20230107215126971

🍀 个人主页:

https://onedayxyy.cn

image-20240805214647028

🍀 知识库:

https://wiki.onedayxyy.cn/

image-20240814230415388

🍀 博客:

http://blog.onedayxyy.cn/

image-20240804075845906

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

往期推荐

QQ群

玩转Typora+Docusuaurus+起始页交流群:(欢迎小伙伴一起探讨有趣的IT技术,来完成一些漂亮的项目)

我的开源项目:

项目名称我的文档我的demo作者demo
1、玩转Typorahttps://wiki.onedayxyy.cn/docs/typorahttps://wiki.onedayxyy.cn/docs/typorahttps://typoraio.cn/#
2、玩转Docusaurushttps://wiki.onedayxyy.cn/docs/mogai-docusaurushttps://wiki.onedayxyy.cn/https://www.docusaurus.cn/
3、个人主页home3.0https://wiki.onedayxyy.cn/docs/home3.0https://onedayxyy.cn/https://github.com/hsBUPT/hsBUPT.github.io
4、全网最美博客-ruyu-bloghttps://wiki.onedayxyy.cn/docs/ruyu-blog-install-one-keyhttps://blog.onedayxyy.cn/https://www.kuailemao.xyz/
5、家庭相册filesite-iohttps://wiki.onedayxyy.cn/docs/filesite.io-photot-install-fullhttps://photo.onedayxyy.cn/https://demo.jialuoma.cn/

https://wiki.onedayxyy.cn/docs/OpenSource

image-20240811063938529

  • typora皮肤

https://wiki.onedayxyy.cn/docs/typora

image-20240518165037517

  • 起始页

https://onedayxyy.cn/

image-20240814230557697

  • 知识库

https://wiki.onedayxyy.cn/

image-20240814230415388

  • 博客

https://blog.onedayxyy.cn/

image-20240803162010305

  • 家庭相册

https://photo.onedayxyy.cn/

image-20240814230625430

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!