macos Darwin安裝faiss-cpu

文章目錄

macos 使用brew instll fass, 后python3.12執行引用faiss包功能出現的問題
安裝時遇到問題如下

ModuleNotFoundError                       Traceback (most recent call last)
File ~/Src/ai/framework/langchain/.venv/lib/python3.12/site-packages/langchain_community/vectorstores/faiss.py:55, in dependable_faiss_import(no_avx2)54     else:
---> 55         import faiss56 except ImportError:ModuleNotFoundError: No module named 'faiss'During handling of the above exception, another exception occurred:ImportError                               Traceback (most recent call last)
Cell In[1], line 1914 texts = text_splitter.create_documents(15     [page.page_content for page in pages[:4]]16 )18 embeddings = OpenAIEmbeddings(model="text-embedding-ada-002")
---> 19 db = FAISS.from_documents(texts, embeddings)21 retriever = db.as_retriever(search_kwargs={"k": 5})23 docs = retriever.invoke(query="llama2有多少參數?")File ~/Src/ai/framework/langchain/.venv/lib/python3.12/site-packages/langchain_core/vectorstores.py:635, in VectorStore.from_documents(cls, documents, embedding, **kwargs)633 texts = [d.page_content for d in documents]634 metadatas = [d.metadata for d in documents]
--> 635 return cls.from_texts(texts, embedding, metadatas=metadatas, **kwargs)File ~/Src/ai/framework/langchain/.venv/lib/python3.12/site-packages/langchain_community/vectorstores/faiss.py:931, in FAISS.from_texts(cls, texts, embedding, metadatas, ids, **kwargs)912 """Construct FAISS wrapper from raw documents.913 914 This is a user friendly interface that:(...)928         faiss = FAISS.from_texts(texts, embeddings)929 """930 embeddings = embedding.embed_documents(texts)
--> 931 return cls.__from(932     texts,933     embeddings,934     embedding,935     metadatas=metadatas,936     ids=ids,937     **kwargs,938 )File ~/Src/ai/framework/langchain/.venv/lib/python3.12/site-packages/langchain_community/vectorstores/faiss.py:883, in FAISS.__from(cls, texts, embeddings, embedding, metadatas, ids, normalize_L2, distance_strategy, **kwargs)871 @classmethod872 def __from(873     cls,(...)881     **kwargs: Any,882 ) -> FAISS:
--> 883     faiss = dependable_faiss_import()884     if distance_strategy == DistanceStrategy.MAX_INNER_PRODUCT:885         index = faiss.IndexFlatIP(len(embeddings[0]))File ~/Src/ai/framework/langchain/.venv/lib/python3.12/site-packages/langchain_community/vectorstores/faiss.py:57, in dependable_faiss_import(no_avx2)55         import faiss56 except ImportError:
---> 57     raise ImportError(58         "Could not import faiss python package. "59         "Please install it with `pip install faiss-gpu` (for CUDA supported GPU) "60         "or `pip install faiss-cpu` (depending on Python version)."61     )62 return faissImportError: Could not import faiss python package. Please install it with `pip install faiss-gpu` (for CUDA supported GPU) or `pip install faiss-cpu` (depending on Python version).

直接使用本地 pip安裝fass-cpu會遇到如下問題

venwei@svenweis-MacBook-Pro langchain$ pip3 install faiss-cpu 
error: externally-managed-environment× This environment is externally managed
╰─> To install Python packages system-wide, try brew installxyz, where xyz is the package you are trying toinstall.If you wish to install a Python library that isn't in Homebrew,use a virtual environment:python3 -m venv path/to/venvsource path/to/venv/bin/activatepython3 -m pip install xyzIf you wish to install a Python application that isn't in Homebrew,it may be easiest to use 'pipx install xyz', which will manage avirtual environment for you. You can install pipx withbrew install pipxYou may restore the old behavior of pip by passingthe '--break-system-packages' flag to pip, or by adding'break-system-packages = true' to your pip.conf file. The latterwill permanently disable this error.If you disable this error, we STRONGLY recommend that you additionallypass the '--user' flag to pip, or set 'user = true' in your pip.conffile. Failure to do this can result in a broken Homebrew installation.Read more about this behavior here: <https://peps.python.org/pep-0668/>```大概意思是讓嘗試使用brew來安裝, 安裝完,再使用python來執行文件就出現文章頭的錯誤. 提示內容也說如果非要使用pip安裝就使用python虛擬環境. 目前使用python版本為python3.12, 于是就創建了虛擬環境,并且再次使用pip install faiss-cpu, 又遇到如下列表問題,
* 缺少其它安裝包
* swig 執行時出現不同的錯誤
* ...
中間考慮過是否為python版本問題,運行看pypi上看下說明,只是大于Requires: Python >=3.8, 這句直接導致我浪費大量時間,中間也切換過python3.11遇到是swig執行時遇到問題.
于是考慮是不是swig版本與faiss的版本有相關的,又嘗試不同的swig版本,結果仍出問題.
最后想編譯faiss,在打算著手做時,才發現python的版本要求是3.8~3.10..WTF
下載并使用python3.10安裝faiss-cpu,沒用幾分鐘成功安裝

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37655.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37655.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37655.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring事務的實現

Spring事務的實現分為編程式事務和聲明式事務。 編程式事務 編程式事務管理需要開發者在代碼中顯式地調用事務管理相關的方法,如`beginTransaction()`、`commit()`和`rollback()`等。在Spring中,通常通過以下兩種方式來實現編程式事務: 使用`TransactionTemplate`,`Tran…

macOS 安裝redis

安裝Redis在macOS上通常通過Homebrew進行&#xff0c;Homebrew是macOS上一個流行的包管理器。以下是安裝Redis的步驟&#xff1a; 一 使用Homebrew安裝Redis 1、安裝Homebrew&#xff08;如果尚未安裝&#xff09;&#xff1a; 打開終端&#xff08;Terminal&#xff09;并執…

.NET周刊【6月第4期 2024-06-23】

國內文章 C#.Net筑基-集合知識全解 https://www.cnblogs.com/anding/p/18229596 .Net中提供了數組、列表、字典等多種集合類型&#xff0c;分為泛型和非泛型集合。泛型集合具有更好的性能和類型安全性。集合的基礎接口包括IEnumerator、IEnumerable、ICollection、IList、ID…

Gradio 4.37.1官方教程二:Blocks

文章目錄 一、Blocks及事件監聽器1.1 Blocks結構1.2 事件監聽器的類型1.3 多數據流1.4 多輸入組件1.5 多輸出組件1.6 更新組件配置1.7 添加示例1.8 連續運行事件1.9 持續運行事件1.9.1 every參數1.9.2 load方法1.9.3 change方法 1.10 收集事件數據1.11 綁定多個觸發器到同一函數…

基于線調頻小波變換的一維時間序列時頻分析方法(MATLAB)

在機械故障診斷領域,振動信號的處理常采用以快速傅立葉變換為基礎的相關分析、幅值分析、頻譜分析等時域和頻域分析方法。但經典的FFT存在固有缺點,即它雖然在頻域范圍內是完全局部化的,但是它不包含任何時域信息,因而不適于分析非平穩信號。近年來涌現的各種時頻分析方法(短時…

【刷題】初步認識深搜(DFS)

送給大家一句話&#xff1a; 擁有希望的人&#xff0c;和漫天的星星一樣&#xff0c;是永遠不會孤獨的。 -- 《星游記》 初步認識深搜&#xff08;DFS&#xff09; dfs算法二叉樹中的深搜Leetcode 129. 求根節點到葉節點數字之和題目描述算法思路 Leetcode 814. 二叉樹剪枝題…

Redis-實戰篇-緩存更新策略(內存淘汰、超時剔除、主動更新)

文章目錄 1、緩存更新策略1.1、內存淘汰1.2、超時剔除1.3、主動更新 2、業務場景&#xff1a;3、主動更新在企業中業務實現有三種方式3.1、Cache Aside Pattern3.1.1、操作緩存和數據庫時有三個問題需要考慮&#xff1a;3.1.1.1、刪除緩存還是更新緩存&#xff1f;3.1.1.2、如何…

數據同步軟件有哪些

數據同步軟件有哪些呢&#xff1f;隨著企業規模的擴大&#xff0c;企業數據也積累得越來越多&#xff0c;萬一發生宕機風險&#xff0c;那么這個損失將不可估量。所以為了容災備用&#xff0c;我們往往需要將數據同步到另一臺備胎服務器上&#xff0c;進行冗余。 那么需要同步的…

centos7.9 python3環境(virtualenv)搭建及所遇錯誤

人望山&#xff0c;魚窺荷&#xff0c;真正喜歡想要的&#xff0c;沒有一樣可以輕易得到。 目錄 # 1. 解決版本沖突問題--建議不要跳過(一定要查看軟鏈接是否鏈接正確) # 2. python3(virtualenv)環境搭建 # 3. virtualenv常用命令 # 4. 所遇錯誤解析 ## 4.1 遇到 No modul…

惠海 H6246低功耗DC/DC降壓型恒壓芯片60V降3.3V5V12V 藍牙模塊 單片機供電

1.產品描述 H6246是一種內置60V耐壓MOS&#xff0c;支持輸入高達48V的高壓降壓開關控制器&#xff0c;可以向負載提供0.3A的連續電流。H6246支持輸出恒定電壓&#xff0c;可以通過調節VFB采樣電阻來設置輸出電壓&#xff0c;同時支持最大電流限制&#xff0c;可以通過修改CS采…

操作系統期末復習考題二

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文??????三、總結&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&am…

【資源調度】1-何為調度?

導讀&#xff1a;本期是全網最全【資源調度】系列推文的第1期(共50期左右)。我們將對調度的定義與作用、計劃與調度的關系、調度問題的拆解做出詳細介紹&#xff0c;使大家對【資源調度】問題有了一個整體的認識&#xff0c;為后續的內容奠定基礎。 作者1&#xff1a;張哲銘&am…

個人搭建cppreference網站

近日,由于購買的騰訊云服務器要過期了,之前在服務器搭建的cppreference也要重新搭建,故寫下此文章 cppreference的訪問速度也慢,故自己WSL子系統簡單搭鍵一下是個不錯的選擇 環境準備 首先,自己先安裝Nginx,在網上找安裝教程即可下載cppreference網站資源包:https://pan.baidu…

ubuntu 軟鏈接(ubuntu20.04)

ubuntu 軟鏈接&#xff08;ubuntu20.04&#xff09; 在Ubuntu和其他Linux系統中&#xff0c;軟鏈接&#xff08;也稱為符號鏈接&#xff09;是文件系統中的一個特殊類型的文件&#xff0c;它作為一個引用或指針&#xff0c;指向另一個文件或目錄。軟鏈接類似于Windows中的快捷…

java-快速排序 4

總結 快速排序是一種高 java (String[] args) { int[] array {10, 7, 8, 9, 1, 5, 7, 8}; // 基本快速排序 int[] basicArray array.clone(); basicQuickSort(basicArray, 0, basicArray.length - 1); System.out.println("Basic…

unity ScrollRect裁剪ParticleSystem粒子

搜了下大概有這幾種方法 通過模板緩存通過shader裁剪區域&#xff1a;案例一&#xff0c;案例二&#xff0c;案例三&#xff0c;三個案例都是類似的方法&#xff0c;需要在c#傳入數據到shader通過插件 某乎上的模板緩存方法link&#xff0c;&#xff08;沒有登錄看不到全文&a…

混沌工程介紹

概念 混沌工程是通過實驗探究系統穩定性的實踐過程&#xff0c;其作戰武器是風險因子&#xff0c;即在系統中引入風險變量來驗證系統對風險的抵抗能力&#xff0c;它的作用是推動系統容錯能力建設、驗證監控告警及時性、提升研發問題排查能力。 混沌工程的工作內容 推動基礎…

RFID固定資產管理系統在企業中的應用與優勢

隨著企業資產規模的不斷擴大和管理復雜性的增加&#xff0c;傳統的資產管理方式已無法滿足企業高效管理的需求。RFID固定資產管理系統憑借其高效、準確、實時的特點&#xff0c;成為企業固定資產管理的新寵。 一、什么是RFID固定資產管理系統 RFID&#xff08;無線射頻識別&…

磁盤分區工具(fdisk 和 parted)區別及操作筆記

fdisk 和 parted 都是 Linux 系統中用于磁盤分區的工具。 兩者主要區別&#xff1a; 支持的分區表類型&#xff1a; fdisk 主要支持 MBR分區表&#xff0c;MBR分區表支持的硬盤單個分區最大容量為2TB&#xff0c;最多可以有4個主分區。parted 支持 MBR分區表 和 GPT分區表&…

使用AI工具 Baidu Comate 輔助編碼 快速定位修改Bug

一、Baidu Comate 概述 Baidu Comate&#xff08;百度智能編碼助手&#xff09;是一款基于文心大模型的新一代編碼輔助工具。它結合了百度多年積累的編程現場大數據和外部優秀開源數據&#xff0c;旨在為用戶提供高質量的編程代碼生成和優化服務。Comate的主要目標是提升編碼效…