【GitHub每日速递 】开源 AI 搜索引擎 Perplexica本地大模型 多模式搜索免费又强大在信息爆炸的时代我们每天都需要从海量数据中快速找到精准的答案。传统的搜索引擎如谷歌、百度虽然功能强大但背后依赖庞大的云端集群且运营成本高昂。今天我们要介绍一个来自 GitHub 的开源项目——Perplexica它通过本地大模型与多模式搜索的完美结合为你打造一个免费、私密且智能的搜索体验。## 什么是 PerplexicaPerplexica 是一个开源的人工智能搜索引擎它支持在本地运行大语言模型如 Llama、Mistral 等并整合了文本、图像、代码等多种搜索模式。这意味着你无需将数据上传到云端就能享受到 AI 驱动的精准搜索。它的核心优势包括-完全本地化所有数据和模型都在你的设备上运行保护隐私。-多模式支持不仅能搜文本还能搜索图片、代码片段和文件。-免费开源基于 MIT 许可证任何人都可以免费使用和修改。接下来我们将从基础概念开始逐步深入演示如何安装和使用 Perplexica并附上可运行的代码示例。## 基础概念本地大模型与搜索### 本地大模型是什么传统搜索引擎依赖远程服务器上的庞大模型如 GPT-4而本地大模型如 Llama 2、Mistral可以在你的个人电脑上运行。例如Ollama 是一个流行的工具可以让你轻松下载和运行本地模型。Perplexica 正是利用这些模型来理解搜索意图并生成结果。### 多模式搜索多模式搜索意味着搜索引擎能处理不同类型的数据。例如-文本搜索用关键词或自然语言查找文档。-图像搜索通过图片内容或描述找到相关图像。-代码搜索搜索代码库中的函数、变量或模式。Perplexica 将这些模式整合到一个统一的界面中通过本地模型自动识别用户输入的类型。## 安装与配置从零到运行### 第一步安装依赖Perplexica 基于 Python 开发你需要先安装 Python 3.8 和 pip。然后克隆项目并安装依赖bash# 克隆 Perplexica 仓库git clone https://github.com/your-repo/perplexica.gitcd perplexica# 安装 Python 依赖pip install -r requirements.txt### 第二步配置本地大模型Perplexica 支持通过 Ollama 运行本地模型。首先安装 Ollamabash# 在 Linux/macOS 上curl -fsSL https://ollama.com/install.sh | sh# 下载一个轻量模型如 Mistralollama pull mistral然后在 Perplexica 的配置文件config.yaml中指定模型路径yaml# config.yamlmodel: provider: ollama model_name: mistral ollama_url: http://localhost:11434### 第三步启动搜索服务运行以下命令启动 Perplexica 的 API 服务bashpython src/api.py默认情况下服务会在http://localhost:8000上运行。## 代码示例1使用 Perplexica 进行文本搜索下面是一个简单的 Python 脚本演示如何通过 Perplexica 的 API 进行文本搜索。我们假设你已经启动了服务。python# text_search.pyimport requestsdef search_text(query): 使用 Perplexica 进行文本搜索 :param query: 用户输入的搜索词 :return: 搜索结果列表 # 定义 API 端点 url http://localhost:8000/search/text # 请求参数 params { query: query, model: mistral, # 指定使用的本地模型 top_k: 5 # 返回前5个结果 } # 发送 GET 请求 response requests.get(url, paramsparams) # 检查响应状态 if response.status_code 200: results response.json() return results[results] else: print(f搜索失败错误码{response.status_code}) return []# 示例搜索人工智能相关文章if __name__ __main__: query 什么是本地大模型 results search_text(query) print(搜索结果) for idx, result in enumerate(results, 1): print(f{idx}. {result[title]}: {result[snippet]})运行说明确保 Perplexica 服务正在运行然后执行python text_search.py。你会看到类似以下输出搜索结果1. 本地大模型入门在个人电脑上运行AI模型...2. 对比云端与本地模型哪个更安全......这个例子展示了如何用简单的 HTTP 请求调用搜索功能背后是本地模型在处理你的自然语言查询。## 进阶用法多模式搜索与自定义Perplexica 的进阶功能在于多模式搜索。它不仅能处理文本还能根据输入自动选择搜索模式。例如如果你上传一张图片它会自动切换到图像搜索模式。### 代码示例2图像与代码搜索以下代码演示了如何同时进行图像搜索和代码搜索并将结果整合。python# multimodal_search.pyimport requestsimport jsonclass PerplexicaClient: Perplexica 客户端类封装多模式搜索 def __init__(self, base_urlhttp://localhost:8000): self.base_url base_url def search_image(self, image_path, modelmistral): 图像搜索通过图片内容查找相关结果 :param image_path: 图片文件路径 :param model: 使用的模型 :return: 搜索结果 url f{self.base_url}/search/image # 读取图片文件 with open(image_path, rb) as img_file: files {file: img_file} params {model: model, top_k: 3} response requests.post(url, filesfiles, paramsparams) if response.status_code 200: return response.json()[results] else: return [] def search_code(self, code_query, languagepython): 代码搜索搜索指定语言中的代码片段 :param code_query: 代码查询如函数名或模式 :param language: 编程语言 :return: 搜索结果 url f{self.base_url}/search/code params { query: code_query, language: language, model: mistral, top_k: 5 } response requests.get(url, paramsparams) if response.status_code 200: return response.json()[results] else: return []# 使用示例if __name__ __main__: client PerplexicaClient() # 1. 图像搜索假设有一张猫咪图片 image_results client.search_image(cat.jpg) print(图像搜索结果) for result in image_results: print(f 标题: {result[title]}, 相关度: {result[score]}) # 2. 代码搜索查找 Python 中的排序函数 code_results client.search_code(quick sort algorithm, languagepython) print(\n代码搜索结果) for result in code_results: print(f 文件: {result[file]}, 行号: {result[line]}) print(f 代码: {result[code_snippet][:100]}...)运行说明将cat.jpg替换为你本地的图片文件然后运行python multimodal_search.py。你会看到图像和代码的搜索结果展示 Perplexica 如何在不同模式间切换。## 高级配置与优化### 自定义模型如果你想使用其他本地模型如 Llama 3只需修改config.yamlyamlmodel: provider: ollama model_name: llama3 ollama_url: http://localhost:11434然后重启服务。### 性能调优-内存管理在config.yaml中设置max_batch_size来优化内存使用。-缓存机制启用缓存以减少重复搜索的延迟。## 总结从基础概念到高级用法Perplexica 向我们展示了开源 AI 搜索引擎的魅力。它通过本地大模型确保隐私安全用多模式搜索满足多样化的需求而且完全免费。无论是开发者还是普通用户都可以轻松上手定制属于自己的智能搜索工具。未来随着更多模型和功能的加入Perplexica 有望成为本地搜索领域的一颗新星。立即尝试体验免费又强大的搜索新方式吧