-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Retrieval Docs] Update retrieval docs (#250)
* Update retrieval docs * reformat retrieval docs * Add EB_AGENT_ACCESS_TOKEN * reformat * Update baizhong_search.py * reformat doc * Update access token * reformat * Update retrieval.md * fix mypy error * reformat * Update format
- Loading branch information
Showing
2 changed files
with
47 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,45 @@ | ||
# Retrieval 模块介绍 | ||
|
||
## 1. Retrieval 简介 | ||
|
||
Retrieval组件是在给定非结构化查询的情况下返回文档的接口。Retrieval组件不需要存储文档,只需要返回(或检索)文档,并支持对上游向量数据库数据的增删查改操作。是目前最流行的RAG技术最重要的组件之一。 | ||
检索(Retrieval)就是从海量的信息中查找与查询相关的内容。现在检索按照技术分类可以分为关键字检索和语义检索,关键字检索很常见,比如现在的搜索引擎,学术文献搜索大多都基于关键字的全文检索及其一些优化技术;而义检索,是指检索系统不再拘泥于用户查询(Query)字面本身,而是能精准捕捉到用户查询后面的真正意图并以此来搜索,从而更准确地向用户返回最符合的结果。通过使用最先进的语义索引模型找到文本的向量表示,在高维向量空间中对它们进行索引,并度量查询向量与索引文档的相似程度,从而解决了关键词索引带来的缺陷。 | ||
|
||
例如下面两组文本 Pair,如果基于关键词去计算相似度,两组的相似度是相同的。而从实际语义上看,第一组相似度高于第二组。 | ||
|
||
``` | ||
车头如何放置车牌 前牌照怎么装 | ||
车头如何放置车牌 后牌照怎么装 | ||
``` | ||
|
||
retrieval也是Agents应用的一个重要基础组件,提供了一个检索接口,用户可以挂载自己的私有文档,作为工具为agent提供外部知识。retrieval支持自研的文心百中搜索外,还兼容[LangChain](https://python.langchain.com/docs/modules/data_connection/),[LlamaIndex](https://docs.llamaindex.ai/en/stable/getting_started/starter_example.html)的retrieval组件,以及众多检索增强的策略。 | ||
Retrieval组件是一种接口,它能够在接收到非结构化查询时返回相关文档。无论是通过关键词检索还是语义检索,该组件都能有效地满足查询需求。值得注意的是,Retrieval组件无需存储文档,其主要功能在于返回或检索文档,并且能够灵活地对上游数据库进行数据的增加、删除、查找和修改操作。因此,它被广泛认为是当前最流行的RAG技术中不可或缺的重要组成部分。 | ||
|
||
另外,Retrieval组件也是Agents应用的一个重要基础组件,提供了一个检索接口,用户可以挂载自己的私有文档,作为工具为agent提供外部知识。retrieval支持自研的文心百中搜索外,还兼容[LangChain](https://python.langchain.com/docs/modules/data_connection/),[LlamaIndex](https://docs.llamaindex.ai/en/stable/getting_started/starter_example.html)的retrieval组件,以及众多检索增强的策略。 | ||
|
||
## 2.Retrieval 组件 | ||
|
||
| retrieval 组件名称 | 功能描述 | 代码链接 | ||
| :--: | :--: | :--: | | ||
| BaizhongSearch| 支持百度自研的文心百中搜索| [baizhong_search.py](../package/erniebot_agent/retrieval.md#erniebot_agent.retrieval.BaizhongSearch) | | ||
|
||
|
||
## 3.用法 | ||
|
||
1.设置环境变量 | ||
|
||
``` | ||
export EB_AGENT_ACCESS_TOKEN=<aistudio-access-token> | ||
export AISTUDIO_BASE_URL=<aistudio-base-url> | ||
``` | ||
|
||
2. 连接AIStudio知识库 | ||
|
||
``` | ||
knowledge_base_id =<your aistudio knowledge base id> | ||
baizhong_db = BaizhongSearch(knowledge_base_id=knowledge_base_id) | ||
``` | ||
|
||
3. 搜索 | ||
|
||
``` | ||
baizhong_db.search('百度今天的股价是多少?') | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters