教训:

!!!在k8s某节点执行systemctl daemon-reload && systemctl restart containerd.service,导致大部分镜像文件自动删除,影响了rook-ceph、harbor(挂不上rook导致失败)和新Pod创建(因为不能从harbor下载core.harbor.domain/mizy/pause:3.7),只有通过从其它节点找相关镜像,然后ctr -n k8s.io i export/import来恢复。

(注意)镜像手动下载地址:

  • - [win](https://pan.baidu.com/s/1tVZ7J-3dwblvRGv1-N6J5A?pwd=bfna)
  • - [mac](https://pan.baidu.com/s/1lxUq0ZOIzVCa3RXTp6Uozg?pwd=5w4i)
  • - [linux](https://pan.baidu.com/s/1kqyGhBOUjBfk8zAeaVddzg?pwd=j72b)

20240902:🎉🎉🎉QAnything开源版 v2.0.0 全新发布🚀 新特征如下:

🌟 前端大更新:支持更新信息展示,全部问答及解析参数配置,解析结果预览及编辑

🌟 信息展示:上传文件进度,解析各阶段耗时,失败原因,问答各阶段耗时,问答日志,数据统计等

🌟 解析效果提升:xlsx,pdf,docx,html等均有优化,详见新旧解析效果对比

🌟 检索效果提升:metadata信息嵌入,chunks切片逻辑优化,检索结果自动融合并排序

🌟 支持快速开始模式:文件即传即问,支持无文件问答

🌟 支持仅检索模式:仅返回检索结果,不调用大模型

🌟 上传文件逻辑优化:解析文件与问答请求独立处理

🌟 Bot指令遵循能力优化

🌟 支持多对话窗口

🌟 启动方式优化:不再依赖脚本,改为docker compose命令行启动

🌟 Docker镜像大小优化:mac下仅有4GB,linux/windows下9GB

🌟 启动优化:windows可直接启动,不再依赖WSL

Tip:

Stirling PDF、jina-ai/reader、镜像下载服务ghcr.io网站、OmniParse、dockerhub、docker desktop、registry.json

*:URLs (Read) https://r.jina.ai/https://github.com/jina-ai/reader, (Search) https://s.jina.ai/Who%20will%20win%202024%20US%20presidential%20election%3F

QAnything版本选择说明:

一句话总结:python版本适合快速体验新功能,docker版本适合二次开发并用于实际生产环境,新功能暂缓支持。

实践说明:

  • 使用jina-ai/reader、OmniParse或Stirling PDF(镜像:frooodle/s-pdf:latest)转换文档,ghcr.io加速下载镜像(不好用)
  • 安装windows版本docker desktop的主机可以访问dockerhub,但是将该主机作为网关的局域网内其它主机不能访问dockerhub,所以想docker desktop拉下来的镜像push到私有镜像仓库,然后让局域网内其它主机使用。docker desktop配置private marketplace的问题
  • 此功能目前处于测试版。它仅适用于Docker Business客户(Docker Business 版的收费标准为每月每位用户 21 美元)。
  • Initialize the configuration files for your marketplaceadmin-settings.json,一旦将私有市场功能应用于开发人员机器上的Docker Desktop,它就会激活该功能。extensions.txt,它确定在您的私人市场中列出哪些扩展。
C:\Program Files\Docker\Docker\resources\bin\extension-admin init
  • 当Docker Desktop启动并检测到registry.json文件,读取“organization”配置,当用户登录到您组织“organization”成员的帐户时,他们可以使用Docker Desktop,完成自动登录 enforce sign-in在windows系统 installing Docker Desktop会自动创建一个名为registry.json的文件。安装命令使用参数--allowed-org=myorg,替换myorg包含您组织的名称allowedOrgs(组织名称必须使用小写字母

Windows

/ProgramData/DockerDesktop/registry.json

registry.json文件内容:
{
"allowedOrgs": ["myorg"]
}
C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=myorg
  • 前面的说明解释了如何创建和部署registry.json文件到单个设备。自动部署registry.json到多个设备,必须使用第三方解决方案,例如移动设备管理解决方案。您可以使用前面的说明以及您的第三方解决方案来远程部署registry.json文件,或远程安装Docker Desktop registry.json文件。有关详细信息,请参阅第三方解决方案的留档。
  • 确认私有市场配置有效后,最后一步是使用组织使用的MDM软件(“MDM software”通常指的是移动设备管理Mobile Device Management软件)将文件分发到开发人员的机器(例如apple)上。例如,Jamf(Jamf的目的是通过帮助组织管理和保护最终用户喜爱和组织信任的Apple体验来简化工作)。即将admin-settings.json配置文件extension-marketplace文件夹发布到开发人员(Windows)的机器的目录:Windows: C:\ProgramData\DockerDesktop
  • Configure Settings Management(仅适用于Docker Business客户)即对应admin-settings.json配置的修改。Configure Settings Management | Docker Docs:configure Settings Management指定和锁定配置参数以在整个组织中创建标准化Docker Desktop环境的管理员信息,专为不授予开发人员对其机器的root访问权限的组织而设计
  • win10系统不支持qanything-7b模型;显存小于16GB可尝试使用1.8B大模型或直接使用openai api
# git clone https://huggingface.co/netease-youdao/Qwen-7B-QAnything 
# 使用huggingface地址速度较慢,推荐使用ModelScope地址下载
git clone https://www.modelscope.cn/netease-youdao/Qwen-7B-QAnything.git
git clone https://www.modelscope.cn/netease-youdao/MiniChat-2-3B.git

1、启动成功后可在访问前端页面使用

在浏览器中打开http://{your_host}:8777/qanything/

默认一般是http://0.0.0.0:8777/qanything/

即可使用UI界面,注意末尾的斜杠不可省略,否则会出现404错误

2、断网安装QAnything,可以使用以下命令启动服务:5个镜像

# 先在联网机器上下载docker镜像
docker pull quay.io/coreos/etcd:v3.5.5
docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z
docker pull milvusdb/milvus:v2.3.4
docker pull mysql:latest
docker pull freeren/qanything-win:v1.2.x  # 从 [https://github.com/netease-youdao/QAnything/blob/master/docker-compose-windows.yaml#L103] 中获取最新镜像版本号。
# 打包镜像
docker save quay.io/coreos/etcd:v3.5.5 minio/minio:RELEASE.2023-03-20T20-16-18Z milvusdb/milvus:v2.3.4 mysql:latest freeren/qanything-win:v1.2.x -o qanything_offline.tar
# 下载QAnything代码
wget https://github.com/netease-youdao/QAnything/archive/refs/heads/master.zip

# 把镜像qanything_offline.tar和代码QAnything-master.zip拷贝到断网机器上
cp QAnything-master.zip qanything_offline.tar /path/to/your/offline/machine
# 在断网机器上加载镜像
docker load -i qanything_offline.tar
# 解压代码,运行
unzip QAnything-master.zip
cd QAnything-master
bash run.sh
# 注意上述命令仅适用于使用自研7B模型的情况,硬件要求30系,40系,或A系列显卡且显存>=24GB
# 如果不是,则根据此文档选择合适的模型或后端启动,此时需要增加手动下载模型的步骤:
# 下载非默认模型:(以下为使用MiniChat-2-3B示例,请按需更改)
cd QAnything-master/assets/custom_models
git lfs install
git clone https://www.modelscope.cn/netease-youdao/MiniChat-2-3B.git  # 可从有网络的地方下载后转移到无网机器的QAnything-master/assets/custom_models文件夹下即可
cd ../../
bash ./run.sh -c local -i 0 -b hf -m MiniChat-2-3B -t minichat

3、--->ghcr.io 加速请看 ghcr.dockerhub.icu

sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker pull  ghcr.io/frooodle/s-pdf:latest        ---->OK

4、OmniParse是一个平台,可将任何非结构化数据摄取/解析为针对GenAI(LLM)应用程序优化的结构化、可操作数据。无论是处理文档、表格、图像、视频、音频文件还是网页,OmniParse都能让您的数据变得干净、结构化,并为AI应用程序(如RAG、微调等)做好准备。

docker pull savatar101/omniparse:0.1
# if you are running on a gpu 
docker run --gpus all -p 8000:8000 savatar101/omniparse:0.1
# else
docker run -p 8000:8000 savatar101/omniparse:0.1