# 如何使用知识库

## 案例说明
知识使用的定义如下：
```yaml
name: "law_knowledge"
description: "中国民法与刑法相关的知识库"
type: 'using'
stores:
    - "civil_law_chroma_store"
    - "criminal_law_chroma_store"
    - "civil_law_sqlite_store"
    - "criminal_law_sqlite_store"
post_processors:
    - "dashscope_reranker"
metadata:
  type: 'KNOWLEDGE'
  module: 'sample_standard_app.intelligence.agentic.knowledge.law_knowledge'
  class: 'LawKnowledge'
```
## 构建检索流程

### 重排序
我们对知识的后处理流程进行了如下配置：
```yaml
post_processors:
    - "dashscope_reranker"
```
表示我们会调用Dashscope的重排序服务对文档进行重排序。您也可以在这里加入其它的后处理流程。

## 在智能体中使用知识

```yaml
info:
  name: 'law_rag_agent'
  description: '一个法律顾问，可以根据给出的事件，以及提供的背景知识做出客观的司法判断'
action:
  knowledge:
    - 'law_knowledge'
```
我们将knowledge像这样配置在Agent中的yaml中即可。

完整的案例以及调用方法请参考[文档](../../实践应用/法律咨询案例.md)。