Llama CPP
兼容性
仅在 Node.js 上可用。
此模块基于 node-llama-cpp Node.js 绑定,用于 llama.cpp,让您能够使用本地运行的 LLM。 这使您可以使用更小型的量化模型,该模型能够在笔记本电脑环境中运行,非常适合测试和草拟想法,而不会产生费用!
安装
您需要安装主要版本 3
的 node-llama-cpp 模块才能与您的本地模型通信。
- npm
- Yarn
- pnpm
npm install -S node-llama-cpp@3
yarn add node-llama-cpp@3
pnpm add node-llama-cpp@3
提示
请参阅 此部分,了解有关安装集成包的通用说明。
- npm
- Yarn
- pnpm
npm install @langchain/community @langchain/core
yarn add @langchain/community @langchain/core
pnpm add @langchain/community @langchain/core
您还需要一个本地 Llama 3 模型(或 node-llama-cpp 支持的模型)。 您需要将此模型的路径作为参数的一部分传递给 LlamaCpp 模块(请参阅示例)。
开箱即用的 node-llama-cpp
经过调整,可在 MacOS 平台上运行,并支持 Apple M 系列处理器的 Metal GPU。 如果您需要关闭此功能或需要 CUDA 架构的支持,请参阅 node-llama-cpp 上的文档。
有关获取和准备 llama3
的建议,请参阅此模块的 LLM 版本的文档。
给 LangChain.js 贡献者的注意事项:如果您想运行与此模块关联的测试,您需要将本地模型的路径放在环境变量 LLAMA_PATH
中。
用法
基本用法
我们需要提供本地 Llama3 模型的路径,并且在此模块中 embeddings
属性始终设置为 true
。
import { LlamaCppEmbeddings } from "@langchain/community/embeddings/llama_cpp";
const llamaPath = "/Replace/with/path/to/your/model/gguf-llama3-Q4_0.bin";
const embeddings = await LlamaCppEmbeddings.initialize({
modelPath: llamaPath,
});
const res = embeddings.embedQuery("Hello Llama!");
console.log(res);
/*
[ 15043, 365, 29880, 3304, 29991 ]
*/
API 参考
- LlamaCppEmbeddings 来自
@langchain/community/embeddings/llama_cpp
文档嵌入
import { LlamaCppEmbeddings } from "@langchain/community/embeddings/llama_cpp";
const llamaPath = "/Replace/with/path/to/your/model/gguf-llama3-Q4_0.bin";
const documents = ["Hello World!", "Bye Bye!"];
const embeddings = await LlamaCppEmbeddings.initialize({
modelPath: llamaPath,
});
const res = await embeddings.embedDocuments(documents);
console.log(res);
/*
[ [ 15043, 2787, 29991 ], [ 2648, 29872, 2648, 29872, 29991 ] ]
*/
API 参考
- LlamaCppEmbeddings 来自
@langchain/community/embeddings/llama_cpp