跳至主要内容

Llama CPP

兼容性

仅在 Node.js 上可用。

此模块基于 node-llama-cpp,它是 llama.cpp 的 Node.js 绑定,允许您与本地运行的 LLM 交互。这使您可以使用可以在笔记本电脑环境中运行的更小的量化模型,非常适合在没有产生大量费用情况下进行测试和编写草稿!

设置

您需要安装 node-llama-cpp 模块才能与您的本地模型通信。

npm install -S node-llama-cpp
npm install @langchain/community

您还需要一个本地 Llama 2 模型(或 node-llama-cpp 支持的模型)。您需要将此模型的路径作为参数的一部分传递给 LlamaCpp 模块(参见示例)。

开箱即用的 node-llama-cpp 针对在具有 Apple M 系列处理器的 Metal GPU 的 MacOS 平台上运行进行了优化。如果您需要关闭此功能或需要 CUDA 架构的支持,请参阅 node-llama-cpp 上的文档。

有关获取和准备 llama2 的建议,请参阅此模块的 LLM 版本的文档。

LangChain.js 贡献者注意:如果您想运行与此模块相关的测试,则需要将本地模型的路径放入环境变量 LLAMA_PATH 中。

用法

基本用法

我们需要提供本地 Llama2 模型的路径,此外,embeddings 属性在此模块中始终设置为 true

import { LlamaCppEmbeddings } from "@langchain/community/embeddings/llama_cpp";

const llamaPath = "/Replace/with/path/to/your/model/gguf-llama2-q4_0.bin";

const embeddings = new LlamaCppEmbeddings({
modelPath: llamaPath,
});

const res = embeddings.embedQuery("Hello Llama!");

console.log(res);

/*
[ 15043, 365, 29880, 3304, 29991 ]
*/

API 参考

文档嵌入

import { LlamaCppEmbeddings } from "@langchain/community/embeddings/llama_cpp";

const llamaPath = "/Replace/with/path/to/your/model/gguf-llama2-q4_0.bin";

const documents = ["Hello World!", "Bye Bye!"];

const embeddings = new LlamaCppEmbeddings({
modelPath: llamaPath,
});

const res = await embeddings.embedDocuments(documents);

console.log(res);

/*
[ [ 15043, 2787, 29991 ], [ 2648, 29872, 2648, 29872, 29991 ] ]
*/

API 参考


此页面是否有帮助?


您也可以在 GitHub 上留下详细的反馈 GitHub.