开源 RAG 框架可直接用于构建 LLM 应用检索系统,为程序员提供生产级工具选项。
首页 | 文档 | 博客 | Discord | Twitter
Neum AI 是一个数据平台,帮助开发者通过检索增强生成(RAG)来利用他们的数据为大语言模型提供上下文。这包括从现有数据源(如文档存储和 NoSQL)提取数据,将内容处理成向量嵌入,并将向量嵌入导入向量数据库进行相似度搜索。
它为 RAG 提供了一个全面的解决方案,可以随着你的应用程序扩展,并减少集成数据连接器、嵌入模型和向量数据库等服务所花费的时间。
🏭 高吞吐量分布式架构,可处理数十亿个数据点。允许高度的并行化来优化嵌入生成和导入。
🧱 内置数据连接器,支持常见数据源、嵌入服务和向量存储。
🔄 数据源的实时同步,确保你的数据始终是最新的。
♻ 可自定义的数据预处理,包括加载、分块和选择。
🤝 凝聚力强的数据管理,支持带元数据的混合检索。Neum AI 自动增强和跟踪元数据,提供丰富的检索体验。
你可以通过电子邮件 (founders@tryneum.com)、Discord 或安排通话与我们的团队联系。
今天就在 dashboard.neum.ai 注册。查看我们的快速入门指南开始使用。
Neum AI Cloud 支持大规模分布式架构,可以通过向量嵌入处理数百万份文档。有关完整的功能集,请参见:Cloud vs Local
安装 neumai 包:
pip install neumai
要创建你的第一个数据管道,请访问我们的快速入门指南。
在高层次上,管道由一个或多个数据源、一个嵌入连接器来将内容矢量化,以及一个接收器连接器来存储这些向量组成。通过下面的代码片段,我们将创建所有这些并运行一个管道:
from neumai.DataConnectors.WebsiteConnector import WebsiteConnector
from neumai.Shared.Selector import Selector
from neumai.Loaders.HTMLLoader import HTMLLoader
from neumai.Chunkers.RecursiveChunker import RecursiveChunker
from neumai.Sources.SourceConnector import SourceConnector
from neumai.EmbedConnectors import OpenAIEmbed
from neumai.SinkConnectors import WeaviateSink
from neumai.Pipelines import Pipeline
website_connector = WebsiteConnector(
url = "https://www.neum.ai/post/retrieval-augmented-generation-at-scale",
selector = Selector(
to_metadata=['url']
)
)
source = SourceConnector(
data_connector = website_connector,
loader = HTMLLoader(),
chunker = RecursiveChunker()
)
openai_embed = OpenAIEmbed(
api_key = "<OPEN AI KEY>",
)
weaviate_sink = WeaviateSink(
url = "your-weaviate-url",
api_key = "your-api-key",
class_name = "your-class-name",
)
pipeline = Pipeline(
sources=[source],
embed=openai_embed,
sink=weaviate_sink
)
pipeline.run()
results = pipeline.search(
query="What are the challenges with scaling RAG?",
number_of_results=3
)
for result in results:
print(result.metadata)
from neumai.DataConnectors.PostgresConnector import PostgresConnector
from neumai.Shared.Selector import Selector
from neumai.Loaders.JSONLoader import JSONLoader
from neumai.Chunkers.RecursiveChunker import RecursiveChunker
from neumai.Sources.SourceConnector import SourceConnector
from neumai.EmbedConnectors import OpenAIEmbed
from neumai.SinkConnectors import WeaviateSink
from neumai.Pipelines import Pipeline
website_connector = PostgresConnector(
connection_string = 'postgres',
query = 'Select * from ...'
)
source = SourceConnector(
data_connector = website_connector,
loader = JSONLoader(
id_key='<your id key of your jsons>',
selector=Selector(
to_embed=['property1_to_embed','property2_to_embed'],
to_metadata=['property3_to_include_in_metadata_in_vector']
)
),
chunker = RecursiveChunker()
)
openai_embed = OpenAIEmbed(
api_key = "<OPEN AI KEY>",
)
weaviate_sink = WeaviateSink(
url = "your-weaviate-url",
api_key = "your-api-key",
class_name = "your-class-name",
)
pipeline = Pipeline(
sources=[source],
embed=openai_embed,
sink=weaviate_sink
)
pipeline.run()
results = pipeline.search(
query="...",
number_of_results=3
)
for result in results:
print(result.metadata)
from neumai.Client.NeumClient import NeumClient
client = NeumClient(
api_key='<your neum api key, get it from https://dashboard.neum.ai',
)
client.create_pipeline(pipeline=pipeline)
如果你有兴趣将 Neum AI 部署到你自己的云环境,请通过 founders@tryneum.com 与我们联系。
我们在 GitHub 上发布了一个样本后端架构,你可以将其用作起点。
有关最新列表,请访问我们的文档
Azure OpenAI 嵌入
我们的路线图根据需求不断发展,如果有任何缺失的功能,请随时开启问题或给我们发送信息。
Google Drive - 数据源
Hugging Face - 嵌入
统一的 Neum AI 过滤器
智能路由(基于嵌入的分类)
智能路由(基于 LLM 的分类)
自查询检索(带元数据属性生成)
Langchain / Llama Index 文档到 Neum 文档转换器
自定义分块和加载
异步元数据增强
聊天历史连接器
结构化(SQL 和 GraphQL)搜索连接器
可以在此处找到 Neum AI 的其他工具:
neumai-tools:包含用于在生成向量嵌入之前加载和分块数据的预处理工具。