在JS Runtime Environments中,使用大型语言模型(LLMS,OpenAi Chatgpt和其他)使用您自己的数据,并提供打字稿支持。
文档:https://ts.llamaindex.ai/
尝试在线示例:
Llamaindex.ts的目标是轻巧,易于使用的库,以帮助您将大型语言模型与您自己的数据集成到应用程序中。
llamaindex.ts支持多个JS环境,包括:
目前,由于缺乏对类似于异步的API的支持,浏览器支持受到限制
npm install llamaindex
pnpm install llamaindex
yarn add llamaindex请参阅我们的官方文件:https://ts.llamaindex.ai/docs/llamaindex/setup/getting-started
当您在非node.js环境中导入llamaindex (例如Vercel Edge,CloudFlare工人等)时,某些类并未从顶级入口文件中导出。
原因是某些类仅与node.js运行child_process兼容,例如使用node.js特定API(例如fs , PDFReader , crypto )。
如果需要这些类,则必须通过包装中的文件路径直接导入它们。这是导入PineconeVectorStore类的示例:
import { PineconeVectorStore } from "llamaindex/storage/vectorStore/PineconeVectorStore" ;由于PDFReader不使用Edge运行时,因此,这是将SimpleDirectoryReader与LlamaParseReader一起使用PDFS的方法:
import { SimpleDirectoryReader } from "llamaindex/readers/SimpleDirectoryReader" ;
import { LlamaParseReader } from "llamaindex/readers/LlamaParseReader" ;
export const DATA_DIR = "./data" ;
export async function getDocuments ( ) {
const reader = new SimpleDirectoryReader ( ) ;
// Load PDFs using LlamaParseReader
return await reader . loadData ( {
directoryPath : DATA_DIR ,
fileExtToReader : {
pdf : new LlamaParseReader ( { resultType : "markdown" } ) ,
} ,
} ) ;
}注意:必须将读取器类解释到
SimpleDirectoryReader的边缘版本中的fileExtToReader映射中。
您会在这里找到一个完整的示例:https://github.com/run-llama/create_llama_projects/tree/main/main/nextjs-ges-ge-ged-glamaparse
在https://llama-playground.vercel.app/上查看我们的NextJS游乐场。该来源可从https://github.com/run-llama/ts-playground获得
文档:文档代表文本文件,PDF文件或其他连续的数据。
节点:基本数据构建块。最常见的是,这些部分是该文档的一部分分成可管理的部分,这些部分足够小,可以将其送入嵌入式模型和LLM中。
嵌入:嵌入是浮点数的集合,这些浮点数表示节点中的数据。通过比较嵌入的相似性,我们可以得出对两个数据的相似性的理解。一种用例是将问题的嵌入与节点的嵌入进行比较,以查看哪些节点可能包含回答该问题所需的数据。由于默认服务上下文是OpenAI,因此默认嵌入为OpenAIEmbedding 。如果使用不同的模型,请通过Ollama说,请使用此嵌入(请参阅此处)。
索引:索引存储节点和这些节点的嵌入。 QueryEngines使用嵌入相似性从这些索引中检索节点。
QueryEngine:查询引擎是生成您放置的查询并将结果还给您的。查询引擎通常将预构建的提示与您索引中选定的节点相结合,以使LLM回答您的查询所需的上下文。要从索引(推荐)构建查询引擎,请在索引上使用asQueryEngine方法。在这里查看所有查询引擎。
ChatEngine:ChatEngine可帮助您构建一个将与您的索引互动的聊天机器人。在这里查看所有聊天引擎。
简单提示:一个简单的标准化函数调用定义,该定义将输入并以模板字面形式格式化它们。可以使用咖喱使用其他简单提示的功能来专门使用Simple Prompts。
请参阅我们的贡献指南以获取更多信息。鼓励您为LlamainDex.ts做出贡献!
请加入我们的不和谐! https://discord.com/invite/en6d2hq4ax