什么是 Kotaemon?
Kotaemon 是由 Sinch AI 开发的一个开源 Python 框架,旨在简化高级问答(QA)应用程序的创建。它专门研究检索增强生成(RAG)架构,该架构允许开发人员构建能够基于私有文档集合回答问题的系统。通过将大型语言模型(LLM)的强大功能与从您自己的数据中检索到的信息相结合,Kotaemon 能够开发功能强大、具有上下文感知能力的聊天机器人和搜索工具。
主要特点
- 模块化 RAG 管道: Kotaemon 提供了一个高度模块化和可扩展的管道,让您可以轻松更换检索器、重排器和语言模型等组件。
- 多源检索: 它可以同时从多个来源检索信息,从而提供更全面的答案。
- 高级重排: 内置重排功能,可在将检索到的文档传递给 LLM 之前提高其相关性。
- 异步支持: 完全支持异步操作,使其适用于高性能、并发的应用程序。
- 评估工具: 附带工具,可帮助您评估 RAG 管道的性能,确保准确性和可靠性。
- 易于集成: 设计用于与 LangChain、LlamaIndex 和各种向量数据库等流行库无缝协作。
使用案例
- 内部知识库: 创建一个聊天机器人,允许员工就公司内部文件、政策和报告提问。
- 客户支持自动化: 构建一个 AI 助手,通过参考产品手册、常见问题解答和支持文章来回答客户查询。
- 文档分析: 为研究人员、分析师或法律专业人士开发工具,以便从大量文本中快速查找和综合信息。
- 个性化学习: 创建教育工具,根据特定的教科书或学习材料集回答学生的问题。
入门指南
以下是如何使用 Kotaemon 构建问答系统的简单示例。首先,安装该库:
```bash pip install kotaemon
接下来,您可以创建一个简单的 RAG 管道,以从文档列表中回答问题:
```python import asyncio from kotaemon.llms import OpenAI from kotaemon.indices import VectorDBIndex from kotaemon.storages import ChromaVectorStore from kotaemon.schema import Document
确保您已将 OPENAI_API_KEY 设置为环境变量
async def main(): # 1. 定义您的文档 documents = [ Document(text=”Kotaemon 是一个用于构建 RAG 应用程序的开源框架。”), Document(text=”它由 Sinch AI 的团队开发。”) ]
# 2. 创建一个向量存储并构建索引
vector_store = ChromaVectorStore()
index = await VectorDBIndex.afrom_documents(documents, vector_store=vector_store)
# 3. 从索引创建检索器
retriever = index.as_retriever()
llm = OpenAI()
# 4. 运行查询
response = await retriever.arun("谁开发了 Kotaemon?", llm=llm)
print(response)
if name == “main”: asyncio.run(main())
定价
Kotaemon 是完全免费和开源的,根据 Apache 2.0 许可证发布。您只需承担使用任何第三方服务所产生的费用,例如付费的 LLM API(如 OpenAI)。