Langchain-Chatchat icon indicating copy to clipboard operation
Langchain-Chatchat copied to clipboard

langchain-chatchat 搭配glm或qwen可以运行在aarch64架构的操作系统上吗,如信创麒麟操作系统?安装方式是否有所改变

Open Andy1018 opened this issue 11 months ago • 1 comments

langchain-chatchat 搭配glm或qwen可以运行在aarch64架构的操作系统上吗,如信创麒麟操作系统?安装方式是否有所改变

Andy1018 avatar Mar 18 '24 00:03 Andy1018

嘿,@Andy1018!很高兴再次见到你呢 😜

是的,Langchain-Chatchat 配合 GLM 或 QWEN 可以在 aarch64 架构的操作系统上运行,例如信创麒麟操作系统。只要 Python 和 Langchain-Chatchat 以及模型(GLM 或 QWEN)所需的库和依赖项在该平台上受支持,安装方法就不会因架构或操作系统而改变。

提供的代码并未包含特定的安装指令或依赖项,这些指令或依赖项可能与 aarch64 架构或信创麒麟操作系统不兼容。代码主要涉及 Python,这是一种跨平台的语言,支持 aarch64 架构。此外,使用 Docker 或类似的容器化工具可以进一步抽象出任何特定于操作系统的问题,前提是信创麒麟操作系统支持 Docker。

然而,重要的是要确保所有依赖项,特别是像 GLM 或 QWEN 这样的深度学习模型的依赖项,都与 aarch64 架构兼容。这包括 TensorFlow 或 PyTorch 这样的库,这些模型可能依赖这些库。TensorFlow 和 PyTorch 都支持 aarch64,但可能需要特定的版本或配置。

总的来说,只要满足依赖项,并且 Langchain-Chatchat 使用的 Python 包与 aarch64 兼容,该软件应该可以在信创麒麟操作系统上运行,而无需改变安装方法。

Langchain-Chatchat 运行所需的特定依赖项包括:

  1. pydantic - 用于使用 Python 类型注解进行数据验证和设置管理。
  2. fastapi - 一个用于构建 API 的现代、快速(高性能)的 Python 3.7+ web 框架,基于标准的 Python 类型提示。
  3. typing - 支持类型提示(包含在 Python 标准库中)。
  4. pathlib - 面向对象的文件系统路径。
  5. asyncio - 用于编写使用协程的单线程并发代码,复用套接字和其他资源上的 I/O 访问,运行网络客户端和服务器,以及其他相关原语。
  6. os - 各种操作系统接口。
  7. concurrent.futures - 启动并行任务。
  8. httpx - 一个为 Python 3 提供的全功能 HTTP 客户端,提供同步和异步 API。
  9. logging - Python 的日志设施。
  10. torch - 一个开源的机器学习库,一个科学计算框架,以及一个基于 Lua 编程语言的脚本语言。

此外,代码引用了几个自定义模块(例如,configslangchain.chat_modelsserver.minx_chat_openaiconfigs.model_configconfigs.server_configserver.model_workersconfigs.kb_configconfigs.prompt_configserver.knowledge_base.kb_cache.baseconfigs.basic_config)。这些不是标准的 Python 或第三方库,这意味着它们是应用程序或其配置的一部分。要完全了解所有依赖项,需要访问这些自定义模块。

根据提供的上下文,运行 Langchain-Chatchat 所需的 Python 版本是 Python 3.10 或更高版本。这是从 summarize 方法中的条件检查推断出来的:

if sys.version_info < (3, 10):
    loop = asyncio.get_event_loop()
else:
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = asyncio.new_event_loop()

这段代码表明,对于 Python 版本低于 3.10 的,它使用 asyncio.get_event_loop(),而对于 Python 3.10 及以上版本,它试图使用 asyncio.get_running_loop()asyncio.get_running_loop() 的使用表明,首选 Python 3.10 或更新版本,因为这个函数是在 Python 3.7 中引入的,而且这里的使用模式与 Python 3.10 对运行和管理 asyncio 事件循环的增强相一致。

关于依赖项,特定的版本并未直接在提供的上下文中提及。然而,我们可以从导入语句中推断出所需的依赖项:

  • langchain(未提供特定版本)
  • configs(未提供特定版本,且不清楚它是自定义模块还是包的一部分)
  • sys(标准库,版本与 Python 版本绑定)
  • asyncio(标准库,版本与 Python 版本绑定)

要确定 langchain 和任何其他不属于 Python 标准库的外部依赖项的确切版本,通常会查看项目中的 requirements.txt 文件或 setup.py 文件。由于这些在上下文中未提供,我们无法指定这些依赖项的版本。

Sources

About Dosu

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

dosubot[bot] avatar Mar 18 '24 00:03 dosubot[bot]

这个问题已经被标记为 stale ,因为它已经超过 30 天没有任何活动。

github-actions[bot] avatar Apr 17 '24 21:04 github-actions[bot]