小众AI

DeepSearcher
DeepSearcher - 私有数据上智能搜索和分析
DeepSearcher 结合推理 LLM(OpenAI o1、o3-mini、DeepSeek、Grok 3、Claude 3.7 Sonnet 等)和向量数据库(Milvus、Zilliz Cloud 等),基于私有数据进行搜索、评估和推理,提供高度准确的答案和全面的报告。
  代码仓

DeepSearcher 结合推理 LLM(OpenAI o1、o3-mini、DeepSeek、Grok 3、Claude 3.7 Sonnet 等)和向量数据库(Milvus、Zilliz Cloud 等),基于私有数据进行搜索、评估和推理,提供高度准确的答案和全面的报告。本项目适用于企业知识管理、智能问答系统、信息检索场景。

主要功能

  • 私有数据搜索:在保证数据安全的同时,最大化利用企业内部数据。必要时,它可以集成在线内容以获得更准确的答案。
  • Vector Database Management:支持 Milvus 和其他 Vector 数据库,允许数据分区以实现高效检索。
  • 灵活的嵌入选项:与多种嵌入模型兼容,以实现最佳选择。
  • 多个 LLM 支持:支持 DeepSeek、OpenAI 和其他大型模型,用于智能问答和内容生成。
  • Document Loader:支持本地文件加载,Web 爬虫功能正在开发中。

安装和使用

使用 pip 安装 DeepSearcher:

# Clone the repository
git clone https://github.com/zilliztech/deep-searcher.git

# MAKE SURE the python version is greater than or equal to 3.10
# Recommended: Create a Python virtual environment
cd deep-searcher
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -e .

在环境变量中准备。如果您在配置中更改了 LLM,请务必准备相应的 API 密钥。OPENAI_API_KEY

使用


from deepsearcher.configuration import Configuration, init_config
from deepsearcher.online_query import query

config = Configuration()

# Customize your config here,
# more configuration see the Configuration Details section below.
config.set_provider_config("llm", "OpenAI", {"model": "o1-mini"})
config.set_provider_config("embedding", "OpenAIEmbedding", {"model": "text-embedding-ada-002"})
init_config(config = config)

# Load your local data
from deepsearcher.offline_loading import load_from_local_files
load_from_local_files(paths_or_directory=your_local_path)

# (Optional) Load from web crawling (`FIRECRAWL_API_KEY` env variable required)
from deepsearcher.offline_loading import load_from_website
load_from_website(urls=website_url)

# Query
result = query("Write a report about xxx.") # Your question here

详细配置:

  • LLM 配置
config.set_provider_config("llm", "(LLMName)", "(Arguments dict)")

“LLMName” 可以是以下之一:[“DeepSeek”, “OpenAI”, “XAI”, “SiliconFlow”, “PPIO”, “TogetherAI”, “Gemini”, “Ollama”]

  • 嵌入模型配置
config.set_provider_config("embedding", "(EmbeddingModelName)", "(Arguments dict)")

“EmbeddingModelName” 可以是以下之一: [“MilvusEmbedding”, “OpenAIEmbedding”, “VoyageEmbedding”, “SiliconflowEmbedding”]

  • Vector 数据库配置
config.set_provider_config("vector_db", "(VectorDBName)", "(Arguments dict)")

“VectorDBName” 可以是以下之一:[“Milvus”] (开发中)。“Arguments dict” 是一个字典,其中包含 Vector Database 类的必要参数。

  • File Loader 配置
config.set_provider_config("file_loader", "(FileLoaderName)", "(Arguments dict)")

“FileLoaderName” 可以是以下之一: [“PDFLoader”, “TextLoader”, “UnstructuredLoader”]

“Arguments dict” 是一个字典,其中包含 File Loader 类的必要参数。

  • Web 爬虫配置
config.set_provider_config("web_crawler", "(WebCrawlerName)", "(Arguments dict)")

“WebCrawlerName” 可以是以下之一: [“FireCrawlCrawler”, “Crawl4AICrawler”, “JinaCrawler”]

“Arguments dict” 是一个字典,其中包含 Web Crawler 类的必要参数。

部署

配置模块

您可以通过修改 config.yaml 来配置所有参数,以使用默认模块设置您的系统。 例如,在 YAML 文件的部分中设置 u。OPENAI_API_KEYllm

开始服务

主脚本将运行默认地址的 FastAPI 服务。localhost:8000

$ python main.py

通过浏览器访问

您可以在浏览器中打开 url http://localhost:8000/docs 以访问 Web 服务。 点击 “Try it out” 按钮,它允许您填写参数并直接与 API 交互。


更多...


wdoc
一个功能强大的 RAG(检索增强生成)系统,旨在汇总、搜索和查询各种文件类型的文档。
ai-financial-agent
探索人工智能在投资研究中的应用。
Meetily
一个 AI 驱动的会议助手,可捕获实时会议音频、实时转录并生成摘要,同时确保用户隐私。