Используйте свои собственные данные с большими языковыми моделями (LLMS, OpenAI CHATGPT и другие) в средах выполнения JS с поддержкой TypeScript.
Документация: https://ts.llamaindex.ai/
Попробуйте примеры онлайн:
LmamainDex.ts стремится стать легким, простым в использовании набора библиотек, которые помогут вам интегрировать крупные языковые модели в ваши приложения с вашими собственными данными.
LmamainDex.ts поддерживает несколько среда JS, в том числе:
На данный момент поддержка браузера ограничена из-за отсутствия поддержки API-подобных API-подобных
npm install llamaindex
pnpm install llamaindex
yarn add llamaindexСмотрите наш официальный документ: https://ts.llamaindex.ai/docs/llamaindex/setup/getting-Started
Когда вы импортируете llamaindex в не-Node.
Причина в том, что некоторые классы совместимы только со временем выполнения node.js (например, PDFReader ), в котором используются специфические API node.js (например, fs , child_process , crypto ).
Если вам нужен какой -либо из этих классов, вы должны импортировать их непосредственно, хотя путь к их файлу в пакете. Вот пример импорта класса PineconeVectorStore :
import { PineconeVectorStore } from "llamaindex/storage/vectorStore/PineconeVectorStore" ; Поскольку PDFReader не работает со временем выполнения Edge, вот как использовать SimpleDirectoryReader с LlamaParseReader для загрузки PDF:
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" } ) ,
} ,
} ) ;
}ПРИМЕЧАНИЕ . Классы читателей должны быть добавлены по объяснению карты
fileExtToReaderв версии EdgeSimpleDirectoryReader.
Вы найдете полный пример с LmamainDexts здесь: https://github.com/run-llama/create_llama_projects/tree/main/nextjs-edge-llamaparse
Проверьте нашу игровую площадку NextJS по адресу https://llama-playground.vercel.app/. Источник доступен по адресу https://github.com/run-llama/ts-playground
Документ: документ представляет текстовый файл, файл PDF или другую смежную часть данных.
Узел: базовый строительный блок данных. Чаще всего это части документа, разделенные на управляемые части, которые достаточно малы, чтобы быть поданными в модель встраивания и LLM.
Внедрение: встраивание - это наборы номеров с плавающей запятой, которые представляют данные в узле. Сравнивая сходство встраиваний, мы можем получить понимание сходства двух частей данных. Одним из вариантов использования является сравнение внедрения вопроса с встраиванием наших узлов, чтобы увидеть, какие узлы могут содержать данные, необходимые для ответа на этот вопрос. Поскольку контекст обслуживания по умолчанию открыт, встраивание по умолчанию является OpenAIEmbedding . При использовании разных моделей, скажем, через Ollama, используйте это внедрение (см. Все здесь).
Индексы: Индексы хранят узлы и встраивание этих узлов. QueryEngines извлекают узлы из этих индексов, используя сходство встраивания.
QueryEngine: Двигатели запросов - это то, что генерирует запрос, который вы вложили, и верните вам результат. Двигатели запроса обычно объединяют предварительно построенную подсказку с выбранными узлами из вашего индекса, чтобы дать LLM контекст, необходимый для ответа на ваш запрос. Чтобы построить двигатель запроса из вашего индекса (рекомендуется), используйте метод asQueryEngine на своем индексе. Смотрите все двигатели запроса здесь.
ChatEngine: ChatEngine помогает вам построить чат -бот, который будет взаимодействовать с вашими индексами. Смотрите все двигатели чата здесь.
SimplePrompt: простое стандартизированное определение вызова функции, которое принимает входы и форматирует их в буквальном шаблоне. SimplePrompts могут быть специализированы с использованием карриков и в сочетании с использованием других функций SimplePrompt.
Пожалуйста, смотрите наше руководство для получения дополнительной информации. Вам настоятельно рекомендуется внести свой вклад в llamaindex.ts!
Пожалуйста, присоединяйтесь к нашему разногласию! https://discord.com/invite/en6d2hq4ax