在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