使用embedchain快速建立rag知识库,本地大模型
初学RAG搭建知识库,强烈建议先利用embedchain这个开源的RAG框架,短短几行代码就能让你快速建立一个私人知识库,并支持随时增加知识源,是理想的学习和使用RAG知识的开源利器
最简单的解决方式:
框架: Embedchain
LLM: Ollama
嵌入式模型: nomic-embed-text 或 bge-m3
向量数据库: ChromaDB (默认)
按照步骤依次进行:
安装ollama等模型:
pip install embedchain ollama chromadb sentence-transformers
Windows平台, 需要去https://ollama.com/download 下载 Windows 安装程序(.exe),运行安装,务必在安装过程中勾选“Add Ollama to your PATH”。
下载大模型到本地:
ollama pull llama3.2
下载embedding model:
ollama pull nomic-embed-text
启动ollama
ollama serve
测试ollama是否启动
curl http://localhost:11434/api/tags
设置embedchain :
复制代码
from embedchain import App
import os
os.environ[“OPENAI_API_KEY”] = “ollama” # Ollama 不校验,填任意值
os.environ[“OPENAI_API_BASE”] = “http://localhost:11434/v1”
config = {
“vectordb”: {
“provider”: “chroma”,
“config”: {
“collection_name”: “ollama_openai_compat”
}
},
“llm”: {
“provider”: “openai”, # 使用 openai provider
“config”: {
“model”: “llama3.2”, # 模型名称
“temperature”: 0.1,
“max_tokens”: 2000
}
},
“embedder”: {
“provider”: “openai”,
“config”: {
“model”: “nomic-embed-text”, # 嵌入模型
}
}
}
app = App.from_config(config=config)
复制代码
增加文档:
app.add(r’E:\拿破仑传.pdf’, data_type=‘pdf_file’)
增加问题:
response = app.query(“拿破仑去世时间”)
print(response)
完整的代码:
复制代码
from embedchain import App
import os
os.environ[“OPENAI_API_KEY”] = “ollama” # Ollama 不校验,填任意值
os.environ[“OPENAI_API_BASE”] = “http://localhost:11434/v1”
config = {
“vectordb”: {
“provider”: “chroma”,
“config”: {
“collection_name”: “ollama_openai_compat”
}
},
“llm”: {
“provider”: “openai”, # 使用 openai provider
“config”: {
“model”: “llama3.2”, # 模型名称
“temperature”: 0.1,
“max_tokens”: 2000
}
},
“embedder”: {
“provider”: “openai”,
“config”: {
“model”: “nomic-embed-text”, # 嵌入模型
}
}
}
app = App.from_config(config=config)
app.add(r’E:\拿破仑传.pdf’, data_type=‘pdf_file’)
response = app.query(“拿破仑去世时间”)
print(response)
更多推荐
所有评论(0)