前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QAnything 与 OpenCloudOS 联合打造操作系统 AI 问答解决方案

QAnything 与 OpenCloudOS 联合打造操作系统 AI 问答解决方案

原创
作者头像
用户10910210
发布2024-04-28 11:52:17
4290
发布2024-04-28 11:52:17

导语:4 月 26 日,由网易有道开源的 AI 知识库问答平台 QAnything 发布?1.4.0 版本,并集成到 OpenCloudOS 操作系统中,为 OpenCloudOS 用户提供了一键部署 AI 知识问答库的能力。QAnything 是什么,OpenCloudOS 如何与 QAnything 共同联合研发的,怎样在 OpenCloudOS 中使用 QAnything?本文将为大家一一解析。

一、QAnything 的项目背景与技术特点

网易有道 QAnything 的研发团队最初专注于文档翻译。2023 年,ChatGPT 和类似技术正在兴起,团队意识到是将现有技术扩展至文档问答的绝佳时机,因此为文档翻译服务增添了问答功能,该功能能够根据文档内容自动推荐问题并提供答案。

2023?年?7?月,在网易内部需求的推动下,研发团队将多文档问答平台正式发布,并取名为?QAnything,意为「万物皆可问」。

为推动 RAG(Retrieval Augmented Generation,检索增强生成)技术的广泛应用,QAnything 团队决定将项目开源。这一举措吸引了大量开发者的关注,目前已在 Github 收获 8k+ Stars,合并到主分支里的独立开发者 PR 已有数十个,开源也使得?QAnything?得以快速迭代和优化

QAnything 通过集成和优化问答过程,提供全面且灵活的解决方案,来处理各种类型的问题。它利用 RAG 原理,结合了用户私有数据和大模型的优势,实现类似于 ChatGPT 的互动问答功能,且每个答案都能精确追溯到相应的文档段落来源。

和其他同类项目相比,QAnything 支持的特性更多,对新增用户需求的实现速度更快,安装依赖更少,对小白更友好,且自研的 embedding 和 rerank 目前是同类开源项目中的 Top1。

QAnything 采用自研的 bcembedding 和 rerank 模型,结合基于千问 7B 的大型语言模型 Qwen-7B-QAnything,为用户提供高效、精准的问答服务,典型的应用场景包括:基于个人知识库构建的 LLM 问答、文本摘要等。

此次发布的?1.4.0?新版本也带来了支持?OpenCloudOS?系统下运行、前端溯源、FAQ?问答、联网检索、支持问答日志记录和筛选等一系列亮点功能,同时在易用性方面做了很大的提升,最大程度简化了用户的操作步骤,同时又提供足够多的自定义功能。

用户可以通过上传 PDF、图片、Word、Excel、PowerPoint,Markdown、音频等常用的类型文档,生成专属的个人知识库,读、查、问、写一站实现,提供快速、精准、高效的文档处理与知识管理体验。

QAnything 架构图
QAnything 架构图

二、QAnything × OpenCloudOS 联合研发

QAnything 专注于提供智能化的问答与信息检索服务,而 OpenCloudOS 作为一款开源操作系统,侧重于提供稳定、安全、高效的底层计算环境。双方在技术栈上具有显著的互补性,合作有利于实现资源的深度融合,推动技术创新与应用优化。

在为 OpenCloudOS 制作 QAnything 镜像的过程中,研发团队通过编写 Dockerfile 文件,构建自定义的 Docker 镜像,并使用 docker-compose 进行多容器编排。在双方联合研发过程中遇到了像依赖库的兼容性、容器配置的调整等技术问题:

依赖库的安装和配置。QAnything 依赖于多个 Python 库和系统级依赖。为了确保 QAnything 能够在 OpenCloudOS 环境中正常运行,需要仔细分析 QAnything 的 Dockerfile 文件和相关文档,识别出所有必要的依赖库。

团队在 OpenCloudOS 的 Dockerfile 中,使用 dnf 包管理器安装了这些系统级依赖。对于 Python 依赖,则使用 pip 包管理器进行安装。通过逐个检查和安装依赖库,确保了 OpenCloudOS 镜像中包含了运行 QAnything 所需的所有组件。

容器编排和配置调整。QAnything 使用了多个容器协同工作,因此需要对 docker-compose.yml 文件进行适当的调整,以适应 OpenCloudOS 环境。

在仔细分析了原有的 docker-compose.yml 文件,深入理解了各个服务的功能和配置后,团队根据 OpenCloudOS 的特点,对 docker-compose.yml 文件进行了必要的修改,包括调整镜像名称、端口映射、卷挂载等。通过反复的测试和调试,确保了服务能够在 OpenCloudOS 环境下正常运行。

最终,OpenCloudOS?完成了一键部署?QAnything?的能力,用户无需关注复杂的环境配置和依赖管理,只需要拥有?Docker?运行环境,并使用?Docker?Compose?命令即可快速启动?QAnything?应用程序。这种便捷的部署方式极大地简化了启动和运行 QAnything 的过程,降低了使用 QAnything 的门槛,也节省了用户时间和精力。

三、在 OpenCloudOS 中使用 QAnything 的方法

此次更新后,在 OpenCloudOS 中启动并运行 QAnything 将非常简单,用户只需要进行以下步骤:

1、准备?Docker?运行环境

首先,用户需要确保在其所使用的平台上已经安装并配置好了 Docker 运行环境。Docker 是一种广泛使用的容器化技术,可以在各种操作系统上运行,如 Linux、macOS 和 Windows。用户可以根据其平台的官方文档来安装和设置 Docker。

2、拉取 QAnything 项目

用户需要从 QAnything 的代码仓库中拉取最新的项目代码。可以使用 Git 工具克隆项目的远程仓库,或者直接下载项目的压缩包并解压。拉取项目后,切换到 qanything-python 分支,用户将获得包含 QAnything 应用程序和相关配置文件的完整代码库。

代码语言:javascript
复制
git clone https://github.com/netease-youdao/QAnything.git
cd QAnything && git switch qanything-python

3、使用?Docker?Compose?启动?QAnything

项目根目录下有一个编排文件 docker-compose.yml,定义了 QAnything 应用程序各个服务组件以及它们之间依赖关系。用户只需要在终端中运行以下命令:

代码语言:javascript
复制
docker compose up

Docker Compose 会自动读取 docker-compose.yml文件,并根据其中的配置信息来启动基于 OpenCloudOS 的 QAnything 服务容器。

4、等待部署完成

运行 docker compose up 命令后,Docker Compose 会开始下载所需的镜像,并按照依赖关系依次启动各个服务容器。这个过程可能需要一些时间,具体取决于网络速度和本地环境的性能。用户只需要耐心等待,直到所有的服务容器都成功启动。

5、访问?QAnything?应用

部署完成后,QAnything 应用程序就可以被访问和使用了。用户可以通过在浏览器中输入部署机器的 IP 地址,即可打开 QAnything 的 Web 界面。从那里,用户可以开始使用 QAnything 提供的知识库问答功能。

四、QAnything + OpenCloudOS 给用户带来的价值

QAnything 与 OpenCloudOS 的合作与创新不仅基于双方在技术、市场、生态等方面的共赢考量,也为 QAnything 用户带来显著的稳定性、兼容性、性能以及社区支持等多重价值:

1、稳定性与安全性增强。QAnything 与 OpenCloudOS 深度合作,确保其产品在经过严格测试与认证的操作系统环境下运行,提高了系统的整体稳定性和数据安全性。用户可以享受到更可靠的服务,降低因系统故障导致的业务中断风险。

2、无缝集成与易用性提升。QAnything 产品与 OpenCloudOS 的兼容性确保用户在部署和使用过程中无需担心兼容性问题,简化了安装、配置与升级流程,降低了技术门槛,提升了用户体验。

3、性能优化与资源利用率提高。通过与 OpenCloudOS 的紧密合作,QAnything可以针对操作系统特性进行针对性的性能调优,充分利用硬件资源,提高计算效率,从而为用户提供更快的响应速度和更大的数据处理能力。

4、持续创新与功能升级。依托 OpenCloudOS 生态的创新动力,QAnything 能够快速吸收社区的最新成果,实现产品的持续迭代与功能升级,确保用户始终享有前沿的智能问答与信息检索服务。

5、社区支持与定制化服务。用户不仅能够获得 QAnything 官方的支持,还能受益于 OpenCloudOS 庞大的开发者社区,获取丰富的技术文档、教程、论坛答疑等资源,甚至有机会参与定制化开发,满足特定业务场景的需求。

QAnything 与 OpenCloudOS 的合作,有效帮助用户在数字化转型过程中提升信息处理效率与决策质量。网易有道人工智能产品部 CV 算法组负责人林辉表示:

QAnything 加入 OpenCloudOS 社区后,可以参与社区的软件开发与迭代过程,确保其产品在各种基于 OpenCloudOS 的操作系统环境中无缝运行,降低用户在部署、迁移和维护过程中的复杂性,提升用户体验。 未来,双方将继续深化合作,在技术研发、生态建设等方面互相支持,共同推动操作系统与知识库问答领域的技术进步和发展,为用户提供无缝集成、性能优化和持续创新的智能问答服务。


欢迎更多开发者使用并参与开源共建。

OpenCloudOS 仓库地址:

https://gitee.com/OpenCloudOS

QAnything 仓库地址:

https://github.com/netease-youdao/QAnything

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、QAnything 的项目背景与技术特点
  • 二、QAnything × OpenCloudOS 联合研发
  • 三、在 OpenCloudOS 中使用 QAnything 的方法
  • 四、QAnything + OpenCloudOS 给用户带来的价值
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com