Use seus próprios dados com grandes modelos de idiomas (LLMS, OpenAI ChatGPT e outros) em ambientes de tempo de execução do JS com suporte ao TypeScript.
Documentação: https://ts.llamaindex.ai/
Experimente exemplos online:
O Llamaindex.ts pretende ser um conjunto de bibliotecas leves e fáceis de usar para ajudá -lo a integrar grandes modelos de linguagem em seus aplicativos com seus próprios dados.
Llamaindex.ts suporta vários ambientes JS, incluindo:
Por enquanto, o suporte ao navegador é limitado devido à falta de apoio às APIs do tipo assíncro
npm install llamaindex
pnpm install llamaindex
yarn add llamaindexVeja nosso documento oficial: https://ts.llamaindex.ai/docs/llamaindex/setup/getting-started
Quando você está importando llamaindex em um ambiente não-node.js (como Vercel Edge, Cloudflare, etc.), algumas classes não são exportadas do arquivo de entrada de nível superior.
O motivo é que algumas classes são compatíveis apenas com o Node.js Runtime, (por exemplo, PDFReader ) que usa APIs específicos do Node.js (como fs , child_process , crypto ).
Se você precisar de alguma dessas classes, precisará importá -las diretamente através do caminho do arquivo no pacote. Aqui está um exemplo para importar a classe PineconeVectorStore :
import { PineconeVectorStore } from "llamaindex/storage/vectorStore/PineconeVectorStore" ; Como o PDFReader não está trabalhando com o Edge Runtime, veja como usar o SimpleDirectoryReader com o LlamaParseReader para carregar 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" } ) ,
} ,
} ) ;
}NOTA : As classes do leitor devem ser adicionadas explicitamente ao mapa
fileExtToReaderna versão Edge doSimpleDirectoryReader.
Você encontrará um exemplo completo com o LlamaiDexts aqui: https://github.com/run-llama/create_llama_projects/tree/main/nextjs-edge-llaMaparse
Confira nosso Playground NextJS em https://llama-playground.vercel.app/. A fonte está disponível em https://github.com/run-llama/ts-playground
Documento: Um documento representa um arquivo de texto, arquivo PDF ou outro dados contíguo.
Nó: o bloco básico de construção de dados. Geralmente, essas são partes do documento divididas em peças gerenciáveis que são pequenas o suficiente para serem alimentadas em um modelo de incorporação e LLM.
Incorporação: as incorporações são conjuntos de números de ponto flutuante que representam os dados em um nó. Ao comparar a similaridade das incorporações, podemos derivar uma compreensão da semelhança de duas peças de dados. Um caso de uso é comparar a incorporação de uma pergunta com as incorporações de nossos nós para ver quais nós podem conter os dados necessários para responder a essa pergunta. Como o contexto de serviço padrão é aberto, a incorporação padrão é OpenAIEmbedding . Se estiver usando modelos diferentes, digamos através do Ollama, use essa incorporação (veja tudo aqui).
Índices: Os índices armazenam os nós e as incorporações desses nós. O QueryEngines recupera os nós desses índices usando a similaridade de incorporação.
Queryengine: os motores de consulta são o que geram a consulta que você coloca e devolve o resultado. Os mecanismos de consulta geralmente combinam um prompt pré-construído com nós selecionados do seu índice para dar ao LLM o contexto necessário para responder à sua consulta. Para construir um mecanismo de consulta a partir do seu índice (recomendado), use o método asQueryEngine no seu índice. Veja todos os motores de consulta aqui.
ChatEngine: um ChatEngine ajuda você a criar um chatbot que interaja com seus índices. Veja todos os mecanismos de bate -papo aqui.
SimplePrompt: uma definição simples de chamada de função padronizada que recebe entradas e formata -as em um modelo literal. O SimplePrompts pode ser especializado usando o curry e combinado usando outras funções simples.
Consulte nosso guia contribuinte para obter mais informações. Você é altamente encorajado a contribuir com o Llandeindex.ts!
Por favor, junte -se à nossa discórdia! https://discord.com/invite/en6d2hq4ax