简单介绍一下 from langchain_ollama import OllamaEmbeddings 的用法
时间: 2025-06-04 14:40:48 AIGC 浏览: 69
<think>嗯,用户让我介绍一下如何用from langchain_ollama import OllamaEmbeddings。首先,我需要确定用户对LangChain和Ollama的了解程度。可能他们已经在用LangChain,现在想集成Ollama的嵌入模型。
我应该先解释OllamaEmbeddings的基本用法,比如如何初始化模型,传入参数。用户可能需要知道不同的模型名称,比如"llama2"或"nomic-embed-text"。还要提到参数,比如temperature,不过可能嵌入模型不太需要这个,但为了全面性还是提一下。
然后,给出一个简单的示例代码,展示如何创建实例并生成嵌入。需要提醒用户确保Ollama服务在本地运行,比如默认的http://localhost:11434。可能用户会忘记启动服务,导致连接错误。
接下来,可能需要结合LangChain的其他组件,比如文档加载器和向量数据库。举个例子,用TextLoader加载文档,拆分后用OllamaEmbeddings处理,存入FAISS。这样用户可以看到整个流程的应用场景。
还要注意常见问题,比如模型名称是否正确,Ollama是否安装并运行,网络连接是否正常。可能用户会遇到模型下载的问题,需要运行ollama pull命令提前获取模型。
最后,确认回答是否解决了用户的疑问,是否需要进一步的信息。可能用户需要更高级的配置或实际应用案例,但当前问题只需要基础介绍,保持简洁明了。</think>好的!`OllamaEmbeddings` 是 LangChain 框架中用于调用本地运行的 Ollama 模型生成文本嵌入(embeddings)的类。以下是基本用法介绍:
---
### **1. 安装依赖**
确保已安装 `ollama` 和 `langchain_ollama`:
```bash
pip install ollama langchain_ollama
```
---
### **2. 初始化模型**
```python
from langchain_ollama import OllamaEmbeddings
# 默认使用本地 Ollama 服务(http://localhost:11434)
embeddings = OllamaEmbeddings(
model="llama2", # 指定模型,如 "nomic-embed-text"(需提前通过 `ollama pull` 下载)
temperature=0, # 控制随机性(嵌入模型通常不需要调整此参数)
)
```
---
### **3. 生成嵌入**
```python
text = "你好,世界!"
embedding = embeddings.embed_query(text) # 对单个文本生成嵌入向量
print(len(embedding)) # 输出向量维度(如 4096)
# 批量生成嵌入
texts = ["文本1", "文本2"]
batch_embeddings = embeddings.embed_documents(texts)
```
---
### **4. 结合 LangChain 使用示例**
```python
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import CharacterTextSplitter
from langchain_vectorstores import FAISS
# 加载文档并分割
loader = TextLoader("document.txt")
docs = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
split_docs = text_splitter.split_documents(docs)
# 生成向量数据库
vector_db = FAISS.from_documents(
split_docs,
embeddings # 使用 OllamaEmbeddings
)
# 后续可进行语义搜索
result = vector_db.similarity_search("搜索关键词", k=3)
```
---
### **注意事项**
- **模型下载**:首次使用需通过 `ollama pull <model_name>` 下载模型(如 `ollama pull nomic-embed-text`)。
- **本地服务**:确保 Ollama 在本地运行(默认端口 11434)。
- **网络问题**:如果通过远程调用,需设置 `base_url` 参数指向服务地址。
如果需要更高级的配置(如自定义请求头、超时时间等),可参考 LangChain 官方文档进一步调整参数。
阅读全文
相关推荐



















