当前位置: 首页 > news >正文

Windows中使用Docker安装Anythingllm,基于deepseek构建自己的本地知识库问答大模型,可局域网内多用户访问、离线运行

文章目录

      • Windows中使用Docker安装Anythingllm,基于deepseek构建自己的知识库问答大模型
      • 1. 安装 Docker Desktop
      • 2. 使用Docker拉取Anythingllm镜像
      • 2. 设置 `STORAGE_LOCATION` 路径
      • 3. 创建存储目录和 `.env` 文件
        • `.env` 文件的作用
        • 关键配置项
      • 4. 运行 Docker 命令
        • `docker run` 命令详细解析
        • 各部分的含义
      • 5. 访问应用
      • 6. 配置环境
        • 聊天设置
        • 向量数据库
        • 嵌入首选项
        • 添加知识库
        • 成员管理
        • 局域网内其他用户访问
      • 7. 总结

Windows中使用Docker安装Anythingllm,基于deepseek构建自己的知识库问答大模型

我习惯在CMD中运行命令,我看一些教程使用Docker安装Anythingllm时在Power Shell中。

该教程在 Windows CMD 中运行这个 docker 命令,以下是从头到尾的步骤,包括如何在 CMD 中正确设置和运行该命令。

电脑配置:Win11+wsl2+4070tis+内存48G

大模型:ollama-deepseek-r1:14b

所用软件:ollama+docker+anythingllm

4070tis使用anythingllm,在deepseek-r1:14b下的生成tocken速度大概是:52toc/s

请添加图片描述

备注:ollama需要自己首先安装,去官网下载,然后拉取对应大模型即可。

1. 安装 Docker Desktop

确保你已经安装并启动了 Docker Desktop。如果还没有安装,可以从 Docker 官网 下载并安装。

Docker官方网址:https://www.docker.com/products/docker-desktop/

记得开启电脑wsl2,如果没有安装过wsl,可以看如下:

微软官方教程:https://learn.microsoft.com/en-us/windows/wsl/setup/environment

2. 使用Docker拉取Anythingllm镜像

拉取镜像命令如下:

docker pull mintplexlabs/anythingllm

之后查看是否有该镜像,使用命令:

docker images

请添加图片描述

可以看到电脑中存在Anythingllm这个镜像了

2. 设置 STORAGE_LOCATION 路径

在 CMD 中,你可以使用 set 命令来设置环境变量。假设你希望将 STORAGE_LOCATION 设置为 Windows 的文档目录,可以按以下步骤操作,逐行运行如下命令,如下图,这三行可以从如下面代码行中复制。
请添加图片描述

  1. 打开 CMD(管理员模式)。

  2. 设置存储目录(你可以自定义这个路径,下面是一个示例):
    第一行代码

    set STORAGE_LOCATION=%USERPROFILE%\Documents\anythingllm
    

3. 创建存储目录和 .env 文件

确保存储目录存在,并且 .env 文件已经创建。使用以下命令来确保这些文件存在:

  1. 创建存储目录(如果目录不存在):
    第二行代码

    if not exist "%STORAGE_LOCATION%" mkdir "%STORAGE_LOCATION%"
    
  2. 创建 .env 文件(如果文件不存在):
    第三行代码

    if not exist "%STORAGE_LOCATION%\.env" echo. > "%STORAGE_LOCATION%\.env"
    

此时会在电脑文档的文件夹下,存在一个anythingllm文件夹,如下所示:

请添加图片描述

该文件夹下存在一个.env文件,存放一些配置。


.env 文件的作用

.env 文件是用于存储容器配置的环境文件,通常包含敏感信息和应用的配置参数。例如,配置大语言模型(LLM)、API 密钥、数据库连接等。容器运行时,它会读取 .env 文件并使用其中的配置信息。

关键配置项

.env 文件中,常见的配置项包括:

  • SERVER_PORT:指定服务器运行的端口。
  • JWT_SECRET:用于生成和验证 JWT(JSON Web Token)的密钥。
  • STORAGE_DIR:指定存储数据的路径。
  • LLM_PROVIDER:配置大语言模型提供者。
  • OLLAMA_BASE_PATH:配置 Ollama 服务的基础 URL 地址。
  • OPEN_AI_KEY:用于访问 OpenAI API 的密钥。

.env 文件中配置的内容会根据你的需求和使用的服务不同而有所变化。


4. 运行 Docker 命令

在 CMD 中,你可以使用单行命令运行 Docker。这里是调整后的命令,适合在 Windows CMD 中运行:

docker run -d --name anythingllm --add-host=host.docker.internal:host-gateway --env STORAGE_DIR=/app/server/storage --health-cmd "/bin/bash /usr/local/bin/docker-healthcheck.sh || exit 1" --health-interval 60s --health-start-period 60s --health-timeout 10s -p 3001:3001/tcp --restart=always --user anythingllm -v %STORAGE_LOCATION%:/app/server/storage -v %STORAGE_LOCATION%\.env:/app/server/.env -w /app mintplexlabs/anythingllm

运行之后如下图,会启动一个容器,用一大串字母表示,该字母是Docker 为该容器分配一个唯一的 ID,这个 ID 主要用于在 Docker 系统中管理容器。你可以用这个 ID 来执行不同的 Docker 命令,比如停止容器、查看容器日志、查看容器状态等。

请添加图片描述

查看当前所有的容器,命令如下:

docker ps

请添加图片描述

可以看到我们已经成功启动一个容器

docker run 命令详细解析

给出的命令用于启动 AnythingLLM Docker 容器,以下是对该命令中每个字段的详细解释:

各部分的含义

  1. docker run -d
    docker run 命令用于启动一个新的容器,-d 表示容器将以“分离模式”(后台运行)启动。这样,命令执行完后,你可以继续在终端中操作。
  2. --name anythingllm
    给容器指定一个名字 anythingllm。这个名字用来唯一标识容器,可以方便地进行容器管理(例如,停止、重启、删除容器等)。
  3. --add-host=host.docker.internal:host-gateway
    添加一个额外的主机名解析。在 Docker 容器内,通过 host.docker.internal 可以访问宿主机的网络接口,这对于需要连接到宿主机的服务(比如本地运行的 ollama 服务)非常有用。host-gateway 是指容器访问宿主机的网关地址。
  4. --env STORAGE_DIR=/app/server/storage
    设置容器内部的环境变量。STORAGE_DIR=/app/server/storage 会将容器内部的存储目录设置为 /app/server/storage。该目录用于存储 AnythingLLM 的数据,如模型、日志等。
  5. --health-cmd "/bin/bash /usr/local/bin/docker-healthcheck.sh || exit 1"
    设置容器的健康检查命令。docker-healthcheck.sh 是一个用于检查容器健康状态的脚本。它会定期运行,确保容器的正常工作。如果健康检查失败(即返回非零退出状态),则 Docker 会认为容器不可用。
  6. --health-interval 60s
    设置健康检查命令的执行间隔为 60 秒。即每 60 秒 Docker 会运行一次健康检查命令。
  7. --health-start-period 60s
    设置容器启动后的健康检查延迟时间。即容器启动后,Docker 会等待 60 秒再开始执行健康检查。
  8. --health-timeout 10s
    设置健康检查命令的超时时间为 10 秒。如果健康检查命令在 10 秒内没有返回结果,则认为健康检查失败。
  9. -p 3001:3001/tcp
    映射容器内部的端口 3001 到宿主机的端口 30013001AnythingLLM Web 界面的默认端口。在启动容器后,你可以通过访问 http://localhost:3001 来访问 AnythingLLM
  10. --restart=always
    设置容器的重启策略。always 表示当容器停止运行时,Docker 会自动重启该容器,确保容器始终在后台运行。
  11. --user anythingllm
    以指定的用户 anythingllm 来运行容器内的程序。此选项确保容器内的进程以指定的用户身份执行,而不是使用默认的 root 用户。
  12. -v %STORAGE_LOCATION%:/app/server/storage
    将宿主机的目录 %STORAGE_LOCATION% 挂载到容器内部的 /app/server/storage 目录。%STORAGE_LOCATION% 是之前在 CMD 中设置的环境变量,指向容器存储数据的路径。这样,容器内的数据会存储到宿主机的指定路径上,容器重启后数据仍然保留。
  13. -v %STORAGE_LOCATION%\.env:/app/server/.env
    将宿主机的 .env 文件(位于 %STORAGE_LOCATION% 路径下)挂载到容器内的 /app/server/.env 文件。.env 文件通常用于存储配置参数,如 API 密钥、数据库配置等。这样,容器启动时可以加载这些配置。
  14. -w /app
    设置容器内的工作目录为 /app。这意味着容器内的程序将以这个目录作为默认工作目录。
  15. mintplexlabs/anythingllm
    指定要运行的 Docker 镜像,这里是 mintplexlabs/anythingllm,它包含了 AnythingLLM 的所有必要文件和配置。

这条 Docker 命令启动了一个 AnythingLLM 容器,并通过挂载宿主机的存储目录和 .env 文件,使得容器能够持续存储数据并加载配置。容器以后台运行,并提供 Web 服务,可以通过 http://localhost:3001 访问应用。

5. 访问应用

成功运行该命令后,你可以通过浏览器访问 http://localhost:3001 来进行初始配置。

http://localhost:3001

请添加图片描述

选择ollama,然后选择对应的大模型

请添加图片描述

选择team,可以设置多用户登录

请添加图片描述

6. 配置环境

访问 http://localhost:3001 后,进行相关配置,如配置大语言模型(LLM)、向量数据库等。根据需要更新 .env 文件中的配置参数,如 SERVER_PORTOPEN_AI_KEY 等。

聊天设置

新建一个空间区,然后聊天设置改为对应的模型,到最下面,进行确认

请添加图片描述

向量数据库

如果默认的效果不好,向量数据库可以选择 精度优化

请添加图片描述

嵌入首选项

默认的也可以,如果默认的解析知识库有问题,也可以使用ollama提供的nomic-embed-text

请添加图片描述

添加知识库

点击工作区的上传按钮:

请添加图片描述

打开如下界面,然后上传对应的文档

请添加图片描述

移动到工作区,然后进行保存和嵌入

请添加图片描述

成员管理

设置里面,找到管理员-用户,然后在右上角添加用户

请添加图片描述
可以为用户选择不同的角色。不同角色持有的权限是不同的请添加图片描述

局域网内其他用户访问

首先查看部署本机的IPv4地址,例如1.1.1.1
局域网内其他用户浏览器访问:1.1.1.1:3001即可
如下图所示
在这里插入图片描述

这应该是几个常用的内容,其他东西,请自行研究

7. 总结

在 Windows CMD 中运行 Docker 命令的步骤如下:

  1. 设置环境变量 STORAGE_LOCATION,并确保该路径存在。
  2. 创建必要的存储目录和 .env 文件。
  3. 使用单行命令在 CMD 中运行 Docker 容器。
  4. 通过浏览器访问 http://localhost:3001 进行初始化配置。

相关文章:

Windows中使用Docker安装Anythingllm,基于deepseek构建自己的本地知识库问答大模型,可局域网内多用户访问、离线运行

文章目录 Windows中使用Docker安装Anythingllm,基于deepseek构建自己的知识库问答大模型1. 安装 Docker Desktop2. 使用Docker拉取Anythingllm镜像2. 设置 STORAGE_LOCATION 路径3. 创建存储目录和 .env 文件.env 文件的作用关键配置项 4. 运行 Docker 命令docker r…...

用Kibana实现Elasticsearch索引的增删改查:实战指南

在大数据时代,Elasticsearch(简称 ES)和 Kibana 作为强大的数据搜索与可视化工具,受到了众多开发者的青睐。Kibana 提供了一个直观的界面,可以方便地对 Elasticsearch 中的数据进行操作。本文将详细介绍如何使用 Kiban…...

AI前端开发的国际化发展机遇:ScriptEcho助力全球化布局

在全球化的今天,互联网应用已不再局限于单一市场。高效便捷的前端开发方案成为企业拓展国际市场的关键。得益于人工智能技术的飞速发展,AI代码生成器 正在深刻改变前端开发模式,为国际化应用开发带来前所未有的机遇。然而,国际化开…...

本地基于GGUF部署的DeepSeek实现轻量级调优之一:提示工程(Prompt Engineering)(完整详细教程)

前文,我们在本地windows电脑基于GGUF文件,部署了DeepSeek-1.5B模型,如果想自行对模型进行训练,离线模式下加载本地的DeepSeek模型进行训练时,是不能直接使用GGUF文件进行训练。 请参照我的文章在本地部署好模型之后再继…...

基于 GEE 计算研究区年均地表温度数据

目录 1 代码解析 2 完整代码 3 运行结果 1 代码解析 (1)定义研究区: // 研究区的范围需要自己提前上传 var dataset table;// 将研究区显示在中心,后面的数字为缩放等级,范围从1 - 24 Map.centerObject(dataset,…...

编程语言的深度剖析:从语法到性能优化

引言 随着软件开发的不断进化,编程语言的选择对项目的成功与否具有关键影响。今天的开发者面临着丰富多样的编程语言选择:每一种语言都有独特的优势、特性和适用场景。然而,语言的设计理念、运行机制和优化技巧背后的技术细节却常常被忽视。本…...

设计模式-结构型-外观模式

在软件开发中,随着功能的不断迭代,系统会变得越来越复杂,模块之间的依赖关系也会越来越深。这种复杂性会导致代码难以理解、维护和扩展。而外观模式(Facade Pattern)正是为了解决这一问题而生的。 一、外观模式简介 …...

uniapp中对于文件和文件夹的处理,内存的查询

目录 移动文件到指定文件夹 新增本地文件夹 设定本地文件过期时间,清除超时文件,释放内存 操作本地文件之----删除 uniapp获取设备剩余存储空间的方法 读取本地文件夹下的文件 移动文件到指定文件夹 function moveTempFile(tempFilePath, targetFo…...

计算机网络和操作系统常见面试题目(带脑图,做了延伸以防面试官深入提问)

呜哦~~(✪▽✪)曼波~~~~ 今天我们来聊聊计算机网络和操作系统的面试题目吧!这些题目是面试中经常遇到的,曼波觉得掌握它们对面试非常有帮助哦!(๑✧◡✧๑) --- 1. 计算机网络面试题目 1.1 OSI 七层模型是什么? 回答&#xff…...

C++ Primer 条件语句

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

JAVA安全—Shiro反序列化DNS利用链CC利用链AES动态调试

前言 讲了FastJson反序列化的原理和利用链,今天讲一下Shiro的反序列化利用,这个也是目前比较热门的。 原生态反序列化 我们先来复习一下原生态的反序列化,之前也是讲过的,打开我们写过的serialization_demo。代码也很简单&…...

16.React学习笔记.React更新机制

一. 发生更新的时机以及顺序## image.png props/state改变render函数重新执行产生新的VDOM树新旧DOM树进行diff计算出差异进行更新更新到真实的DOM 二. React更新流程## React将最好的O(n^3)的tree比较算法优化为O(n)。 同层节点之间相互比较,不跨节点。不同类型的节…...

React使用 useImperativeHandle 自定义暴露给父组件的实例方法(包括依赖)

关键词 React useImperativeHandle 摘要 useImperativeHandle 是 React 提供的一个自定义 Hook,用于在函数组件中显式地暴露给父组件特定实例的方法。本文将介绍 useImperativeHandle 的基本用法、常见应用场景,以及如何处理其依赖项,以帮…...

Vue 过渡动画实现全解析:打造丝滑交互体验

Vue 过渡动画实现全解析:打造丝滑交互体验 在当今竞争激烈的 Web 开发领域,用户体验已成为衡量项目成功与否的关键指标。过渡动画作为提升用户体验的利器,能让应用的交互更加丝滑流畅,给用户带来愉悦的使用感受。在 Vue.js 框架中…...

从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)

个人主页:chian-ocean 前言: 随着人工智能技术的迅速发展,大语言模型在各个行业中得到了广泛应用。DeepSeek 作为一个新兴的 AI 公司,凭借其高效的 AI 模型和开源的优势,吸引了越来越多的开发者和企业关注。为了更好地…...

Render上后端部署Springboot + 前端Vue 问题及解决方案汇总

有一个 Vue 前端 和 Spring Boot 后端的动态网页游戏,当前在本地的 5173 端口和运行。你希望生成一个公开链接,让所有点击链接的人都能访问并玩这个游戏。由于游戏原本需要在本地执行 npm install 后才能启动,你现在想知道在部署时是选择 Ren…...

Linux——信号的保存与处理

前言:本文主要介绍信号的保存与处理过程。 一、信号阻塞与信号底层逻辑 在linux下面的进程控制块(PCB),存在一个pending变量用于存放接收到的信号,该变量有32位,变量的位代表信号的类别,变量的值代表是否收到信号。进程会根据该变…...

【deepseek-r1本地部署】

首先需要安装ollama,之前已经安装过了,这里不展示细节 在cmd中输入官网安装命令:ollama run deepseek-r1:32b,开始下载 出现success后,下载完成 接下来就可以使用了,不过是用cmd来运行使用 可以安装UI可视化界面&a…...

Docker Desktop Windows 安装

一、先下载Docker desktop WIndows 下载地址 二、安装 安装超简单 一路 下一步 三、安装之后,桌面会出现一个 小蓝鲸图标,打开它 》更新至最新版本,不然小蓝鲸打开,一会就退出了。 》wsl --update (这个有时比较慢…...

pytorch环境已安装库汇总

简略版总计:python pytorch nb_conda(Jupyter Notebook的插件) 创建环境conda create -n pytorch python3.8 conda install nb_conda命令...

基于Django以及vue的电子商城系统设计与实现

基于Django以及vue的电子商城系统设计与实现 引言 随着电子商务的快速发展,越来越多的企业和个人选择搭建线上商城,以提供更加便捷的购物体验。本文基于Python开发了一套电子商城系统,后端采用Django框架,前端使用Vue.js&#x…...

Spring Boot + ShardingSphere 踩坑记

最近在准备秋招,偷了个轮子项目之后想改个分表,于是有了这篇文章。 省流:请使用shardingsphere-jdbc 5.5.2,并根据官方5.5.2版本文档进行配置,不要使用starter。此外,如果希望使用INTERVAL分片算法&#x…...

【算法学习】DFS与BFS

目录 一,深度优先搜索 1,DFS 2,图的DFS遍历 (1),递归实现(隐士栈) (2),显示栈实现(非递归) 二,广度优先搜索 1,BFS 2,图的BF…...

从零到一:开发并上线一款极简记账本小程序的完整流程

从零到一:开发并上线一款极简记账本小程序的完整流程 目录 前言需求分析与功能设计 2.1 目标用户分析2.2 核心功能设计2.3 技术栈选择 开发环境搭建 3.1 微信开发者工具安装与配置3.2 项目初始化3.3 版本控制与协作工具 前端开发 4.1 页面结构与布局4.2 组件化开发…...

centos安装Nexus Repository OSS(Maven私服)

1. 下载链接:https://help.sonatype.com/en/download.html 2. 注意页面下载页面中的要求:JDK17(启动时提示最低JDK1.8最高JDK17,但是使用JDK1.8无法正常启动) 3. mkdir /opt/nexus 将压缩包上传到该目录并解压。 tar …...

Unity使用iTextSharp导出PDF-02基础结构及设置中文字体

基础结构 1.创建一个Document对象 2.使用PdfWriter创建PDF文档 3.打开文档 4.添加内容,调用文档Add方法添加内容时,内容写入到输出流中 5.关闭文档 using UnityEngine; using iTextSharp.text; using System.IO; using iTextSharp.text.pdf; using Sys…...

CSS 属性选择器详解与实战示例

CSS 属性选择器是 CSS 中非常强大且灵活的一类选择器,它能够根据 HTML 元素的属性和值来进行精准选中。在实际开发过程中,属性选择器不仅可以提高代码的可维护性,而且能够大大优化页面的样式控制。本文将结合菜鸟教程的示例,从基础…...

【漫话机器学习系列】088.常见的输出层激活函数(Common Output Layer Activation Functions)

在神经网络中,输出层(Output Layer) 的激活函数(Activation Function)直接决定了模型的输出形式,并影响损失函数的选择及训练效果。不同的任务类型(如分类或回归)需要使用不同的激活…...

STM32 HAL库 UART通讯(C语言)

1、使能UART时钟和GPIO时钟(以USART1为例): __HAL_RCC_USART1_CLK_ENABLE(); // 使能USART1时钟 __HAL_RCC_GPIOA_CLK_ENABLE(); // 使能GPIOA时钟(假设使用PA9/TX, PA10/RX) 2、GPIO配置: GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.P…...

【经验分享】Linux 系统安装后内核参数优化

在 Linux 系统安装后,进行内核优化有助于提升系统的性能、稳定性和安全性。以下是一些常见的内核优化操作: 修改/etc/sysctl.conf 文件 执行sysctl -p使配置生效。 kernel.shmmax 135185569792 kernel.shmall 4294967296 fs.aio-max-nr 3145728 fs.fi…...

【AI大模型】Ollama部署本地大模型DeepSeek-R1,交互界面Open-WebUI,RagFlow构建私有知识库

文章目录 DeepSeek介绍公司背景核心技术产品与服务应用场景优势与特点访问与体验各个DeepSeek-R系列模型的硬件需求和适用场景 Ollama主要特点优势应用场景安装和使用配置环境变量总结 安装open-webui下载和安装docker desktop配置镜像源安装open-webui运行和使用 RagFlow介绍主…...

【Java进阶打卡】JDBC-JDBC快速入门

【Java进阶打卡】JDBC-JDBC快速入门 概述快速入门 概述 快速入门 package com.itheima01;import java.sql.*;public class JDBC01 {public static void main(String[] args) throws ClassNotFoundException, SQLException {// 导入jar包 项目文件下面 创建libs文件夹 该ja…...

CEF132 编译指南 MacOS 篇 - depot_tools 安装与配置 (四)

1. 引言 在 CEF132(Chromium Embedded Framework)的编译过程中,depot_tools 扮演着举足轻重的角色。这套由 Chromium 项目精心打造的脚本和工具集,专门用于获取、管理和更新 Chromium 及其相关项目(包括 CEF&#xff…...

缓存机制与 Redis 在高性能系统中的应用

引言 随着互联网应用日益增长,用户对系统的响应速度和稳定性提出了更高的要求。在高并发、大流量的场景下,数据库的读取压力会急剧上升,导致数据库的响应速度变慢,甚至引发性能瓶颈。为了缓解这一问题,缓存机制成为了…...

WinForm 防破解、反编译设计文档

一、引言 1.1 文档目的 本设计文档旨在阐述 WinForm 应用程序防破解、反编译的设计方案,为开发团队提供详细的技术指导,确保软件的知识产权和商业利益得到有效保护。 1.2 背景 随着软件行业的发展,软件破解和反编译现象日益严重。WinForm…...

晶闸管主要参数分析与损耗计算

1. 主要参数 断态正向可重复峰值电压 :是晶闸管在不损坏的情况下能够承受的正向最大阻断电压。断态正向不可重复峰值电压 :是晶闸管只有一次可以超过的正向最大阻断电压,一旦晶闸管超过此值就会损坏,一般情况下 反向可重复峰值电压 :是指晶闸管在不损坏的情况下能够承受的…...

基于Python的人工智能驱动基因组变异算法:设计与应用(上)

一、引言 1.1 研究目标与内容 本研究旨在设计并应用基于 Python 的人工智能驱动的基因组变异算法,以应对基因组学研究中日益增长的数据挑战,提高对基因组变异的理解和应用能力。主要研究内容包括: 数据预处理:利用 Python 的 Biopython、pandas 等库,对来自公共数据库(…...

自己部署DeepSeek 助力 Vue 开发:打造丝滑的标签页(Tabs)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 自己…...

Python+appium实现自动化测试

目录 一、工具与环境准备 二、开始测试 1、插上手机,打开usb调试,选中文件传输,我这里用华为手机为例 2、启动Appium Server GUI​编辑 3、启动 Inspector Session 4、录制脚本 使用Python和Appium进行自动化测试是一种常见的移动应用…...

解锁大语言模型潜能:KITE 提示词框架全解析

大语言模型的应用日益广泛。然而,如何确保这些模型生成的内容在AI原生应用中符合预期,仍是一个需要不断探索的问题。以下内容来自于《AI 原生应用开发:提示工程原理与实战》一书(京东图书:https://item.jd.com/1013604…...

GPT-SWARM和AgentVerse的拓扑结构和交互机制

GPT-SWARM和AgentVerse的拓扑结构和交互机制 拓扑结构区别 GPT-SWARM:采用图结构,将语言智能体系统描述为可优化的计算图。图中的每个节点代表一个操作,如语言模型推理或工具使用等特定功能,边则描述了操作之间的信息流,代表智能体之间的通信渠道。多个智能体连接形成的复…...

undetected-chromedriver 使用教程,指定浏览器驱动和浏览器版本

前言 浏览器自动化测试,测试过一些网站检测 目录 前言1. 安装 undetected-chromedriver2. 基本使用示例代码:代码解析: 3. 反自动化检测绕过自定义浏览器设置示例:使用自定义 User-Agent示例:启用无头模式&#xff08…...

cmake

一. 是什么 cmake是一个跨平台的构建工具。 跨平台:可以在linux,windows,macos中使用。 构建工具:cmake不直接参与编译,而是生成平台相应的构建工具。比如:linux下的makefile,windows下的.sln(解…...

Linux高并发服务器开发 第十七天(管道缓存区查询大小 管道的优劣 命名管道mkfifo 建立释放映射区mmap/munmap 匿名映射 进程间的通信)

目录 1.pipe管道读写行为 1.1例题:实现父子进程 ls | wc -l 1.2兄弟进程 ls | wc -l 2.管道缓存区 2.1命令查询 2.2函数查询 3.pipe管道的优劣 4.命名管道 fifo 5.mmap 5.1文件进程间通信 5.2建立、释放映射区 5.3匿名映射 6.进程间通信 6.1父子进间通…...

windows系统远程桌面连接ubuntu18.04

记录一下自己在配置过程中遇到的问题,记录遇到的两大坑: windows系统通过xrdp远程桌面连接ubuntu18.04的蓝屏问题。参考以下第一章解决。 同一局域网内网段不同的连接问题。参考以下第三章解决,前提是SSH可连。 1. 在ubuntu上安装xrdp 参考&…...

SQLMesh系列教程-2:SQLMesh入门项目实战(下篇)

上篇我介绍了环境搭建、duckdb数据准备、sqlmesh数据模型、plan命令运行。本文继续介绍审计、测试、生成血缘关系以及python模型等。 有两种方法可以在SQLMesh中创建宏。一种方法是使用Python,另一种方法是使用Jinja。这里我们创建Python宏。让我们构建简单的Python…...

ThinkPHP8视图赋值与渲染

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 在控制器操作中,使用view函数可以传入视图…...

tkinter-TinUI-xml实战(12)应用组启动器

tkinter-TinUI-xml实战(12)应用组启动器 引言主界面单独条目 编辑框命令行指令子任务指令 演示题外话 引言 应用快捷启动器有很多现成软件,但是大多都是将常用软件分类,或者建立一个个包含一套工作、学习环境的软件类区&#xff…...

MySQL隐式转换介绍、常见场景和导致问题、示例代码

概述 MySQL 中的 隐式类型转换 是指在某些操作中,MySQL 会自动将数据的类型转换为另一种类型,以便完成操作。虽然这种特性在某些情况下很方便,但也可能导致性能问题、数据丢失或意外的查询结果。 1. 什么是隐式类型转换? 隐式类…...

Quartz定时任务

官网:http://www.quartz-scheduler.org/ OpenSymphony 开源组织在Job scheduling领域的一个开源项目,基于java实现的任务调度框架 设计模式:Builder模式、Factory模式、组件模式、链式编程 核心概念: 任务Job 想要实现的任务…...