news 2026/9/10 5:48:14

Langchain-Chatchat 本地知识库 RAG 与 Agent 应用:0.3.x 架构解析与全流程部署实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Langchain-Chatchat 本地知识库 RAG 与 Agent 应用:0.3.x 架构解析与全流程部署实战指南

Langchain-Chatchat 本地知识库 RAG 与 Agent 应用:0.3.x 架构解析与全流程部署实战指南

【免费下载链接】Langchain-ChatchatLangchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain项目地址: https://gitcode.com/GitHub_Trending/la/Langchain-Chatchat

本篇技术指南围绕 Langchain-Chatchat(原 Langchain-ChatGLM)展开,系统讲解这个"基于 ChatGLM、Qwen、Llama 等开源大语言模型与 Langchain 框架、可离线部署的 RAG 与 Agent 应用项目"的设计原理、0.3.x 全新架构、模型部署框架接入机制以及从 pip 安装到启动服务的完整落地流程。读者读完本文后,将掌握其实现原理(加载文件 → 文本分割 → 向量化 → 相似检索 → 组装 Prompt → LLM 生成)、YAML 配置体系(model_settings / basic_settings / kb_settings)的核心参数含义,并能独立完成本地私有化知识库问答与 Agent 对话应用的安装、配置、初始化与启动。

项目概述与设计思想

Langchain-Chatchat 是一种利用 Langchain 思想实现的、基于本地知识库的问答应用,其目标定位非常明确:建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。项目支持市面上主流开源 LLM、Embedding 模型与向量数据库,可以全部使用开源模型实现离线私有部署,同时保留了对 OpenAI GPT API 的调用能力。

从项目定位看,Langchain-Chatchat 与普通"LLM 包装壳"有本质区别:核心是通过 RAG 让 LLM 能够基于用户私域文档回答问题。其技术路线受开源社区多个项目启发演化而来,当前版本可借助 Xinference、Ollama 等模型推理框架接入 GLM-4-Chat、Qwen2-Instruct、Llama3 等模型,依托 Langchain 框架通过基于 FastAPI 的 API 对外提供服务,或使用基于 Streamlit 的 WebUI 进行交互。

需要明确的是,本项目不涉及微调与训练过程,属于纯推理期的 RAG + Agent 应用框架;若需要效果优化,可借助外部微调或训练手段对模型进行增强后再接入本项目。

RAG 实现原理:从文件加载到 LLM 生成

Langchain-Chatchat 的 RAG 链路是理解整个项目的钥匙。项目 README 对其实现原理给出了清晰的八步流程:

加载文件 → 读取文本 → 文本分割 → 文本向量化 → 问句向量化 → 在文本向量中匹配出与问句向量最相似的 top k 个 → 匹配出的文本作为上下文和问题一起添加到 prompt 中 → 提交给 LLM 生成回答。

该图(见 docs/img/langchain+chatglm.png)展示了"知识库离线建库 + 在线问答"的经典双阶段结构:左侧是把本地文档离线切分、向量化并存入向量库的过程;右侧是用户提问后,把问句向量化、检索相似片段、与问题拼接成 Prompt 提交给 LLM 的过程。

从文档处理角度进一步展开,可以拆解为如下文件处理管线(对应 docs/img/langchain+chatglm2.png 所示流程):

  1. 文件加载:支持 PDF、Word、PPT、CSV、图片(OCR)、文本等多种格式。仓库中的实际加载器位于 libs/chatchat-server/chatchat/server/file_rag/document_loaders,例如 mypdfloader.py、mypptloader.py、ocr.py 等,并对非结构化文档解析做了兼容处理。
  2. 文本分割:将长文档切分为语义完整的 Chunk。项目内置多种分割器,位于 libs/chatchat-server/chatchat/server/file_rag/text_splitter,其中 chinese_recursive_text_splitter.py 是针对中文场景的递归分割器,默认配置TEXT_SPLITTER_NAME: ChineseRecursiveTextSplitter(见 settings.py)。
  3. 文本向量化(Embedding):调用 Embedding 模型(默认如 bge-large-zh-v1.5 / bge-m3)将文本块转为向量并写入向量库。
  4. 在线检索:将用户问句向量化后,在向量库中检索最相似的 top k 个文本块。
  5. 组装 Prompt 并生成:将检索片段作为上下文与问题一起填入 Prompt 模板,交给 LLM 生成最终回答。

从源码角度印证,上述文件处理与向量入库逻辑集中在 libs/chatchat-server/chatchat/server/knowledge_base 目录中:kb_service/下提供了 faiss、chromadb、milvus、es、pg、zilliz 等多种向量库服务的统一实现;RAG 在线对话的 API 层见 libs/chatchat-server/chatchat/server/chat/kb_chat.py 与 libs/chatchat-server/chatchat/server/api_server/kb_routes.py。

0.3.x 核心功能与能力矩阵

0.3.0 版本对项目进行了全新架构重构,功能对比(0.2.x vs 0.3.x)如下:

功能0.2.x0.3.x
模型接入本地:fastchat;在线:XXXModelWorker本地:model_provider,支持大部分主流模型加载框架;在线:oneapi;所有模型接入均兼容 openai sdk
Agent不稳定针对 ChatGLM3 和 Qwen 进行优化,Agent 能力显著提升
LLM 对话支持支持
知识库对话支持支持
搜索引擎对话支持支持
文件对话仅向量检索统一为 File RAG 功能,支持 BM25 + KNN 等多种检索方式
数据库对话不支持支持
多模态图片对话不支持支持(推荐 qwen-vl-chat)
ARXIV 文献对话不支持支持
Wolfram 对话不支持支持
文生图不支持支持
本地知识库管理支持支持
WEBUI支持更好的多会话支持、自定义系统提示词等

0.3.x 的核心能力围绕Agent构建,但项目同时保留了多档"手动工具调用"的降级方案,以适应不同 Agent 能力的模型,具体操作矩阵如下:

操作方式实现的功能适用场景
选中"启用 Agent",选择多个工具由 LLM 自动进行工具调用使用 ChatGLM3/Qwen 或在线 API 等具备 Agent 能力的模型
选中"启用 Agent",选择单个工具LLM 仅解析工具参数所用模型 Agent 能力一般,不能很好选择工具;或想手动选择功能
不选中"启用 Agent",选择单个工具不使用 Agent 功能时,手动填入参数进行工具调用所用模型不具备 Agent 能力
不选中任何工具,上传一个图片图片对话使用 qwen-vl-chat 等多模态模型

对应源码中,Agent 编排能力位于 libs/chatchat-server/langchain_chatchat/agents,其中 structured_chat 下提供了针对 ChatGLM3(glm3_agent.py)与 Qwen(qwen_agent.py)的专用 Agent 实现;内置工具注册在 libs/chatchat-server/chatchat/server/agent/tools_factory/tools_registry.py 中。而 WebUI 侧的知识库搜索工具依赖样本知识库 samples(详见 libs/chatchat-server/chatchat/server/agent/tools_factory/search_local_knowledgebase.py)。

模型接入架构:模型推理框架统一管理

从 0.3.0 版本起,Langchain-Chatchat不再根据用户输入的本地模型路径直接加载模型,无论是 LLM、Embedding 还是 Reranker(及后续多模态模型),一律通过市面常见的模型推理框架接入。这带来两个重要变化:

  1. 模型加载职责外置:模型由 Xinference、Ollama、LocalAI、FastChat 等框架负责启动与加载,Chatchat 只负责通过 OpenAI 兼容的 HTTP 接口调用,天然支持 GPU / CPU / NPU / MPS 等异构硬件。
  2. 接入即 OpenAI 兼容:所有框架与模型的接入均对齐 OpenAI API 协议,因此在线 API(经 One API 网关)与本地框架可以统一配置、统一调用。

项目官方对本地模型部署框架支持情况的汇总如下:

模型部署框架XinferenceLocalAIOllamaFastChat
OpenAI API 接口对齐支持支持支持支持
加速推理引擎GPTQ, GGML, vLLM, TensorRT, mlxGPTQ, GGML, vLLM, TensorRTGGUF, GGMLvLLM
接入模型类型LLM, Embedding, Rerank, Text-to-Image, Vision, AudioLLM, Embedding, Rerank, Text-to-Image, Vision, AudioLLM, Text-to-Image, VisionLLM, Vision
Function Call支持支持支持不支持
更多平台支持(CPU, Metal)支持支持支持支持
异构支持支持不支持不支持
集群支持支持不支持不支持

此外,项目对 One API 网关的接入提供支持,可统一代理 OpenAI ChatGPT、Azure OpenAI API、Anthropic Claude、智谱清言、百川等常用在线 API。

从源码看,这一设计落实为 settings.py 中的PlatformConfigApiModelSettings.MODEL_PLATFORMS

  • 每个平台(platform)对应一份PlatformConfig,关键字段包括:platform_name(平台名称)、platform_type(可选 xinference / ollama / oneapi / fastchat / openai / custom openai)、api_base_url(OpenAI 兼容接口地址)、api_keyapi_proxy(代理)、api_concurrencies(单模型最大并发数,默认 5)、auto_detect_model(是否自动拉取平台可用模型列表)。
  • 按模型能力维度声明平台可提供的模型:llm_models(大语言模型)、embed_models(Embedding)、rerank_models(重排)、text2image_models(文生图)、image2text_models(多模态)、speech2text_models(语音转写)、text2speech_models(语音合成)。auto_detect_model置为 True 时这些列表可用"auto"自动检测。
  • 仓库默认预置了 xinference(默认监听http://127.0.0.1:9997/v1)、ollama(http://127.0.0.1:11434/v1)、oneapi(http://127.0.0.1:3000/v1)、openai(官方 api)等若干平台配置,并在ApiModelSettings中给出DEFAULT_LLM_MODEL(当前仓库源码默认glm4-chat)与DEFAULT_EMBEDDING_MODEL(源码默认bge-m3)作为默认选用模型。

补充:若使用 Xinference 且希望它加载本机已下载的模型(而非自动联网下载内置模型),可以在启动 Xinference 服务后,进入项目 tools/model_loaders 目录执行streamlit run xinference_manager.py,按页面提示为指定模型设置本地路径。

pip 安装部署全流程

0. 软硬件要求

  • 软件:支持 Python 3.8–3.11,已在 Windows、macOS、Linux 上测试。
  • 硬件:0.3.0 起因改为"框架接入"模型,因此可在 CPU、GPU、NPU、MPS 等不同硬件条件下使用。

1. 安装 Langchain-Chatchat

从 0.3.0 版本起,项目以 Python 库形式发布,直接执行:

pip install langchain-chatchat -U

为确保安装到最新版库,建议使用官方 PyPI 源或清华镜像源。如需搭配 Xinference 使用,由于框架接入需要额外的 Python 依赖,推荐使用带扩展的安装方式:

pip install "langchain-chatchat[xinference]" -U

源码级佐证:当前仓库正是通过 Poetry 管理libs/chatchat-server/pyproject.toml中的可选依赖(extra),libs/chatchat-server/README.md 对库结构与-E xinference等安装方式有更细说明。

2. 启动模型推理框架并加载模型

这是 0.3.x 部署中容易忽视却至关重要的一步:必须在启动 Langchain-Chatchat 之前,先运行所选模型推理框架并加载好要用的模型。以 Xinference 为例,请参照其官方文档完成框架部署与模型加载(LLM、Embedding 均需就绪)。

重要提示:为避免依赖冲突,请把 Langchain-Chatchat 与模型部署框架(如 Xinference)放在不同的 Python 虚拟环境中(conda、venv、virtualenv 均可)。

3. 初始化项目配置与数据目录

从 0.3.1 版本起,项目改用本地YAML 文件管理全部配置,用户可直接查看、修改,服务器会自动更新配置、无需重启(这是由 settings.py 中基于 pydantic 的配置加载与缓存刷新机制实现的)。

第一步:设置 Chatchat 根目录(可选)

# on linux or macos export CHATCHAT_ROOT=/path/to/chatchat_data # on windows set CHATCHAT_ROOT=/path/to/chatchat_data

若未设置该环境变量,将自动使用当前目录作为根目录。

第二步:执行初始化命令

chatchat init

该命令实际完成三件事(对应 cli.py 中init命令的Settings.basic_settings.make_dirs()、复制 samples、create_tables()、生成配置文件模板等逻辑):

  • 创建所有需要的数据目录;
  • 复制 samples 知识库内容;
  • 生成默认 YAML 配置文件。

chatchat init还支持几个实用参数:-x/--xinference-endpoint指定 Xinference API 地址(默认http://127.0.0.1:9997/v1)、-l/--llm-model指定默认 LLM(默认glm4-chat)、-e/--embed-model指定默认 Embedding(默认bge-large-zh-v1.5)、-r/--recreate-kb是否在初始化时同步重建知识库(需确保 Embedding 模型可用)、-k/--kb-names指定重建的知识库名称(多个以逗号分隔,默认samples)。

第三步:修改配置文件,主要包括三类:

  • 配置模型(model_settings.yaml):根据第 2 步实际使用的推理框架与模型填写。需要修改的核心内容包括:
# 默认选用的 LLM 名称 DEFAULT_LLM_MODEL: qwen1.5-chat # 默认选用的 Embedding 名称 DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5

此外,还需要把LLM_MODEL_CONFIGllm_modelaction_model等子配置的模型键改成对应的 LLM 模型,并在MODEL_PLATFORMS中修改对应模型平台的地址与模型列表(平台字段含义见上文"模型接入架构"一节)。

  • 配置数据路径(basic_settings.yaml)(可选):默认知识库位于CHATCHAT_ROOT/data/knowledge_base。若希望把知识库存放到其他位置,或连接已有的知识库,可修改:
# 知识库默认存储路径 KB_ROOT_PATH: D:\chatchat-test\data\knowledge_base # 数据库默认存储路径。如果使用sqlite,可以直接修改DB_ROOT_PATH;如果使用其它数据库,请直接修改SQLALCHEMY_DATABASE_URI。 DB_ROOT_PATH: D:\chatchat-test\data\knowledge_base\info.db # 知识库信息数据库连接URI SQLALCHEMY_DATABASE_URI: sqlite:///D:\chatchat-test\data\knowledge_base\info.db

对应源码见 settings.py 中BasicSettingsKB_ROOT_PATH默认指向CHATCHAT_ROOT/data/knowledge_baseDB_ROOT_PATH默认指向其下的info.dbSQLALCHEMY_DATABASE_URI默认采用 sqlite URI。

  • 配置知识库(kb_settings.yaml)(可选):默认使用 FAISS 向量库。若想改用其它类型的向量库(Chroma、Milvus、ES、PG 等),可修改DEFAULT_VS_TYPEkbs_config(例如在kbs_config中为 milvus 配置search_params/index_params的 metric_type 等参数,为 ES 配置 host、port、user、password、verify_certs 等连接信息)。

4. 初始化知识库

警告:初始化知识库前,务必确认已完成两件事——① 模型推理框架已启动且对应Embedding 模型已加载;② 已按第 3 步完成模型接入配置。

chatchat kb -r

更多子命令可执行chatchat kb --help查看(例如重建特定知识库、指定 Embedding 模型等)。出现以下日志即为成功:

---------------------------------------------------------------------------------------------------- 知识库名称 :samples 知识库类型 :faiss 向量模型: :bge-large-zh-v1.5 知识库路径 :/root/anaconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/data/knowledge_base/samples 文件总数量 :47 入库文件数 :42 知识条目数 :740 用时 :0:02:29.701002 ---------------------------------------------------------------------------------------------------- 总计用时 :0:02:33.414425

日志中的"知识条目数"即向量入库的文本块数量,表明样本知识库已完成切分、向量化与入库。

5. 启动项目

chatchat start -a

-a表示同时启动 API Server 与 WebUI 两个进程。启动成功后会看到 WebUI 界面:

WebUI(见 libs/chatchat-server/chatchat/webui_pages)基于 Streamlit 实现,支持 LLM 对话、知识库对话、Agent 对话、文件对话、数据库对话、多模态对话、WebUI 内嵌的 Agent 工具选择与知识库管理等页面。

注意:默认监听地址DEFAULT_BIND_HOST若为 127.0.0.1,则无法通过其他机器 IP 访问。如需通过本机 IP 远程访问(如 Linux 服务器),需到basic_settings.yaml中将监听地址改为 0.0.0.0。(当前仓库源码 settings.py 在非 Windows 平台默认值即为0.0.0.0,Windows 下为127.0.0.1,请以你本地生成的实际配置文件为准。)

关于 YAML 配置体系(Settings)

部署中的全部配置由chatchat.settings.Settings统一管理,替代旧版chatchat/configs/*.py。该设计(详见 docs/contributing/settings.md)带来的工程收益包括:

  • 配置项与 Python 代码分离,升级代码不再覆盖用户配置,改配置更方便;
  • 切换不同 YAML 文件即可切换不同配置,方便多环境管理与测试;
  • 配置项通过 pydantic 模型定义,加强数据验证、简化环境变量读取,并支持 yaml / json / toml 多种文件后端;
  • 可自动生成 YAML 模板并附带配置说明;
  • 配置读取带缓存,当.yaml/.env文件被修改时可自动刷新缓存(通过Settings.xx_settings.XX方式访问会跟踪文件变更自动刷新;若先把Settings.xx_settings赋给变量再用s.XX方式访问则不会自动刷新)。

分组访问示例:

from chatchat.settings import Settings print(Settings.basic_settings) # 基本配置:数据目录、服务器配置等 print(Settings.kb_settings) # 知识库相关配置 print(Settings.model_settings) # 模型相关配置 print(Settings.tool_settings) # 工具相关配置 print(Settings.prompt_settings) # prompt 模板

chatchat init生成配置模板的具体实现是Settings.createl_all_templates();若自行在源码中新增了配置字段,可执行CHATCHAT_ROOT=/path/to/data chatchat init --gen-config重新生成含新字段的配置模板。

与 API 服务的衔接

启动后,所有 HTTP 接口都可以在{api_address}/docs(Swagger 文档)中查看参数并直接测试。常用接口包括:

  • GET /tools:列出所有工具及其参数、配置信息(如知识库检索工具search_local_knowledgebase的 database 可选列表、top_k、score_threshold 等)。
  • POST /chat/chat/completions:通用对话接口,兼容 OpenAI SDK 格式,支持纯 LLM 对话、Agent 对话(传tools)、半 Agent 对话(传tool_choice)三种模式。
  • POST /knowledge_base/chat/completions:面向 RAG 的专用接口,支持local_kb(本地知识库)、temp_kb(临时文件知识库)、search_engine(搜索引擎)三种检索模式,以及top_kscore_thresholdreturn_direct(仅返回检索结果不经 LLM)等增强参数。

更完整的调用示例(含 SSE 流式输出、Agent 步骤status字段语义等)请参阅 docs/contributing/api.md。

常见问题:Windows 下重建知识库卡住

Windows 下重建知识库或添加知识文件时卡住不动,常出现于新建的虚拟环境。可先执行下面语句确认问题根因:

from unstructured.partition.auto import partition

若该语句执行卡住,说明python-magic-bin版本不兼容,可执行以下命令卸载后重装匹配的版本:

pip uninstall python-magic-bin # 查看被卸载的版本号 pip install 'python-magic-bin=={version}'

然后重新执行知识库初始化即可。

源码安装部署(开发部署)

从 0.3.0 版本起,源码部署不再使用 requirements.txt,而是改用Poetry管理依赖,以规避依赖包版本冲突并支持 pip 方式的库打包发布。简要步骤如下(完整说明见 docs/contributing/README_dev.md):

  1. 克隆 master 分支代码(使用源码启动请拉取 master 分支)。
  2. 安装 Poetry,并建议先用conda create -n chatchat python=3.9创建独立环境。
  3. 进入服务端主目录安装依赖(libs/chatchat-server):
cd libs/chatchat-server/ poetry install --with lint,test -E xinference # 或者以可编辑模式用 pip 安装 pip install -e .

开发环境下若需把当前代码打包成 Python 库进行测试,可在该目录执行poetry build,构建产物生成于dist/目录。 4.设置数据根目录并初始化

export CHATCHAT_ROOT=/path/to/chatchat_data python chatchat/cli.py init

(也可在仓库根目录直接调用libs/chatchat-server/chatchat/cli.py下的同一套命令。) 5.初始化知识库python chatchat/cli.py kb --recreate-vs。注意该命令会清空数据库、删除已有配置文件,执行前请备份重要数据。如需使用其它 Embedding 模型或只重建特定知识库,用python chatchat/cli.py kb --help查看参数。 6.启动服务python chatchat/cli.py start -a

依赖变动时,更新主目录pyproject.toml后执行poetry update;需要 API 对接时参阅 docs/contributing/api.md。

Docker 部署

如需以容器方式快速体验,可拉取已构建镜像:

docker pull chatimage/chatchat:0.3.1.3-93e2c87-20240829 docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-93e2c87-20240829 # 国内镜像

强烈建议使用 docker-compose 进行部署,具体步骤参考 docs/install/README_docker.md。仓库根目录同时提供了 Dockerfile(见 docker/Dockerfile)可供镜像构建参考。

旧版本(0.2.x)迁移说明

0.3.x 相比 0.2.x 结构改变很大,官方强烈建议按照文档全新部署,迁移指南不保证 100% 兼容与成功,迁移前务必备份重要数据。参考步骤如下:

  1. 按上述"安装部署"中的步骤完成运行环境配置、修改配置文件;
  2. 将 0.2.x 项目的knowledge_base目录拷贝到新版本配置的DATA目录下。

版本里程碑

了解项目演进有助于判断各版本能力边界(此处仅陈述仓库记录的公开信息,不包含任何未经验证的性能或规模断言):

  • 2023年4月:发布Langchain-ChatGLM 0.1.0,支持基于 ChatGLM-6B 的本地知识库问答。
  • 2023年8月Langchain-ChatGLM更名为Langchain-Chatchat,发布0.2.0,使用 fastchat 作为模型加载方案,支持更多模型与数据库。
  • 2023年10月:发布0.2.5,推出 Agent 内容。
  • 2023年12月:开源项目获得超过 20K stars。
  • 2024年6月:发布0.3.0,带来全新项目架构。

源码阅读地图

若希望深入本项目做二次开发或贡献,建议按以下路径阅读仓库关键源码(主代码位于 libs/chatchat-server/chatchat):

  • 配置体系:libs/chatchat-server/chatchat/settings.py(含各 XXSettings 类的完整字段注释与默认值)、docs/contributing/settings.md
  • CLI 入口:libs/chatchat-server/chatchat/cli.py(init/kb/start三个子命令)、libs/chatchat-server/chatchat/init_database.py
  • 服务启动:libs/chatchat-server/chatchat/startup.py、API 组装见 libs/chatchat-server/chatchat/server/api_server/server_app.py
  • RAG 实现:libs/chatchat-server/chatchat/server/knowledge_base(向量库服务、文档入库)、libs/chatchat-server/chatchat/server/file_rag(文档加载与分割)
  • Agent 与工具:libs/chatchat-server/langchain_chatchat/agents、libs/chatchat-server/chatchat/server/agent/tools_factory/tools_registry.py
  • 测试用例(可用作行为参考):libs/chatchat-server/tests(API 级测试含 test_stream_chat_api.py、test_tools.py 等,向量库级测试见 kb_vector_db)
  • 开发协作相关:docs/contributing/README.md、docs/contributing/repo_structure.md

协议

本项目代码遵循 Apache-2.0 协议,协议全文见 LICENSE。

【免费下载链接】Langchain-ChatchatLangchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain项目地址: https://gitcode.com/GitHub_Trending/la/Langchain-Chatchat

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 5:47:56

AI文本人性化改写:特征检测与自然度优化实战指南

1. 先看清楚:humanizer 要解决的是哪种“AI味” 1.1 AI 文本的指纹到底藏在哪里 我做了两年多的内容工具链开发,接触过大量 AI 生成的初稿。说实话,绝大多数人抱怨“一眼假”,并不是因为内容本身有事实错误,而是文本的…

作者头像 李华
网站建设 2026/9/10 5:47:25

DeepSeek Harness实测:插件化架构如何重塑AI工具生态

最近几天打开技术社区,满屏都是 DeepSeek Harness 的讨论。有人把它捧成"AI 时代的 Chrome",也有人泼冷水说不过是又一轮插件生态圈地。作为一个从命令行时代就开始折腾各种工具链的老玩家,我花了整整一个周末把 Harness 从安装到深…

作者头像 李华
网站建设 2026/9/10 5:46:37

2030年软件测试趋势:AI接管重复劳动,质量工程成核心

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 5:43:10

Hermes-Agent:轻量级任务协同协议解析与工业落地实践

1. 从零开始理解 Hermes-Agent:它不是另一个“智能体框架”,而是一套轻量级任务协同协议你第一次在 GitHub Trending 或某次技术分享里看到hermes-agent这个词时,大概率会下意识把它归类为“又一个大模型智能体(Agent)…

作者头像 李华
网站建设 2026/9/10 5:43:09

智能中控屏全链路解析:从芯片选型到场景联动落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 5:42:49

vLLM-Omni源码解析:多模态流式推理的工程实践与性能实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华