xb

AI 应用指南(中文)

本页整合 xb/doc/ai_application/ 旧文档的核心内容,聚焦三种场景:RAG、Agent 工具、以及依赖 xb 的分析仪表盘。


1. RAG 流程

1.1 数据处理清单

  1. 切片:按 512-1024 token 分段。
  2. 嵌入:保存向量、原文、元数据(tenant_id, lang, tags)。
  3. 索引:按租户或业务拆分 Qdrant collection。
  4. 同步:SQL 与向量库通过 CDC 或异步任务保持一致。

1.2 查询示例

queryVec := embedder.Encode(prompt)

resultsJSON, _ := xb.Of(&DocVector{}).
    Custom(qdrantCustom).
    Eq("tenant_id", tenantID).
    VectorSearch("embedding", queryVec, 8).
    Build().
    JsonOfSelect()

resultsJSON 传给 LangChain/LlamaIndex/Semantic Kernel 等框架即可,因为 xb 输出原生 Qdrant JSON。


2. Agent 工具

示例:

func RecommendFeedTool(input RecommendInput) (string, error) {
    json, err := xb.Of(&FeedVector{}).
        Custom(qdrantCustom).
        Eq("tenant_id", input.Tenant).
        VectorSearch("embedding", input.Vector, input.Limit).
        Build().
        JsonOfSelect()
    if err != nil {
        return "", err
    }
    return string(json), nil
}

3. 分析仪表盘

即便前端只消费 SQL,也可以借助 xb 统一记录:


4. 集成提示

工具链 建议
LangChain 将 xb builder 封成 Runnable,直接返回 JsonOfSelect
LlamaIndex 实现自定义 retriever,使用 xb 生成的 JSON
Semantic Kernel 通过 IQueryFunction 将 xb 调用暴露给技能

5. 延伸阅读

如果你有重复可复用的 AI 流程,欢迎在此文件追加案例或提交 PR。