python结合ollama+faiss实现本地文件rag知识库查询笔记
今天我们就用它作为RAG知识库的搜索
1、通过安装ollama,官网:https://ollama.com/
然后运行以下面的命令下载大模型,我们以qwen2为例
ollama pull qwen2:7b
2、安装FAISS,FAISS(Facebook AI Similarity Search)是Facebook AI Research开发的一个用于高效相似性搜索和密集向量聚类的库。
pip install faiss-cpu # 如果只需要 CPU 版本 ,gpu版本是pip install faiss-gpu
3、qwen2:7b的向量维度是3584,这是获取embedding的代码:
import faiss import requests def get_embeddings(model, prompt): url = "http://localhost:11434/api/embeddings" payload = { "model": model, "prompt": prompt } response = requests.post(url, json=payload) if response.status_code == 200: return response.json() else: raise Exception(f"Failed to get embeddings: {response.status_code}") # 示例调用 result = get_embeddings("qwen2:7b", "文字内容") print( len(result['embedding']))4、FAISS向量化存储到文件及相似度语义查询,最终的完整代码如下:
点击查看
网友评论