ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DB-GPT 接入阿里云 Qwen(通义千问)模型:DashScope API 代理配置完整实战指南

DB-GPT 接入阿里云 Qwen(通义千问)模型:DashScope API 代理配置完整实战指南 DB-GPT 接入阿里云 Qwen通义千问模型DashScope API 代理配置完整实战指南【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT本篇技术指南讲解如何在 DB-GPT 中通过 DashScope API 接入阿里云通义千问Qwen系列大模型与 Embedding 模型。文章以仓库自带的 dbgpt-proxy-tongyi.toml 配置模板为主线完整覆盖依赖安装、模型接入配置、可用模型清单、服务启动与常见问题排查并深入到 TongyiLLMClient 与 TongYiEmbeddings 的源码实现帮助你理解配置项背后的实际调用链路。读完本文你将能够在自己的环境中一键启动一个使用 qwen-plus 作为对话模型、text-embedding-v3 作为知识库向量模型的 DB-GPT 服务。前置条件在开始配置前需要确认两个前提DashScope API Key前往阿里云百炼DashScope控制台申请 API Key并确保该 Key 已开通activated且对应的模型服务处于可用状态。已安装 DB-GPT 且包含proxy_openai扩展因为通义千问的接入走的是 OpenAI 兼容模式接口DashScope Compatible ModeDB-GPT 底层使用 OpenAI 兼容的 HTTP 客户端与 DashScope 通信。从源码看TongyiLLMClient 直接继承自OpenAILLMClient因此proxy_openai相关依赖是必需的。安装依赖使用uv同步 DB-GPT 项目依赖并显式指定运行代理模型、RAG 知识库和插件市场所需的 extrasuv sync --all-packages \ --extra base \ --extra proxy_openai \ --extra rag \ --extra storage_chromadb \ --extra dbgpts说明proxy_openai提供 OpenAI 兼容的代理模型客户端是连接 DashScope 兼容模式的依赖基础rag启用知识库RAG能力配合text-embedding-v3完成文档向量化storage_chromadb使用 Chroma 作为向量存储后端与默认配置文件中[rag.storage.vector]的type chroma对应dbgpts启用 DB-GPT 的插件/技能dbgpts市场。如果你的环境不是通过uv管理的也可以按项目常规方式pip install安装相应 extras原理相同。配置接入编辑 dbgpt-proxy-tongyi.tomlDB-GPT 仓库在 configs/dbgpt-proxy-tongyi.toml 提供了通义千问的完整配置模板。最小化的模型接入配置如下[models] [[models.llms]] name qwen-plus provider proxy/tongyi api_base https://dashscope.aliyuncs.com/compatible-mode/v1 api_key ${env:DASHSCOPE_API_KEY} [[models.embeddings]] name text-embedding-v3 provider proxy/tongyi api_url https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings api_key ${env:DASHSCOPE_API_KEY}各字段含义与要点字段值说明[[models.llms]]—声明一个 LLM 模型条目TOML 数组元素nameqwen-plusDB-GPT 中使用的模型名也是 UI 中展示的名称providerproxy/tongyi供应商标识。DB-GPT 通过该标识在模型适配器注册表中找到通义适配器见下文实现原理api_basehttps://dashscope.aliyuncs.com/compatible-mode/v1DashScope OpenAI 兼容模式的 Base URL所有 Chat 请求基于此地址api_key${env:DASHSCOPE_API_KEY}API Key使用${env:VAR}插值语法从环境变量读取避免密钥写入配置文件[[models.embeddings]]—声明一个 Embedding 模型条目api_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1/embeddings向量化接口的完整 URL注意与 LLM 的api_base字段名不同安全提示强烈建议通过环境变量注入密钥。在 shell 中执行export DASHSCOPE_API_KEYyour-dashscope-api-key配置文件中${env:DASHSCOPE_API_KEY}会被 DB-GPT 启动时自动替换为环境变量值。仓库自带的模板文件还包含大量服务级配置虽然模型接入只需要上面的最小片段但了解完整模板有助于理解运行环境。核心部分如下[system] language ${env:DBGPT_LANG:-en} api_keys [] encrypt_key your_secret_key [service.web] host 0.0.0.0 port 5670 cors_allowed_origins ${env:DBGPT_CORS_ALLOWED_ORIGINS:-*} [service.web.agent_context] max_context_tokens 0 reserved_tokens 4096 warning_threshold 0.70 error_threshold 0.90 critical_threshold 0.95 min_keep_recent_rounds 3 max_observation_age_rounds 5 truncated_observation_max_chars 200 min_keep_tokens 10000 max_compact_failures 3 max_parallel_subagents 3 [service.web.database] type sqlite path pilot/meta_data/dbgpt.db [rag.storage] [rag.storage.vector] type chroma persist_path pilot/data这些配置的作用[service.web]Web 服务监听0.0.0.0:5670即 DB-GPT 默认端口cors_allowed_origins默认放开所有来源[service.web.agent_context]智能体上下文窗口预算管理。max_context_tokens 0表示由所选模型的元数据自动探测上下文长度reserved_tokens预留给输出的 token 数warning_threshold/error_threshold/critical_threshold定义了上下文使用率的告警水位max_parallel_subagents控制并行子智能体数量[service.web.database]应用元数据存储在 SQLitepilot/meta_data/dbgpt.db[rag.storage.vector]RAG 向量库使用 Chroma数据持久化在pilot/data目录。可用模型清单LLM 模型模型配置名name特点Qwen-Maxqwen-max旗舰模型质量最好Qwen-Plusqwen-plus性能与成本均衡默认配置即此模型Qwen-Turboqwen-turbo响应最快、成本最低Qwen-Longqwen-long超长上下文窗口需要说明的是DB-GPT 适配器源码中内置的模型元数据以qwen-max系列为主详见下文源码解析qwen-plus/qwen-turbo/qwen-long等型号同样通过 DashScope 兼容接口访问可以直接填写为name使用。Embedding 模型模型配置名name特点text-embedding-v3text-embedding-v3推荐使用支持 50 工作语言text-embedding-v2text-embedding-v2上一代模型从源码注册信息看text-embedding-v3的向量维度为 1024上下文长度为 8192见 packages/dbgpt-ext/src/dbgpt_ext/rag/embeddings/tongyi.py#L151-L163这些元数据会被 DB-GPT 用于向量库建索引和上下文长度规划。启动 DB-GPT 服务配置完成并设置好环境变量后通过--config指定配置文件启动 Web 服务uv run dbgpt start webserver --config configs/dbgpt-proxy-tongyi.toml启动成功后浏览器访问http://localhost:5670即可打开 DB-GPT 的 Web UI在模型列表中应能看到qwen-plus知识库创建页则可选择text-embedding-v3作为向量模型。之后便可以直接进行对话或将文档导入知识库进行 RAG 问答。源码级原理Tongyi 适配器如何工作配置中的provider proxy/tongyi是关键DB-GPT 靠它完成模型客户端的装配。整个链路如下1. 注册代理模型适配器在 packages/dbgpt-core/src/dbgpt/model/proxy/llms/tongyi.py#L135-L162 中register_proxy_model_adapter将TongyiLLMClient注册为proxy/tongyi供应商的客户端实现。该函数位于 packages/dbgpt-core/src/dbgpt/model/proxy/base.py#L465-L519会动态生成一个ProxyLLMModelAdapter其match()方法只匹配_provider proxy/tongyi的请求从而把模型名解析到正确的客户端类。2. 客户端继承 OpenAI 兼容实现TongyiLLMClient 继承自OpenAILLMClient构造函数会依次从显式参数 → 环境变量 → 内置默认值三级回退取值api_base api_base or os.getenv(DASHSCOPE_API_BASE) or _DEFAULT_API_BASE api_key api_key or os.getenv(DASHSCOPE_API_KEY)其中默认地址_DEFAULT_API_BASE https://dashscope.aliyuncs.com/compatible-mode/v1默认模型_DEFAULT_MODEL qwen-max-latest超时时间默认 240 秒。同时客户端强制要求openai 1.0否则抛出升级提示check_sdk_version。这也印证了前置条件必须包含proxy_openai扩展的要求。3. 内置模型元数据register_proxy_model_adapter注册时还声明了supported_models元数据例如qwen-max-latest/qwen-max-2025-01-25/qwen-max的context_length为 32K 且支持函数调用function calling同时 DashScope 平台上的deepseek-r1、deepseek-v3等第三方模型也可通过同一代理接入。这些元数据正是agent_context.max_context_tokens 0时自动探测上下文长度的依据。4. Embedding 实现TongYiEmbeddings 负责向量化。它对text-embedding-v3强制将批大小限制为 6其他模型为 25并按text_index排序后返回与输入顺序一致的向量列表embed_query则通过embed_documents([text])[0]复用批量接口。5. CLI 档案Profile在 packages/dbgpt-core/src/dbgpt/cli/_profiles.py#L111-L121 中qwen档案记录了官方推荐值环境变量DASHSCOPE_API_KEY、LLM 默认模型qwen-plus、供应商proxy/tongyi、Embedding 默认text-embedding-v3。如果你使用dbgptCLI 的交互式初始化命令生成配置得到的即为与本文一致的推荐参数。常见问题排查问题解决方案InvalidAPIKey错误检查 DashScope API Key 是否正确并确认已在百炼控制台激活对应模型服务模型配额已耗尽quota exceeded登录 DashScope 控制台查看当前账号的使用额度与限流情况响应缓慢换用qwen-turbo可获得更快的响应速度也可检查timeout参数默认 240s是否过短提示缺少 openai 依赖按pip install --upgrade openai1.0升级或确认已安装proxy_openaiextra下一步Getting Started 快速开始完整的安装与上手流程模型供应商总览查看如何接入其他模型供应商OpenAI、DeepSeek、Kimi、GLM 等模型接入配置参考仓库中的通义千问完整配置文件模板【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表