向量数据库新手入门指南:什么是向量数据库以及如何在LLM中使用
向量数据库驱动着RAG系统、相似性搜索和AI记忆。但它们到底是什么?如何选择?
💡 你将学到
向量数据库驱动着RAG系统、相似性搜索和AI记忆。但它们到底是什么?如何选择?
向量数据库入门指南:它们是什么以及如何与LLM一起使用
向量数据库将数据存储并搜索为数学向量(嵌入)。与传统数据库通过精确匹配进行搜索不同,向量数据库寻找的是“最相似”的项目。
什么是向量?
向量是一组代表数据含义的数字列表:
"猫" → [0.23, 0.87, -0.12, 0.45, 0.91, ...] # 384个数字
"狗" → [0.25, 0.85, -0.10, 0.42, 0.88, ...] # 与猫相似
"汽车" → [-0.31, 0.12, 0.76, -0.54, -0.08, ...] # 与猫不同
向量数据库如何工作
文本 → 嵌入模型 → 向量 → 存储 → 查询 → 相似性搜索 → 结果
热门向量数据库
| 数据库 | GitHub星标 | 最适合 |
|---|---|---|
| ChromaDB | 18K | 初学者、小型文档 |
| FAISS(Meta) | 34K | 纯搜索、无CRUD |
| Qdrant | 25K | 生产环境、中等规模 |
| Milvus | 33K | 企业级、数十亿向量 |
| ## 开始使用ChromaDB |
pip install chromadb
import chromadb
client = chromadb.PersistentClient(path="./my_vectors")
collection = client.create_collection(name="my_documents")
collection.add(
documents=["LangChain是一个用于LLM应用的框架。",
"RAG代表检索增强生成。"],
ids=["doc1", "doc2"]
)
results = collection.query(query_texts=["什么是RAG?"], n_results=2)
print(results["documents"][0])
将向量数据库与LLM结合使用(RAG)
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.llms import Ollama
from langchain.chains import RetrievalQA
vectorstore = Chroma(
collection_name="my_documents",
embedding_function=OllamaEmbeddings(model="nomic-embed-text"),
persist_directory="./my_vectors"
)
qa_chain = RetrievalQA.from_chain_type(
llm=Ollama(model="llama3.1:8b"),
retriever=vectorstore.as_retriever(search_kwargs={"k": 3})
)
result = qa_chain.invoke({"query": "什么是RAG?"})
print(result["result"])
关键概念
- 余弦相似度:最适合文本(衡量向量之间的角度)
- HNSW:快速近似搜索(ChromaDB默认)
- 块大小:建议512个token,重叠50个
RAG之外的使用场景
- 语义搜索,2. 推荐系统,3. 异常检测,4. 去重
常见问题
问:我需要GPU吗? 答:不需要。嵌入在CPU上即可运行。 问:笔记本电脑上能存多少向量? 答:ChromaDB在16GB内存下可处理1000万+向量。 问:最好的嵌入模型是什么? 答:BGE-small-en-v1.5(速度)或BGE-base-en-v1.5(质量)。
相关文章
❓ 常见问题
How many vectors on a laptop?
ChromaDB handles 10M+ on 16GB RAM.
Best embedding model?
BGE-small-en-v1.5 (speed) or BGE-base-en-v1.5 (quality).
相关文章
2026-08-06
Jan(4.4万星)2026:离线优先的AI助手桌面应用——本地跑模型还带OpenAI兼容API
2026-07-16
AI Agent多轮对话:别让用户每次都说一遍
2026-08-05
2026年大模型原理:用Transformers(16万星)和llama.cpp(12万星)讲透Transformer架构
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
