博度AI · 1000万+ 知识库检索接口 v2.1 KnowledgeSearch API · 把知识库当顾问 · 不当摆设
返回首页
 BODU AI · API REFERENCE · V2.1

博度AI-超1000万+ 知识库检索接口 KnowledgeSearch

通过 function_code 指定专属向量知识库,对其做语义检索;一个 function_code 可绑定一个或多个 collection 实现联合检索;v2.1 新增 多库并发9 大预设组合关键词自动推荐——这是博度AI 企业 RAG 体系的核心入口,也是俗人六哥团队所有智能体、文章创作、企业管理、营销、设计、策划、客户咨询助手的底座,预计26年底更新到1亿的知识库体量。

VERSION
v2.1
METHOD
POST
知识库
10 大
STATUS
Online

接口介绍

KnowledgeSearch 是博度AI 企业知识库体系对外暴露的核心检索接口。它不直接生成答案,而是对 function_code 所绑定的一个或多个向量知识库做语义检索,返回最相关的若干知识片段及其元数据;后续拼 Prompt、调大模型、做业务加工,都在调用方的业务层处理——这样最灵活,也方便按业务场景切换不同的大模型。

典型调用链路

用户问题业务系统POST /api/v2/KnowledgeSearch向量检索返回 Top-N 片段拼入大模型 Prompt生成最终回答

v2.1 新增能力

  • 10 大知识库矩阵:覆盖博度AI 团队的全部业务知识,新增 lg100_medicine_first_aid_health(医学/急救/健康);
  • 多库并发查询:1 次请求最多并发查 6 个 function_code,结果按 collection 分组返回 + 扁平化合并;
  • 9 大预设组合:把"AI 落地文章""短视频脚本""企业管理"等常见场景预先打包,一行命令调通;
  • 关键词自动推荐:把 query 丢进去,自动选最匹配的预设;
  • 真实响应结构修订:v2.0 文档把 data.search_results.{collection} 误写成 data.results[],v2.1 修正为以实际响应结构为准。
设计哲学

本接口只做"找"的活——找到相关知识片段。后续拼 Prompt、调模型、做业务加工,都放业务层处理;这样既能按业务切不同大模型,也能让向量库专注做好"检索"这一件事。

3 步跑通第一次调用

第一次接入,60 秒就能跑出第一条结果。三步走:

01

申请 API Key

博度AI 后台 申请密钥,格式为 sk_lg-xxxxxx;建议按应用/环境拆分,方便吊销。

02

选 function_code

从下方「10 大知识库总表」挑一个;联调用 lg01_lg_ai_QA(AI 综合库)或 interface_test(测试通道)即可。

03

发请求

用任意语言发起 POST 请求;下面给的 cURL 命令复制到终端就能跑——三处替换:API Key、function_code、query。

最小可运行示例

CURL · MINIMAL
curl -X POST "https://ailg666.top/api/v2/KnowledgeSearch" \
  -H "Authorization: Bearer sk_lg-你的Key" \
  -H "Content-Type: application/json" \
  -d '{
    "function_code": "lg01_lg_ai_QA",
    "query": "AI 如何落地到企业",
    "limit": 5
  }'
联调清单

sk_lg-你的Key 替换成真实 Key;把 function_code 改成你要调的那个;把 query 改成你的问题。三处替换完,就能跑。 / 这里获取apikey

认证 + 接口地址

接口地址

ENDPOINT
POST https://ailg666.top/api/v2/KnowledgeSearch

认证方式 · Bearer Token

每次调用必须在 HTTP Header 里带 Authorization

HEADERS
Authorization: Bearer sk_lg-你的Key
Content-Type: application/json
安全提醒

API Key 是身份凭证,永远不要写进前端代码、提交到公开仓库;生产环境用环境变量或 KMS 管理;公网网关前面再加一层自家鉴权——出事时能做到最小影响面。

请求参数 + 响应格式

请求参数(JSON Body)

function_code string 必填
指定调用哪个向量知识库。必须是系统已配置的编码(详见「10 大知识库总表」);否则返回 RESOURCE_CONFIG_NOT_FOUND;一个 function_code 可在后台绑定 1 个或多个 collection 实现联合检索。
示例:lg01_lg_ai_QA
query string 必填
检索问题或关键词。建议保持"问题化",把用户原始问题直接传入即可,不必做重写、扩写——模型和向量库会处理。
示例:"企业怎么落地 AI"
limit integer 可选
每个 collection 返回的最大条数;默认 5;RAG 拼 Prompt 一般 3 到 8 条够了,太多会稀释大模型注意力。
示例:5

成功响应(真实结构 · v2.1 修订)

v2.0 文档曾把命中数组写成 data.results[],实际响应结构是 data.search_results.{collection_name} ——v2.1 起以实际为准:

200 OK
{
  "success": true,
  "code": 200,
  "message": "OK",
  "data": {
    "function_code": "lg01_lg_ai_QA",
    "query": "AI 如何落地到企业",
    "search_results": {
      "lg_ai_QA": [
        {
          "content": "企业 AI 落地的第一性原理是:先跑通一个高频业务闭环...",
          "score": 0.4521,
          "rerank_score": 0.9928,
          "metadata": {
            "source": "博度AI-企业落地方法论-第3章",
            "chunk_id": "ch3_p12",
            "tags": ["AI落地", "ABC模型"]
          }
        }
        /* ... 其余命中片段,按 rerank_score 倒序 ... */
      ]
    }
  },
  "points_consumed": 1,
  "request_id": "req_a1b2c3d4e5f6",
  "timestamp": "2026-04-28T10:30:45+08:00"
}

失败响应

404 NOT FOUND
{
  "success": false,
  "code": 404,
  "message": "RESOURCE_CONFIG_NOT_FOUND",
  "error": {
    "detail": "function_code 'lg99_not_exist' 未在系统中配置",
    "hint": "请到博度AI 后台检查 function_code 是否正确,或联系管理员配置"
  },
  "request_id": "req_x9y8z7w6v5u4"
}

响应字段说明

字段类型说明
successboolean调用是否成功;业务层判断以此字段为准。
codeinteger业务状态码,通常与 HTTP 状态码一致。
messagestring状态消息;成功为 OK,失败为错误标识。
data.search_resultsobject核心字段;按 collection 名分组的命中片段。
data.search_results.{coll}[]array该 collection 下的命中数组,按 rerank_score 倒序。
[].contentstring命中知识片段原文。
[].scorefloat语义相似度初始得分(0 到 1)。
[].rerank_scorefloatrerank 后的最终得分(0 到 1);推荐用这个排序与卡阈值。
[].metadataobject片段元数据:来源、chunk_id、标签等。
points_consumedinteger本次调用消耗的点数。
request_idstring本次请求唯一 ID;排障时请一并提供。

10 大知识库总表

下面是当前博度AI 体系中可用的 10 大向量知识库;每个 function_code 在后台已配置好对应的 collection(向量集合);调用时直接填入 function_code 即可。

命名规则

function_code 一般是 lg{编号}_{业务关键词}; 下面内容 每个小模块 右上角的数字+英文,就是的function_code的编码;编号 01 到 99 是六哥团队主业务库,100 起是公益/通识类库;调用时记 function_code 即可,collection 是后台细节。

01 lg01_lg_ai_QA
AI 企业赋能培训 · 专业知识库
博度AI 综合 AI 赋能技术库;AI 落地、ABC 模型、企业 AI 应用、提示词工程、智能体设计——所有 AI 落地相关问题的主干来源。
AI 落地 ABC 模型 提示词 智能体
02 lg02_liuge_ai_train_tools_agents
业务/工具/插件/智能体清单
博度团队内部所有工具、插件、智能体清单,含官方链接地址;做"工具介绍页""智能体清单页"必查这里。
工具清单 智能体 业务介绍 链接索引
03 lg10_copywriting_marketing_psychology
文案 · 营销 · 心理 · 传播
文案技巧、营销原理、用户心理、传播学原理;写营销文案、做钩子、抓用户注意力都从这里取料。
文案 用户心理 营销 钩子
04 lg08_thinking_reconstruction_metacognition
元思考 · 元认知 · 第一性原理
思维升级、认知重构、社会本质原则;用户要"底层逻辑""第一性原理"内容时必加。
元认知 底层逻辑 第一性原理
05 lg15_short_video_topic_ip_money
短视频 · 选题 · 流量 · IP 变现
短视频选题、流量获取、IP 打造、变现模式;做抖音、视频号、小红书内容策略的主库。
短视频 IP 打造 变现 流量
06 lg13_popular_video_case_structure_expand
爆款短视频案例 · 黄金 3 秒 · 策划
视频脚本结构、开头钩子、案例拆解;写脚本、做开头、找参照都从这里取料。
脚本结构 黄金 3 秒 案例
07 lg11_company_team_management_strategy_growth
企业创新 · 团队 · 战略 · 增长
企业创新、团队管理、组织设计、战略增长、投资逻辑;写"老板视角""企业视角"内容必加。
企业管理 战略 组织 增长
08 lg09_design_plan_creativity
产品设计 · 创意 · 海报策划
视觉设计、创意方法、策划思路;做海报、视觉、创意提案都用得上。
设计 创意 海报 策划
09 lg25_liuge_ip_thinking_style_doing_methodology
俗人六哥 IP · 风格 · 方法论
六哥的口吻、观点、风格、价值观、做事方法论;用户要"六哥风格"内容必加,决定整篇语气。
六哥风格 IP 思维 方法论
10 lg100_medicine_first_aid_health
医学 · 急救 · 健康
v2.1 新增。生命急救常识、医学基础、健康知识;可用于做企业健康卡、HR 健康关怀助手、急救常识答疑等场景,不做诊断结论
医学 急救 健康 v2.1 新增

兜底测试通道

不知道选哪个、想先把链路打通时,用 interface_test——这是测试通道,会返回 mock 数据,方便确认鉴权、网络、SDK 都没问题。

function_code 与 collection 的关系

function_code调用层的编码;一个 function_code 在后台可绑定 1 个或多个 collection(实际向量集合);这样就能在一次调用里实现多知识库联合检索——比如把"六哥风格"和"私域知识库"绑到同一个 function_code 上,一次 query 同时检索两个库。

多库并发查询(v2.1 核心新增)

v2.1 之前,"AI 落地文章"这种跨库主题需要调 3 次接口、自己合并结果。v2.1 给了官方的多库并发方案:用 Python SDK 函数 search_knowledge_multi(),一次最多并发查 6 个 function_code,结果按 code 分组返回 + 扁平化合并。

使用场景

  • 跨主题创作:用户问"企业怎么用 AI 做短视频"——AI 库 + 短视频库 + 企业管理库 3 个一起查;
  • 风格融合:基础库 + lg25_liuge_...(六哥风格库)一起查,让回答既有干货又有六哥味;
  • 智能体路由:智能体不确定该查哪个库,就一次查 3 到 4 个,让 rerank_score 自然投票。

SDK 函数签名

PYTHON · SDK
def search_knowledge_multi(
    function_codes: List[str],    # 要并发查的 function_code 列表(去重后最多 6 个)
    query: str,                   # 同一个 query 发给所有库
    limit: int = 5               # 每个库返回多少条
) -> Dict[str, Any]:
    """
    返回结构:
    {
      "success": bool,                # 任一库成功即 True
      "total_queried": int,
      "success_count": int,
      "query": str,
      "results_by_code": {            # 按 code 分组的详细结果
        "lg01_lg_ai_QA": { "success": true, "hits": [...] },
        "lg25_...":      { "success": true, "hits": [...] },
        ...
      },
      "merged_hits": [                # 扁平化合并,每条带 from 标注
        {"from": "lg01_lg_ai_QA", "content": {...}},
        {"from": "lg25_...",      "content": {...}},
        ...
      ]
    }
    """

命令行用法(开箱即用)

BASH
# 单库查询
python query_knowledge.py -f lg01_lg_ai_QA -q "AI 如何落地到企业"

# 多库并发查询(最多 6 个)
python query_knowledge.py \
    -f lg01_lg_ai_QA lg25_liuge_ip_thinking_style_doing_methodology \
    -q "六哥怎么看 AI 落地"

# 指定每库返回数量
python query_knowledge.py -f lg01_lg_ai_QA -q "ABC 模型" -l 3
为什么是 6 个上限

实测下来,6 个 function_code 并发已经覆盖绝大多数跨主题场景;超过 6 个会出现"信息稀释"——rerank 分数被拉平,反而抓不到真正相关的片段。宁少勿多,2 到 4 个最佳。

9 大预设组合 + 关键词自动推荐

每次都记 function_code 太麻烦——v2.1 把"常见文章主题 + 库组合"打包成 9 大预设;调用时只传 --preset--auto,省去记 code 的麻烦。

9 大预设组合

--preset ai_article
AI 落地 / 企业 AI
lg01_lg_ai_QA
lg11_company_team_management...
lg25_liuge_ip_thinking...
--preset short_video_article
短视频脚本 / IP 打造
lg15_short_video_topic_ip_money
lg13_popular_video_case_structure...
lg10_copywriting_marketing...
--preset marketing_article
文案 / 营销 / 心理
lg10_copywriting_marketing...
lg08_thinking_reconstruction...
lg13_popular_video_case_structure...
--preset company_article
企业管理 / 战略
lg11_company_team_management...
lg08_thinking_reconstruction...
lg01_lg_ai_QA
--preset thinking_article
元认知 / 思维
lg08_thinking_reconstruction...
lg25_liuge_ip_thinking...
lg11_company_team_management...
--preset design_article
设计 / 创意
lg09_design_plan_creativity
lg10_copywriting_marketing...
lg15_short_video_topic_ip_money
--preset liuge_voice_article
六哥风格文章
lg25_liuge_ip_thinking...
lg01_lg_ai_QA
lg10_copywriting_marketing...
--preset tools_article
工具 / 智能体介绍
lg02_liuge_ai_train_tools_agents
lg01_lg_ai_QA
lg25_liuge_ip_thinking...
--preset health_article
医学 / 急救 / 健康(v2.1 新增)
lg100_medicine_first_aid_health
lg08_thinking_reconstruction...
lg10_copywriting_marketing...

关键词自动推荐

不想选预设?直接 --auto——脚本扫 query 里的关键词,自动选最匹配的预设:

BASH · AUTO MODE
# 自动按关键词路由
python decompose_and_query.py --auto -q "短视频黄金 3 秒怎么写"
# → 命中 ["短视频","黄金3秒","视频脚本"] → 自动选 short_video_article

python decompose_and_query.py --auto -q "突然胸口疼怎么办"
# → 命中 ["急救","健康","生病"] → 自动选 health_article

python decompose_and_query.py --auto -q "六哥谈企业怎么做 AI 培训"
# → 命中 ["六哥","ai落地"] → 自动选 liuge_voice_article
关键词路由表(节选)

ai 落地 / 企业 ai / abc 模型 / 智能体ai_article
短视频 / 黄金 3 秒 / ip 打造 / 流量short_video_article
急救 / 健康 / 生病 / 医学health_article(v2.1 新增);
六哥 / 刘哥 / 俗人风格liuge_voice_article

调用示例代码

下面给 Python、cURL、Java、Node.js、多库并发 5 种示例;每份都可直接复制、替换 API Key 后跑通。

Python cURL Java Node.js 多库并发
# -*- coding: utf-8 -*-
"""博度AI 知识库检索 · 单库示例"""
import requests, json

BASE_URL = "https://ailg666.top"
API_URL  = f"{BASE_URL}/api/v2/KnowledgeSearch"
API_KEY  = "sk_lg-你的Key"

def search(function_code, query, limit=5):
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type":  "application/json",
    }
    payload = {"function_code": function_code, "query": query, "limit": limit}

    resp = requests.post(API_URL, headers=headers, json=payload, timeout=30)
    data = resp.json()

    if data.get("success"):
        # 真实结构:data.search_results.{coll_name} = [hits]
        search_results = data["data"]["search_results"]
        for coll, hits in search_results.items():
            print(f"📚 {coll} 命中 {len(hits)} 条")
            for h in hits:
                print(f"  · score={h['rerank_score']:.4f}")
                print(f"    {h['content'][:80]}...")
    else:
        print("❌ 失败:", data.get("message"))

if __name__ == "__main__":
    search("lg01_lg_ai_QA", "AI 如何落地到企业")
curl -X POST "https://ailg666.top/api/v2/KnowledgeSearch" \
  -H "Authorization: Bearer sk_lg-你的Key" \
  -H "Content-Type: application/json" \
  -d '{
    "function_code": "lg01_lg_ai_QA",
    "query": "AI 如何落地到企业",
    "limit": 5
  }'
/**
 * 博度AI 知识库检索 · Java + OkHttp
 * 依赖:com.squareup.okhttp3:okhttp:4.12.0
 *      com.google.code.gson:gson:2.10.1
 */
import okhttp3.*;
import com.google.gson.*;
import java.io.IOException;

public class BoduKnowledgeSearch {
    private static final String BASE_URL = "https://ailg666.top";
    private static final String API_URL  = BASE_URL + "/api/v2/KnowledgeSearch";
    private static final String API_KEY  = "sk_lg-你的Key";

    private static final OkHttpClient CLIENT = new OkHttpClient.Builder().build();
    private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");

    public static void main(String[] args) throws IOException {
        JsonObject payload = new JsonObject();
        payload.addProperty("function_code", "lg01_lg_ai_QA");
        payload.addProperty("query", "AI 如何落地到企业");
        payload.addProperty("limit", 5);

        Request request = new Request.Builder()
            .url(API_URL)
            .addHeader("Authorization", "Bearer " + API_KEY)
            .post(RequestBody.create(payload.toString(), JSON))
            .build();

        try (Response response = CLIENT.newCall(request).execute()) {
            String body = response.body().string();
            JsonObject resp = JsonParser.parseString(body).getAsJsonObject();
            if (resp.get("success").getAsBoolean()) {
                System.out.println("✅ 成功,返回:" + body);
            } else {
                System.out.println("⚠️ 失败:" + resp.get("message"));
            }
        }
    }
}
/** 博度AI 知识库检索 · Node.js 18+(原生 fetch) */
const BASE_URL = "https://ailg666.top";
const API_URL  = `${BASE_URL}/api/v2/KnowledgeSearch`;
const API_KEY  = "sk_lg-你的Key";

async function search(function_code, query, limit = 5) {
  const resp = await fetch(API_URL, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type":  "application/json",
    },
    body: JSON.stringify({ function_code, query, limit }),
  });
  const data = await resp.json();

  if (data.success) {
    // 真实结构:data.search_results.{coll_name} = [hits]
    for (const [coll, hits] of Object.entries(data.data.search_results)) {
      console.log(`📚 ${coll} 命中 ${hits.length} 条`);
      hits.forEach(h => console.log(`  · ${h.rerank_score.toFixed(4)} ${h.content.slice(0,80)}...`));
    }
  } else {
    console.error("❌ 失败:", data.message);
  }
}

search("lg01_lg_ai_QA", "AI 如何落地到企业");
# -*- coding: utf-8 -*-
"""博度AI 多库并发查询 · v2.1 核心新增"""
from concurrent.futures import ThreadPoolExecutor, as_completed
import requests

API_URL = "https://ailg666.top/api/v2/KnowledgeSearch"
API_KEY = "sk_lg-你的Key"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

def search_one(code, query, limit=5):
    resp = requests.post(API_URL, headers=HEADERS,
                         json={"function_code": code, "query": query, "limit": limit},
                         timeout=30).json()
    hits = []
    if resp.get("success"):
        for _coll, items in resp["data"]["search_results"].items():
            hits.extend(items)
    return code, hits

def search_multi(codes, query, limit=5):
    """一次并发查多个库,返回扁平化合并结果(带 from 标注)"""
    codes = list(dict.fromkeys(codes))[:6]    # 去重,最多 6 个
    merged = []
    with ThreadPoolExecutor(max_workers=len(codes)) as ex:
        futures = {ex.submit(search_one, c, query, limit): c for c in codes}
        for fut in as_completed(futures):
            code, hits = fut.result()
            for h in hits:
                merged.append({"from": code, "content": h})
    # 按 rerank_score 倒序
    merged.sort(key=lambda x: x["content"].get("rerank_score", 0), reverse=True)
    return merged

# 用法:AI 落地三库联查
if __name__ == "__main__":
    hits = search_multi(
        codes=["lg01_lg_ai_QA",
               "lg25_liuge_ip_thinking_style_doing_methodology",
               "lg11_company_team_management_strategy_growth"],
        query="企业怎么落地 AI",
        limit=3,
    )
    for h in hits[:10]:
        print(f"[{h['from']}] {h['content']['rerank_score']:.4f}")
        print(f"  {h['content']['content'][:100]}...")
运行前 3 处替换

sk_lg-你的Key 改成真实 Key;把 function_code 改成你要调的那个;把 query 改成你的问题——三处替换完,就能跑。

3 个开箱即用脚本(龙虾里面可以参考)

v2.1 配套了 3 个生产级 Python 脚本;可以直接放进项目里用,也可以当 SDK 参考实现。

脚本一 · query_knowledge.py(单库 + 多库统一入口)

支持单库与多库并发;自动从 .env 加载 BODU_API_KEY;Windows 控制台 UTF-8 输出修复;命中数组提取兼容多种返回结构。

BASH · 用法
# 单库
python query_knowledge.py -f lg01_lg_ai_QA -q "AI 落地"

# 多库并发
python query_knowledge.py -f lg01_lg_ai_QA lg25_liuge_ip_thinking_style_doing_methodology \
                          -q "六哥方法论"

# 美化 JSON 输出(调试用)
python query_knowledge.py -f lg01_lg_ai_QA -q "ABC 模型" --pretty

脚本二 · decompose_and_query.py(问题拆解 + 预设/自动)

在 query_knowledge.py 之上做了"懒人封装":用 --preset 调 9 大预设组合,用 --auto 按关键词自动选预设——再也不用记 function_code 全称。

BASH · 用法
# 用预设组合(最省心)
python decompose_and_query.py --preset ai_article -q "企业怎么落地 AI"
python decompose_and_query.py --preset short_video_article -q "黄金 3 秒怎么写"
python decompose_and_query.py --preset health_article -q "突然胸口疼怎么办"

# 关键词自动推荐
python decompose_and_query.py --auto -q "六哥谈企业怎么做 AI 培训"

# 手动指定多个 codes(最灵活)
python decompose_and_query.py \
    -f lg01_lg_ai_QA lg25_liuge_ip_thinking_style_doing_methodology \
    -q "六哥对 AI 落地的方法"

脚本三 · setup_check.py(环境自检)

第一次装 SDK 完跑一下,6 项检查全部 ✅ 才算装好:

检查项说明
Python 版本需要 Python 3.7+。
requests 库没装? pip install requests
.env 文件加载会从工作目录、skill 根目录、~/.claude/.env 三处自动找。
API Key 环境变量必须以 sk_ 开头;显示时自动打码。
Base URL 配置默认 https://ailg666.top,可通过 BODU_BASE_URL 覆盖。
API 实际连通测试interface_test 通道发一次空查,确认网络 + 鉴权都通。

.env 配置示范

3 个脚本都会自动找 .env,找到即用,已设的环境变量不覆盖。任意一处放就行:

.ENV
# 必填
BODU_API_KEY="sk_lg-你的实际Key"

# 选填,默认就是 ailg666.top
BODU_BASE_URL="https://ailg666.top"
联调路径推荐

第一次跑 → setup_check.py 全 ✅ → query_knowledge.py -f lg01_lg_ai_QA -q "测试" 看到命中 → 改成自己的业务 query → 上 decompose_and_query.py --preset → 集成进业务系统。

应用案例 · 文章创作工作流

知识库不只是用来"查"的,还可以喂给智能体"用"。下面这套 8 步法是俗人六哥团队内部公众号长文创作 SKILL 的简化版——把 KnowledgeSearch 当成"原料库",让大模型按 ABC 模型组装出一篇 8000 字到 1 万字的深度文章。

8 步流程总览

步骤动作关键产物
0判断输入类型问题型 / 材料型;决定是先查 KB 还是先解析材料。
1问题拆解 + 并发查 KBdecompose_and_query.py 选 2 到 4 个 function_code;六哥风格必加 lg25
2输出"知识库重点摘要"200 到 300 字的"创作地图"——核心观点、可用案例、媒体资源、融入计划。
3识别动态信息行业 / 产品 / IP / 人群 / 引流方向 5 类信息提取。
4开头钩子智能匹配从 15 种钩子里挑最匹配的;连续两篇必须不同类型。
5生成 3 个标题痛点直击 / 场景代入 / 悬念利益,3 种风格各 1 个。
6按 70%-25%-5% 写正文纯价值 70% + 解决方案 25% + 转化 5%;含 3 到 6 个图表。
7结尾引导方向判断到店 / 私域 / 课程 / 直播 / 电商 / 品牌 6 种引导匹配人群称呼。
8输出"进一步优化建议"引导用户补 IP 信息、产品信息、目标人群、引流方向。

核心调用片段

智能体在第 1 步触发的 KB 调用,长这样:

BASH · 智能体内部触发
# 用户:"写一篇企业怎么用 AI 提升效率的文章,要六哥风格"

# 智能体决策:
# - 主题 = AI 落地 + 企业管理 + 六哥风格
# - 选预设:liuge_voice_article(包含 lg25 + lg01 + lg10)
# - 加企业管理库:lg11_company_team_management...

python decompose_and_query.py \
    -f lg25_liuge_ip_thinking_style_doing_methodology \
       lg01_lg_ai_QA \
       lg11_company_team_management_strategy_growth \
    -q "企业怎么用 AI 提升效率" \
    -l 5 --pretty

# 返回 merged_hits :每条带 from 标注,按 rerank_score 倒序
# 智能体把命中片段拼成 RAG Prompt,喂给大模型
# 大模型按 70%-25%-5% 结构出 8000 字长文

新增医学库的应用范例

lg100_medicine_first_aid_health 是 v2.1 新增;典型用法不是写文章,而是给企业 HR 或行政部门做"健康关怀小助手":

  • 员工健康卡:把"高血压预防""急救常识"做成可以问答的 Q&A 卡片;
  • HR 关怀助手:员工咨询头疼脑热常见处理;助手给到家庭医生级别的初步建议(不出诊断结论);
  • 差旅急救包:员工出差前查目的地常见急救物资清单;
  • 体检报告辅读:员工拿到体检报告问"这个指标偏高什么意思";助手解释专业术语,给生活方式建议。
医学库免责声明(必读)

lg100_medicine_first_aid_health 仅用于科普与初步答疑不替代专业医疗诊断;任何严重症状或紧急情况,必须第一时间联系医院或拨打 120;上层应用必须显式提示用户"以医生面诊为准"。

十一

错误码 + 最佳实践

错误码速查

HTTP错误标识说明 / 处理
200OK调用成功;以响应体的 success 字段为准。
400Bad Request请求参数缺失或格式错误,比如 function_code 或 query 没传。
401UnauthorizedAPI Key 缺失或失效;检查 BODU_API_KEY
403Forbidden当前 Key 无权访问该 function_code 对应的知识库。
404RESOURCE_CONFIG_NOT_FOUNDfunction_code 在系统中没配置;去后台核对或联系管理员。
429Too Many Requests触发限流;指数退避重试 2 到 3 次。
500Internal Error服务端异常;带 request_id 联系运维。
503Service Unavailable向量服务繁忙;重试或降级到只用基础库。

最佳实践 · 安全

  • API Key 永远不写进前端代码、永远不提交到公开仓库;用环境变量或 KMS;
  • 按应用 / 环境拆分不同 Key,方便按需吊销——出事时能做到最小影响面;
  • 公网网关前面再加一层自家鉴权,避免 Key 直接对外。

最佳实践 · 调用

  • limit 一般 3 到 8 条够了,太多反而稀释大模型注意力;
  • query 保持"问题化",把用户原始问题直接传入即可,不必重写扩写——模型和向量库会处理;
  • 多库并发时宁少勿多,2 到 4 个最佳;
  • 调用方做限流和重试:429 / 503 时指数退避(exponential backoff)2 到 3 次。

最佳实践 · 结果处理

  • 按业务定一个 rerank_score 阈值(推荐 0.65),低于阈值的不拼进 Prompt——避免幻觉;
  • metadata.source 保留到最终答案——RAG 的本质是"有出处的回答";
  • 记录 request_id,线上排障能秒定位。

最佳实践 · 性能

  • 高 QPS 加短缓存(按 function_code + query 哈希),相似问题不必重复打向量库;
  • 对冷启动敏感的场景,应用启动后 warm-up 调一次常见 query;
  • 多库并发已经在 SDK 里做了 ThreadPoolExecutor,业务层直接用 search_knowledge_multi(),不要自己造轮子。
十二

FAQ + 联系方式

常见问题

function_code 和 collection 是什么关系?
function_code 是调用层的编码,一个 function_code 在后台可以绑定 1 个或 N 个 collection(实际向量集合);这样可以在一次调用中实现多知识库联合检索——比如把"六哥风格"和"私域知识库"绑到同一个 function_code 上,一次 query 同时检索两个库。
v2.0 文档说返回 data.results[],为什么 v2.1 改成了 data.search_results.{coll}
v2.0 文档在响应结构上有错;实际服务端返回的就是 data.search_results.{collection_name} 按 collection 名分组的命中数组——v2.1 起以实际为准;如果用 v2.1 SDK,_extract_hits 函数已经把这个差异屏蔽了,调用方拿到的是统一的 hits 数组。
多库并发最多能查几个?为什么不能更多?
SDK 写死的上限是 MAX_CONCURRENT = 6;超过 6 个会出现"信息稀释"——rerank 分数被拉平,反而抓不到真正相关的片段;实测 2 到 4 个最佳;如果你确实需要查更多库,建议先做"主题分诊"再分批查。
怎么新增一个 function_code?
在博度AI 后台「知识库管理」上传文档、完成向量化,系统会生成对应的 collection;然后在「接口编码管理」中创建 function_code 并绑定该 collection,保存后即可调用;如果是企业客户专属库,请联系运维 (微信 bdedu2099) 协助开通。
返回 RESOURCE_CONFIG_NOT_FOUND 怎么办?
多半是 function_code 拼错了;先用 interface_test 把链路打通;再回到「10 大知识库总表」核对编码——大小写、下划线、版本前缀(lg01_ 不是 LG01_)都要一致;并发调用时单个库失败不影响其他库,SDK 会跳过失败库继续返回成功的。
v2.1 新增的医学库可以做诊断吗?
不可以lg100_medicine_first_aid_health 只用于科普与初步答疑;任何严重症状必须第一时间联系医院或拨打 120;上层应用必须显式提示"以医生面诊为准";如果做合规性强的医疗 SaaS,请走专业医疗 RAG 方案,不要直接用本接口。
有 Java、Go、PHP 的 SDK 吗?
目前官方只维护 Python SDK;其他语言只给了"调用示例代码"——本质就是一个 POST 请求,按本文档第 8 节的示例改写成对应语言即可,30 行内能搞定;如果你的团队需要长期维护其他语言 SDK,欢迎联系合作。

联系方式

微信
bdedu2099 / bdedu333添加请备注:来自 KnowledgeSearch v2.1 文档
电话
180 3786 2772工作时间 09:00 — 19:00
域名
ailg666.top博度AI 官方主站

把这套向量知识库变成你公司专属的 RAG 引擎

10 大公共库已经能覆盖绝大多数 AI 落地场景;如果你需要私有化部署、企业专属向量库、或定制 OEM——直接联系俗人六哥团队,把 ABC 模型搬进你公司的业务流。