Skip to content

Latest commit

 

History

History
124 lines (85 loc) · 3.42 KB

File metadata and controls

124 lines (85 loc) · 3.42 KB
title 知识库
description 兼容 Google ADK
navigation
icon
i-lucide-database

概述

VeADK 基于 Llama-index 作为知识库的主要处理入口。开发者可上传文本、文件、目录,我们会为您进行自动切片。

创建知识库时,您必须要提供您的 app_name(将会用来自动构建索引名称),或指定一个知识库的索引:

from veadk.knowledgebase import KnowledgeBase

# 通过指定 `app_name`
knowledgebase = KnowledgeBase(
    backend="local", app_name="my_app_name"
)

# 通过指定 `index`
knowledgebase = KnowledgeBase(
    backend="local", index="my_index"
)

知识库中的 backend 字段定义如下:

backend 说明
local GIGO 模式的内存存储,不具备向量检索功能,仅用于测试
viking 火山引擎 Viking DB 服务
opensearch OpenSearch 数据库
redis Redis 数据库,但不具备向量搜索功能
mysql MySQL 数据库,但不具备向量搜索功能

使用知识库

以下示例通过建设一个智能客服 Agent,来说明知识库的能力:

::code-tree{default-value="agent.py"}

# 智能客服知识库

## 1. 公司简介

VE科技是一家专注于智能客服与知识管理的高科技公司。我们的核心产品是 **智能客服系统**,通过自然语言处理与知识库检索,为企业客户提供高效、智能的自动化客服解决方案。

---

## 2. 产品功能说明

- **自动问答**:基于知识库,快速响应常见问题。  
- **多渠道接入**:支持网页、App、微信、飞书等渠道。  
- **智能推荐**:根据上下文推荐相关答案。  
- **数据分析**:提供用户问题统计与客服绩效报告。  
- **自助知识库管理**:支持非技术人员快速编辑知识内容。  

---

## 3. 常见问题 (FAQ)

### Q1: 智能客服系统支持哪些语言?

A1: 目前支持 **中文** 和 **英文**,后续将逐步增加日语、韩语等多语言支持。  

### Q2: 系统可以接入现有的 CRM 吗?

A2: 可以。我们的系统支持通过 API 与主流 CRM 系统(如 Salesforce、Zoho、金蝶)进行无缝集成。  

### Q3: 如果机器人无法回答用户问题,会怎么办?

A3: 系统会自动将问题转接至人工客服,并在后台记录该问题,方便管理员补充到知识库。  

### Q4: 知识库内容多久更新一次?

A4: 知识库支持 **实时更新**,管理员提交后即可立即生效。  

---

## 4. 联系我们

- 官网:[https://www.example.com](https://www.example.com)  
- 客服邮箱:support@ve
- 服务热线:400-123-4567  
import asyncio

from veadk import Agent, Runner
from veadk.knowledgebase import KnowledgeBase
from veadk.memory import ShortTermMemory

app_name = "app"
user_id = "user"
session_id = "session"

knowledgebase = KnowledgeBase(backend="local", app_name=app_name)
knowledgebase.add_from_files(files=["./qa.md"])

agent = Agent(
    name="customer_service",
    instruction="Answer customer's questions according to your knowledgebase.",
    knowledgebase=knowledgebase,
)

runner = Runner(
    agent=agent,
    short_term_memory=ShortTermMemory(),
    app_name=app_name,
    user_id=user_id,
)

response = asyncio.run(
    runner.run(messages="你们的产品叫什么?都有什么功能?", session_id=session_id)
)

print(response)

::