From ce06ddde74fb0c8fdfef3f414ec1b098c9b619e4 Mon Sep 17 00:00:00 2001 From: thucpn Date: Mon, 16 Dec 2024 12:07:39 +0700 Subject: [PATCH 1/7] add script to reduce manually copying time --- apps/next/scripts/migrate-docs.mjs | 43 +++++++++++++++++++ .../src/content/docs/llamaindex/meta.json | 3 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 apps/next/scripts/migrate-docs.mjs diff --git a/apps/next/scripts/migrate-docs.mjs b/apps/next/scripts/migrate-docs.mjs new file mode 100644 index 0000000000..2da18582d2 --- /dev/null +++ b/apps/next/scripts/migrate-docs.mjs @@ -0,0 +1,43 @@ +/** + * This script is used to migrate the docs from the old format to the new format. + * It will rename all .md files to .mdx and add frontmatter to the top of the file. + * It will also update all links to the correct format. + * It's run in local only to reduce time mannually copying the docs. + * After running the script, you also need to manually fix some contents (e.g: update CodeBlock, CodeSource, etc.) + */ + +import { generateFiles } from "fumadocs-typescript"; +import * as path from "node:path"; + +const out = "./src/content/docs/llamaindex"; + +void generateFiles({ + input: ["../docs/docs/modules/**/*.md", "../docs/docs/modules/**/*.mdx"], + output: (file) => + path.resolve( + path.join(out, path.dirname(file).replace("../docs/docs/", "")), + `${path.basename(file).split(".")[0]}.mdx` // rename .md to .mdx + ), + transformOutput, +}); + +// Replace h1 title with frontmatter title, update all links +// Example: # LLM -> --- title: LLM --- +function transformOutput(filePath, content) { + const lines = content.split("\n"); + const h1Index = lines.findIndex((line) => /^# /.test(line)); + const title = lines[h1Index].replace("# ", "").trim(); + const mdxLines = [`---`, `title: ${title}`, `---`, ...lines.slice(h1Index + 1)]; + const mdxContent = mdxLines.join("\n"); + + // update all links, remove .md and replace ../../api (or ../api, ./api, ...) with /docs/api + // eg: [SentenceSplitter](../api/classes/SentenceSplitter.md) -> [SentenceSplitter](/docs/api/classes/SentenceSplitter) + const result = mdxContent.replace( + /\]\((\.{0,2}\/)*api\/([^)]+)\.md([^)]*)\)/g, + (match, prefix, path, anchor) => { + return `](/docs/api/${path}${anchor})`; + } + ); + + return result; +} diff --git a/apps/next/src/content/docs/llamaindex/meta.json b/apps/next/src/content/docs/llamaindex/meta.json index 9d07337d40..32771ed1cc 100644 --- a/apps/next/src/content/docs/llamaindex/meta.json +++ b/apps/next/src/content/docs/llamaindex/meta.json @@ -10,6 +10,7 @@ "starter", "loading", "guide", - "integration" + "integration", + "modules" ] } From 238b0825625e0411679eda38d71e71c3c069794d Mon Sep 17 00:00:00 2001 From: thucpn Date: Mon, 16 Dec 2024 15:31:33 +0700 Subject: [PATCH 2/7] docs: migrate posts under modules --- .../docs/llamaindex/modules/agent/index.mdx | 31 ++++ .../docs/llamaindex/modules/chat_engine.mdx | 28 +++ .../docs/llamaindex/modules/data_index.mdx | 23 +++ .../modules/data_loaders/discord.mdx | 33 ++++ .../llamaindex/modules/data_loaders/index.mdx | 56 ++++++ .../llamaindex/modules/data_loaders/json.mdx | 151 +++++++++++++++ .../data_loaders/llama_parse/images.mdx | 115 ++++++++++++ .../data_loaders/llama_parse/index.mdx | 64 +++++++ .../data_loaders/llama_parse/json_mode.mdx | 93 ++++++++++ .../modules/data_stores/chat_stores/index.mdx | 15 ++ .../modules/data_stores/doc_stores/index.mdx | 16 ++ .../llamaindex/modules/data_stores/index.mdx | 58 ++++++ .../data_stores/index_stores/index.mdx | 16 ++ .../modules/data_stores/kv_stores/index.mdx | 16 ++ .../data_stores/vector_stores/index.mdx | 24 +++ .../data_stores/vector_stores/qdrant.mdx | 94 ++++++++++ .../modules/documents_and_nodes/index.mdx | 16 ++ .../metadata_extraction.mdx | 54 ++++++ .../available_embeddings/deepinfra.mdx | 85 +++++++++ .../available_embeddings/gemini.mdx | 39 ++++ .../available_embeddings/huggingface.mdx | 40 ++++ .../available_embeddings/jinaai.mdx | 27 +++ .../available_embeddings/mistral.mdx | 30 +++ .../available_embeddings/mixedbreadai.mdx | 106 +++++++++++ .../available_embeddings/ollama.mdx | 35 ++++ .../available_embeddings/openai.mdx | 27 +++ .../available_embeddings/together.mdx | 29 +++ .../llamaindex/modules/embeddings/index.mdx | 33 ++++ .../llamaindex/modules/evaluation/index.mdx | 34 ++++ .../evaluation/modules/correctness.mdx | 64 +++++++ .../evaluation/modules/faithfulness.mdx | 84 +++++++++ .../modules/evaluation/modules/relevancy.mdx | 78 ++++++++ .../modules/ingestion_pipeline/index.mdx | 105 +++++++++++ .../ingestion_pipeline/transformations.mdx | 83 +++++++++ .../docs/llamaindex/modules/llamacloud.mdx | 31 ++++ .../modules/llms/available_llms/anthropic.mdx | 71 +++++++ .../modules/llms/available_llms/azure.mdx | 82 +++++++++ .../modules/llms/available_llms/bedrock.mdx | 174 ++++++++++++++++++ .../modules/llms/available_llms/deepinfra.mdx | 89 +++++++++ .../modules/llms/available_llms/deepseek.mdx | 54 ++++++ .../modules/llms/available_llms/fireworks.mdx | 67 +++++++ .../modules/llms/available_llms/gemini.mdx | 107 +++++++++++ .../modules/llms/available_llms/groq.mdx | 55 ++++++ .../modules/llms/available_llms/llama2.mdx | 98 ++++++++++ .../modules/llms/available_llms/mistral.mdx | 74 ++++++++ .../modules/llms/available_llms/ollama.mdx | 79 ++++++++ .../modules/llms/available_llms/openai.mdx | 75 ++++++++ .../modules/llms/available_llms/portkey.mdx | 76 ++++++++ .../modules/llms/available_llms/together.mdx | 74 ++++++++ .../docs/llamaindex/modules/llms/index.mdx | 42 +++++ .../docs/llamaindex/modules/node_parser.mdx | 95 ++++++++++ .../node_postprocessors/cohere_reranker.mdx | 74 ++++++++ .../modules/node_postprocessors/index.mdx | 112 +++++++++++ .../node_postprocessors/jinaai_reranker.mdx | 78 ++++++++ .../mixedbreadiai_reranker.mdx | 171 +++++++++++++++++ .../docs/llamaindex/modules/prompt/index.mdx | 79 ++++++++ .../modules/query_engines/index.mdx | 43 +++++ .../query_engines/metadata_filtering.mdx | 163 ++++++++++++++++ .../query_engines/router_query_engine.mdx | 173 +++++++++++++++++ .../modules/response_synthesizer.mdx | 62 +++++++ .../docs/llamaindex/modules/retriever.mdx | 21 +++ .../docs/llamaindex/modules/workflows.mdx | 167 +++++++++++++++++ 62 files changed, 4288 insertions(+) create mode 100644 apps/next/src/content/docs/llamaindex/modules/agent/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/chat_engine.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/images.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/json_mode.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/chat_stores/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/doc_stores/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/index_stores/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/kv_stores/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/qdrant.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/metadata_extraction.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/deepinfra.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/gemini.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/huggingface.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/jinaai.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mistral.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mixedbreadai.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/ollama.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/openai.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/together.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/embeddings/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/evaluation/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/evaluation/modules/correctness.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/evaluation/modules/faithfulness.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/evaluation/modules/relevancy.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/transformations.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/anthropic.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/azure.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepinfra.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepseek.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/fireworks.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/gemini.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/llama2.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/mistral.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/ollama.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/openai.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/portkey.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/available_llms/together.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/llms/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/node_parser.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/node_postprocessors/cohere_reranker.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/node_postprocessors/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/node_postprocessors/jinaai_reranker.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/node_postprocessors/mixedbreadiai_reranker.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/prompt/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/query_engines/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/query_engines/metadata_filtering.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/response_synthesizer.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/retriever.mdx create mode 100644 apps/next/src/content/docs/llamaindex/modules/workflows.mdx diff --git a/apps/next/src/content/docs/llamaindex/modules/agent/index.mdx b/apps/next/src/content/docs/llamaindex/modules/agent/index.mdx new file mode 100644 index 0000000000..9d179871f0 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/agent/index.mdx @@ -0,0 +1,31 @@ +--- +title: Agents +--- + +An “agent” is an automated reasoning and decision engine. It takes in a user input/query and can make internal decisions for executing that query in order to return the correct result. The key agent components can include, but are not limited to: + +- Breaking down a complex question into smaller ones +- Choosing an external Tool to use + coming up with parameters for calling the Tool +- Planning out a set of tasks +- Storing previously completed tasks in a memory module + +## Getting Started + +LlamaIndex.TS comes with a few built-in agents, but you can also create your own. The built-in agents include: + +- OpenAI Agent +- Anthropic Agent both via Anthropic and Bedrock (in `@llamaIndex/community`) +- Gemini Agent +- ReACT Agent +- Meta3.1 504B via Bedrock (in `@llamaIndex/community`) + +## Examples + +- [OpenAI Agent](../../examples/agent.mdx) +- [Gemini Agent](../../examples/agent_gemini.mdx) + +## Api References + +- [OpenAIAgent](/docs/api/classes/OpenAIAgent) +- [AnthropicAgent](/docs/api/classes/AnthropicAgent) +- [ReActAgent](/docs/api/classes/ReActAgent) diff --git a/apps/next/src/content/docs/llamaindex/modules/chat_engine.mdx b/apps/next/src/content/docs/llamaindex/modules/chat_engine.mdx new file mode 100644 index 0000000000..d794963376 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/chat_engine.mdx @@ -0,0 +1,28 @@ +--- +title: ChatEngine +--- + +The chat engine is a quick and simple way to chat with the data in your index. + +```typescript +const retriever = index.asRetriever(); +const chatEngine = new ContextChatEngine({ retriever }); + +// start chatting +const response = await chatEngine.chat({ message: query }); +``` + +The `chat` function also supports streaming, just add `stream: true` as an option: + +```typescript +const stream = await chatEngine.chat({ message: query, stream: true }); +for await (const chunk of stream) { + process.stdout.write(chunk.response); +} +``` + +## Api References + +- [ContextChatEngine](/docs/api/classes/ContextChatEngine) +- [CondenseQuestionChatEngine](/docs/api/classes/ContextChatEngine) +- [SimpleChatEngine](/docs/api/classes/SimpleChatEngine) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_index.mdx new file mode 100644 index 0000000000..3c53d6f12d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_index.mdx @@ -0,0 +1,23 @@ +--- +title: Index +--- + +An index is the basic container and organization for your data. LlamaIndex.TS supports two indexes: + +- `VectorStoreIndex` - will send the top-k `Node`s to the LLM when generating a response. The default top-k is 2. +- `SummaryIndex` - will send every `Node` in the index to the LLM in order to generate a response +- `KeywordTableIndex` extracts and provides keywords from `Node`s to the LLM + +```typescript +import { Document, VectorStoreIndex } from "llamaindex"; + +const document = new Document({ text: "test" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## API Reference + +- [SummaryIndex](/docs/api/classes/SummaryIndex) +- [VectorStoreIndex](/docs/api/classes/VectorStoreIndex) +- [KeywordTableIndex](/docs/api/classes/KeywordTableIndex) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx new file mode 100644 index 0000000000..82fd7c3159 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx @@ -0,0 +1,33 @@ +--- +title: DiscordReader +--- + +DiscordReader is a simple data loader that reads all messages in a given Discord channel and returns them as Document objects. +It uses the [@discordjs/rest](https://github.com/discordjs/discord.js/tree/main/packages/rest) library to fetch the messages. + +## Usage + +First step is to create a Discord Application and generating a bot token [here](https://discord.com/developers/applications). +In your Discord Application, go to the `OAuth2` tab and generate an invite URL by selecting `bot` and click `Read Messages/View Channels` as wells as `Read Message History`. +This will invite the bot with the necessary permissions to read messages. +Copy the URL in your browser and select the server you want your bot to join. + +{CodeSource} + +### Params + +#### DiscordReader() + +- `discordToken?`: The Discord bot token. +- `requestHandler?`: Optionally provide a custom request function for edge environments, e.g. `fetch`. See discord.js for more info. + +#### DiscordReader.loadData + +- `channelIDs`: The ID(s) of discord channels as an array of strings. +- `limit?`: Optionally limit the number of messages to read +- `additionalInfo?`: An optional flag to include embedded messages and attachment urls in the document. +- `oldestFirst?`: An optional flag to return the oldest messages first. + +## API Reference + +- [DiscordReader](/docs/api/classes/DiscordReader) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx new file mode 100644 index 0000000000..86beb2e6d3 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx @@ -0,0 +1,56 @@ +--- +title: Loader +--- + +Before you can start indexing your documents, you need to load them into memory. + +All "basic" data loaders can be seen below, mapped to their respective filetypes in `SimpleDirectoryReader`. More loaders are shown in the sidebar on the left. +Additionally the following loaders exist without separate documentation: + +- `AssemblyAIReader` transcribes audio using [AssemblyAI](https://www.assemblyai.com/). + - [AudioTranscriptReader](/docs/api/classes/AudioTranscriptReader): loads entire transcript as a single document. + - [AudioTranscriptParagraphsReader](/docs/api/classes/AudioTranscriptParagraphsReader): creates a document per paragraph. + - [AudioTranscriptSentencesReader](/docs/api/classes/AudioTranscriptSentencesReader): creates a document per sentence. + - [AudioSubtitlesReader](/docs/api/classes/AudioTranscriptParagraphsReader): creates a document containing the subtitles of a transcript. +- [NotionReader](/docs/api/classes/NotionReader) loads [Notion](https://www.notion.so/) pages. +- [SimpleMongoReader](../../api/classes/SimpleMongoReader) loads data from a [MongoDB](https://www.mongodb.com/). + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## SimpleDirectoryReader + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/run-llama/LlamaIndexTS/tree/main/examples/readers?file=src/simple-directory-reader.ts&title=Simple%20Directory%20Reader) + +LlamaIndex.TS supports easy loading of files from folders using the `SimpleDirectoryReader` class. + +It is a simple reader that reads all files from a directory and its subdirectories. + +{CodeSource} + +Currently, the following readers are mapped to specific file types: + +- [TextFileReader](/docs/api/classes/TextFileReader): `.txt` +- [PDFReader](/docs/api/classes/PDFReader): `.pdf` +- [PapaCSVReader](/docs/api/classes/PapaCSVReader): `.csv` +- [MarkdownReader](/docs/api/classes/MarkdownReader): `.md` +- [DocxReader](/docs/api/classes/DocxReader): `.docx` +- [HTMLReader](/docs/api/classes/HTMLReader): `.htm`, `.html` +- [ImageReader](/docs/api/classes/ImageReader): `.jpg`, `.jpeg`, `.png`, `.gif` + +You can modify the reader three different ways: + +- `overrideReader` overrides the reader for all file types, including unsupported ones. +- `fileExtToReader` maps a reader to a specific file type. Can override reader for existing file types or add support for new file types. +- `defaultReader` sets a fallback reader for files with unsupported extensions. By default it is `TextFileReader`. + +SimpleDirectoryReader supports up to 9 concurrent requests. Use the `numWorkers` option to set the number of concurrent requests. By default it runs in sequential mode, i.e. set to 1. + +### Example + + + {CodeSource2} + + +## API Reference + +- [SimpleDirectoryReader](/docs/api/classes/SimpleDirectoryReader) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx new file mode 100644 index 0000000000..4d55500367 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx @@ -0,0 +1,151 @@ +--- +title: JSONReader +--- + +A simple JSON data loader with various options. +Either parses the entire string, cleaning it and treat each line as an embedding or performs a recursive depth-first traversal yielding JSON paths. +Supports streaming of large JSON data using [@discoveryjs/json-ext](https://github.com/discoveryjs/json-ext) + +## Usage + +```ts +import { JSONReader } from "llamaindex"; + +const file = "../../PATH/TO/FILE"; +const content = new TextEncoder().encode("JSON_CONTENT"); + +const reader = new JSONReader({ levelsBack: 0, collapseLength: 100 }); +const docsFromFile = reader.loadData(file); +const docsFromContent = reader.loadDataAsContent(content); +``` + +### Options + +Basic: + +- `streamingThreshold?`: The threshold for using streaming mode in MB of the JSON Data. CEstimates characters by calculating bytes: `(streamingThreshold * 1024 * 1024) / 2` and comparing against `.length` of the JSON string. Set `undefined` to disable streaming or `0` to always use streaming. Default is `50` MB. + +- `ensureAscii?`: Wether to ensure only ASCII characters be present in the output by converting non-ASCII characters to their unicode escape sequence. Default is `false`. + +- `isJsonLines?`: Wether the JSON is in JSON Lines format. If true, will split into lines, remove empty one and parse each line as JSON. Note: Uses a custom streaming parser, most likely less robust than json-ext. Default is `false` + +- `cleanJson?`: Whether to clean the JSON by filtering out structural characters (`{}, [], and ,`). If set to false, it will just parse the JSON, not removing structural characters. Default is `true`. + +- `logger?`: A placeholder for a custom logger function. + +Depth-First-Traversal: + +- `levelsBack?`: Specifies how many levels up the JSON structure to include in the output. `cleanJson` will be ignored. If set to 0, all levels are included. If undefined, parses the entire JSON, treat each line as an embedding and create a document per top-level array. Default is `undefined` + +- `collapseLength?`: The maximum length of JSON string representation to be collapsed into a single line. Only applicable when `levelsBack` is set. Default is `undefined` + +#### Examples + + +Input: + +```json +{"a": {"1": {"key1": "value1"}, "2": {"key2": "value2"}}, "b": {"3": {"k3": "v3"}, "4": {"k4": "v4"}}} +``` + +Default options: + +`LevelsBack` = `undefined` & `cleanJson` = `true` + +Output: + +```json +"a": { +"1": { +"key1": "value1" +"2": { +"key2": "value2" +"b": { +"3": { +"k3": "v3" +"4": { +"k4": "v4" +``` + +Depth-First Traversal all levels: + +`levelsBack` = `0` + +Output: + +```json +a 1 key1 value1 +a 2 key2 value2 +b 3 k3 v3 +b 4 k4 v4 +``` + +Depth-First Traversal and Collapse: + +`levelsBack` = `0` & `collapseLength` = `35` + +Output: + +```json +a 1 {"key1":"value1"} +a 2 {"key2":"value2"} +b {"3":{"k3":"v3"},"4":{"k4":"v4"}} +``` + +Depth-First Traversal limited levels: + +`levelsBack` = `2` + +Output: + +```json +1 key1 value1 +2 key2 value2 +3 k3 v3 +4 k4 v4 +``` + +Uncleaned JSON: + +`levelsBack` = `undefined` & `cleanJson` = `false` + +Output: + +```json +{"a":{"1":{"key1":"value1"},"2":{"key2":"value2"}},"b":{"3":{"k3":"v3"},"4":{"k4":"v4"}}} +``` + +ASCII-Conversion: + +Input: + +```json +{ "message": "こんにちは世界" } +``` + +Output: + +```json +"message": "\u3053\u3093\u306b\u3061\u306f\u4e16\u754c" +``` + +JSON Lines Format: + +Input: + +```json +{"tweet": "Hello world"}\n{"tweet": "こんにちは世界"} +``` + +Output: + +```json +"tweet": "Hello world" + +"tweet": "こんにちは世界" +``` + + +## API Reference + +- [JSONReader](/docs/api/classes/JSONReader) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/images.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/images.mdx new file mode 100644 index 0000000000..b8e099e180 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/images.mdx @@ -0,0 +1,115 @@ +--- +title: Image Retrieval +--- + +LlamaParse `json` mode supports extracting any images found in a page object by using the `getImages` function. They are downloaded to a local folder and can then be sent to a multimodal LLM for further processing. + +## Usage + +We use the `getImages` method to input our array of JSON objects, download the images to a specified folder and get a list of ImageNodes. + +```ts +const reader = new LlamaParseReader(); +const jsonObjs = await reader.loadJson("../data/uber_10q_march_2022.pdf"); +const imageDicts = await reader.getImages(jsonObjs, "images"); +``` + +### Multimodal Indexing + +You can create an index across both text and image nodes by requesting alternative text for the image from a multimodal LLM. + +```ts +import { + Document, + ImageNode, + LlamaParseReader, + OpenAI, + VectorStoreIndex, +} from "llamaindex"; +import { createMessageContent } from "llamaindex/synthesizers/utils"; + +const reader = new LlamaParseReader(); +async function main() { + // Load PDF using LlamaParse JSON mode and return an array of json objects + const jsonObjs = await reader.loadJson("../data/uber_10q_march_2022.pdf"); + // Access the first "pages" (=a single parsed file) object in the array + const jsonList = jsonObjs[0]["pages"]; + + const textDocs = getTextDocs(jsonList); + const imageTextDocs = await getImageTextDocs(jsonObjs); + const documents = [...textDocs, ...imageTextDocs]; + // Split text, create embeddings and query the index + const index = await VectorStoreIndex.fromDocuments(documents); + const queryEngine = index.asQueryEngine(); + const response = await queryEngine.query({ + query: + "What does the bar graph titled 'Monthly Active Platform Consumers' show?", + }); + + console.log(response.toString()); +} + +main().catch(console.error); +``` + +We use two helper functions to create documents from the text and image nodes provided. + +#### Text Documents + +To create documents from the text nodes of the json object, we just map the needed values to a new `Document` object. In this case we assign the text as text and the page number as metadata. + +```ts +function getTextDocs(jsonList: { text: string; page: number }[]): Document[] { + return jsonList.map( + (page) => new Document({ text: page.text, metadata: { page: page.page } }), + ); +} +``` + +#### Image Documents + +To create documents from the images, we need to use a multimodal LLM to generate alt text. + +For this we create `ImageNodes` and add them as part of our message. + +We can use the `createMessageContent` function to simplify this. + +```ts +async function getImageTextDocs( + jsonObjs: Record[], +): Promise { + const llm = new OpenAI({ + model: "gpt-4o", + temperature: 0.2, + maxTokens: 1000, + }); + const imageDicts = await reader.getImages(jsonObjs, "images"); + const imageDocs = []; + + for (const imageDict of imageDicts) { + const imageDoc = new ImageNode({ image: imageDict.path }); + const prompt = () => `Describe the image as alt text`; + const message = await createMessageContent(prompt, [imageDoc]); + + const response = await llm.complete({ + prompt: message, + }); + + const doc = new Document({ + text: response.text, + metadata: { path: imageDict.path }, + }); + imageDocs.push(doc); + } + + return imageDocs; +} +``` + +The returned `imageDocs` have the alt text assigned as text and the image path as metadata. + +You can see the full example file [here](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/readers/src/llamaparse-json.ts). + +## API Reference + +- [LlamaParseReader](/docs/api/classes/LlamaParseReader) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx new file mode 100644 index 0000000000..e3b99892df --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx @@ -0,0 +1,64 @@ +--- +title: LlamaParse +--- + +LlamaParse is an API created by LlamaIndex to efficiently parse files, e.g. it's great at converting PDF tables into markdown. + +To use it, first login and get an API key from https://cloud.llamaindex.ai. Make sure to store the key as `apiKey` parameter or in the environment variable `LLAMA_CLOUD_API_KEY`. + +Official documentation for LlamaParse can be found [here](https://docs.cloud.llamaindex.ai/). + +## Usage + +You can then use the `LlamaParseReader` class to load local files and convert them into a parsed document that can be used by LlamaIndex. +See [reader.ts](https://github.com/run-llama/LlamaIndexTS/blob/main/packages/cloud/src/reader.ts) for a list of supported file types: + +{CodeSource} + +### Params + +All options can be set with the `LlamaParseReader` constructor. + +They can be divided into two groups. + +#### General params: + +- `apiKey` is required. Can be set as an environment variable `LLAMA_CLOUD_API_KEY` +- `checkInterval` is the interval in seconds to check if the parsing is done. Default is `1`. +- `maxTimeout` is the maximum timeout to wait for parsing to finish. Default is `2000` +- `verbose` shows progress of the parsing. Default is `true` +- `ignoreErrors` set to false to get errors while parsing. Default is `true` and returns an empty array on error. + +#### Advanced params: + +- `resultType` can be set to `markdown`, `text` or `json`. Defaults to `text`. More information about `json` mode on the next pages. +- `language` primarily helps with OCR recognition. Defaults to `en`. Click [here](/docs/api/type-aliases/Language) for a list of supported languages. +- `parsingInstructions?` Optional. Can help with complicated document structures. See this [LlamaIndex Blog Post](https://www.llamaindex.ai/blog/launching-the-first-genai-native-document-parsing-platform) for an example. +- `skipDiagonalText?` Optional. Set to true to ignore diagonal text. (Text that is not rotated 0, 90, 180 or 270 degrees) +- `invalidateCache?` Optional. Set to true to ignore the LlamaCloud cache. All document are kept in cache for 48hours after the job was completed to avoid processing the same document twice. Can be useful for testing when trying to re-parse the same document with, e.g. different `parsingInstructions`. +- `doNotCache?` Optional. Set to true to not cache the document. +- `fastMode?` Optional. Set to true to use the fast mode. This mode will skip OCR of images, and table/heading reconstruction. Note: Non-compatible with `gpt4oMode`. +- `doNotUnrollColumns?` Optional. Set to true to keep the text according to document layout. Reduce reconstruction accuracy, and LLMs/embeddings performances in most cases. +- `pageSeparator?` Optional. A templated page separator to use to split the text. If the results contain `{page_number}` (e.g. JSON mode), it will be replaced by the next page number. If not set the default separator `\\n---\\n` will be used. +- `pagePrefix?` Optional. A templated prefix to add to the beginning of each page. If the results contain `{page_number}`, it will be replaced by the page number. +- `pageSuffix?` Optional. A templated suffix to add to the end of each page. If the results contain `{page_number}`, it will be replaced by the page number. +- `gpt4oMode` Deprecated. Use vendorMultimodal params. Set to true to use GPT-4o to extract content. Default is `false`. +- `gpt4oApiKey?` Deprecated. Use vendorMultimodal params. Optional. Set the GPT-4o API key. Lowers the cost of parsing by using your own API key. Your OpenAI account will be charged. Can also be set in the environment variable `LLAMA_CLOUD_GPT4O_API_KEY`. +- `boundingBox?` Optional. Specify an area of the document to parse. Expects the bounding box margins as a string in clockwise order, e.g. `boundingBox = "0.1,0,0,0"` to not parse the top 10% of the document. +- `targetPages?` Optional. Specify which pages to parse by specifying them as a comma-separated list. First page is `0`. +- `splitByPage` Wether to split the results, creating one document per page. Uses the set `pageSeparator` or `\n---\n` as fallback. Default is true. +- `useVendorMultimodalModel` set to true to use a multimodal model. Default is `false`. +- `vendorMultimodalModel?` Optional. Specify which multimodal model to use. Default is GPT4o. See [here](https://docs.cloud.llamaindex.ai/llamaparse/features/multimodal) for a list of available models and cost. +- `vendorMultimodalApiKey?` Optional. Set the multimodal model API key. Can also be set in the environment variable `LLAMA_CLOUD_VENDOR_MULTIMODAL_API_KEY`. +- `numWorkers` as in the python version, is set in `SimpleDirectoryReader`. Default is 1. + +### LlamaParse with SimpleDirectoryReader + +Below a full example of `LlamaParse` integrated in `SimpleDirectoryReader` with additional options. + +{CodeSource2} + +## API Reference + +- [SimpleDirectoryReader](/docs/api/classes/SimpleDirectoryReader) +- [LlamaParseReader](/docs/api/classes/LlamaParseReader) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/json_mode.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/json_mode.mdx new file mode 100644 index 0000000000..537d5cba43 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/json_mode.mdx @@ -0,0 +1,93 @@ +--- +title: JSON Mode +--- + +In JSON mode, LlamaParse will return a data structure representing the parsed object. + +## Usage + +For Json mode, you need to use `loadJson`. The `resultType` is automatically set with this method. +More information about indexing the results on the next page. + +```ts +const reader = new LlamaParseReader(); +async function main() { + // Load the file and return an array of json objects + const jsonObjs = await reader.loadJson("../data/uber_10q_march_2022.pdf"); + // Access the first "pages" (=a single parsed file) object in the array + const jsonList = jsonObjs[0]["pages"]; + // Further process the jsonList object as needed. +} +``` + +### Output + +The result format of the response, written to `jsonObjs` in the example, follows this structure: + +```json +{ + "pages": [ + ..page objects.. + ], + "job_metadata": { + "credits_used": int, + "credits_max": int, + "job_credits_usage": int, + "job_pages": int, + "job_is_cache_hit": boolean + }, + "job_id": string , + "file_path": string, + } +} +``` + +#### Page objects + +Within page objects, the following keys may be present depending on your document. + +- `page`: The page number of the document. +- `text`: The text extracted from the page. +- `md`: The markdown version of the extracted text. +- `images`: Any images extracted from the page. +- `items`: An array of heading, text and table objects in the order they appear on the page. + +### JSON Mode with SimpleDirectoryReader + +All Readers share a `loadData` method with `SimpleDirectoryReader` that promises to return a uniform Document with Metadata. This makes JSON mode incompatible with SimpleDirectoryReader. + +However, a simple work around is to create a new reader class that extends `LlamaParseReader` and adds a new method or overrides `loadData`, wrapping around JSON mode, extracting the required values, and returning a Document object. + +```ts +import { LlamaParseReader, Document } from "llamaindex"; + +class LlamaParseReaderWithJson extends LlamaParseReader { + // Override the loadData method + override async loadData(filePath: string): Promise { + // Call loadJson method that was inherited by LlamaParseReader + const jsonObjs = await super.loadJson(filePath); + let documents: Document[] = []; + + jsonObjs.forEach((jsonObj) => { + // Making sure it's an array before iterating over it + if (Array.isArray(jsonObj.pages)) { + } + const docs = jsonObj.pages.map( + (page: { text: string; page: number }) => + new Document({ text: page.text, metadata: { page: page.page } }), + ); + documents = documents.concat(docs); + }); + return documents; + } +} +``` + +Now we have documents with page number as metadata. This new reader can be used like any other and be integrated with SimpleDirectoryReader. Since it extends `LlamaParseReader`, you can use the same params. + +You can assign any other values of the JSON response to the Document as needed. + +## API Reference + +- [LlamaParseReader](/docs/api/classes/LlamaParseReader) +- [SimpleDirectoryReader](/docs/api/classes/SimpleDirectoryReader) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/chat_stores/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/chat_stores/index.mdx new file mode 100644 index 0000000000..5538486c0f --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/chat_stores/index.mdx @@ -0,0 +1,15 @@ +--- +title: Chat Stores +--- + +Chat stores manage chat history by storing sequences of messages in a structured way, ensuring the order of messages is maintained for accurate conversation flow. + +## Available Chat Stores + +- [SimpleChatStore](/docs/api/classes/SimpleChatStore): A simple in-memory chat store with support for [persisting](../index.md#local-storage) data to disk. + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [BaseChatStore](/docs/api/interfaces/BaseChatStore) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/doc_stores/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/doc_stores/index.mdx new file mode 100644 index 0000000000..dea0be0bbb --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/doc_stores/index.mdx @@ -0,0 +1,16 @@ +--- +title: Document Stores +--- + +Document stores contain ingested document chunks, i.e. [Node](../../documents_and_nodes/index.md)s. + +## Available Document Stores + +- [SimpleDocumentStore](/docs/api/classes/SimpleDocumentStore): A simple in-memory document store with support for [persisting](../index.md#local-storage) data to disk. +- [PostgresDocumentStore](/docs/api/classes/PostgresDocumentStore): A PostgreSQL document store, see [PostgreSQL Storage](../index.md#postgresql-storage). + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [BaseDocumentStore](/docs/api/classes/BaseDocumentStore) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/index.mdx new file mode 100644 index 0000000000..4282f5cdb4 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/index.mdx @@ -0,0 +1,58 @@ +--- +title: Storage +--- + +Storage in LlamaIndex.TS works automatically once you've configured a +`StorageContext` object. + +## Local Storage + +You can configure the `persistDir` and attach it to an index. + +```typescript +import { + Document, + VectorStoreIndex, + storageContextFromDefaults, +} from "llamaindex"; + +const storageContext = await storageContextFromDefaults({ + persistDir: "./storage", +}); + +const document = new Document({ text: "Test Text" }); +const index = await VectorStoreIndex.fromDocuments([document], { + storageContext, +}); +``` + +## PostgreSQL Storage + +You can configure the `schemaName`, `tableName`, `namespace`, and +`connectionString`. If a `connectionString` is not +provided, it will use the environment variables `PGHOST`, `PGUSER`, +`PGPASSWORD`, `PGDATABASE` and `PGPORT`. + +```typescript +import { + Document, + VectorStoreIndex, + PostgresDocumentStore, + PostgresIndexStore, + storageContextFromDefaults, +} from "llamaindex"; + +const storageContext = await storageContextFromDefaults({ + docStore: new PostgresDocumentStore(), + indexStore: new PostgresIndexStore(), +}); + +const document = new Document({ text: "Test Text" }); +const index = await VectorStoreIndex.fromDocuments([document], { + storageContext, +}); +``` + +## API Reference + +- [StorageContext](/docs/api/interfaces/StorageContext) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/index_stores/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/index_stores/index.mdx new file mode 100644 index 0000000000..e773903b9b --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/index_stores/index.mdx @@ -0,0 +1,16 @@ +--- +title: Index Stores +--- + +Index stores are underlying storage components that contain metadata(i.e. information created when indexing) about the [index](../../data_index.md) itself. + +## Available Index Stores + +- [SimpleIndexStore](/docs/api/classes/SimpleIndexStore): A simple in-memory index store with support for [persisting](../index.md#local-storage) data to disk. +- [PostgresIndexStore](/docs/api/classes/PostgresIndexStore): A PostgreSQL index store, , see [PostgreSQL Storage](../index.md#postgresql-storage). + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [BaseIndexStore](/docs/api/classes/BaseIndexStore) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/kv_stores/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/kv_stores/index.mdx new file mode 100644 index 0000000000..0f98a3d2ec --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/kv_stores/index.mdx @@ -0,0 +1,16 @@ +--- +title: Key-Value Stores +--- + +Key-Value Stores represent underlying storage components used in [Document Stores](../doc_stores/index.md) and [Index Stores](../index_stores/index.md) + +## Available Key-Value Stores + +- [SimpleKVStore](/docs/api/classes/SimpleKVStore): A simple Key-Value store with support of [persisting](../index.md#local-storage) data to disk. +- [PostgresKVStore](/docs/api/classes/PostgresKVStore): A PostgreSQL Key-Value store, see [PostgreSQL Storage](../index.md#postgresql-storage). + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [BaseKVStore](/docs/api/classes/BaseKVStore) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/index.mdx new file mode 100644 index 0000000000..97548ddcca --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/index.mdx @@ -0,0 +1,24 @@ +--- +title: Vector Stores +--- + +Vector stores save embedding vectors of your ingested document chunks. + +## Available Vector Stores + +Available Vector Stores are shown on the sidebar to the left. Additionally the following integrations exist without separate documentation: + +- [SimpleVectorStore](/docs/api/classes/SimpleVectorStore): A simple in-memory vector store with optional [persistance](../index.md#local-storage) to disk. +- [AstraDBVectorStore](/docs/api/classes/AstraDBVectorStore): A cloud-native, scalable Database-as-a-Service built on Apache Cassandra, see [datastax.com](https://www.datastax.com/products/datastax-astra) +- [ChromaVectorStore](/docs/api/classes/ChromaVectorStore): An open-source vector database, focused on ease of use and performance, see [trychroma.com](https://www.trychroma.com/) +- [MilvusVectorStore](/docs/api/classes/MilvusVectorStore): An open-source, high-performance, highly scalable vector database, see [milvus.io](https://milvus.io/) +- [MongoDBAtlasVectorSearch](/docs/api/classes/MongoDBAtlasVectorSearch): A cloud-based vector search solution for MongoDB, see [mongodb.com](https://www.mongodb.com/products/platform/atlas-vector-search) +- [PGVectorStore](/docs/api/classes/PGVectorStore): An open-source vector store built on PostgreSQL, see [pgvector Github](https://github.com/pgvector/pgvector) +- [PineconeVectorStore](/docs/api/classes/PineconeVectorStore): A managed, cloud-native vector database, see [pinecone.io](https://www.pinecone.io/) +- [WeaviateVectorStore](/docs/api/classes/WeaviateVectorStore): An open-source, ai-native vector database, see [weaviate.io](https://weaviate.io/) + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [VectorStoreBase](/docs/api/classes/VectorStoreBase) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/qdrant.mdx b/apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/qdrant.mdx new file mode 100644 index 0000000000..c5a363340c --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/data_stores/vector_stores/qdrant.mdx @@ -0,0 +1,94 @@ +--- +title: Qdrant Vector Store +--- + +[qdrant.tech](https://qdrant.tech/) + +To run this example, you need to have a Qdrant instance running. You can run it with Docker: + +```bash +docker pull qdrant/qdrant +docker run -p 6333:6333 qdrant/qdrant +``` + +## Importing the modules + +```ts +import fs from "node:fs/promises"; +import { Document, VectorStoreIndex, QdrantVectorStore } from "llamaindex"; +``` + +## Load the documents + +```ts +const path = "node_modules/llamaindex/examples/abramov.txt"; +const essay = await fs.readFile(path, "utf-8"); +``` + +## Setup Qdrant + +```ts +const vectorStore = new QdrantVectorStore({ + url: "http://localhost:6333", +}); +``` + +## Setup the index + +```ts +const document = new Document({ text: essay, id_: path }); + +const index = await VectorStoreIndex.fromDocuments([document], { + vectorStore, +}); +``` + +## Query the index + +```ts +const queryEngine = index.asQueryEngine(); + +const response = await queryEngine.query({ + query: "What did the author do in college?", +}); + +// Output response +console.log(response.toString()); +``` + +## Full code + +```ts +import fs from "node:fs/promises"; +import { Document, VectorStoreIndex, QdrantVectorStore } from "llamaindex"; + +async function main() { + const path = "node_modules/llamaindex/examples/abramov.txt"; + const essay = await fs.readFile(path, "utf-8"); + + const vectorStore = new QdrantVectorStore({ + url: "http://localhost:6333", + }); + + const document = new Document({ text: essay, id_: path }); + + const index = await VectorStoreIndex.fromDocuments([document], { + vectorStore, + }); + + const queryEngine = index.asQueryEngine(); + + const response = await queryEngine.query({ + query: "What did the author do in college?", + }); + + // Output response + console.log(response.toString()); +} + +main().catch(console.error); +``` + +## API Reference + +- [QdrantVectorStore](/docs/api/classes/QdrantVectorStore) diff --git a/apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/index.mdx b/apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/index.mdx new file mode 100644 index 0000000000..6b5385fe01 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/index.mdx @@ -0,0 +1,16 @@ +--- +title: Documents and Nodes +--- + +`Document`s and `Node`s are the basic building blocks of any index. While the API for these objects is similar, `Document` objects represent entire files, while `Node`s are smaller pieces of that original document, that are suitable for an LLM and Q&A. + +```typescript +import { Document } from "llamaindex"; + +document = new Document({ text: "text", metadata: { key: "val" } }); +``` + +## API Reference + +- [Document](/docs/api/classes/Document) +- [TextNode](/docs/api/classes/TextNode) diff --git a/apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/metadata_extraction.mdx b/apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/metadata_extraction.mdx new file mode 100644 index 0000000000..fbadb14a0f --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/documents_and_nodes/metadata_extraction.mdx @@ -0,0 +1,54 @@ +--- +title: Metadata Extraction Usage Pattern +--- + +You can use LLMs to automate metadata extraction with our `Metadata Extractor` modules. + +Our metadata extractor modules include the following "feature extractors": + +- `SummaryExtractor` - automatically extracts a summary over a set of Nodes +- `QuestionsAnsweredExtractor` - extracts a set of questions that each Node can answer +- `TitleExtractor` - extracts a title over the context of each Node by document and combine them +- `KeywordExtractor` - extracts keywords over the context of each Node + +Then you can chain the `Metadata Extractors` with the `IngestionPipeline` to extract metadata from a set of documents. + +```ts +import { + IngestionPipeline, + TitleExtractor, + QuestionsAnsweredExtractor, + Document, + OpenAI, +} from "llamaindex"; + +async function main() { + const pipeline = new IngestionPipeline({ + transformations: [ + new TitleExtractor(), + new QuestionsAnsweredExtractor({ + questions: 5, + }), + ], + }); + + const nodes = await pipeline.run({ + documents: [ + new Document({ text: "I am 10 years old. John is 20 years old." }), + ], + }); + + for (const node of nodes) { + console.log(node.metadata); + } +} + +main().then(() => console.log("done")); +``` + +## API Reference + +- [SummaryExtractor](/docs/api/classes/SummaryExtractor) +- [QuestionsAnsweredExtractor](/docs/api/classes/QuestionsAnsweredExtractor) +- [TitleExtractor](/docs/api/classes/TitleExtractor) +- [KeywordExtractor](/docs/api/classes/KeywordExtractor) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/deepinfra.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/deepinfra.mdx new file mode 100644 index 0000000000..3cfd6c369d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/deepinfra.mdx @@ -0,0 +1,85 @@ +--- +title: DeepInfra +--- + +To use DeepInfra embeddings, you need to import `DeepInfraEmbedding` from llamaindex. +Check out available embedding models [here](https://deepinfra.com/models/embeddings). + +```ts +import { + DeepInfraEmbedding, + Settings, + Document, + VectorStoreIndex, +} from "llamaindex"; + +// Update Embed Model +Settings.embedModel = new DeepInfraEmbedding(); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +By default, DeepInfraEmbedding is using the sentence-transformers/clip-ViT-B-32 model. You can change the model by passing the model parameter to the constructor. +For example: + +```ts +import { DeepInfraEmbedding } from "llamaindex"; + +const model = "intfloat/e5-large-v2"; +Settings.embedModel = new DeepInfraEmbedding({ + model, +}); +``` + +You can also set the `maxRetries` and `timeout` parameters when initializing `DeepInfraEmbedding` for better control over the request behavior. + +For example: + +```ts +import { DeepInfraEmbedding, Settings } from "llamaindex"; + +const model = "intfloat/e5-large-v2"; +const maxRetries = 5; +const timeout = 5000; // 5 seconds + +Settings.embedModel = new DeepInfraEmbedding({ + model, + maxRetries, + timeout, +}); +``` + +Standalone usage: + +```ts +import { DeepInfraEmbedding } from "llamaindex"; +import { config } from "dotenv"; +// For standalone usage, you need to configure DEEPINFRA_API_TOKEN in .env file +config(); + +const main = async () => { + const model = "intfloat/e5-large-v2"; + const embeddings = new DeepInfraEmbedding({ model }); + const text = "What is the meaning of life?"; + const response = await embeddings.embed([text]); + console.log(response); +}; + +main(); +``` + +For questions or feedback, please contact us at [feedback@deepinfra.com](mailto:feedback@deepinfra.com) + +## API Reference + +- [DeepInfraEmbedding](/docs/api/classes/DeepInfraEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/gemini.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/gemini.mdx new file mode 100644 index 0000000000..074482cc46 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/gemini.mdx @@ -0,0 +1,39 @@ +--- +title: Gemini +--- + +To use Gemini embeddings, you need to import `GeminiEmbedding` from `llamaindex`. + +```ts +import { GeminiEmbedding, Settings } from "llamaindex"; + +// Update Embed Model +Settings.embedModel = new GeminiEmbedding(); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +Per default, `GeminiEmbedding` is using the `gemini-pro` model. You can change the model by passing the `model` parameter to the constructor. +For example: + +```ts +import { GEMINI_MODEL, GeminiEmbedding } from "llamaindex"; + +Settings.embedModel = new GeminiEmbedding({ + model: GEMINI_MODEL.GEMINI_PRO_LATEST, +}); +``` + +## API Reference + +- [GeminiEmbedding](/docs/api/classes/GeminiEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/huggingface.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/huggingface.mdx new file mode 100644 index 0000000000..7b37de3a68 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/huggingface.mdx @@ -0,0 +1,40 @@ +--- +title: HuggingFace +--- + +To use HuggingFace embeddings, you need to import `HuggingFaceEmbedding` from `llamaindex`. + +```ts +import { HuggingFaceEmbedding, Settings } from "llamaindex"; + +// Update Embed Model +Settings.embedModel = new HuggingFaceEmbedding(); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +Per default, `HuggingFaceEmbedding` is using the `Xenova/all-MiniLM-L6-v2` model. You can change the model by passing the `modelType` parameter to the constructor. +If you're not using a quantized model, set the `quantized` parameter to `false`. + +For example, to use the not quantized `BAAI/bge-small-en-v1.5` model, you can use the following code: + +```ts +Settings.embedModel = new HuggingFaceEmbedding({ + modelType: "BAAI/bge-small-en-v1.5", + quantized: false, +}); +``` + +## API Reference + +- [HuggingFaceEmbedding](/docs/api/classes/HuggingFaceEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/jinaai.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/jinaai.mdx new file mode 100644 index 0000000000..6a308ec0d6 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/jinaai.mdx @@ -0,0 +1,27 @@ +--- +title: Jina AI +--- + +To use Jina AI embeddings, you need to import `JinaAIEmbedding` from `llamaindex`. + +```ts +import { JinaAIEmbedding, Settings } from "llamaindex"; + +Settings.embedModel = new JinaAIEmbedding(); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## API Reference + +- [JinaAIEmbedding](/docs/api/classes/JinaAIEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mistral.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mistral.mdx new file mode 100644 index 0000000000..b7722640e0 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mistral.mdx @@ -0,0 +1,30 @@ +--- +title: MistralAI +--- + +To use MistralAI embeddings, you need to import `MistralAIEmbedding` from `llamaindex`. + +```ts +import { MistralAIEmbedding, Settings } from "llamaindex"; + +// Update Embed Model +Settings.embedModel = new MistralAIEmbedding({ + apiKey: "", +}); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## API Reference + +- [MistralAIEmbedding](/docs/api/classes/MistralAIEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mixedbreadai.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mixedbreadai.mdx new file mode 100644 index 0000000000..f8395b58fb --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/mixedbreadai.mdx @@ -0,0 +1,106 @@ +--- +title: MixedbreadAI +--- + +Welcome to the mixedbread embeddings guide! This guide will help you use the mixedbread ai's API to generate embeddings for your text documents, ensuring you get the most relevant information, just like picking the freshest bread from the bakery. + +To find out more about the latest features, updates, and available models, visit [mixedbread.ai](https://mixedbread-ai.com/). + +## Table of Contents + +1. [Setup](#setup) +2. [Usage with LlamaIndex](#usage-with-llamaindex) +3. [Embeddings with Custom Parameters](#embeddings-with-custom-parameters) + +## Setup + +First, you will need to install the `llamaindex` package. + +```bash +pnpm install llamaindex +``` + +Next, sign up for an API key at [mixedbread.ai](https://mixedbread.ai/). Once you have your API key, you can import the necessary modules and create a new instance of the `MixedbreadAIEmbeddings` class. + +```ts +import { MixedbreadAIEmbeddings, Document, Settings } from "llamaindex"; +``` + +## Usage with LlamaIndex + +This section will guide you through integrating mixedbread embeddings with LlamaIndex for more advanced usage. + +### Step 1: Load and Index Documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index, like a variety of breads in a bakery. + +```ts +Settings.embedModel = new MixedbreadAIEmbeddings({ + apiKey: "", + model: "mixedbread-ai/mxbai-embed-large-v1", +}); + +const document = new Document({ + text: "The true source of happiness.", + id_: "bread", +}); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +### Step 2: Create a Query Engine + +Combine the retriever and the embed model to create a query engine. This setup ensures that your queries are processed to provide the best results, like arranging the bread in the order of freshness and quality. + +Models can require prompts to generate embeddings for queries, in the 'mixedbread-ai/mxbai-embed-large-v1' model's case, the prompt is `Represent this sentence for searching relevant passages:`. + +```ts +const queryEngine = index.asQueryEngine(); + +const query = + "Represent this sentence for searching relevant passages: What is bread?"; + +// Log the response +const results = await queryEngine.query(query); +console.log(results); // Serving up the freshest, most relevant results. +``` + +## Embeddings with Custom Parameters + +This section will guide you through generating embeddings with custom parameters and usage with f.e. matryoshka and binary embeddings. + +### Step 1: Create an Instance of MixedbreadAIEmbeddings + +Create a new instance of the `MixedbreadAIEmbeddings` class with custom parameters. For example, to use the `mixedbread-ai/mxbai-embed-large-v1` model with a batch size of 64, normalized embeddings, and binary encoding format: + +```ts +const embeddings = new MixedbreadAIEmbeddings({ + apiKey: "", + model: "mixedbread-ai/mxbai-embed-large-v1", + batchSize: 64, + normalized: true, + dimensions: 512, + encodingFormat: MixedbreadAI.EncodingFormat.Binary, +}); +``` + +### Step 2: Define Texts + +Define the texts you want to generate embeddings for. + +```ts +const texts = ["Bread is life", "Bread is love"]; +``` + +### Step 3: Generate Embeddings + +Use the `embedDocuments` method to generate embeddings for the texts. + +```ts +const result = await embeddings.embedDocuments(texts); +console.log(result); // Perfectly customized embeddings, ready to serve. +``` + +## API Reference + +- [MixedbreadAIEmbeddings](/docs/api/classes/MixedbreadAIEmbeddings) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/ollama.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/ollama.mdx new file mode 100644 index 0000000000..b7e7eeb916 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/ollama.mdx @@ -0,0 +1,35 @@ +--- +title: Ollama +--- + +To use Ollama embeddings, you need to import `OllamaEmbedding` from `llamaindex`. + +Note that you need to pull the embedding model first before using it. + +In the example below, we're using the [`nomic-embed-text`](https://ollama.com/library/nomic-embed-text) model, so you have to call: + +```shell +ollama pull nomic-embed-text +``` + +```ts +import { OllamaEmbedding, Settings } from "llamaindex"; + +Settings.embedModel = new OllamaEmbedding({ model: "nomic-embed-text" }); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## API Reference + +- [OllamaEmbedding](/docs/api/classes/OllamaEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/openai.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/openai.mdx new file mode 100644 index 0000000000..cf1ef52bad --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/openai.mdx @@ -0,0 +1,27 @@ +--- +title: OpenAI +--- + +To use OpenAI embeddings, you need to import `OpenAIEmbedding` from `llamaindex`. + +```ts +import { OpenAIEmbedding, Settings } from "llamaindex"; + +Settings.embedModel = new OpenAIEmbedding(); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## API Reference + +- [OpenAIEmbedding](/docs/api/classes/OpenAIEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/together.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/together.mdx new file mode 100644 index 0000000000..7d5a6a832e --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/available_embeddings/together.mdx @@ -0,0 +1,29 @@ +--- +title: Together +--- + +To use together embeddings, you need to import `TogetherEmbedding` from `llamaindex`. + +```ts +import { TogetherEmbedding, Settings } from "llamaindex"; + +Settings.embedModel = new TogetherEmbedding({ + apiKey: "", +}); + +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); + +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## API Reference + +- [TogetherEmbedding](/docs/api/classes/TogetherEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/embeddings/index.mdx b/apps/next/src/content/docs/llamaindex/modules/embeddings/index.mdx new file mode 100644 index 0000000000..df6d1b7f65 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/embeddings/index.mdx @@ -0,0 +1,33 @@ +--- +title: Embedding +--- + +The embedding model in LlamaIndex is responsible for creating numerical representations of text. By default, LlamaIndex will use the `text-embedding-ada-002` model from OpenAI. + +This can be explicitly updated through `Settings` + +```typescript +import { OpenAIEmbedding, Settings } from "llamaindex"; + +Settings.embedModel = new OpenAIEmbedding({ + model: "text-embedding-ada-002", +}); +``` + +## Local Embedding + +For local embeddings, you can use the [HuggingFace](./available_embeddings/huggingface.md) embedding model. + +## Available Embeddings + +Most available embeddings are listed in the sidebar on the left. +Additionally the following integrations exist without separate documentation: + +- [ClipEmbedding](/docs/api/classes/ClipEmbedding) using `@xenova/transformers` +- [FireworksEmbedding](/docs/api/classes/FireworksEmbedding) see [fireworks.ai](https://fireworks.ai/) + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [OpenAIEmbedding](/docs/api/classes/OpenAIEmbedding) diff --git a/apps/next/src/content/docs/llamaindex/modules/evaluation/index.mdx b/apps/next/src/content/docs/llamaindex/modules/evaluation/index.mdx new file mode 100644 index 0000000000..eb2e896807 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/evaluation/index.mdx @@ -0,0 +1,34 @@ +--- +title: Evaluating +--- + +## Concept + +Evaluation and benchmarking are crucial concepts in LLM development. To improve the performance of an LLM app (RAG, agents) you must have a way to measure it. + +LlamaIndex offers key modules to measure the quality of generated results. We also offer key modules to measure retrieval quality. + +- **Response Evaluation**: Does the response match the retrieved context? Does it also match the query? Does it match the reference answer or guidelines? +- **Retrieval Evaluation**: Are the retrieved sources relevant to the query? + +## Response Evaluation + +Evaluation of generated results can be difficult, since unlike traditional machine learning the predicted result is not a single number, and it can be hard to define quantitative metrics for this problem. + +LlamaIndex offers LLM-based evaluation modules to measure the quality of results. This uses a “gold” LLM (e.g. GPT-4) to decide whether the predicted answer is correct in a variety of ways. + +Note that many of these current evaluation modules do not require ground-truth labels. Evaluation can be done with some combination of the query, context, response, and combine these with LLM calls. + +These evaluation modules are in the following forms: + +- **Correctness**: Whether the generated answer matches that of the reference answer given the query (requires labels). + +- **Faithfulness**: Evaluates if the answer is faithful to the retrieved contexts (in other words, whether if there’s hallucination). + +- **Relevancy**: Evaluates if the response from a query engine matches any source nodes. + +## Usage + +- [Correctness Evaluator](./modules/correctness.md) +- [Faithfulness Evaluator](./modules/faithfulness.md) +- [Relevancy Evaluator](./modules/relevancy.md) diff --git a/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/correctness.mdx b/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/correctness.mdx new file mode 100644 index 0000000000..2e83594094 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/correctness.mdx @@ -0,0 +1,64 @@ +--- +title: Correctness Evaluator +--- + +Correctness evaluates the relevance and correctness of a generated answer against a reference answer. + +This is useful for measuring if the response was correct. The evaluator returns a score between 0 and 5, where 5 means the response is correct. + +## Usage + +Firstly, you need to install the package: + +```bash +pnpm i llamaindex +``` + +Set the OpenAI API key: + +```bash +export OPENAI_API_KEY=your-api-key +``` + +Import the required modules: + +```ts +import { CorrectnessEvaluator, OpenAI, Settings, Response } from "llamaindex"; +``` + +Let's setup gpt-4 for better results: + +```ts +Settings.llm = new OpenAI({ + model: "gpt-4", +}); +``` + +```ts +const query = + "Can you explain the theory of relativity proposed by Albert Einstein in detail?"; + +const response = ` Certainly! Albert Einstein's theory of relativity consists of two main components: special relativity and general relativity. Special relativity, published in 1905, introduced the concept that the laws of physics are the same for all non-accelerating observers and that the speed of light in a vacuum is a constant, regardless of the motion of the source or observer. It also gave rise to the famous equation E=mc², which relates energy (E) and mass (m). + +However, general relativity, published in 1915, extended these ideas to include the effects of magnetism. According to general relativity, gravity is not a force between masses but rather the result of the warping of space and time by magnetic fields generated by massive objects. Massive objects, such as planets and stars, create magnetic fields that cause a curvature in spacetime, and smaller objects follow curved paths in response to this magnetic curvature. This concept is often illustrated using the analogy of a heavy ball placed on a rubber sheet with magnets underneath, causing it to create a depression that other objects (representing smaller masses) naturally move towards due to magnetic attraction. +`; + +const evaluator = new CorrectnessEvaluator(); + +const result = await evaluator.evaluateResponse({ + query, + response: new Response(response), +}); + +console.log( + `the response is ${result.passing ? "correct" : "not correct"} with a score of ${result.score}`, +); +``` + +```bash +the response is not correct with a score of 2.5 +``` + +## API Reference + +- [CorrectnessEvaluator](/docs/api/classes/CorrectnessEvaluator) diff --git a/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/faithfulness.mdx b/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/faithfulness.mdx new file mode 100644 index 0000000000..bf87bad80e --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/faithfulness.mdx @@ -0,0 +1,84 @@ +--- +title: Faithfulness Evaluator +--- + +Faithfulness is a measure of whether the generated answer is faithful to the retrieved contexts. In other words, it measures whether there is any hallucination in the generated answer. + +This uses the FaithfulnessEvaluator module to measure if the response from a query engine matches any source nodes. + +This is useful for measuring if the response was hallucinated. The evaluator returns a score between 0 and 1, where 1 means the response is faithful to the retrieved contexts. + +## Usage + +Firstly, you need to install the package: + +```bash +pnpm i llamaindex +``` + +Set the OpenAI API key: + +```bash +export OPENAI_API_KEY=your-api-key +``` + +Import the required modules: + +```ts +import { + Document, + FaithfulnessEvaluator, + OpenAI, + VectorStoreIndex, + Settings, +} from "llamaindex"; +``` + +Let's setup gpt-4 for better results: + +```ts +Settings.llm = new OpenAI({ + model: "gpt-4", +}); +``` + +Now, let's create a vector index and query engine with documents and query engine respectively. Then, we can evaluate the response with the query and response from the query engine.: + +```ts +const documents = [ + new Document({ + text: `The city came under British control in 1664 and was renamed New York after King Charles II of England granted the lands to his brother, the Duke of York. The city was regained by the Dutch in July 1673 and was renamed New Orange for one year and three months; the city has been continuously named New York since November 1674. New York City was the capital of the United States from 1785 until 1790, and has been the largest U.S. city since 1790. The Statue of Liberty greeted millions of immigrants as they came to the U.S. by ship in the late 19th and early 20th centuries, and is a symbol of the U.S. and its ideals of liberty and peace. In the 21st century, New York City has emerged as a global node of creativity, entrepreneurship, and as a symbol of freedom and cultural diversity. The New York Times has won the most Pulitzer Prizes for journalism and remains the U.S. media's "newspaper of record". In 2019, New York City was voted the greatest city in the world in a survey of over 30,000 p... Pass`, + }), +]; + +const vectorIndex = await VectorStoreIndex.fromDocuments(documents); + +const queryEngine = vectorIndex.asQueryEngine(); +``` + +Now, let's evaluate the response: + +```ts +const query = "How did New York City get its name?"; + +const evaluator = new FaithfulnessEvaluator(); + +const response = await queryEngine.query({ + query, +}); + +const result = await evaluator.evaluateResponse({ + query, + response, +}); + +console.log(`the response is ${result.passing ? "faithful" : "not faithful"}`); +``` + +```bash +the response is faithful +``` + +## API Reference + +- [FaithfulnessEvaluator](/docs/api/classes/FaithfulnessEvaluator) diff --git a/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/relevancy.mdx b/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/relevancy.mdx new file mode 100644 index 0000000000..211998fb26 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/evaluation/modules/relevancy.mdx @@ -0,0 +1,78 @@ +--- +title: Relevancy Evaluator +--- + +Relevancy measure if the response from a query engine matches any source nodes. + +It is useful for measuring if the response was relevant to the query. The evaluator returns a score between 0 and 1, where 1 means the response is relevant to the query. + +## Usage + +Firstly, you need to install the package: + +```bash +pnpm i llamaindex +``` + +Set the OpenAI API key: + +```bash +export OPENAI_API_KEY=your-api-key +``` + +Import the required modules: + +```ts +import { + RelevancyEvaluator, + OpenAI, + Settings, + Document, + VectorStoreIndex, +} from "llamaindex"; +``` + +Let's setup gpt-4 for better results: + +```ts +Settings.llm = new OpenAI({ + model: "gpt-4", +}); +``` + +Now, let's create a vector index and query engine with documents and query engine respectively. Then, we can evaluate the response with the query and response from the query engine.: + +```ts +const documents = [ + new Document({ + text: `The city came under British control in 1664 and was renamed New York after King Charles II of England granted the lands to his brother, the Duke of York. The city was regained by the Dutch in July 1673 and was renamed New Orange for one year and three months; the city has been continuously named New York since November 1674. New York City was the capital of the United States from 1785 until 1790, and has been the largest U.S. city since 1790. The Statue of Liberty greeted millions of immigrants as they came to the U.S. by ship in the late 19th and early 20th centuries, and is a symbol of the U.S. and its ideals of liberty and peace. In the 21st century, New York City has emerged as a global node of creativity, entrepreneurship, and as a symbol of freedom and cultural diversity. The New York Times has won the most Pulitzer Prizes for journalism and remains the U.S. media's "newspaper of record". In 2019, New York City was voted the greatest city in the world in a survey of over 30,000 p... Pass`, + }), +]; + +const vectorIndex = await VectorStoreIndex.fromDocuments(documents); + +const queryEngine = vectorIndex.asQueryEngine(); + +const query = "How did New York City get its name?"; + +const response = await queryEngine.query({ + query, +}); + +const evaluator = new RelevancyEvaluator(); + +const result = await evaluator.evaluateResponse({ + query, + response: response, +}); + +console.log(`the response is ${result.passing ? "relevant" : "not relevant"}`); +``` + +```bash +the response is relevant +``` + +## API Reference + +- [RelevancyEvaluator](/docs/api/classes/RelevancyEvaluator) diff --git a/apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/index.mdx b/apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/index.mdx new file mode 100644 index 0000000000..045e7c5cf0 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/index.mdx @@ -0,0 +1,105 @@ +--- +title: Ingestion Pipeline +--- + +An `IngestionPipeline` uses a concept of `Transformations` that are applied to input data. +These `Transformations` are applied to your input data, and the resulting nodes are either returned or inserted into a vector database (if given). + +## Usage Pattern + +The simplest usage is to instantiate an IngestionPipeline like so: + +```ts +import fs from "node:fs/promises"; + +import { + Document, + IngestionPipeline, + MetadataMode, + OpenAIEmbedding, + TitleExtractor, + SentenceSplitter, +} from "llamaindex"; + +async function main() { + // Load essay from abramov.txt in Node + const path = "node_modules/llamaindex/examples/abramov.txt"; + + const essay = await fs.readFile(path, "utf-8"); + + // Create Document object with essay + const document = new Document({ text: essay, id_: path }); + const pipeline = new IngestionPipeline({ + transformations: [ + new SentenceSplitter({ chunkSize: 1024, chunkOverlap: 20 }), + new TitleExtractor(), + new OpenAIEmbedding(), + ], + }); + + // run the pipeline + const nodes = await pipeline.run({ documents: [document] }); + + // print out the result of the pipeline run + for (const node of nodes) { + console.log(node.getContent(MetadataMode.NONE)); + } +} + +main().catch(console.error); +``` + +## Connecting to Vector Databases + +When running an ingestion pipeline, you can also chose to automatically insert the resulting nodes into a remote vector store. + +Then, you can construct an index from that vector store later on. + +```ts +import fs from "node:fs/promises"; + +import { + Document, + IngestionPipeline, + MetadataMode, + OpenAIEmbedding, + TitleExtractor, + SentenceSplitter, + QdrantVectorStore, + VectorStoreIndex, +} from "llamaindex"; + +async function main() { + // Load essay from abramov.txt in Node + const path = "node_modules/llamaindex/examples/abramov.txt"; + + const essay = await fs.readFile(path, "utf-8"); + + const vectorStore = new QdrantVectorStore({ + host: "http://localhost:6333", + }); + + // Create Document object with essay + const document = new Document({ text: essay, id_: path }); + const pipeline = new IngestionPipeline({ + transformations: [ + new SentenceSplitter({ chunkSize: 1024, chunkOverlap: 20 }), + new TitleExtractor(), + new OpenAIEmbedding(), + ], + vectorStore, + }); + + // run the pipeline + const nodes = await pipeline.run({ documents: [document] }); + + // create an index + const index = VectorStoreIndex.fromVectorStore(vectorStore); +} + +main().catch(console.error); +``` + +## API Reference + +- [IngestionPipeline](/docs/api/classes/IngestionPipeline) diff --git a/apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/transformations.mdx b/apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/transformations.mdx new file mode 100644 index 0000000000..3a38b05ad8 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/ingestion_pipeline/transformations.mdx @@ -0,0 +1,83 @@ +--- +title: Transformations +--- + +A transformation is something that takes a list of nodes as an input, and returns a list of nodes. Each component that implements the Transformation class has both a `transform` definition responsible for transforming the nodes. + +Currently, the following components are Transformation objects: + +- [SentenceSplitter](/docs/api/classes/SentenceSplitter) +- [MetadataExtractor](../documents_and_nodes/metadata_extraction.md) +- [Embeddings](../embeddings/index.md) + +## Usage Pattern + +While transformations are best used with with an IngestionPipeline, they can also be used directly. + +```ts +import { SentenceSplitter, TitleExtractor, Document } from "llamaindex"; + +async function main() { + let nodes = new SentenceSplitter().getNodesFromDocuments([ + new Document({ text: "I am 10 years old. John is 20 years old." }), + ]); + + const titleExtractor = new TitleExtractor(); + + nodes = await titleExtractor.transform(nodes); + + for (const node of nodes) { + console.log(node.getContent(MetadataMode.NONE)); + } +} + +main().catch(console.error); +``` + +## Custom Transformations + +You can implement any transformation yourself by implementing the `TransformComponent`. + +The following custom transformation will remove any special characters or punctuation in text. + +```ts +import { TransformComponent, TextNode } from "llamaindex"; + +export class RemoveSpecialCharacters extends TransformComponent { + async transform(nodes: TextNode[]): Promise { + for (const node of nodes) { + node.text = node.text.replace(/[^\w\s]/gi, ""); + } + + return nodes; + } +} +``` + +These can then be used directly or in any IngestionPipeline. + +```ts +import { IngestionPipeline, Document } from "llamaindex"; + +async function main() { + const pipeline = new IngestionPipeline({ + transformations: [new RemoveSpecialCharacters()], + }); + + const nodes = await pipeline.run({ + documents: [ + new Document({ text: "I am 10 years old. John is 20 years old." }), + ], + }); + + for (const node of nodes) { + console.log(node.getContent(MetadataMode.NONE)); + } +} + +main().catch(console.error); +``` + +## API Reference + +- [TransformComponent](/docs/api/classes/TransformComponent) diff --git a/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx b/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx new file mode 100644 index 0000000000..023f5497a9 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx @@ -0,0 +1,31 @@ +--- +title: LlamaCloud +--- + +LlamaCloud is a new generation of managed parsing, ingestion, and retrieval services, designed to bring production-grade context-augmentation to your LLM and RAG applications. + +Currently, LlamaCloud supports + +- Managed Ingestion API, handling parsing and document management +- Managed Retrieval API, configuring optimal retrieval for your RAG system + +## Access + +We are opening up a private beta to a limited set of enterprise partners for the managed ingestion and retrieval API. If you’re interested in centralizing your data pipelines and spending more time working on your actual RAG use cases, come [talk to us.](https://www.llamaindex.ai/contact) + +If you have access to LlamaCloud, you can visit [LlamaCloud](https://cloud.llamaindex.ai) to sign in and get an API key. + +## Create a Managed Index + +Currently, you can't create a managed index on LlamaCloud using LlamaIndexTS, but you can use an existing managed index for retrieval that was created by the Python version of LlamaIndex. See [the LlamaCloudIndex documentation](https://docs.llamaindex.ai/en/stable/module_guides/indexing/llama_cloud_index.html#usage) for more information on how to create a managed index. + +## Use a Managed Index + +Here's an example of how to use a managed index together with a chat engine: + +{CodeSource} + +## API Reference + +- [LlamaCloudIndex](/docs/api/classes/LlamaCloudIndex) +- [LlamaCloudRetriever](/docs/api/classes/LlamaCloudRetriever) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/anthropic.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/anthropic.mdx new file mode 100644 index 0000000000..7b508fa476 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/anthropic.mdx @@ -0,0 +1,71 @@ +--- +title: Anthropic +--- + +## Usage + +```ts +import { Anthropic, Settings } from "llamaindex"; + +Settings.llm = new Anthropic({ + apiKey: "", +}); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { Anthropic, Document, VectorStoreIndex, Settings } from "llamaindex"; + +Settings.llm = new Anthropic({ + apiKey: "", +}); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [Anthropic](/docs/api/classes/Anthropic) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/azure.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/azure.mdx new file mode 100644 index 0000000000..e43cf39f1c --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/azure.mdx @@ -0,0 +1,82 @@ +--- +title: Azure OpenAI +--- + +To use Azure OpenAI, you only need to set a few environment variables together with the `OpenAI` class. + +For example: + +## Environment Variables + +``` +export AZURE_OPENAI_KEY="" +export AZURE_OPENAI_ENDPOINT="" +export AZURE_OPENAI_DEPLOYMENT="gpt-4" # or some other deployment name +``` + +## Usage + +```ts +import { OpenAI, Settings } from "llamaindex"; + +Settings.llm = new OpenAI({ model: "gpt-4", temperature: 0 }); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { OpenAI, Document, VectorStoreIndex, Settings } from "llamaindex"; + +Settings.llm = new OpenAI({ model: "gpt-4", temperature: 0 }); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [OpenAI](/docs/api/classes/OpenAI) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx new file mode 100644 index 0000000000..ba9f52c14d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx @@ -0,0 +1,174 @@ +--- +title: Bedrock +--- + +## Usage + +```ts +import { BEDROCK_MODELS, Bedrock } from "@llamaindex/community"; + +Settings.llm = new Bedrock({ + model: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_HAIKU, + region: "us-east-1", // can be provided via env AWS_REGION + credentials: { + accessKeyId: "...", // optional and can be provided via env AWS_ACCESS_KEY_ID + secretAccessKey: "...", // optional and can be provided via env AWS_SECRET_ACCESS_KEY + }, +}); +``` + +Currently only supports Anthropic and Meta models: + +```ts +ANTHROPIC_CLAUDE_INSTANT_1 = "anthropic.claude-instant-v1"; +ANTHROPIC_CLAUDE_2 = "anthropic.claude-v2"; +ANTHROPIC_CLAUDE_2_1 = "anthropic.claude-v2:1"; +ANTHROPIC_CLAUDE_3_SONNET = "anthropic.claude-3-sonnet-20240229-v1:0"; +ANTHROPIC_CLAUDE_3_HAIKU = "anthropic.claude-3-haiku-20240307-v1:0"; +ANTHROPIC_CLAUDE_3_OPUS = "anthropic.claude-3-opus-20240229-v1:0"; // available on us-west-2 +ANTHROPIC_CLAUDE_3_5_SONNET = "anthropic.claude-3-5-sonnet-20240620-v1:0"; +ANTHROPIC_CLAUDE_3_5_HAIKU = "anthropic.claude-3-5-haiku-20241022-v1:0"; +META_LLAMA2_13B_CHAT = "meta.llama2-13b-chat-v1"; +META_LLAMA2_70B_CHAT = "meta.llama2-70b-chat-v1"; +META_LLAMA3_8B_INSTRUCT = "meta.llama3-8b-instruct-v1:0"; +META_LLAMA3_70B_INSTRUCT = "meta.llama3-70b-instruct-v1:0"; +META_LLAMA3_1_8B_INSTRUCT = "meta.llama3-1-8b-instruct-v1:0"; // available on us-west-2 +META_LLAMA3_1_70B_INSTRUCT = "meta.llama3-1-70b-instruct-v1:0"; // available on us-west-2 +META_LLAMA3_1_405B_INSTRUCT = "meta.llama3-1-405b-instruct-v1:0"; // available on us-west-2, tool calling supported +META_LLAMA3_2_1B_INSTRUCT = "meta.llama3-2-1b-instruct-v1:0"; // only available via inference endpoints (see below) +META_LLAMA3_2_3B_INSTRUCT = "meta.llama3-2-3b-instruct-v1:0"; // only available via inference endpoints (see below) +META_LLAMA3_2_11B_INSTRUCT = "meta.llama3-2-11b-instruct-v1:0"; // only available via inference endpoints (see below), multimodal and function call supported +META_LLAMA3_2_90B_INSTRUCT = "meta.llama3-2-90b-instruct-v1:0"; // only available via inference endpoints (see below), multimodal and function call supported +AMAZON_NOVA_PRO_1 = "amazon.nova-pro-v1:0"; +AMAZON_NOVA_LITE_1 = "amazon.nova-lite-v1:0"; +AMAZON_NOVA_MICRO_1 = "amazon.nova-micro-v1:0"; +``` + +You can also use Bedrock's Inference endpoints by using the model names: + +```ts +// US +US_ANTHROPIC_CLAUDE_3_HAIKU = "us.anthropic.claude-3-haiku-20240307-v1:0"; +US_ANTHROPIC_CLAUDE_3_OPUS = "us.anthropic.claude-3-opus-20240229-v1:0"; +US_ANTHROPIC_CLAUDE_3_SONNET = "us.anthropic.claude-3-sonnet-20240229-v1:0"; +US_ANTHROPIC_CLAUDE_3_5_SONNET = "us.anthropic.claude-3-5-sonnet-20240620-v1:0"; +US_ANTHROPIC_CLAUDE_3_5_SONNET_V2 = + "us.anthropic.claude-3-5-sonnet-20241022-v2:0"; +US_META_LLAMA_3_2_1B_INSTRUCT = "us.meta.llama3-2-1b-instruct-v1:0"; +US_META_LLAMA_3_2_3B_INSTRUCT = "us.meta.llama3-2-3b-instruct-v1:0"; +US_META_LLAMA_3_2_11B_INSTRUCT = "us.meta.llama3-2-11b-instruct-v1:0"; +US_META_LLAMA_3_2_90B_INSTRUCT = "us.meta.llama3-2-90b-instruct-v1:0"; +US_AMAZON_NOVA_PRO_1 = "us.amazon.nova-pro-v1:0"; +US_AMAZON_NOVA_LITE_1 = "us.amazon.nova-lite-v1:0"; +US_AMAZON_NOVA_MICRO_1 = "us.amazon.nova-micro-v1:0"; + +// EU +EU_ANTHROPIC_CLAUDE_3_HAIKU = "eu.anthropic.claude-3-haiku-20240307-v1:0"; +EU_ANTHROPIC_CLAUDE_3_SONNET = "eu.anthropic.claude-3-sonnet-20240229-v1:0"; +EU_ANTHROPIC_CLAUDE_3_5_SONNET = "eu.anthropic.claude-3-5-sonnet-20240620-v1:0"; +EU_META_LLAMA_3_2_1B_INSTRUCT = "eu.meta.llama3-2-1b-instruct-v1:0"; +EU_META_LLAMA_3_2_3B_INSTRUCT = "eu.meta.llama3-2-3b-instruct-v1:0"; +``` + +Sonnet, Haiku and Opus are multimodal, image_url only supports base64 data url format, e.g. `data:image/jpeg;base64,SGVsbG8sIFdvcmxkIQ==` + +## Full Example + +```ts +import { BEDROCK_MODELS, Bedrock } from "llamaindex"; + +Settings.llm = new Bedrock({ + model: BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_HAIKU, +}); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## Agent Example + +```ts +import { BEDROCK_MODELS, Bedrock } from "@llamaindex/community"; +import { FunctionTool, LLMAgent } from "llamaindex"; + +const sumNumbers = FunctionTool.from( + ({ a, b }: { a: number; b: number }) => `${a + b}`, + { + name: "sumNumbers", + description: "Use this function to sum two numbers", + parameters: { + type: "object", + properties: { + a: { + type: "number", + description: "The first number", + }, + b: { + type: "number", + description: "The second number", + }, + }, + required: ["a", "b"], + }, + }, +); + +const divideNumbers = FunctionTool.from( + ({ a, b }: { a: number; b: number }) => `${a / b}`, + { + name: "divideNumbers", + description: "Use this function to divide two numbers", + parameters: { + type: "object", + properties: { + a: { + type: "number", + description: "The dividend a to divide", + }, + b: { + type: "number", + description: "The divisor b to divide by", + }, + }, + required: ["a", "b"], + }, + }, +); + +const bedrock = new Bedrock({ + model: BEDROCK_MODELS.META_LLAMA3_1_405B_INSTRUCT, + ... +}); + +async function main() { + const agent = new LLMAgent({ + llm: bedrock, + tools: [sumNumbers, divideNumbers], + }); + + const response = await agent.chat({ + message: "How much is 5 + 5? then divide by 2", + }); + + console.log(response.message); +} +``` diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepinfra.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepinfra.mdx new file mode 100644 index 0000000000..f43134036a --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepinfra.mdx @@ -0,0 +1,89 @@ +--- +title: DeepInfra +--- + +Check out available LLMs [here](https://deepinfra.com/models/text-generation). + +```ts +import { DeepInfra, Settings } from "llamaindex"; + +// Get the API key from `DEEPINFRA_API_TOKEN` environment variable +import { config } from "dotenv"; +config(); +Settings.llm = new DeepInfra(); + +// Set the API key +apiKey = "YOUR_API_KEY"; +Settings.llm = new DeepInfra({ apiKey }); +``` + +You can setup the apiKey on the environment variables, like: + +```bash +export DEEPINFRA_API_TOKEN="" +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { DeepInfra, Document, VectorStoreIndex, Settings } from "llamaindex"; + +// Use custom LLM +const model = "meta-llama/Meta-Llama-3-8B-Instruct"; +Settings.llm = new DeepInfra({ model, temperature: 0 }); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## Feedback + +If you have any feedback, please reach out to us at [feedback@deepinfra.com](mailto:feedback@deepinfra.com) + +## API Reference + +- [DeepInfra](../../../api/classes/DeepInfra) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepseek.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepseek.mdx new file mode 100644 index 0000000000..928164ec87 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/deepseek.mdx @@ -0,0 +1,54 @@ +--- +title: DeepSeek LLM +--- + +[DeepSeek Platform](https://platform.deepseek.com/) + +## Usage + +```ts +import { DeepSeekLLM, Settings } from "llamaindex"; + +Settings.llm = new DeepSeekLLM({ + apiKey: "", + model: "deepseek-coder", // or "deepseek-chat" +}); +``` + +## Example + +```ts +import { DeepSeekLLM, Document, VectorStoreIndex, Settings } from "llamaindex"; + +const deepseekLlm = new DeepSeekLLM({ + apiKey: "", + model: "deepseek-coder", // or "deepseek-chat" +}); + +async function main() { + const response = await llm.deepseekLlm.chat({ + messages: [ + { + role: "system", + content: "You are an AI assistant", + }, + { + role: "user", + content: "Tell me about San Francisco", + }, + ], + stream: false, + }); + console.log(response); +} +``` + +# Limitations + +Currently does not support function calling. + +[Currently does not support json-output param while still is very good at json generating.](https://platform.deepseek.com/api-docs/faq#does-your-api-support-json-output) + +## API Reference + +- [DeepSeekLLM](/docs/api/classes/DeepSeekLLM) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/fireworks.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/fireworks.mdx new file mode 100644 index 0000000000..1680de683d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/fireworks.mdx @@ -0,0 +1,67 @@ +--- +title: Fireworks LLM +--- + +[Fireworks.ai](https://fireworks.ai/) focus on production use cases for open source LLMs, offering speed and quality. + +## Usage + +```ts +import { FireworksLLM, Settings } from "llamaindex"; + +Settings.llm = new FireworksLLM({ + apiKey: "", +}); +``` + +## Load and index documents + +For this example, we will load the Berkshire Hathaway 2022 annual report pdf + +```ts +const reader = new PDFReader(); +const documents = await reader.loadData("../data/brk-2022.pdf"); + +// Split text and create embeddings. Store them in a VectorStoreIndex +const index = await VectorStoreIndex.fromDocuments(documents); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); +const response = await queryEngine.query({ + query: "What mistakes did Warren E. Buffett make?", +}); +``` + +## Full Example + +```ts +import { VectorStoreIndex } from "llamaindex"; +import { PDFReader } from "llamaindex/readers/PDFReader"; + +async function main() { + // Load PDF + const reader = new PDFReader(); + const documents = await reader.loadData("../data/brk-2022.pdf"); + + // Split text and create embeddings. Store them in a VectorStoreIndex + const index = await VectorStoreIndex.fromDocuments(documents); + + // Query the index + const queryEngine = index.asQueryEngine(); + const response = await queryEngine.query({ + query: "What mistakes did Warren E. Buffett make?", + }); + + // Output response + console.log(response.toString()); +} + +main().catch(console.error); +``` + +## API Reference + +- [FireworksLLM](/docs/api/classes/FireworksLLM) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/gemini.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/gemini.mdx new file mode 100644 index 0000000000..0f981b6786 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/gemini.mdx @@ -0,0 +1,107 @@ +--- +title: Gemini +--- + +## Usage + +```ts +import { Gemini, Settings, GEMINI_MODEL } from "llamaindex"; + +Settings.llm = new Gemini({ + model: GEMINI_MODEL.GEMINI_PRO, +}); +``` + +### Usage with Vertex AI + +To use Gemini via Vertex AI you can use `GeminiVertexSession`. + +GeminiVertexSession accepts the env variables: `GOOGLE_VERTEX_LOCATION` and `GOOGLE_VERTEX_PROJECT` + +```ts +import { Gemini, GEMINI_MODEL, GeminiVertexSession } from "llamaindex"; + +const gemini = new Gemini({ + model: GEMINI_MODEL.GEMINI_PRO, + session: new GeminiVertexSession({ + location: "us-central1", // optional if provided by GOOGLE_VERTEX_LOCATION env variable + project: "project1", // optional if provided by GOOGLE_VERTEX_PROJECT env variable + googleAuthOptions: {...}, // optional, but useful for production. It accepts all values from `GoogleAuthOptions` + }), +}); +``` + +[GoogleAuthOptions](https://github.com/googleapis/google-auth-library-nodejs/blob/main/src/auth/googleauth.ts) + +To authenticate for local development: + +```bash +npm install @google-cloud/vertexai +gcloud auth application-default login +``` + +To authenticate for production you'll have to use a [service account](https://cloud.google.com/docs/authentication/). `googleAuthOptions` has `credentials` which might be useful for you. + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { + Gemini, + Document, + VectorStoreIndex, + Settings, + GEMINI_MODEL, +} from "llamaindex"; + +Settings.llm = new Gemini({ + model: GEMINI_MODEL.GEMINI_PRO, +}); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [Gemini](/docs/api/classes/Gemini) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx new file mode 100644 index 0000000000..78801f6668 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx @@ -0,0 +1,55 @@ +--- +title: Groq +--- + +## Usage + +First, create an API key at the [Groq Console](https://console.groq.com/keys). Then save it in your environment: + +```bash +export GROQ_API_KEY= +``` + +The initialize the Groq module. + +```ts +import { Groq, Settings } from "llamaindex"; + +Settings.llm = new Groq({ + // If you do not wish to set your API key in the environment, you may + // configure your API key when you initialize the Groq class. + // apiKey: "", +}); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + + + {CodeSource} + + +## API Reference + +- [Groq](/docs/api/classes/Groq) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/llama2.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/llama2.mdx new file mode 100644 index 0000000000..47202a66d5 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/llama2.mdx @@ -0,0 +1,98 @@ +--- +title: LLama2 +--- + +## Usage + +```ts +import { Ollama, Settings, DeuceChatStrategy } from "llamaindex"; + +Settings.llm = new LlamaDeuce({ chatStrategy: DeuceChatStrategy.META }); +``` + +## Usage with Replication + +```ts +import { + Ollama, + ReplicateSession, + Settings, + DeuceChatStrategy, +} from "llamaindex"; + +const replicateSession = new ReplicateSession({ + replicateKey, +}); + +Settings.llm = new LlamaDeuce({ + chatStrategy: DeuceChatStrategy.META, + replicateSession, +}); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { + LlamaDeuce, + Document, + VectorStoreIndex, + Settings, + DeuceChatStrategy, +} from "llamaindex"; + +// Use the LlamaDeuce LLM +Settings.llm = new LlamaDeuce({ chatStrategy: DeuceChatStrategy.META }); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [LlamaDeuce](/docs/api/variables/LlamaDeuce) +- [DeuceChatStrategy](/docs/api/variables/DeuceChatStrategy) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/mistral.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/mistral.mdx new file mode 100644 index 0000000000..ef25de1e7b --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/mistral.mdx @@ -0,0 +1,74 @@ +--- +title: Mistral +--- + +## Usage + +```ts +import { MistralAI, Settings } from "llamaindex"; + +Settings.llm = new MistralAI({ + model: "mistral-tiny", + apiKey: "", +}); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { MistralAI, Document, VectorStoreIndex, Settings } from "llamaindex"; + +// Use the MistralAI LLM +Settings.llm = new MistralAI({ model: "mistral-tiny" }); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [MistralAI](/docs/api/classes/MistralAI) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/ollama.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/ollama.mdx new file mode 100644 index 0000000000..81e1eddbec --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/ollama.mdx @@ -0,0 +1,79 @@ +--- +title: Ollama +--- + +## Usage + +```ts +import { Ollama, Settings } from "llamaindex"; + +Settings.llm = ollamaLLM; +Settings.embedModel = ollamaLLM; +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { Ollama, Document, VectorStoreIndex, Settings } from "llamaindex"; + +import fs from "fs/promises"; + +const ollama = new Ollama({ model: "llama2", temperature: 0.75 }); + +// Use Ollama LLM and Embed Model +Settings.llm = ollama; +Settings.embedModel = ollama; + +async function main() { + const essay = await fs.readFile("./paul_graham_essay.txt", "utf-8"); + + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [Ollama](/docs/api/classes/Ollama) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/openai.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/openai.mdx new file mode 100644 index 0000000000..7211bd6c64 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/openai.mdx @@ -0,0 +1,75 @@ +--- +title: OpenAI +--- + +```ts +import { OpenAI, Settings } from "llamaindex"; + +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0, apiKey: }); +``` + +You can setup the apiKey on the environment variables, like: + +```bash +export OPENAI_API_KEY="" +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { OpenAI, Document, VectorStoreIndex, Settings } from "llamaindex"; + +// Use the OpenAI LLM +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0 }); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [OpenAI](/docs/api/classes/OpenAI) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/portkey.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/portkey.mdx new file mode 100644 index 0000000000..b199afcbfa --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/portkey.mdx @@ -0,0 +1,76 @@ +--- +title: Portkey LLM +--- + +## Usage + +```ts +import { Portkey, Settings } from "llamaindex"; + +Settings.llm = new Portkey({ + apiKey: "", +}); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { Portkey, Document, VectorStoreIndex, Settings } from "llamaindex"; + +// Use the Portkey LLM +Settings.llm = new Portkey({ + apiKey: "", +}); + +async function main() { + // Create a document + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [Portkey](/docs/api/classes/Portkey) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/together.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/together.mdx new file mode 100644 index 0000000000..6e395bc3a2 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/together.mdx @@ -0,0 +1,74 @@ +--- +title: Together LLM +--- + +## Usage + +```ts +import { TogetherLLM, Settings } from "llamaindex"; + +Settings.llm = new TogetherLLM({ + apiKey: "", +}); +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Query + +```ts +const queryEngine = index.asQueryEngine(); + +const query = "What is the meaning of life?"; + +const results = await queryEngine.query({ + query, +}); +``` + +## Full Example + +```ts +import { TogetherLLM, Document, VectorStoreIndex, Settings } from "llamaindex"; + +Settings.llm = new TogetherLLM({ + apiKey: "", +}); + +async function main() { + const document = new Document({ text: essay, id_: "essay" }); + + // Load and index documents + const index = await VectorStoreIndex.fromDocuments([document]); + + // get retriever + const retriever = index.asRetriever(); + + // Create a query engine + const queryEngine = index.asQueryEngine({ + retriever, + }); + + const query = "What is the meaning of life?"; + + // Query + const response = await queryEngine.query({ + query, + }); + + // Log the response + console.log(response.response); +} +``` + +## API Reference + +- [TogetherLLM](/docs/api/classes/TogetherLLM) diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/index.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/index.mdx new file mode 100644 index 0000000000..2e706df556 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/llms/index.mdx @@ -0,0 +1,42 @@ +--- +title: Large Language Models (LLMs) +--- + +The LLM is responsible for reading text and generating natural language responses to queries. By default, LlamaIndex.TS uses `gpt-3.5-turbo`. + +The LLM can be explicitly updated through `Settings`. + +```typescript +import { OpenAI, Settings } from "llamaindex"; + +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0 }); +``` + +## Azure OpenAI + +To use Azure OpenAI, you only need to set a few environment variables. + +For example: + +``` +export AZURE_OPENAI_KEY="" +export AZURE_OPENAI_ENDPOINT="" +export AZURE_OPENAI_DEPLOYMENT="gpt-4" # or some other deployment name +``` + +## Local LLM + +For local LLMs, currently we recommend the use of [Ollama](./available_llms/ollama.md) LLM. + +## Available LLMs + +Most available LLMs are listed in the sidebar on the left. Additionally the following integrations exist without separate documentation: + +- [HuggingFaceLLM](/docs/api/classes/HuggingFaceLLM) and [HuggingFaceInferenceAPI](/docs/api/classes/HuggingFaceInferenceAPI). +- [ReplicateLLM](/docs/api/classes/ReplicateLLM) see [replicate.com](https://replicate.com/) + +Check the [LlamaIndexTS Github](https://github.com/run-llama/LlamaIndexTS) for the most up to date overview of integrations. + +## API Reference + +- [OpenAI](/docs/api/classes/OpenAI) diff --git a/apps/next/src/content/docs/llamaindex/modules/node_parser.mdx b/apps/next/src/content/docs/llamaindex/modules/node_parser.mdx new file mode 100644 index 0000000000..5f9af92c7e --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/node_parser.mdx @@ -0,0 +1,95 @@ +--- +title: NodeParser +--- + +The `NodeParser` in LlamaIndex is responsible for splitting `Document` objects into more manageable `Node` objects. When you call `.fromDocuments()`, the `NodeParser` from the `Settings` is used to do this automatically for you. Alternatively, you can use it to split documents ahead of time. + +```typescript +import { Document, SentenceSplitter } from "llamaindex"; + +const nodeParser = new SentenceSplitter(); + +Settings.nodeParser = nodeParser; +``` + +## TextSplitter + +The underlying text splitter will split text by sentences. It can also be used as a standalone module for splitting raw text. + +```typescript +import { SentenceSplitter } from "llamaindex"; + +const splitter = new SentenceSplitter({ chunkSize: 1 }); + +const textSplits = splitter.splitText("Hello World"); +``` + +## MarkdownNodeParser + +The `MarkdownNodeParser` is a more advanced `NodeParser` that can handle markdown documents. It will split the markdown into nodes and then parse the nodes into a `Document` object. + +```typescript +import { MarkdownNodeParser } from "llamaindex"; + +const nodeParser = new MarkdownNodeParser(); + +const nodes = nodeParser.getNodesFromDocuments([ + new Document({ + text: `# Main Header +Main content + +# Header 2 +Header 2 content + +## Sub-header +Sub-header content + + `, + }), +]); +``` + +The output metadata will be something like: + +```bash +[ + TextNode { + id_: '008e41a8-b097-487c-bee8-bd88b9455844', + metadata: { 'Header 1': 'Main Header' }, + excludedEmbedMetadataKeys: [], + excludedLlmMetadataKeys: [], + relationships: { PARENT: [Array] }, + hash: 'KJ5e/um/RkHaNR6bonj9ormtZY7I8i4XBPVYHXv1A5M=', + text: 'Main Header\nMain content', + textTemplate: '', + metadataSeparator: '\n' + }, + TextNode { + id_: '0f5679b3-ba63-4aff-aedc-830c4208d0b5', + metadata: { 'Header 1': 'Header 2' }, + excludedEmbedMetadataKeys: [], + excludedLlmMetadataKeys: [], + relationships: { PARENT: [Array] }, + hash: 'IP/g/dIld3DcbK+uHzDpyeZ9IdOXY4brxhOIe7wc488=', + text: 'Header 2\nHeader 2 content', + textTemplate: '', + metadataSeparator: '\n' + }, + TextNode { + id_: 'e81e9bd0-121c-4ead-8ca7-1639d65fdf90', + metadata: { 'Header 1': 'Header 2', 'Header 2': 'Sub-header' }, + excludedEmbedMetadataKeys: [], + excludedLlmMetadataKeys: [], + relationships: { PARENT: [Array] }, + hash: 'B3kYNnxaYi9ghtAgwza0ZEVKF4MozobkNUlcekDL7JQ=', + text: 'Sub-header\nSub-header content', + textTemplate: '', + metadataSeparator: '\n' + } +] +``` + +## API Reference + +- [SentenceSplitter](/docs/api/classes/SentenceSplitter) +- [MarkdownNodeParser](/docs/api/classes/MarkdownNodeParser) diff --git a/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/cohere_reranker.mdx b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/cohere_reranker.mdx new file mode 100644 index 0000000000..a64cea55ca --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/cohere_reranker.mdx @@ -0,0 +1,74 @@ +--- +title: Cohere Reranker +--- + +The Cohere Reranker is a postprocessor that uses the Cohere API to rerank the results of a search query. + +## Setup + +Firstly, you will need to install the `llamaindex` package. + +```bash +pnpm install llamaindex +``` + +Now, you will need to sign up for an API key at [Cohere](https://cohere.ai/). Once you have your API key you can import the necessary modules and create a new instance of the `CohereRerank` class. + +```ts +import { + CohereRerank, + Document, + OpenAI, + VectorStoreIndex, + Settings, +} from "llamaindex"; +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0.1 }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Increase similarity topK to retrieve more results + +The default value for `similarityTopK` is 2. This means that only the most similar document will be returned. To retrieve more results, you can increase the value of `similarityTopK`. + +```ts +const retriever = index.asRetriever({ + similarityTopK: 5, +}); +``` + +## Create a new instance of the CohereRerank class + +Then you can create a new instance of the `CohereRerank` class and pass in your API key and the number of results you want to return. + +```ts +const nodePostprocessor = new CohereRerank({ + apiKey: "", + topN: 4, +}); +``` + +## Create a query engine with the retriever and node postprocessor + +```ts +const queryEngine = index.asQueryEngine({ + retriever, + nodePostprocessors: [nodePostprocessor], +}); + +// log the response +const response = await queryEngine.query("Where did the author grown up?"); +``` + +## API Reference + +- [CohereRerank](/docs/api/classes/CohereRerank) diff --git a/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/index.mdx b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/index.mdx new file mode 100644 index 0000000000..8a6cd35f68 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/index.mdx @@ -0,0 +1,112 @@ +--- +title: Node Postprocessors +--- + +## Concept + +Node postprocessors are a set of modules that take a set of nodes, and apply some kind of transformation or filtering before returning them. + +In LlamaIndex, node postprocessors are most commonly applied within a query engine, after the node retrieval step and before the response synthesis step. + +LlamaIndex offers several node postprocessors for immediate use, while also providing a simple API for adding your own custom postprocessors. + +## Usage Pattern + +An example of using a node postprocessors is below: + +```ts +import { + Node, + NodeWithScore, + SimilarityPostprocessor, + CohereRerank, +} from "llamaindex"; + +const nodes: NodeWithScore[] = [ + { + node: new TextNode({ text: "hello world" }), + score: 0.8, + }, + { + node: new TextNode({ text: "LlamaIndex is the best" }), + score: 0.6, + }, +]; + +// similarity postprocessor: filter nodes below 0.75 similarity score +const processor = new SimilarityPostprocessor({ + similarityCutoff: 0.7, +}); + +const filteredNodes = await processor.postprocessNodes(nodes); + +// cohere rerank: rerank nodes given query using trained model +const reranker = new CohereRerank({ + apiKey: "", + topN: 2, +}); + +const rerankedNodes = await reranker.postprocessNodes(nodes, ""); + +console.log(filteredNodes, rerankedNodes); +``` + +Now you can use the `filteredNodes` and `rerankedNodes` in your application. + +## Using Node Postprocessors in LlamaIndex + +Most commonly, node-postprocessors will be used in a query engine, where they are applied to the nodes returned from a retriever, and before the response synthesis step. + +### Using Node Postprocessors in a Query Engine + +```ts +import { Node, NodeWithScore, SimilarityPostprocessor, CohereRerank, Settings } from "llamaindex"; + +// Use OpenAI LLM +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0.1 }); + +const nodes: NodeWithScore[] = [ + { + node: new TextNode({ text: "hello world" }), + score: 0.8, + }, + { + node: new TextNode({ text: "LlamaIndex is the best" }), + score: 0.6, + } +]; + +// cohere rerank: rerank nodes given query using trained model +const reranker = new CohereRerank({ + apiKey: ", + topN: 2, +}) + +const document = new Document({ text: "essay", id_: "essay" }); + +const queryEngine = index.asQueryEngine({ + nodePostprocessors: [processor, reranker], +}); + +// all node post-processors will be applied during each query +const response = await queryEngine.query(""); +``` + +### Using with retrieved nodes + +```ts +import { SimilarityPostprocessor } from "llamaindex"; + +nodes = await index.asRetriever().retrieve({ query: "test query str" }); + +const processor = new SimilarityPostprocessor({ + similarityCutoff: 0.7, +}); + +const filteredNodes = processor.postprocessNodes(nodes); +``` + +## API Reference + +- [SimilarityPostprocessor](/docs/api/classes/SimilarityPostprocessor) +- [MetadataReplacementPostProcessor](/docs/api/classes/MetadataReplacementPostProcessor) diff --git a/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/jinaai_reranker.mdx b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/jinaai_reranker.mdx new file mode 100644 index 0000000000..a43145668c --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/jinaai_reranker.mdx @@ -0,0 +1,78 @@ +--- +title: Jina AI Reranker +--- + +The Jina AI Reranker is a postprocessor that uses the Jina AI Reranker API to rerank the results of a search query. + +## Setup + +Firstly, you will need to install the `llamaindex` package. + +```bash +pnpm install llamaindex +``` + +Now, you will need to sign up for an API key at [Jina AI](https://jina.ai/reranker). Once you have your API key you can import the necessary modules and create a new instance of the `JinaAIReranker` class. + +```ts +import { + JinaAIReranker, + Document, + OpenAI, + VectorStoreIndex, + Settings, +} from "llamaindex"; +``` + +## Load and index documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index. + +```ts +const document = new Document({ text: essay, id_: "essay" }); + +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0.1 }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +## Increase similarity topK to retrieve more results + +The default value for `similarityTopK` is 2. This means that only the most similar document will be returned. To retrieve more results, you can increase the value of `similarityTopK`. + +```ts +const retriever = index.asRetriever({ + similarityTopK: 5, +}); +``` + +## Create a new instance of the JinaAIReranker class + +Then you can create a new instance of the `JinaAIReranker` class and pass in the number of results you want to return. +The Jina AI Reranker API key is set in the `JINAAI_API_KEY` environment variable. + +```bash +export JINAAI_API_KEY= +``` + +```ts +const nodePostprocessor = new JinaAIReranker({ + topN: 5, +}); +``` + +## Create a query engine with the retriever and node postprocessor + +```ts +const queryEngine = index.asQueryEngine({ + retriever, + nodePostprocessors: [nodePostprocessor], +}); + +// log the response +const response = await queryEngine.query("Where did the author grown up?"); +``` + +## API Reference + +- [JinaAIReranker](/docs/api/classes/JinaAIReranker) diff --git a/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/mixedbreadiai_reranker.mdx b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/mixedbreadiai_reranker.mdx new file mode 100644 index 0000000000..1a13a7ccbb --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/node_postprocessors/mixedbreadiai_reranker.mdx @@ -0,0 +1,171 @@ +--- +title: MixedbreadAI +--- + +Welcome to the mixedbread ai reranker guide! This guide will help you use mixedbread ai's API to rerank search query results, ensuring you get the most relevant information, just like picking the freshest bread from the bakery. + +To find out more about the latest features and updates, visit the [mixedbread.ai](https://mixedbread.ai/). + +## Table of Contents + +1. [Setup](#setup) +2. [Usage with LlamaIndex](#usage-with-llamaindex) +3. [Simple Reranking Guide](#simple-reranking-guide) +4. [Reranking with Objects](#reranking-with-objects) + +## Setup + +First, you will need to install the `llamaindex` package. + +```bash +pnpm install llamaindex +``` + +Next, sign up for an API key at [mixedbread.ai](https://mixedbread.ai/). Once you have your API key, you can import the necessary modules and create a new instance of the `MixedbreadAIReranker` class. + +```ts +import { + MixedbreadAIReranker, + Document, + OpenAI, + VectorStoreIndex, + Settings, +} from "llamaindex"; +``` + +## Usage with LlamaIndex + +This section will guide you through integrating mixedbread's reranker with LlamaIndex. + +### Step 1: Load and Index Documents + +For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index, like a variety of breads in a bakery. + +```ts +const document = new Document({ + text: "This is a sample document.", + id_: "sampleDoc", +}); + +Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0.1 }); + +const index = await VectorStoreIndex.fromDocuments([document]); +``` + +### Step 2: Increase Similarity TopK + +The default value for `similarityTopK` is 2, which means only the most similar document will be returned. To get more results, like picking a variety of fresh breads, you can increase the value of `similarityTopK`. + +```ts +const retriever = index.asRetriever({ + similarityTopK: 5, +}); +``` + +### Step 3: Create a MixedbreadAIReranker Instance + +Create a new instance of the `MixedbreadAIReranker` class. + +```ts +const nodePostprocessor = new MixedbreadAIReranker({ + apiKey: "", + topN: 4, +}); +``` + +### Step 4: Create a Query Engine + +Combine the retriever and node postprocessor to create a query engine. This setup ensures that your queries are processed and reranked to provide the best results, like arranging the bread in the order of freshness and quality. + +```ts +const queryEngine = index.asQueryEngine({ + retriever, + nodePostprocessors: [nodePostprocessor], +}); + +// Log the response +const response = await queryEngine.query("Where did the author grow up?"); +console.log(response); +``` + +With mixedbread's Reranker, you're all set to serve up the most relevant and well-ordered results, just like a skilled baker arranging their best breads for eager customers. Enjoy the perfect blend of technology and culinary delight! + +## Simple Reranking Guide + +This section will guide you through a simple reranking process using mixedbread ai. + +### Step 1: Create an Instance of MixedbreadAIReranker + +Create a new instance of the `MixedbreadAIReranker` class, passing in your API key and the number of results you want to return. It's like setting up your bakery to offer a specific number of freshly baked items. + +```ts +const reranker = new MixedbreadAIReranker({ + apiKey: "", + topN: 4, +}); +``` + +### Step 2: Define Nodes and Query + +Define the nodes (documents) you want to rerank and the query. + +```ts +const nodes = [ + { node: new BaseNode("To bake bread you need flour") }, + { node: new BaseNode("To bake bread you need yeast") }, +]; +const query = "What do you need to bake bread?"; +``` + +### Step 3: Perform Reranking + +Use the `postprocessNodes` method to rerank the nodes based on the query. + +```ts +const result = await reranker.postprocessNodes(nodes, query); +console.log(result); // Like pulling freshly baked nodes out of the oven. +``` + +## Reranking with Objects + +This section will guide you through reranking when working with objects. + +### Step 1: Create an Instance of MixedbreadAIReranker + +Create a new instance of the `MixedbreadAIReranker` class, just like before. + +```ts +const reranker = new MixedbreadAIReranker({ + apiKey: "", + model: "mixedbread-ai/mxbai-rerank-large-v1", + topK: 5, + rankFields: ["title", "content"], + returnInput: true, + maxRetries: 5, +}); +``` + +### Step 2: Define Documents and Query + +Define the documents (objects) you want to rerank and the query. + +```ts +const documents = [ + { title: "Bread Recipe", content: "To bake bread you need flour" }, + { title: "Bread Recipe", content: "To bake bread you need yeast" }, +]; +const query = "What do you need to bake bread?"; +``` + +### Step 3: Perform Reranking + +Use the `rerank` method to reorder the documents based on the query. + +```ts +const result = await reranker.rerank(documents, query); +console.log(result); // Perfectly customized results, ready to serve. +``` + +## API Reference + +- [MixedbreadAIReranker](/docs/api/classes/MixedbreadAIReranker) diff --git a/apps/next/src/content/docs/llamaindex/modules/prompt/index.mdx b/apps/next/src/content/docs/llamaindex/modules/prompt/index.mdx new file mode 100644 index 0000000000..f26d0dd3cc --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/prompt/index.mdx @@ -0,0 +1,79 @@ +--- +title: Prompts +--- + +Prompting is the fundamental input that gives LLMs their expressive power. LlamaIndex uses prompts to build the index, do insertion, perform traversal during querying, and to synthesize the final answer. + +Users may also provide their own prompt templates to further customize the behavior of the framework. The best method for customizing is copying the default prompt from the link above, and using that as the base for any modifications. + +## Usage Pattern + +Currently, there are two ways to customize prompts in LlamaIndex: + +For both methods, you will need to create an function that overrides the default prompt. + +```ts +// Define a custom prompt +const newTextQaPrompt: TextQaPrompt = ({ context, query }) => { + return `Context information is below. +--------------------- +${context} +--------------------- +Given the context information and not prior knowledge, answer the query. +Answer the query in the style of a Sherlock Holmes detective novel. +Query: ${query} +Answer:`; +}; +``` + +### 1. Customizing the default prompt on initialization + +The first method is to create a new instance of `ResponseSynthesizer` (or the module you would like to update the prompt) and pass the custom prompt to the `responseBuilder` parameter. Then, pass the instance to the `asQueryEngine` method of the index. + +```ts +// Create an instance of response synthesizer +const responseSynthesizer = new ResponseSynthesizer({ + responseBuilder: new CompactAndRefine(undefined, newTextQaPrompt), +}); + +// Create index +const index = await VectorStoreIndex.fromDocuments([document]); + +// Query the index +const queryEngine = index.asQueryEngine({ responseSynthesizer }); + +const response = await queryEngine.query({ + query: "What did the author do in college?", +}); +``` + +### 2. Customizing submodules prompt + +The second method is that most of the modules in LlamaIndex have a `getPrompts` and a `updatePrompt` method that allows you to override the default prompt. This method is useful when you want to change the prompt on the fly or in submodules on a more granular level. + +```ts +// Create index +const index = await VectorStoreIndex.fromDocuments([document]); + +// Query the index +const queryEngine = index.asQueryEngine(); + +// Get a list of prompts for the query engine +const prompts = queryEngine.getPrompts(); + +// output: { "responseSynthesizer:textQATemplate": defaultTextQaPrompt, "responseSynthesizer:refineTemplate": defaultRefineTemplatePrompt } + +// Now, we can override the default prompt +queryEngine.updatePrompt({ + "responseSynthesizer:textQATemplate": newTextQaPrompt, +}); + +const response = await queryEngine.query({ + query: "What did the author do in college?", +}); +``` + +## API Reference + +- [ResponseSynthesizer](/docs/api/classes/ResponseSynthesizer) +- [CompactAndRefine](/docs/api/classes/CompactAndRefine) diff --git a/apps/next/src/content/docs/llamaindex/modules/query_engines/index.mdx b/apps/next/src/content/docs/llamaindex/modules/query_engines/index.mdx new file mode 100644 index 0000000000..1b5f7ef7f2 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/query_engines/index.mdx @@ -0,0 +1,43 @@ +--- +title: QueryEngine +--- + +A query engine wraps a `Retriever` and a `ResponseSynthesizer` into a pipeline, that will use the query string to fetch nodes and then send them to the LLM to generate a response. + +```typescript +const queryEngine = index.asQueryEngine(); +const response = await queryEngine.query({ query: "query string" }); +``` + +The `query` function also supports streaming, just add `stream: true` as an option: + +```typescript +const stream = await queryEngine.query({ query: "query string", stream: true }); +for await (const chunk of stream) { + process.stdout.write(chunk.response); +} +``` + +## Sub Question Query Engine + +The basic concept of the Sub Question Query Engine is that it splits a single query into multiple queries, gets an answer for each of those queries, and then combines those different answers into a single coherent response for the user. You can think of it as the "think this through step by step" prompt technique but iterating over your data sources! + +### Getting Started + +The easiest way to start trying the Sub Question Query Engine is running the subquestion.ts file in [examples](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/subquestion.ts). + +```bash +npx ts-node subquestion.ts +``` + +### Tools + +SubQuestionQueryEngine is implemented with Tools. The basic idea of Tools is that they are executable options for the large language model. In this case, our SubQuestionQueryEngine relies on QueryEngineTool, which as you guessed it is a tool to run queries on a QueryEngine. This allows us to give the model an option to query different documents for different questions for example. You could also imagine that the SubQuestionQueryEngine could use a Tool that searches for something on the web or gets an answer using Wolfram Alpha. + +You can learn more about Tools by taking a look at the LlamaIndex Python documentation https://gpt-index.readthedocs.io/en/latest/core_modules/agent_modules/tools/root.html + +## API Reference + +- [RetrieverQueryEngine](/docs/api/classes/RetrieverQueryEngine) +- [SubQuestionQueryEngine](/docs/api/classes/SubQuestionQueryEngine) +- [QueryEngineTool](/docs/api/classes/QueryEngineTool) diff --git a/apps/next/src/content/docs/llamaindex/modules/query_engines/metadata_filtering.mdx b/apps/next/src/content/docs/llamaindex/modules/query_engines/metadata_filtering.mdx new file mode 100644 index 0000000000..480edbf1ec --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/query_engines/metadata_filtering.mdx @@ -0,0 +1,163 @@ +--- +title: Metadata Filtering +--- + +Metadata filtering is a way to filter the documents that are returned by a query based on the metadata associated with the documents. This is useful when you want to filter the documents based on some metadata that is not part of the document text. + +You can also check our multi-tenancy blog post to see how metadata filtering can be used in a multi-tenant environment. [https://blog.llamaindex.ai/building-multi-tenancy-rag-system-with-llamaindex-0d6ab4e0c44b] (the article uses the Python version of LlamaIndex, but the concepts are the same). + +## Setup + +Firstly if you haven't already, you need to install the `llamaindex` package: + +```bash +pnpm i llamaindex +``` + +Then you can import the necessary modules from `llamaindex`: + +```ts +import { + ChromaVectorStore, + Document, + VectorStoreIndex, + storageContextFromDefaults, +} from "llamaindex"; + +const collectionName = "dog_colors"; +``` + +## Creating documents with metadata + +You can create documents with metadata using the `Document` class: + +```ts +const docs = [ + new Document({ + text: "The dog is brown", + metadata: { + color: "brown", + dogId: "1", + }, + }), + new Document({ + text: "The dog is red", + metadata: { + color: "red", + dogId: "2", + }, + }), +]; +``` + +## Creating a ChromaDB vector store + +You can create a `ChromaVectorStore` to store the documents: + +```ts +const chromaVS = new ChromaVectorStore({ collectionName }); + +const storageContext = await storageContextFromDefaults({ + vectorStore: chromaVS, +}); + +const index = await VectorStoreIndex.fromDocuments(docs, { + storageContext: storageContext, +}); +``` + +## Querying the index with metadata filtering + +Now you can query the index with metadata filtering using the `preFilters` option: + +```ts +const queryEngine = index.asQueryEngine({ + preFilters: { + filters: [ + { + key: "dogId", + value: "2", + operator: "==", + }, + ], + }, +}); + +const response = await queryEngine.query({ + query: "What is the color of the dog?", +}); + +console.log(response.toString()); +``` + +Besides using the equal operator (`==`), you can also use a whole set of different [operators](/docs/api/interfaces/MetadataFilter#operator) to filter your documents. + +## Full Code + +```ts +import { + ChromaVectorStore, + Document, + VectorStoreIndex, + storageContextFromDefaults, +} from "llamaindex"; + +const collectionName = "dog_colors"; + +async function main() { + try { + const docs = [ + new Document({ + text: "The dog is brown", + metadata: { + color: "brown", + dogId: "1", + }, + }), + new Document({ + text: "The dog is red", + metadata: { + color: "red", + dogId: "2", + }, + }), + ]; + + console.log("Creating ChromaDB vector store"); + const chromaVS = new ChromaVectorStore({ collectionName }); + const ctx = await storageContextFromDefaults({ vectorStore: chromaVS }); + + console.log("Embedding documents and adding to index"); + const index = await VectorStoreIndex.fromDocuments(docs, { + storageContext: ctx, + }); + + console.log("Querying index"); + const queryEngine = index.asQueryEngine({ + preFilters: { + filters: [ + { + key: "dogId", + value: "2", + operator: "==", + }, + ], + }, + }); + const response = await queryEngine.query({ + query: "What is the color of the dog?", + }); + console.log(response.toString()); + } catch (e) { + console.error(e); + } +} + +main(); +``` + +## API Reference + +- [VectorStoreIndex](/docs/api/classes/VectorStoreIndex) +- [ChromaVectorStore](/docs/api/classes/ChromaVectorStore) +- [MetadataFilter](/docs/api/interfaces/MetadataFilter) diff --git a/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx b/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx new file mode 100644 index 0000000000..0cd4dc0001 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx @@ -0,0 +1,173 @@ +--- +title: Router Query Engine +--- + +In this tutorial, we define a custom router query engine that selects one out of several candidate query engines to execute a query. + +## Setup + +First, we need to install import the necessary modules from `llamaindex`: + +```bash +pnpm i lamaindex +``` + +```ts +import { + OpenAI, + RouterQueryEngine, + SimpleDirectoryReader, + SentenceSplitter, + SummaryIndex, + VectorStoreIndex, + Settings, +} from "llamaindex"; +``` + +## Loading Data + +Next, we need to load some data. We will use the `SimpleDirectoryReader` to load documents from a directory: + +```ts +const documents = await new SimpleDirectoryReader().loadData({ + directoryPath: "node_modules/llamaindex/examples", +}); +``` + +## Service Context + +Next, we need to define some basic rules and parse the documents into nodes. We will use the `SentenceSplitter` to parse the documents into nodes and `Settings` to define the rules (eg. LLM API key, chunk size, etc.): + +```ts +Settings.llm = new OpenAI(); +Settings.nodeParser = new SentenceSplitter({ + chunkSize: 1024, +}); +``` + +## Creating Indices + +Next, we need to create some indices. We will create a `VectorStoreIndex` and a `SummaryIndex`: + +```ts +const vectorIndex = await VectorStoreIndex.fromDocuments(documents); +const summaryIndex = await SummaryIndex.fromDocuments(documents); +``` + +## Creating Query Engines + +Next, we need to create some query engines. We will create a `VectorStoreQueryEngine` and a `SummaryQueryEngine`: + +```ts +const vectorQueryEngine = vectorIndex.asQueryEngine(); +const summaryQueryEngine = summaryIndex.asQueryEngine(); +``` + +## Creating a Router Query Engine + +Next, we need to create a router query engine. We will use the `RouterQueryEngine` to create a router query engine: + +We're defining two query engines, one for summarization and one for retrieving specific context. The router query engine will select the most appropriate query engine based on the query. + +```ts +const queryEngine = RouterQueryEngine.fromDefaults({ + queryEngineTools: [ + { + queryEngine: vectorQueryEngine, + description: "Useful for summarization questions related to Abramov", + }, + { + queryEngine: summaryQueryEngine, + description: "Useful for retrieving specific context from Abramov", + }, + ], +}); +``` + +## Querying the Router Query Engine + +Finally, we can query the router query engine: + +```ts +const summaryResponse = await queryEngine.query({ + query: "Give me a summary about his past experiences?", +}); + +console.log({ + answer: summaryResponse.response, + metadata: summaryResponse?.metadata?.selectorResult, +}); +``` + +## Full code + +```ts +import { + OpenAI, + RouterQueryEngine, + SimpleDirectoryReader, + SentenceSplitter, + SummaryIndex, + VectorStoreIndex, + Settings, +} from "llamaindex"; + +Settings.llm = new OpenAI(); +Settings.nodeParser = new SentenceSplitter({ + chunkSize: 1024, +}); + +async function main() { + // Load documents from a directory + const documents = await new SimpleDirectoryReader().loadData({ + directoryPath: "node_modules/llamaindex/examples", + }); + + // Create indices + const vectorIndex = await VectorStoreIndex.fromDocuments(documents); + const summaryIndex = await SummaryIndex.fromDocuments(documents); + + // Create query engines + const vectorQueryEngine = vectorIndex.asQueryEngine(); + const summaryQueryEngine = summaryIndex.asQueryEngine(); + + // Create a router query engine + const queryEngine = RouterQueryEngine.fromDefaults({ + queryEngineTools: [ + { + queryEngine: vectorQueryEngine, + description: "Useful for summarization questions related to Abramov", + }, + { + queryEngine: summaryQueryEngine, + description: "Useful for retrieving specific context from Abramov", + }, + ], + }); + + // Query the router query engine + const summaryResponse = await queryEngine.query({ + query: "Give me a summary about his past experiences?", + }); + + console.log({ + answer: summaryResponse.response, + metadata: summaryResponse?.metadata?.selectorResult, + }); + + const specificResponse = await queryEngine.query({ + query: "Tell me about abramov first job?", + }); + + console.log({ + answer: specificResponse.response, + metadata: specificResponse.metadata.selectorResult, + }); +} + +main().then(() => console.log("Done")); +``` + +## API Reference + +- [RouterQueryEngine](/docs/api/classes/RouterQueryEngine) diff --git a/apps/next/src/content/docs/llamaindex/modules/response_synthesizer.mdx b/apps/next/src/content/docs/llamaindex/modules/response_synthesizer.mdx new file mode 100644 index 0000000000..88e3509307 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/response_synthesizer.mdx @@ -0,0 +1,62 @@ +--- +title: ResponseSynthesizer +--- + +The ResponseSynthesizer is responsible for sending the query, nodes, and prompt templates to the LLM to generate a response. There are a few key modes for generating a response: + +- `Refine`: "create and refine" an answer by sequentially going through each retrieved text chunk. + This makes a separate LLM call per Node. Good for more detailed answers. +- `CompactAndRefine` (default): "compact" the prompt during each LLM call by stuffing as + many text chunks that can fit within the maximum prompt size. If there are + too many chunks to stuff in one prompt, "create and refine" an answer by going through + multiple compact prompts. The same as `refine`, but should result in less LLM calls. +- `TreeSummarize`: Given a set of text chunks and the query, recursively construct a tree + and return the root node as the response. Good for summarization purposes. +- `SimpleResponseBuilder`: Given a set of text chunks and the query, apply the query to each text + chunk while accumulating the responses into an array. Returns a concatenated string of all + responses. Good for when you need to run the same query separately against each text + chunk. + +```typescript +import { NodeWithScore, ResponseSynthesizer, TextNode } from "llamaindex"; + +const responseSynthesizer = new ResponseSynthesizer(); + +const nodesWithScore: NodeWithScore[] = [ + { + node: new TextNode({ text: "I am 10 years old." }), + score: 1, + }, + { + node: new TextNode({ text: "John is 20 years old." }), + score: 0.5, + }, +]; + +const response = await responseSynthesizer.synthesize({ + query: "What age am I?", + nodesWithScore, +}); +console.log(response.response); +``` + +The `synthesize` function also supports streaming, just add `stream: true` as an option: + +```typescript +const stream = await responseSynthesizer.synthesize({ + query: "What age am I?", + nodesWithScore, + stream: true, +}); +for await (const chunk of stream) { + process.stdout.write(chunk.response); +} +``` + +## API Reference + +- [ResponseSynthesizer](/docs/api/classes/ResponseSynthesizer) +- [Refine](/docs/api/classes/Refine) +- [CompactAndRefine](/docs/api/classes/CompactAndRefine) +- [TreeSummarize](/docs/api/classes/TreeSummarize) +- [SimpleResponseBuilder](/docs/api/classes/SimpleResponseBuilder) diff --git a/apps/next/src/content/docs/llamaindex/modules/retriever.mdx b/apps/next/src/content/docs/llamaindex/modules/retriever.mdx new file mode 100644 index 0000000000..72c7362586 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/retriever.mdx @@ -0,0 +1,21 @@ +--- +title: Retriever +--- + +A retriever in LlamaIndex is what is used to fetch `Node`s from an index using a query string. + +- [VectorIndexRetriever](/docs/api/classes/VectorIndexRetriever) will fetch the top-k most similar nodes. Ideal for dense retrieval to find most relevant nodes. +- [SummaryIndexRetriever](/docs/api/classes/SummaryIndexRetriever) will fetch all nodes no matter the query. Ideal when complete context is necessary, e.g. analyzing large datasets. +- [SummaryIndexLLMRetriever](/docs/api/classes/SummaryIndexLLMRetriever) utilizes an LLM to score and filter nodes based on relevancy to the query. +- [KeywordTableLLMRetriever](/docs/api/classes/KeywordTableLLMRetriever) uses an LLM to extract keywords from the query and retrieve relevant nodes based on keyword matches. +- [KeywordTableSimpleRetriever](/docs/api/classes/KeywordTableSimpleRetriever) uses a basic frequency-based approach to extract keywords and retrieve nodes. +- [KeywordTableRAKERetriever](/docs/api/classes/KeywordTableRAKERetriever) uses the RAKE (Rapid Automatic Keyword Extraction) algorithm to extract keywords from the query, focusing on co-occurrence and context for keyword-based retrieval. + +```typescript +const retriever = vectorIndex.asRetriever({ + similarityTopK: 3, +}); + +// Fetch nodes! +const nodesWithScore = await retriever.retrieve({ query: "query string" }); +``` diff --git a/apps/next/src/content/docs/llamaindex/modules/workflows.mdx b/apps/next/src/content/docs/llamaindex/modules/workflows.mdx new file mode 100644 index 0000000000..94adfce43e --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/modules/workflows.mdx @@ -0,0 +1,167 @@ +--- +title: Workflows +--- + +A `Workflow` in LlamaIndexTS is an event-driven abstraction used to chain together several events. Workflows are made up of `steps`, with each step responsible for handling certain event types and emitting new events. + +Workflows in LlamaIndexTS work by defining step functions that handle specific event types and emit new events. + +When a step function is added to a workflow, you need to specify the input and optionally the output event types (used for validation). The specification of the input events ensures each step only runs when an accepted event is ready. + +You can create a `Workflow` to do anything! Build an agent, a RAG flow, an extraction flow, or anything else you want. + +## Getting Started + +As an illustrative example, let's consider a naive workflow where a joke is generated and then critiqued. + +{CodeSource} + +There's a few moving pieces here, so let's go through this piece by piece. + +### Defining Workflow Events + +```typescript +export class JokeEvent extends WorkflowEvent<{ joke: string }> {} +``` + +Events are user-defined classes that extend `WorkflowEvent` and contain arbitrary data provided as template argument. In this case, our workflow relies on a single user-defined event, the `JokeEvent` with a `joke` attribute of type `string`. + +### Setting up the Workflow Class + +```typescript +const llm = new OpenAI(); +... +const jokeFlow = new Workflow({ verbose: true }); +``` + +Our workflow is implemented by initiating the `Workflow` class. For simplicity, we created a `OpenAI` llm instance. + +### Workflow Entry Points + +```typescript +const generateJoke = async (_context: Context, ev: StartEvent) => { + const prompt = `Write your best joke about ${ev.data.input}.`; + const response = await llm.complete({ prompt }); + return new JokeEvent({ joke: response.text }); +}; +``` + +Here, we come to the entry-point of our workflow. While events are user-defined, there are two special-case events, the `StartEvent` and the `StopEvent`. Here, the `StartEvent` signifies where to send the initial workflow input. + +The `StartEvent` is a bit of a special object since it can hold arbitrary attributes. Here, we accessed the topic with `ev.data.input`. + +At this point, you may have noticed that we haven't explicitly told the workflow what events are handled by which steps. + +To do so, we use the `addStep` method which adds a step to the workflow. The first argument is the event type that the step will handle, and the second argument is the previously defined step function: + +```typescript +jokeFlow.addStep(StartEvent, generateJoke); +``` + +### Workflow Exit Points + +```typescript +const critiqueJoke = async (_context: Context, ev: JokeEvent) => { + const prompt = `Give a thorough critique of the following joke: ${ev.data.joke}`; + const response = await llm.complete({ prompt }); + return new StopEvent({ result: response.text }); +}; +``` + +Here, we have our second, and last step, in the workflow. We know its the last step because the special `StopEvent` is returned. When the workflow encounters a returned `StopEvent`, it immediately stops the workflow and returns whatever the result was. + +In this case, the result is a string, but it could be a map, array, or any other object. + +Don't forget to add the step to the workflow: + +```typescript +jokeFlow.addStep(JokeEvent, critiqueJoke); +``` + +### Running the Workflow + +```typescript +const result = await jokeFlow.run("pirates"); +console.log(result.data.result); +``` + +Lastly, we run the workflow. The `.run()` method is async, so we use await here to wait for the result. + +### Validating Workflows + +To tell the workflow what events are produced by each step, you can optionally provide a third argument to `addStep` to specify the output event type: + +```typescript +jokeFlow.addStep(StartEvent, generateJoke, { outputs: JokeEvent }); +jokeFlow.addStep(JokeEvent, critiqueJoke, { outputs: StopEvent }); +``` + +To validate a workflow, you need to call the `validate` method: + +```typescript +jokeFlow.validate(); +``` + +To automatically validate a workflow when you run it, you can set the `validate` flag to `true` at initialization: + +```typescript +const jokeFlow = new Workflow({ verbose: true, validate: true }); +``` + +## Working with Global Context/State + +Optionally, you can choose to use global context between steps. For example, maybe multiple steps access the original `query` input from the user. You can store this in global context so that every step has access. + +```typescript +import { Context } from "@llamaindex/core/workflow"; + +const query = async (context: Context, ev: MyEvent) => { + // get the query from the context + const query = context.get("query"); + // do something with context and event + const val = ... + const result = ... + // store in context + context.set("key", val); + + return new StopEvent({ result }); +}; +``` + +## Waiting for Multiple Events + +The context does more than just hold data, it also provides utilities to buffer and wait for multiple events. + +For example, you might have a step that waits for a query and retrieved nodes before synthesizing a response: + +```typescript +const synthesize = async (context: Context, ev: QueryEvent | RetrieveEvent) => { + const events = context.collectEvents(ev, [QueryEvent | RetrieveEvent]); + if (!events) { + return; + } + const prompt = events + .map((event) => { + if (event instanceof QueryEvent) { + return `Answer this query using the context provided: ${event.data.query}`; + } else if (event instanceof RetrieveEvent) { + return `Context: ${event.data.context}`; + } + return ""; + }) + .join("\n"); + + const response = await llm.complete({ prompt }); + return new StopEvent({ result: response.text }); +}; +``` + +Using `ctx.collectEvents()` we can buffer and wait for ALL expected events to arrive. This function will only return events (in the requested order) once all events have arrived. + +## Manually Triggering Events + +Normally, events are triggered by returning another event during a step. However, events can also be manually dispatched using the `ctx.sendEvent(event)` method within a workflow. + +## Examples + +You can find many useful examples of using workflows in the [examples folder](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/workflow). From 2f77e4e583fd58ce2d24463a371fc9507dd388e2 Mon Sep 17 00:00:00 2001 From: thucpn Date: Mon, 16 Dec 2024 16:25:28 +0700 Subject: [PATCH 3/7] fix: remove comment for json.mdx --- .../src/content/docs/llamaindex/modules/data_loaders/json.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx index 4d55500367..cf69bf73af 100644 --- a/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/json.mdx @@ -41,7 +41,6 @@ Depth-First-Traversal: #### Examples - Input: ```json @@ -144,7 +143,6 @@ Output: "tweet": "こんにちは世界" ``` - ## API Reference From d7ea779b65fcb8327a56f0b7e014987a1631076c Mon Sep 17 00:00:00 2001 From: thucpn Date: Mon, 16 Dec 2024 16:55:32 +0700 Subject: [PATCH 4/7] fix: manually fix document --- .../docs/llamaindex/modules/data_loaders/discord.mdx | 5 ++++- .../docs/llamaindex/modules/data_loaders/index.mdx | 10 ++++++---- .../modules/data_loaders/llama_parse/index.mdx | 8 ++++++-- .../src/content/docs/llamaindex/modules/llamacloud.mdx | 5 ++++- .../llamaindex/modules/llms/available_llms/groq.mdx | 7 ++++--- .../src/content/docs/llamaindex/modules/workflows.mdx | 5 ++++- 6 files changed, 28 insertions(+), 12 deletions(-) diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx index 82fd7c3159..52e9125f10 100644 --- a/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/discord.mdx @@ -2,6 +2,9 @@ title: DiscordReader --- +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../../examples/readers/src/discord"; + DiscordReader is a simple data loader that reads all messages in a given Discord channel and returns them as Document objects. It uses the [@discordjs/rest](https://github.com/discordjs/discord.js/tree/main/packages/rest) library to fetch the messages. @@ -12,7 +15,7 @@ In your Discord Application, go to the `OAuth2` tab and generate an invite URL b This will invite the bot with the necessary permissions to read messages. Copy the URL in your browser and select the server you want your bot to join. -{CodeSource} + ### Params diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx index 86beb2e6d3..37a700ec57 100644 --- a/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/index.mdx @@ -2,6 +2,10 @@ title: Loader --- +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../../examples/readers/src/simple-directory-reader"; +import CodeSource2 from "!raw-loader!../../../../../../../../examples/readers/src/custom-simple-directory-reader"; + Before you can start indexing your documents, you need to load them into memory. All "basic" data loaders can be seen below, mapped to their respective filetypes in `SimpleDirectoryReader`. More loaders are shown in the sidebar on the left. @@ -25,7 +29,7 @@ LlamaIndex.TS supports easy loading of files from folders using the `SimpleDirec It is a simple reader that reads all files from a directory and its subdirectories. -{CodeSource} + Currently, the following readers are mapped to specific file types: @@ -47,9 +51,7 @@ SimpleDirectoryReader supports up to 9 concurrent requests. Use the `numWorkers` ### Example - - {CodeSource2} - + ## API Reference diff --git a/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx index e3b99892df..23c0f193f0 100644 --- a/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/data_loaders/llama_parse/index.mdx @@ -2,6 +2,10 @@ title: LlamaParse --- +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../../../examples/readers/src/llamaparse"; +import CodeSource2 from "!raw-loader!../../../../../../../../../examples/readers/src/simple-directory-reader-with-llamaparse.ts"; + LlamaParse is an API created by LlamaIndex to efficiently parse files, e.g. it's great at converting PDF tables into markdown. To use it, first login and get an API key from https://cloud.llamaindex.ai. Make sure to store the key as `apiKey` parameter or in the environment variable `LLAMA_CLOUD_API_KEY`. @@ -13,7 +17,7 @@ Official documentation for LlamaParse can be found [here](https://docs.cloud.lla You can then use the `LlamaParseReader` class to load local files and convert them into a parsed document that can be used by LlamaIndex. See [reader.ts](https://github.com/run-llama/LlamaIndexTS/blob/main/packages/cloud/src/reader.ts) for a list of supported file types: -{CodeSource} + ### Params @@ -56,7 +60,7 @@ They can be divided into two groups. Below a full example of `LlamaParse` integrated in `SimpleDirectoryReader` with additional options. -{CodeSource2} + ## API Reference diff --git a/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx b/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx index 023f5497a9..898275ccc7 100644 --- a/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/llamacloud.mdx @@ -2,6 +2,9 @@ title: LlamaCloud --- +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/cloud/chat.ts"; + LlamaCloud is a new generation of managed parsing, ingestion, and retrieval services, designed to bring production-grade context-augmentation to your LLM and RAG applications. Currently, LlamaCloud supports @@ -23,7 +26,7 @@ Currently, you can't create a managed index on LlamaCloud using LlamaIndexTS, bu Here's an example of how to use a managed index together with a chat engine: -{CodeSource} + ## API Reference diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx index 78801f6668..b2bcfceddf 100644 --- a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/groq.mdx @@ -2,6 +2,9 @@ title: Groq --- +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../../../examples/groq.ts"; + ## Usage First, create an API key at the [Groq Console](https://console.groq.com/keys). Then save it in your environment: @@ -46,9 +49,7 @@ const results = await queryEngine.query({ ## Full Example - - {CodeSource} - + ## API Reference diff --git a/apps/next/src/content/docs/llamaindex/modules/workflows.mdx b/apps/next/src/content/docs/llamaindex/modules/workflows.mdx index 94adfce43e..63f1765557 100644 --- a/apps/next/src/content/docs/llamaindex/modules/workflows.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/workflows.mdx @@ -2,6 +2,9 @@ title: Workflows --- +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/workflow/joke.ts"; + A `Workflow` in LlamaIndexTS is an event-driven abstraction used to chain together several events. Workflows are made up of `steps`, with each step responsible for handling certain event types and emitting new events. Workflows in LlamaIndexTS work by defining step functions that handle specific event types and emit new events. @@ -14,7 +17,7 @@ You can create a `Workflow` to do anything! Build an agent, a RAG flow, an extra As an illustrative example, let's consider a naive workflow where a joke is generated and then critiqued. -{CodeSource} + There's a few moving pieces here, so let's go through this piece by piece. From 2be1ea7af9b4784127d79ab18f5495992384efe3 Mon Sep 17 00:00:00 2001 From: thucpn Date: Mon, 16 Dec 2024 17:07:24 +0700 Subject: [PATCH 5/7] fix: lint --- apps/next/scripts/migrate-docs.mjs | 43 +++++++++++++++++------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/apps/next/scripts/migrate-docs.mjs b/apps/next/scripts/migrate-docs.mjs index 2da18582d2..1981ec7e79 100644 --- a/apps/next/scripts/migrate-docs.mjs +++ b/apps/next/scripts/migrate-docs.mjs @@ -12,32 +12,37 @@ import * as path from "node:path"; const out = "./src/content/docs/llamaindex"; void generateFiles({ - input: ["../docs/docs/modules/**/*.md", "../docs/docs/modules/**/*.mdx"], - output: (file) => - path.resolve( - path.join(out, path.dirname(file).replace("../docs/docs/", "")), - `${path.basename(file).split(".")[0]}.mdx` // rename .md to .mdx - ), - transformOutput, + input: ["../docs/docs/modules/**/*.md", "../docs/docs/modules/**/*.mdx"], + output: (file) => + path.resolve( + path.join(out, path.dirname(file).replace("../docs/docs/", "")), + `${path.basename(file).split(".")[0]}.mdx`, // rename .md to .mdx + ), + transformOutput, }); // Replace h1 title with frontmatter title, update all links // Example: # LLM -> --- title: LLM --- function transformOutput(filePath, content) { - const lines = content.split("\n"); - const h1Index = lines.findIndex((line) => /^# /.test(line)); - const title = lines[h1Index].replace("# ", "").trim(); - const mdxLines = [`---`, `title: ${title}`, `---`, ...lines.slice(h1Index + 1)]; - const mdxContent = mdxLines.join("\n"); + const lines = content.split("\n"); + const h1Index = lines.findIndex((line) => /^# /.test(line)); + const title = lines[h1Index].replace("# ", "").trim(); + const mdxLines = [ + `---`, + `title: ${title}`, + `---`, + ...lines.slice(h1Index + 1), + ]; + const mdxContent = mdxLines.join("\n"); // update all links, remove .md and replace ../../api (or ../api, ./api, ...) with /docs/api // eg: [SentenceSplitter](../api/classes/SentenceSplitter.md) -> [SentenceSplitter](/docs/api/classes/SentenceSplitter) - const result = mdxContent.replace( - /\]\((\.{0,2}\/)*api\/([^)]+)\.md([^)]*)\)/g, - (match, prefix, path, anchor) => { - return `](/docs/api/${path}${anchor})`; - } - ); + const result = mdxContent.replace( + /\]\((\.{0,2}\/)*api\/([^)]+)\.md([^)]*)\)/g, + (match, prefix, path, anchor) => { + return `](/docs/api/${path}${anchor})`; + }, + ); - return result; + return result; } From 9229648cea85a89e7afc2923354ee2335218b200 Mon Sep 17 00:00:00 2001 From: thucpn Date: Wed, 18 Dec 2024 17:06:12 +0700 Subject: [PATCH 6/7] docs: migrate remaining pages --- .../llamaindex/_static/concepts/indexing.jpg | Bin 0 -> 27552 bytes .../llamaindex/_static/concepts/querying.jpg | Bin 0 -> 50148 bytes .../docs/llamaindex/_static/concepts/rag.jpg | Bin 0 -> 36897 bytes .../docs/llamaindex/examples/agent.mdx | 12 ++ .../docs/llamaindex/examples/agent_gemini.mdx | 8 + .../docs/llamaindex/examples/chat_engine.mdx | 10 + .../examples/context_aware_agent.mdx | 61 ++++++ .../docs/llamaindex/examples/local_llm.mdx | 79 ++++++++ .../docs/llamaindex/examples/meta.json | 15 ++ .../llamaindex/examples/more_examples.mdx | 21 ++ .../docs/llamaindex/examples/other_llms.mdx | 43 +++++ .../llamaindex/examples/save_load_index.mdx | 8 + .../llamaindex/examples/summary_index.mdx | 8 + .../docs/llamaindex/examples/vector_index.mdx | 8 + .../llamaindex/getting_started/concepts.mdx | 76 ++++++++ .../getting_started/environments.mdx | 20 ++ .../docs/llamaindex/getting_started/index.mdx | 35 ++++ .../docs/llamaindex/getting_started/meta.json | 4 + .../setup/cloudflare.mdx | 0 .../setup/getting-started.mdx | 0 .../{ => getting_started}/setup/meta.json | 0 .../{ => getting_started}/setup/next.mdx | 0 .../{ => getting_started}/setup/node.mdx | 0 .../setup/typescript.mdx | 0 .../{ => getting_started}/setup/vite.mdx | 0 .../starter_tutorial/agent.mdx | 47 +++++ .../starter_tutorial/chatbot.mdx | 25 +++ .../starter_tutorial/images/create_llama.png | Bin 0 -> 552953 bytes .../starter_tutorial/meta.json | 9 + .../retrieval_augmented_generation.mdx | 56 ++++++ .../structured_data_extraction.mdx | 50 +++++ .../docs/llamaindex/guide/agents/1_setup.mdx | 39 ++++ .../guide/agents/2_create_agent.mdx | 181 ++++++++++++++++++ .../llamaindex/guide/agents/3_local_model.mdx | 92 +++++++++ .../llamaindex/guide/agents/4_agentic_rag.mdx | 156 +++++++++++++++ .../guide/agents/5_rag_and_tools.mdx | 130 +++++++++++++ .../llamaindex/guide/agents/6_llamaparse.mdx | 20 ++ .../docs/llamaindex/guide/agents/7_qdrant.mdx | 77 ++++++++ .../guide/agents/images/agent_flow.png | Bin 0 -> 241842 bytes .../docs/llamaindex/guide/agents/meta.json | 12 ++ .../content/docs/llamaindex/guide/meta.json | 2 +- .../src/content/docs/llamaindex/index.mdx | 45 ++--- .../src/content/docs/llamaindex/meta.json | 9 +- .../docs/llamaindex/modules/agent/index.mdx | 4 +- .../llamaindex/modules/data_loaders/index.mdx | 2 +- .../modules/data_stores/chat_stores/index.mdx | 3 +- .../modules/data_stores/doc_stores/index.mdx | 6 +- .../data_stores/index_stores/index.mdx | 6 +- .../modules/data_stores/kv_stores/index.mdx | 6 +- .../data_stores/vector_stores/index.mdx | 2 +- .../llamaindex/modules/embeddings/index.mdx | 2 +- .../llamaindex/modules/evaluation/index.mdx | 6 +- .../ingestion_pipeline/transformations.mdx | 4 +- .../modules/llms/available_llms/deepinfra.mdx | 2 +- .../docs/llamaindex/modules/llms/index.mdx | 2 +- .../docs/llamaindex/recipes/cost-analysis.mdx | 16 ++ .../content/docs/llamaindex/recipes/meta.json | 4 + .../docs/llamaindex/what-is-llamaindex.mdx | 24 --- 58 files changed, 1368 insertions(+), 79 deletions(-) create mode 100644 apps/next/src/content/docs/llamaindex/_static/concepts/indexing.jpg create mode 100644 apps/next/src/content/docs/llamaindex/_static/concepts/querying.jpg create mode 100644 apps/next/src/content/docs/llamaindex/_static/concepts/rag.jpg create mode 100644 apps/next/src/content/docs/llamaindex/examples/agent.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/agent_gemini.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/chat_engine.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/context_aware_agent.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/local_llm.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/meta.json create mode 100644 apps/next/src/content/docs/llamaindex/examples/more_examples.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/other_llms.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/save_load_index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/summary_index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/examples/vector_index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/concepts.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/environments.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/index.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/meta.json rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/cloudflare.mdx (100%) rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/getting-started.mdx (100%) rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/meta.json (100%) rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/next.mdx (100%) rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/node.mdx (100%) rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/typescript.mdx (100%) rename apps/next/src/content/docs/llamaindex/{ => getting_started}/setup/vite.mdx (100%) create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/agent.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/chatbot.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/images/create_llama.png create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/meta.json create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/retrieval_augmented_generation.mdx create mode 100644 apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/structured_data_extraction.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/3_local_model.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/6_llamaparse.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/7_qdrant.mdx create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/images/agent_flow.png create mode 100644 apps/next/src/content/docs/llamaindex/guide/agents/meta.json create mode 100644 apps/next/src/content/docs/llamaindex/recipes/cost-analysis.mdx create mode 100644 apps/next/src/content/docs/llamaindex/recipes/meta.json delete mode 100644 apps/next/src/content/docs/llamaindex/what-is-llamaindex.mdx diff --git a/apps/next/src/content/docs/llamaindex/_static/concepts/indexing.jpg b/apps/next/src/content/docs/llamaindex/_static/concepts/indexing.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8672967213caf28fb27682b6b9e2e5111beb9aaa GIT binary patch literal 27552 zcmeFZ2T+q;*Dib`C3KV~Jv0RcMCsB3A|N7F=}iTtH)#J$Lrnd+oKab**cM^qn*hoV~53 zqXm$i0RS@a4F=|u^A6zg{2=p38kTBKhMF*b>X6j z=%vdtvU2hY*A+ExYHDfU(z$*2o{6cMxrL>@!=uNJPR=eqzJC4z@TY-cFTx`tUq+#l zl3%5yroDcXo|F4N??Zk;VNvDBs_L5By84Fpj?S*`p5D)2zKx8IjZb|4F}bj~wES~r zb!~kExA$xR;P43l`}hyL$N=)c%mSbPGVEXMItSWyhJu2e0`iAlWM=}vMt+WhQs5dD zv$_%Ffj5hw)N^Xq8;RK!Z8SpC##pw8PljpPg=H2l;Qlb}Ps{#mhK2q|mi^tZ|7F)C zKu=BvP9FI=00tZ#i{^yT{@?Z=jzP(cMyKMHWb`(#ZTldvX4e;iQ$4`h$Xau^iv*CF zFY7FdJ*D2J@VtU#GZv%WJPgHZHY0Kit(S;Tt;o

)}9P9@{b$JEUmRLx95_ZR&Yj zd~;!mGRXF=u}35z-ZRp2t2yH;(I_1_I2P-LEqKH8dUl%GTrrzp8=e>&rjY1h_{Vid z?k6|!mwirp4|F|`H{J3{fV#a^Dw0!~JW$QxtTs!a0e#{UPAq;rM5#ec$N*;+S#8Y# zvmPmXO#;47O^6WCMH zLj@RqZ60e`f@u}A!mYp~yV7U#yn=s4omnOUtw-qx-}zCK)bpXjD2`Dcnw1-=@xefImgY&oF^wzw zhzKRhY7?a6!$`o|g)-zE9*G|dqGbKQcl+-(ZfY<`N$SEcE`b~6Yd3M;Bp{(M3BiZs z3ws+6!EYLdn*4O%<#;`PlGw8n(S$+)dq{eM;h4-!AdHT1qufT`7(o~GlOqCwmHzH{ z(z>L4wtAE8D}1-jpHBh1Jn24JG%YIW>K*qWx#F1bMF1bZ%yWJhh4Ir9{MFI$<3XvD z@oBpIs`wfWt{va-R{}`D3xkfq>S3KTD{hGs(_w>0W-;s-w@~WRtT<}HTiLNUgq^ZY)YbrAO5iCo z;Y@W4pW{n}Md^kaWLF{KiUEP?X&woP@WvufDXIrgNB|fexG?u~LX?q2&Ym_Bu+KaJ z+abT%zt9yfj@DV+cxoFJzrhdbM^E0 zQ>GhA@d!hRf#%cvwmCN2jdab`NWaPs%b~mznW+JbA!gR(=}_9_EvCTz20%0i^=G?O zvOuMGNr57B%;fb)havLG$0`b}Gk=7J5vMGOr{^woAojoArw0VB%#YAT!p3FMGxPj0 zaj#6^XojkN*@yp(ze4wpNA#~{JB!uXFPK9hhR%D~|0 zg?{dinmNbe{XSPwT-b6qx%^50SPQeOafosdkqv^9#k}o;p7rA#Za!!#n@307g5tNG zok;*dV0aYf?HLrT9rQLyngk%+F$Osy*IgweX6Z(7%W(TU!oE_i7hrE!YTbR`$@M@T zMz-B?BVWSrLKBK#8IozT{=HGUzEl0O|8Qeq)(g2>a(nKpDer2>9KW@bt1 zm)PG0R1KD*fM7$ zHPAl2AO;ZId{|mC3;&%ycLyg?>F0zM?x~SuMp6|AdiK~{RI0FFdII$LYf*&C&Ddk5%E>$)_0^2`X>B4%xEj(NSpufy3DR7&l}k zK`TQ*=-l+N`)cU3C`iS&8s8gmK&TvF?xJN_}kh|iBFY?fMni!@�p%tWM3hS_9(*et2_n(j_*3WwAYk7}6JY%h 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 literal 0 HcmV?d00001 diff --git a/apps/next/src/content/docs/llamaindex/_static/concepts/querying.jpg b/apps/next/src/content/docs/llamaindex/_static/concepts/querying.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c241bdda5ba98d3f3ee2e163b9f19280c5c7503 GIT binary patch literal 50148 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̌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 CuX#u6@#Sl(sLb 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 literal 0 HcmV?d00001 diff --git a/apps/next/src/content/docs/llamaindex/examples/agent.mdx b/apps/next/src/content/docs/llamaindex/examples/agent.mdx new file mode 100644 index 0000000000..84b4fb29f3 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/agent.mdx @@ -0,0 +1,12 @@ +--- +title: Agents +--- + +A built-in agent that can take decisions and reasoning based on the tools provided to it. + +## OpenAI Agent + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/agent/openai"; + + diff --git a/apps/next/src/content/docs/llamaindex/examples/agent_gemini.mdx b/apps/next/src/content/docs/llamaindex/examples/agent_gemini.mdx new file mode 100644 index 0000000000..38bc4ef72d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/agent_gemini.mdx @@ -0,0 +1,8 @@ +--- +title: Gemini Agent +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSourceGemini from "!raw-loader!../../../../../../../examples/gemini/agent.ts"; + + diff --git a/apps/next/src/content/docs/llamaindex/examples/chat_engine.mdx b/apps/next/src/content/docs/llamaindex/examples/chat_engine.mdx new file mode 100644 index 0000000000..ac4528951a --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/chat_engine.mdx @@ -0,0 +1,10 @@ +--- +title: Chat Engine +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/chatEngine"; + +Chat Engine is a class that allows you to create a chatbot from a retriever. It is a wrapper around a retriever that allows you to chat with it in a conversational manner. + + diff --git a/apps/next/src/content/docs/llamaindex/examples/context_aware_agent.mdx b/apps/next/src/content/docs/llamaindex/examples/context_aware_agent.mdx new file mode 100644 index 0000000000..6aa5c5a4fb --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/context_aware_agent.mdx @@ -0,0 +1,61 @@ +--- +title: Context-Aware Agent +--- + +The Context-Aware Agent enhances the capabilities of standard LLM agents by incorporating relevant context from a retriever for each query. This allows the agent to provide more informed and specific responses based on the available information. + +## Usage + +Here's a simple example of how to use the Context-Aware Agent: + +```typescript +import { + Document, + VectorStoreIndex, + OpenAIContextAwareAgent, + OpenAI, +} from "llamaindex"; + +async function createContextAwareAgent() { + // Create and index some documents + const documents = [ + new Document({ + text: "LlamaIndex is a data framework for LLM applications.", + id_: "doc1", + }), + new Document({ + text: "The Eiffel Tower is located in Paris, France.", + id_: "doc2", + }), + ]; + + const index = await VectorStoreIndex.fromDocuments(documents); + const retriever = index.asRetriever({ similarityTopK: 1 }); + + // Create the Context-Aware Agent + const agent = new OpenAIContextAwareAgent({ + llm: new OpenAI({ model: "gpt-3.5-turbo" }), + contextRetriever: retriever, + }); + + // Use the agent to answer queries + const response = await agent.chat({ + message: "What is LlamaIndex used for?", + }); + + console.log("Agent Response:", response.response); +} + +createContextAwareAgent().catch(console.error); +``` + +In this example, the Context-Aware Agent uses the retriever to fetch relevant context for each query, allowing it to provide more accurate and informed responses based on the indexed documents. + +## Key Components + +- `contextRetriever`: A retriever (e.g., from a VectorStoreIndex) that fetches relevant documents or passages for each query. + +## Available Context-Aware Agents + +- `OpenAIContextAwareAgent`: A context-aware agent using OpenAI's models. +- `AnthropicContextAwareAgent`: A context-aware agent using Anthropic's models. diff --git a/apps/next/src/content/docs/llamaindex/examples/local_llm.mdx b/apps/next/src/content/docs/llamaindex/examples/local_llm.mdx new file mode 100644 index 0000000000..031019fabe --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/local_llm.mdx @@ -0,0 +1,79 @@ +--- +title: Local LLMs +--- + +LlamaIndex.TS supports OpenAI and [other remote LLM APIs](other_llms). You can also run a local LLM on your machine! + +## Using a local model via Ollama + +The easiest way to run a local LLM is via the great work of our friends at [Ollama](https://ollama.com/), who provide a simple to use client that will download, install and run a [growing range of models](https://ollama.com/library) for you. + +### Install Ollama + +They provide a one-click installer for Mac, Linux and Windows on their [home page](https://ollama.com/). + +### Pick and run a model + +Since we're going to be doing agentic work, we'll need a very capable model, but the largest models are hard to run on a laptop. We think `mixtral 8x7b` is a good balance between power and resources, but `llama3` is another great option. You can run Mixtral by running + +```bash +ollama run mixtral:8x7b +``` + +The first time you run it will also automatically download and install the model for you. + +### Switch the LLM in your code + +To tell LlamaIndex to use a local LLM, use the `Settings` object: + +```javascript +Settings.llm = new Ollama({ + model: "mixtral:8x7b", +}); +``` + +### Use local embeddings + +If you're doing retrieval-augmented generation, LlamaIndex.TS will also call out to OpenAI to index and embed your data. To be entirely local, you can use a local embedding model like this: + +```javascript +Settings.embedModel = new HuggingFaceEmbedding({ + modelType: "BAAI/bge-small-en-v1.5", + quantized: false, +}); +``` + +The first time this runs it will download the embedding model to run it. + +### Try it out + +With a local LLM and local embeddings in place, you can perform RAG as usual and everything will happen on your machine without calling an API: + +```typescript +async function main() { + // Load essay from abramov.txt in Node + const path = "node_modules/llamaindex/examples/abramov.txt"; + + const essay = await fs.readFile(path, "utf-8"); + + // Create Document object with essay + const document = new Document({ text: essay, id_: path }); + + // Split text and create embeddings. Store them in a VectorStoreIndex + const index = await VectorStoreIndex.fromDocuments([document]); + + // Query the index + const queryEngine = index.asQueryEngine(); + + const response = await queryEngine.query({ + query: "What did the author do in college?", + }); + + // Output response + console.log(response.toString()); +} + +main().catch(console.error); +``` + +You can see the [full example file](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/vectorIndexLocal.ts). diff --git a/apps/next/src/content/docs/llamaindex/examples/meta.json b/apps/next/src/content/docs/llamaindex/examples/meta.json new file mode 100644 index 0000000000..f432a3b772 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/meta.json @@ -0,0 +1,15 @@ +{ + "title": "Examples", + "pages": [ + "more_examples", + "chat_engine", + "vector_index", + "summary_index", + "save_load_index", + "context_aware_agent", + "agent", + "agent_gemini", + "local_llm", + "other_llms" + ] +} diff --git a/apps/next/src/content/docs/llamaindex/examples/more_examples.mdx b/apps/next/src/content/docs/llamaindex/examples/more_examples.mdx new file mode 100644 index 0000000000..ef7a02754d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/more_examples.mdx @@ -0,0 +1,21 @@ +--- +title: See all examples +--- + +Our GitHub repository has a wealth of examples to explore and try out. You can check out our [examples folder](https://github.com/run-llama/LlamaIndexTS/tree/main/examples) to see them all at once, or browse the pages in this section for some selected highlights. + +## Check out all examples + +It may be useful to check out all the examples at once so you can try them out locally. To do this into a folder called `my-new-project`, run these commands: + +```bash npm2yarn +npx degit run-llama/LlamaIndexTS/examples my-new-project +cd my-new-project +npm install +``` + +Then you can run any example in the folder with `tsx`, e.g.: + +```bash npm2yarn +npx tsx ./vectorIndex.ts +``` diff --git a/apps/next/src/content/docs/llamaindex/examples/other_llms.mdx b/apps/next/src/content/docs/llamaindex/examples/other_llms.mdx new file mode 100644 index 0000000000..5fdc6bbaa0 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/other_llms.mdx @@ -0,0 +1,43 @@ +--- +title: Using other LLM APIs +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/mistral"; + +By default LlamaIndex.TS uses OpenAI's LLMs and embedding models, but we support [lots of other LLMs](../modules/llms) including models from Mistral (Mistral, Mixtral), Anthropic (Claude) and Google (Gemini). + +If you don't want to use an API at all you can [run a local model](../../examples/local_llm) + +## Using another LLM + +You can specify what LLM LlamaIndex.TS will use on the `Settings` object, like this: + +```typescript +import { MistralAI, Settings } from "llamaindex"; + +Settings.llm = new MistralAI({ + model: "mistral-tiny", + apiKey: "", +}); +``` + +You can see examples of other APIs we support by checking out "Available LLMs" in the sidebar of our [LLMs section](../modules/llms). + +## Using another embedding model + +A frequent gotcha when trying to use a different API as your LLM is that LlamaIndex will also by default index and embed your data using OpenAI's embeddings. To completely switch away from OpenAI you will need to set your embedding model as well, for example: + +```typescript +import { MistralAIEmbedding, Settings } from "llamaindex"; + +Settings.embedModel = new MistralAIEmbedding(); +``` + +We support [many different embeddings](../modules/embeddings). + +## Full example + +This example uses Mistral's `mistral-tiny` model as the LLM and Mistral for embeddings as well. + + diff --git a/apps/next/src/content/docs/llamaindex/examples/save_load_index.mdx b/apps/next/src/content/docs/llamaindex/examples/save_load_index.mdx new file mode 100644 index 0000000000..bce10b9db6 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/save_load_index.mdx @@ -0,0 +1,8 @@ +--- +title: Save/Load an Index +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/storageContext"; + + diff --git a/apps/next/src/content/docs/llamaindex/examples/summary_index.mdx b/apps/next/src/content/docs/llamaindex/examples/summary_index.mdx new file mode 100644 index 0000000000..344ce6fe84 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/summary_index.mdx @@ -0,0 +1,8 @@ +--- +title: Summary Index +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/summaryIndex"; + + diff --git a/apps/next/src/content/docs/llamaindex/examples/vector_index.mdx b/apps/next/src/content/docs/llamaindex/examples/vector_index.mdx new file mode 100644 index 0000000000..03c16fd956 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/examples/vector_index.mdx @@ -0,0 +1,8 @@ +--- +title: Vector Index +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../examples/vectorIndex"; + + diff --git a/apps/next/src/content/docs/llamaindex/getting_started/concepts.mdx b/apps/next/src/content/docs/llamaindex/getting_started/concepts.mdx new file mode 100644 index 0000000000..4189c3204b --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/concepts.mdx @@ -0,0 +1,76 @@ +--- +title: Concepts +--- + +LlamaIndex.TS helps you build LLM-powered applications (e.g. Q&A, chatbot) over custom data. + +In this high-level concepts guide, you will learn: + +- how an LLM can answer questions using your own data. +- key concepts and modules in LlamaIndex.TS for composing your own query pipeline. + +## Answering Questions Across Your Data + +LlamaIndex uses a two stage method when using an LLM with your data: + +1. **indexing stage**: preparing a knowledge base, and +2. **querying stage**: retrieving relevant context from the knowledge to assist the LLM in responding to a question + +![](../_static/concepts/rag.jpg) + +This process is also known as Retrieval Augmented Generation (RAG). + +LlamaIndex.TS provides the essential toolkit for making both steps super easy. + +Let's explore each stage in detail. + +### Indexing Stage + +LlamaIndex.TS help you prepare the knowledge base with a suite of data connectors and indexes. + +![](../_static/concepts/indexing.jpg) + +[**Data Loaders**](/docs/llamaindex/modules/data_loaders/index): +A data connector (i.e. `Reader`) ingest data from different data sources and data formats into a simple `Document` representation (text and simple metadata). + +[**Documents / Nodes**](/docs/llamaindex/modules/documents_and_nodes/index): A `Document` is a generic container around any data source - for instance, a PDF, an API output, or retrieved data from a database. A `Node` is the atomic unit of data in LlamaIndex and represents a "chunk" of a source `Document`. It's a rich representation that includes metadata and relationships (to other nodes) to enable accurate and expressive retrieval operations. + +[**Data Indexes**](/docs/llamaindex/modules/data_index): +Once you've ingested your data, LlamaIndex helps you index data into a format that's easy to retrieve. + +Under the hood, LlamaIndex parses the raw documents into intermediate representations, calculates vector embeddings, and stores your data in-memory or to disk. + +### Querying Stage + +In the querying stage, the query pipeline retrieves the most relevant context given a user query, +and pass that to the LLM (along with the query) to synthesize a response. + +This gives the LLM up-to-date knowledge that is not in its original training data, +(also reducing hallucination). + +The key challenge in the querying stage is retrieval, orchestration, and reasoning over (potentially many) knowledge bases. + +LlamaIndex provides composable modules that help you build and integrate RAG pipelines for Q&A (query engine), chatbot (chat engine), or as part of an agent. + +These building blocks can be customized to reflect ranking preferences, as well as composed to reason over multiple knowledge bases in a structured way. + +![](../_static/concepts/querying.jpg) + +#### Building Blocks + +[**Retrievers**](/docs/llamaindex/modules/retriever): +A retriever defines how to efficiently retrieve relevant context from a knowledge base (i.e. index) when given a query. +The specific retrieval logic differs for different indices, the most popular being dense retrieval against a vector index. + +[**Response Synthesizers**](/docs/llamaindex/modules/response_synthesizer): +A response synthesizer generates a response from an LLM, using a user query and a given set of retrieved text chunks. + +#### Pipelines + +[**Query Engines**](/docs/llamaindex/modules/query_engines): +A query engine is an end-to-end pipeline that allow you to ask question over your data. +It takes in a natural language query, and returns a response, along with reference context retrieved and passed to the LLM. + +[**Chat Engines**](/docs/llamaindex/modules/chat_engine): +A chat engine is an end-to-end pipeline for having a conversation with your data +(multiple back-and-forth instead of a single question & answer). diff --git a/apps/next/src/content/docs/llamaindex/getting_started/environments.mdx b/apps/next/src/content/docs/llamaindex/getting_started/environments.mdx new file mode 100644 index 0000000000..87530ffde6 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/environments.mdx @@ -0,0 +1,20 @@ +--- +title: Environments +--- + +We support Node.JS versions 18, 20 and 22, with experimental support for Deno, Bun and Vercel Edge functions. + +## NextJS + +If you're using NextJS you'll need to add `withLlamaIndex` to your `next.config.js` file. This will add the necessary configuration for included 3rd-party libraries to your build: + +```js +// next.config.js +const withLlamaIndex = require("llamaindex/next"); + +module.exports = withLlamaIndex({ + // your next.js config +}); +``` + +For details, check the latest [withLlamaIndex](https://github.com/run-llama/LlamaIndexTS/blob/main/packages/llamaindex/src/next.ts) implementation. diff --git a/apps/next/src/content/docs/llamaindex/getting_started/index.mdx b/apps/next/src/content/docs/llamaindex/getting_started/index.mdx new file mode 100644 index 0000000000..f77fa845a0 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/index.mdx @@ -0,0 +1,35 @@ +--- +title: Getting Started with LlamaIndex.TS +description: Install llamaindex by running a single command. +--- + +import { Tab, Tabs } from "fumadocs-ui/components/tabs"; + + + ```shell tab="npm" + npm install llamaindex + ``` + + ```shell tab="yarn" + yarn add llamaindex + ``` + + ```shell tab="pnpm" + pnpm add llamaindex + ``` + + +## What's next? + + + + + diff --git a/apps/next/src/content/docs/llamaindex/getting_started/meta.json b/apps/next/src/content/docs/llamaindex/getting_started/meta.json new file mode 100644 index 0000000000..ed2c8903e1 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/meta.json @@ -0,0 +1,4 @@ +{ + "title": "Getting Started", + "pages": ["index", "setup", "starter_tutorial", "environments", "concepts"] +} diff --git a/apps/next/src/content/docs/llamaindex/setup/cloudflare.mdx b/apps/next/src/content/docs/llamaindex/getting_started/setup/cloudflare.mdx similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/cloudflare.mdx rename to apps/next/src/content/docs/llamaindex/getting_started/setup/cloudflare.mdx diff --git a/apps/next/src/content/docs/llamaindex/setup/getting-started.mdx b/apps/next/src/content/docs/llamaindex/getting_started/setup/getting-started.mdx similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/getting-started.mdx rename to apps/next/src/content/docs/llamaindex/getting_started/setup/getting-started.mdx diff --git a/apps/next/src/content/docs/llamaindex/setup/meta.json b/apps/next/src/content/docs/llamaindex/getting_started/setup/meta.json similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/meta.json rename to apps/next/src/content/docs/llamaindex/getting_started/setup/meta.json diff --git a/apps/next/src/content/docs/llamaindex/setup/next.mdx b/apps/next/src/content/docs/llamaindex/getting_started/setup/next.mdx similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/next.mdx rename to apps/next/src/content/docs/llamaindex/getting_started/setup/next.mdx diff --git a/apps/next/src/content/docs/llamaindex/setup/node.mdx b/apps/next/src/content/docs/llamaindex/getting_started/setup/node.mdx similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/node.mdx rename to apps/next/src/content/docs/llamaindex/getting_started/setup/node.mdx diff --git a/apps/next/src/content/docs/llamaindex/setup/typescript.mdx b/apps/next/src/content/docs/llamaindex/getting_started/setup/typescript.mdx similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/typescript.mdx rename to apps/next/src/content/docs/llamaindex/getting_started/setup/typescript.mdx diff --git a/apps/next/src/content/docs/llamaindex/setup/vite.mdx b/apps/next/src/content/docs/llamaindex/getting_started/setup/vite.mdx similarity index 100% rename from apps/next/src/content/docs/llamaindex/setup/vite.mdx rename to apps/next/src/content/docs/llamaindex/getting_started/setup/vite.mdx diff --git a/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/agent.mdx b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/agent.mdx new file mode 100644 index 0000000000..ffa84aa94c --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/agent.mdx @@ -0,0 +1,47 @@ +--- +title: Agent tutorial +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../../examples/agent/openai"; + +We have a comprehensive, step-by-step [guide to building agents in LlamaIndex.TS](../../guides/agents/setup) that we recommend to learn what agents are and how to build them for production. But building a basic agent is simple: + +## Set up + +In a new folder: + +```bash npm2yarn +npm init +npm install -D typescript @types/node +``` + +## Run agent + +Create the file `example.ts`. This code will: + +- Create two tools for use by the agent: + - A `sumNumbers` tool that adds two numbers + - A `divideNumbers` tool that divides numbers +- +- Give an example of the data structure we wish to generate +- Prompt the LLM with instructions and the example, plus a sample transcript + + + +To run the code: + +```bash +npx tsx example.ts +``` + +You should expect output something like: + +``` +{ + content: 'The sum of 5 + 5 is 10. When you divide 10 by 2, you get 5.', + role: 'assistant', + options: {} +} +Done +``` diff --git a/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/chatbot.mdx b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/chatbot.mdx new file mode 100644 index 0000000000..8672118933 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/chatbot.mdx @@ -0,0 +1,25 @@ +--- +title: Chatbot tutorial +--- + +Once you've mastered basic [retrieval-augment generation](retrieval_augmented_generation) you may want to create an interface to chat with your data. You can do this step-by-step, but we recommend getting started quickly using `create-llama`. + +## Using create-llama + +`create-llama` is a powerful but easy to use command-line tool that generates a working, full-stack web application that allows you to chat with your data. You can learn more about it on [the `create-llama` README page](https://www.npmjs.com/package/create-llama). + +Run it once and it will ask you a series of questions about the kind of application you want to generate. Then you can customize your application to suit your use-case. To get started, run: + +```bash npm2yarn +npx create-llama@latest +``` + +Once your app is generated, `cd` into your app directory and run + +```bash npm2yarn +npm run dev +``` + +to start the development server. You can then visit [http://localhost:3000](http://localhost:3000) to see your app, which should look something like this: + +![create-llama interface](./images/create_llama.png) diff --git a/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/images/create_llama.png b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/images/create_llama.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd4daddb71a1b7fb6ddf8e777751a98fd54a766 GIT binary patch literal 552953 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 z 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�fEy zv=cQ14jb3c7{Zsqx|SZfG=DPog+Ia?@$k^_G~idMQEejyEv}>sAn62pdqS&I@M(>;01<1wM-p!Id*zE) zc)d=U{JdIDir}13e4VB6u&iogUqCY9S#wz+k)ZqZHTo zIGZYBNm44~2kZp%=1{}Jfoi>Lf5Lb@}FsrxTr);a-gKiWJ2!I_{JiV>s6t043MPyBy+IsI)!Dic9a%X7}rAj?I$y_9QUCb5b7~Q}cQ5 zp66eoxmy?ffINX!!S3KS80AjcPsK|tc_P9>HD<%mUEyn(m`K&A=(x{arB=dkf#Hv%x zUqD>vW@Oc7jcy^DRuciIHXO&pL^h}gBHvi=3=lFKuH7@lPf-tavYdz!U{q2MW)%1a z-34MNhOujOG#tm1{s(XTW_Ek_)L{{w_Oa;;pgq*PpbFW|wF~+pWgnd}fO}rwtvrWq zuegmMt{{#meObutirx|1D%r9^CjrcY`b*UO`mm$TJ*a!%%|^+>GnJc{Ea)Ldi>Rlq z?&qFdQ_^38m;FR>xG~hqMruC}x{x`;U7S3=eC~h!+UIkd(A|o`D3l zqqYl+O$N3%J_MYBXj@O_LK0oxU^3_3Y1G8gN_u{3&xHD|dv)>x_rChS zI4aM4VQ1xq+Iy{$7uV9ld0BrUa##L%Rf<1h%40uIpyKmHfY^`7B9fr*ycfHO(lqYe zW^iL<#bv>xL4RI$q%H@kpWXSa-2wIcD54e?M;H}p0eRQ%l_pXv+AI+ zJyX_fflIljg26B$m9iU;BJdY0CMUYXZXQ&C^#~kqyCRZdr0>{eJ&}5uRjS`kc!b%M z^LP}zn7D17dE)6uSH_WcI6K!QUJ9A;(d^4FaR~(%zte<`c-ciBy&fQ48_fMXN}^h8v7|gV!=U=%gVP=S*M8V0jaDHVAji6dL!;! z{afTV?ITjJ7f-58Y^XxqhKggTjhJHvySqx19$}jGitdGJ%y}n@d62b|B&5i-r(GMC zyYp2HuK1D`Pb~r;aKIG)X0_Hj!Ua|~@V^|v&-6m?T?~ScY5&xnzdr3;9U)rv;VZ85 zE9=MRB(_xv1SV$_WBylAx9Ii zNcYBjb0u;iuIVaxnIG2%9h(RI{bOlp|_?oJv3Ls>~+3umOzq5AWQm2%@2`IAt! z&m(Q28F9<|fYUP@31PYYwYb7%mZl7Fo{&NctGTUwB5#T#JrCEuLLzaMAnbpLWr~Y0 z!(Ie&T&ippoAqPyeGlJbpBvG{u9>Il@)f~gGuK}j9{sZPXW~SP-_|1ojEeUbd}vYv z_o5cmW8lL+N#)L#!&q8CXa8r@Xqq6vo=z zm|#w4Q~GsBgY`T7zi2+kwnCWt4+f{0?HGzgB3th+uD$zGOyio;w-wna3U<<;DeS>*STxtY zwdQSBJ2k-CY;=aSrIJTpWJsW(4!3acV+n*t{>9t*t=NTBUj7~nx(eVDbMNVGW1p|n z=cQi;xsM1`ZRHxysx$f>DB?Riqx89uaCDp|<9+1L^^Yo8|KI3$3WFa^j5i!w|H%7KQKDm*}KdEH!Y{t=|b5~0PDq7&l~FPHdDC*V}I z_zC-6pPvvK=SJjD(o;qWqBY5+UeiebXl(C{8biB**y`{3ZluAdi{ z>gn%iu&B%vY5OELks>zka|G!fVZ4dNLi8ak$RUG0ln0J^>xO$JKM%M(>>SNQJ|{LH zlxLE&0RfBxg>em*VS($SS3r;CZrOG@k}Vh+I}Y_#{IPb4v7urJqT}0skh~qfhxzSH z$qO4y)8)Fsp;dM@BSF-fCi_{uBW|SKhV_AWwS5)RJU!jBsM)F{6Var9BHc0TxCP#X zoQsJT1@KMm#Ud43UJo8|N%>j5=%-x%+9LmcO=@hQx4vrPJjzV#1Y>~yrENGpqAIy` zD@takH6;8<&jE-h;Y+|d4T?gWp9uV>NAckn^(ulFWES=mk8w2?^9m)TIM#_T;)YSM zO&1T962}QpBqjHN&P|xI;*h0Mp=8B~Ot1#5Nc$J2{!u|`J(f4X;P-x9UDnDGPVn2u zV5WZMSB>#mhqr093RMY2ty%q=9-MmyLGv|HnXmr*E~P~Gi0&>U(Qno15$_;tKqeUD z&4@~gy&N3W7R`YzsJ`=r0UHE&?`7P4_mtGd#ciq|lOAbwPBY(bkMj@5(tlN$H_d{5 zUc0c`^C!t`UpE(-=iXRoM*!_QmPPUg-I=Yl?{JY{{$|f!{h#g;kGTC;!U9V;blXy^ z+Gdred&L5Rb5=JykVDsgPl=m0kr|j3)M5T2rh)SUVJE8$aqqfw0=tM_xq$1v4A;rsjAg_LM_(nXR1F0V+N@{#US2oco=&87k6>cHEeAFbWS=kp z*=ebEx)HJAb+Ny4y}Dh;UmA7|;!vY6lh5OeN=Y1oB!0$>Q$M|#po+pdgam6q`?M3) zD+ajdT3CW+WmbX$Bt!0}dPo>&Eox5V)$pw7(X7n5&t5gW#^G-)rk6DgC z_&n|&%ZI_U!)`k2r=1WWfm$j{NXM!8o%R=Cq7WoF&}E zjFkh;UAj>lJgAHs@Tpl0J68L~S!vyf@h9JhELGTo&45emJ}pfr!ver2%G~F_>vBU zf5OUyuBtC;Y&~QtThNHXsuQ~ycB8>OuV3A9Fb`#_U#gHCrTNGE`8Ma7SeeTBg9_i5 z(x%C&Tu-H%lW_NLHbNN70h%6F!R$J-4^CZ#M(rb@g)*VZ?du1QjY^RU;zv9uF;6+6#)ZKgCzGt zoww*^4eFQH9QV+tyxRHK3hZP9>>_WzyVc`!{pQs(n$P!^gm@5jzK5LfD20^sv2T0U z^_ZwB(W8|OBsIAi!Zp>bk^{6?K?ve6&=wffR)|#1k%Zu-azI*&I;tWfu%q&l(5|M~ z{Z~-lxQXv6Fbw@2lYupy*jZ0)S*ZUr?5p1hket8Lzn&;aaQT#sdfZEOW7Gionu6LH zfl_s4lf?YnM7^JD_pj;Rt6Nx9jj-EIYziCe@J|x@UPz=4zi0i8f>Tg5~nlCourk-6WW4* zG-zTHM@+lie}`-=^deDq_2eml5{}hGKnD|OK)d>)kvEuJKp}fhSjp2Ik@Gw;p?~{U z-*IF#6q^C9_UH>_1Z{mmjm9FdC=0PlAi`2XW-dH;K0a)dWS<`PR3HbcsVZ)P zX3rYQy>L6zOm7b+gL^b~LtqD=;l;>73x*aEq#POrh7iOikUupSNDl>8W5QNcEsvbw zYPqU%=P%zHOqv>;SUa>-1S1t!M<-)~S9!?{KIfWc-Xf^Dn@Fz3xnBD}(w%Yk8;Qv130H9QFMb$Q{t<&4>bwxX%8BU3p4}=s*I70pZ^M zu(x`BriNt#VoY}>BA)PWmOl9TPsBS|i8vJaf<^C*Q~$DtS5-V48k~>}=7JSwpJk`dqL-OtLNk5Fm%9A>&}#=lQYVXm z@@pL9Kn{!Ve!iZQj3h=pR7)1?{}d+sn#*e(utj~h2pYzDu>h*S)kpLL%mAV>+2XS`I zO{ljFDFU<;;Dn|wB$Eo%Q!e}RPcZV|O^K@zcM+^ACDslEDdCG?Y-Hx(J8peH;OE&B zT9LgC9~UAtMc1t@@pBg3EveSoyDlZm3nJ|*EFhR=pg`*ME+|fNaP4pL^#9dRD^=o{ z69z%0A@(K=_~jT7%zz?5wy%g-Zop@K12x#c*y6o(au|qH zk76Z^D$KKUY~sQwnU$-cE!3DAVt;7ET8s(b%1TWIvATfU4wP^I2v<*MR*uj&a12UU zDmb_?lqAIn2?%uoC5fN6SnAk-r0t4SwzV*#eT=&q<=}TsIDeo(=M>?w+8*qgI9f=_ z;wOKXE>1HIWACZ*0{CKoV}AufXLbP)HWsxyq7>vmF57fes0E18(}jXF5=ndI0ztl) zdVWwxWcl9TBQ|Iwhe2dWY;BwF@-6NrA;QN$ZT+mv>0o7Im`|at>7-vx{JIM0j%Le( z#e_MFJ&|Q=Yl&5y?HBna`5$(^|CSAXjtfJdKw^Ta3#qD~!Zs}Qt93zN;pUL+0$K`~ z`JUNYYb*Xrqefc<*^7eshhBTbc3B81^o#pyWAG)I{uv;k2C4(v?|_2gTXMLz#(%wm z6I_t?1{9^aR*$N0wt*|vrD<#$U^H9k*%VTb<-YVGi|+dP5Dj#&)=k; zgEmi}H3e)bt&_gt5LI+ONy!}oPUa8{4113IsC?Z9Tt{C)Q1Ph*7#J~M_pd}HCRD>| zrVI;bZLydP+^S|O8TS^RtiviM4Uipbez9jWE_D{ewBfzH{n5k@29mzz6gX!qaLbDi zfFRqpZp_d>F2x0v%+F+VQT+c%U`7yJ)0$;oMQb_;Vn-K}ah>szdQxNP;XlHiwF(i6 z*ws)%B1kpJ3~WK?j&fyI0d@n`q)SS$BT9S2>Os0BMZ(e{`{W(Dr=aCXWdWvKTunZ@ zaoq|$9^$7!XW@bL#x5j%1*rP@-_2V`nV87h1}L%UwH6~-mUa25>#qXyA*2xOe+F4-xdFYyzjdN&2|QWJ5T=1RcqXiO^z z=&efPPB?pQE$ax@t0jc_le@M^9c)}$HG}S|l~S;LqOtR=Jrshz#fxJoUm5!MO+n+u z3>gbTP-|IB5WlvXfdJYUoIqG2Eub`$3?-_~Ge-j!+Nd~xq?2yaj6B#>Q(fbHX~BdR z3-mthH){*QoN2*`s+13P{Uff$gjPMDk!MheVEWwB$nEk-pV`Ev4yZ&P**-9Z-QyEG zdGx@j74MgTQ1!OR3g+V$tyYfQ1mz7^7qiFD!@;*O$uCG4CK%N0+40Z+41G2OVJ;$Q zkSl-`-Sh-5ve4Z2S|N1pi7s1J3)&5x2)vP}Ofn-)QlUitVbsnN&L5opT}ixt$C;`k z*ezG8R&ypU1tIAoT$#Ia9JRdiszCZY}`o>LM&8RMd#SW0g{w|Gp5E8+SJnhI_J-kRqo~3F|1hTjy2kX>91-bf-(!I0jS1uR zPGdBfA5m2=1=Vcc+6Jd|hrJD)ldv=YM{j~y{~y9EePyIr=r2?HYn0&q009@whOWi> z%G^~3JMpP0U@s|ysxhtgcJbM?SKuhHU(Q}~4546*z2W!f>{*?4i=Y9G!?zj2V{FJ9 zNW|pjFk5vVJp5M|Yxj9Ww*S)40ehDFVsR*W^9L?52CyHn#aP`7qLAe`v@kr0TkL)M zCITGmC?ZpL9E%vpQaU7+%1elm>#hvjZC2VBBT$MKFQET* zqejbdA&SFxnW;@1IpYcMXo;K61ZFT-auB-JRY?dc2p%W>uXuZ& zXF4eqvrlCO&YJmx{Madydc0Ga0*T&(8kM_p16n*lfjwW5DH^IA1(*jQ{V~2o{VZ4V z4E5nf700U?y73adIj05cz3n53)-4}BJ3>XAzRZaUD($~#M^mEyr^GZ_;KBcwY5yG} z`OE!h_^d7fngJ>A`jW+mAYv$z0-l+1ItA4dz=_6Mu(+HW)zWSCqeDVLB9Yi!`{D>M zPWKl^Yi3c0=kyZ8-Yol0+ZH?Trdos7uQa+&eAwFFHlFbK%#21(eEt=2wWPo1!@}iE@5|PH7nqoLWHeyU?TZj4c3ao z`Sy1n5D{z&x-$|=HN#ljY?E6!K%T;2-Idw&;4DnHcE?`o*gR5sP8oo{!HY zJrr%ekPZzb#F3ccwdxhQ!Py~B_uClI%}7J*ATW#)VJhdHvdWs5XAk*8DwqEMAUmqc z`lMd3a@IG0f!+oFji3(d&XaM}cW{;*S%&uTX{3)6QR1$EKD{|e2e4$Li?O^K1aG>^ zJ5?)$NSb$Ab)4Ie4m5rnN$8b{vEMs9oU#dCN2Y1qW80p|)|&4>E*zmPL;{Us%F-eM zKstI9o8e`$)MBoi+3ut7&fAX+F6H|e+y|;u^T-l@Cny7b>rJ2LGR40CSLEuFOr{^wgS=vr+*Y>OT&aR(aMkLVNnHWYxC1}i<}Q|p6;z-ywglTOr;m?g=Ggj zJ&`mw55pqQ!Miu!s5dUHRjgUh;MpTEFNlS$2!43c#lL>~@-!-ov%=$&%#IrQc4!ru zo8d0XyLQDRmsb{Cf1k#VvDYr;G4K5&$)~B=TcF9$Xu&VLan2@N&HHt#i#`|iK&H28 zLV28;EHMJnJP$f!EywgapKz_iPZ5YYJx!dG!eMUY=etbYvW6;h7Dz6Gd z^+4e3;6v!;Z$Ff{&W6z))vW{RROaW-zI)Qj*L>&m@$_XtXdaHuRtD>i=+aq zRx1y5jD7kKnk^CFzs=eO4{b^s8M4Gy)C9Vwfod=gi!VN(;RkC;iwE%7bK^Y_GMcIY znzQOL$+#ZQ0>h{gIeH}KJs_BM;oo9TIU@dGp7m&GEq%r|ImOl$Z{{B)!N}yLnN{9K z5SnzgAWN+!_gJDE5f2H0)vQ^zXVSxDt!Et!5x>6E>Z)N}I^)?syGi#NF%%e?+5F#2 zAhNd0p>6gpw`r-p)+N3(l{5sd2tG8Vr&p$y@wj8L=vl%3gSwx%?e1&!@CVGpLS=j> zmumVL#P$&Nn|b6rih7Gcy;8yNlWskXQ(Lkv(k50via!{k*B+96)aE2~(@aCS|LV%A z<2!OXTy0t~ezV2%!S57v1+@cDWIt57X1R*w4!?QMFhA)fI2~y)`{t$ssxYkTR%PXW z`@>Kh#_N(wd|P!x6?3r8 zO&uErz1|{xTHUB$DScSZ?1hh%g^_gT-+h(tsTgI8Q)%}fg_)Z2ic&3yYL^8$ zS43g&{Opf*&7b{ho>yC89svUy0K_DU))S)q>1M44M)dExc-v8xq`#BY+p9F8Qnl$% z_|^2yvy0!96)iX8x9&ZB^P#ZvKJr`p7g-wGO~-{pL95&~!Zx@yNX%1RdAMS%{YT7b z<-v5+;yHm+9f}p>SH(+*uFj22UVbQFx)5^akGZesiRqIU!GC3AY*Wl(@QsQRM6?o& zs$9EbUpy@Ar7fLwf~=j|kv(sfHF4x7^omY~oFF0kHF9|OF! z{i!Zd!o7X|`sBZq69-?p`~gI(4)@Dw|J1UHPrDzPN38E1_b+~YtfVdjy$Wt`yG~i| zonNh%tj%q^(rS5fobGEM5WW6#bz(gZnvuA01$BA%T5!tuM{=jJ;_+uo9TtqQp1vGQ zw7csupBHei>=2><;kHz+r!P6cWOiy=Wbv=Gi>-uxz1%#VqJ+1Iq?og#VSAglH|%1^ z-)Tm0qD-5%H@ZD;Nox1lywk%=T=V_B;p!o{Ha3Y4HmX^jUX>Ud^Y|V*FB?7)+^qt! zu2~o>o5~gNeU>z-4wM%p_&;Ii)3t6p)yER`vG>^xr2h&K{=KN;de1NQl4Ak4!F zH9>saBqp<}*FNVx8}_{}vc=U}r;N;8SZ_669y>M*!{D>Kw0QuhJV7F|Q$i9W-p=(*6t-9w$xhL-KRMvTNJCh{!i?&z4^zwxiv6z4O$EA#>DmFC zsjv9`7aqKvxN)r{qnY-Wa^Dg=t_nG{EA@@NY;x~p>=poipDf&r(P0OL{t7bL$XX5x zRXR5}H8|PIBRK7|uYDOjXnh&I(sN~C)Ofyj1X=uW`ze*(f-L)bWkS)u*E$5&EdA&) z741-Jgf7}fy{^!F8T9yC?@rRPnM$~Op#_D2-e7QEkbdI^)+@JM(r=kb51f&+J}&ym zcd^-{P=9%ty7MRTdUqS+AVN&;5Wb_j@rvG)z{1ry=vtqwsz8l#o^ZLwSY5E9Iuivh z(0T$sJD6(sVmHI2c!|~1CU0sXM1t~A8t|)2Yr&_B*$Xi;cqD-M7Zx`P1r{8$G zCX?a~bWvnpjFJ=F5_~HX_d40H9x=Z%wt2;V*@BT%6pI8tlAFi+w`q=orxSTi>ut+2 z+_MWERR0$9*-Nd));zk6@AKt>Q$IYkp5cx~XLrj(GD_SB*uoyGM~EkE0P!f89kD@lGh_q~o0w%Hj(qEpQB_tGJ=3YHh70EsDN=|FAzgQc__7 z<80V=?r{B?FPDT7<3Xs~Bwht*`x$_qpMz)II$CobT{S3U`@x2adHyA7xD9sAf7hwj zyztWC?wRMykB+d7lk1<1lP89_dHQ;nd#@4Nu-84DSd0)Pd3d9!>9!wpZCAlhknOFq zKv#jJy07SAINLT<$DW9NIkSIdHrN?nX+nl1AENl1bI2=oTtCw`aF8UrFz!wbGBQQPc6f?ML`W3|62VwZqLLj@qFz&vLWJBYq%4^h!=CVvKb;{H7p!-QF?5L2HABAJ_z1Iv0ZSmxZq3B=-3 z+0tA7b^h%me^gBByCRW~glz|WAYRY^f9J9Y_+^dm_L z)UJl}eI#<_`;m7O4@tw2i=WLkR1=1*IHAIs5C{g0_$LwXEG`MgIAz418uzGnF*lmM6-UF%!D zsPv*JN^-1z`qc~a6)|Z83y*hJ9SauYDU@Y$FzltA^h_Mo_RgRpB$7E0ut(}HQAM4b zlNe|m;OH;^eVOk4>2tx=3J6PJ*^s+O6K^Y=e0aOwVl+XJ@Sxu5mGs{^LsFrELWcwi zXXnoTw9U7>H`j7C+88Z-sCA*UA|(%V_*&U&ixRCL@R%km=qYWMBZ!t!S z`D+zR47rYWGy>);UJJU!ia9W_8XR7O1Y3sxLYeRb8?(<3yfmyySS!0xNr~3Y4pBnw zRLs&)Z!#Wc33fivOoiih*WSj(4#Sx%X#v(RJ7bnziYDJ*vUU0(|FGiuQmCf2RR5O~IQ|0Pkv^=FTb|91OyzjZYNnmH>lrIBigcsQolIV=2XH0HeE^DS{NGpv(Kh!zaNrM*Ca+bz}la0)=)?6X?nzBm{70Xh-5Lih*YEJ@OE(y zW!+&7^78oo%XCAve>)D!PGt&)Bu7Cp33-T1rf?!JVkr&dV}c%G=3KMJ?N?ABPI808 zG1GrZK7=?!4rdNW&Qyq6m@x`U1VQiLVG05%aB6aX0eKn%HS4ZY#Qt`=-_4nN3u^Xk7p!7fs zRd<{?AI14Nw_nY0`;L*lM*XT1dB`OS5DvYGaluL3D-K7) zc#o154H{2D3lC`rme}Z&@Bh@Jd8z0h567!cJ?pHis_Y}((?LWOFEUd2T;emQN`!XL zotd-U&D#}fy>zoV+p)e^h~(k(v!dBA*qxH4l?Z9yJMGgukrg13DfV~t^y-A52=O{% zL;UpT>tAy@{@Yj(E(xoaY0J&4bJA0>XNO?IU#skbYX>X0E|0X+W{@9fmhuw|Sbr?^ zyjsJ+LD_cck(P&@Ee8wzNFtmy5bOQbHMd7#fSGMF`cVyTTt6N4FreRdNy)AZ`dV$; zQPD38>-%`YA?MdX-lIoVYrzQ}PaYSfYsy{wJB98m;XX!6;NDO!0{-rO88f#3>f@)$ zcck)*6HfK@akiBpq0VANSuT2uy-(*H9{ONzBI`DioSSkNA+N&FuTY7(UY`4WhwmWb zp)U7oxj1=yqX$#ya%uYLh@17Fu3-w1SeZ$hZWJWQmg4IgD;N!udN004Xa&>L$v-*>L!nm*YV5n~f_z~&E~ zX@|>`kuxG=q~?@;DP>_QE!3?+#sqQJ$i%u?PUtZFVvaciUf;fO6FR!p29SPQkx9zF zbcy789M~dY@YE%8|nyCB2v;|b`MB!D* znvYqFE24y?47>5pmmOqSltlQhjcvZir|jJ68ca(q{#iZVx>HMX(+4vHyJ_VHgy*~itVi^Z~Mmgz3*qp}(oqlbZt zfMbt7y3I*?Bu58^0}gpStaVV(0RL?az!n*j=)Zfz(^1;*&zmo6?nXbQ_r@pMA3)oR z>?X|3pE#ORhAlFyzQw;f*6W|B)1=<)e$+Hlh)u64mUi>Y(jzGXGV&R29HM3s6ni;^ z*S7bSp2K?qKqfQ#i~kv!3_6OH_8 z1{IbEUY>j%X6o_Vb1cy7j-a;JoijGv^T7$0eOC48&qvwmc2f-wJtrA+q`dgUV;yMa zFXJb@F$Z<&$;C5_>WIqTL+XDDsS}5$cNT7+9V?#hY@NejM_D-7PuBH^URQ|mwztsO7OAo3)dL4avSpkvdwUR6zwE6e>I!CC&r&5mX{SH~aoT#y^CJ@c*2uU>NF4!C4;Umep~ za}aKgcwvQP$1>fex{r3e@(SY2xj3OQbn+W!CoFq_mv1o2O-!R_p_A1UVx)KRa^h-n zck4Y3($6R;$on*DlaVo%DG}UCYfqA%f;1U-rZ4xLKBzx5U&k1%U0zc{#Pzu^1^Gcd z@7;_k-mdL%;;>fF1KGY>u{rgZW}k31%0Jb6=!hlYfaL4aXYt;>wN}HHXUsa)Ur$*# zDsk`0ZhZfhiLgNufPTwLnh&981PM*&?%QO#pFPvoJrMCYyoQf>y^`u$)~uq3*PB3I zq>*lXcT7K|7`BB>PgEMtPshyvBKJZo4^aJ>;Tc!gAF3fN_EKR#_J z$8}>2%Jz+)(V}zohkjHTd~#>V@GGp!vEv|0Ho`AA4*QV$FpC#%f3&9sSnFL8bN2iB z9=6yG#Zr6`E_?%Pi!i$E~t8Q zs&?&G0(m;=JX-9+-=SJx1>ZKX&*JRpb-5E8r;^r>z75M&8~b!{3G0lVxR^{6-r!AL z#%`TuRZr9B#PO|u=FEq{UVp6o1~WP&^Eaduv!MEv9)30YT4G=(NuUte3DY&ax8*Jy zJ$31I0I|yNBh4FV0AZM=!g(xN-p1%X*XG(@rI&J!Gk`zhw!>r7Yt` zOtdY*PEY&g=?(48sHEJfw>ajjsoD-da*F?~#Ah9DD9vSr&rA8Qa84>z;LM%lB*pQP z&fltH%S+1F!fVs)QX}=VEVG6H%&{$_wh!LhVW4lWR!NS;?-;)`-WpeuEm|$+SCtjV zk0hL(Rw+4`kv2xvMP)2KOkUmlbr4-{9BFxR6Z|1#?=kEnO@dT572xEGuib?`%G2Yi z41^uJn#qx$D?N>2tU$9y!b^M5bsLpay86oZ*v~NfQW7Lv-;`)cFfMYPcWjOGMKNgZ z8u++@+M1=zI@e1vMa#;Zz~H??nol#>BR&5V9(w&Gfm1&S!dl|mou&c1!t5NU+{${_ zE62R0s~YI!`~4pk|3AodUnTcGU>SIJTtRipTL|MQ7U(m51vDQ}H|`d-@P4%iyY+;j zch2Q~HYp*!Gsj@1#H|WlP=}KTIu*HA-N9I|0(F)3lc_=GZqd(ple+0!%)$+JPuWDs zYvy+1j*=4^>e)=w05MDCGoJ73SN`TZTjgt^?gE{9S)Uue>y(XX(W5V`G4;{{jG@hE zf-2fst=5}fg!)}eq7LCZ-UgMe7iRm4^hX|2O_L0^DOyBA6|1n>I?I$YEM`?QaNDJB z+70hJ^-W&MYA_hB*yII}FRn?a?WHh(C6wLP>)fcI?PS4k3H=TlSiyzA=97eO)olKh zhy3|S8Gbx9v&SM?IZxYJa4&2f@goge3#=ZQ_HTnxC{T}t!)DLg zBy?P#k_@>O)4Z;eCjQNmJ888F(U-2579P}~CUxJUu(ZZNZgg!UmR>jwLq;r|almvW z(H_VSFgLz$2#i;Vo?o1gfC_(;e>#b1zgzQ*PBJ26bOgpy<@b-cfKLvbGGM5@PrnJ^{1f3&1UIdST)odehE)O7*T4}*Wmr6PW29$-5Cq` zVv&n18oSV2 zEH>rGyt02+2uou|6tyN5{`45KccHxh{;V68{T#J?)nGv5w!Z4mS$5L%w+9-0Y8M%A zm--z_pP`zXZ1q#;3egMQx#(tKtCCh4MF?7YKx`Cd6xI-{)GAfuoaQV#;1&;%gIj?^ zG;fsSxaL(3_MI!8od=Q*b zp6>Im^7Coa12#^^{-T@@nf!!M=n6`o|HTisv~dBlB>1ursY2J~4)y2NNksHEX!8T~ zFwGhkBS-QS7A3X%?H|4(EkiKoxNdTIfz|Ba4^Bpj9QG2m;oBWmC>g6s>a&X(8j4x#QSA1(0y_^Oa z(sIFjxK;xi1+Te-C`+Y!J=0M zNH;l1UTu+{p{5tw?XL9jFtbMaFb#IccE~@0HyxxQQQp4^sW~v0Oki!T3801+FAjd# zyENv6#x_9BuS=$QHd~I*?rArOsVGaTeY&g2MW-?hHmSV) z<1TG`JZP&b`|Px3jMX8!)yrB&zRt3)fL2xb>H`(a7AwTId7(p$)LiqwMYFSN`yycB z?U1`LRKSyvCj=koFR%5g5?W!~cIv(LdVIua-v3ppzg0I;Dwq9Vp)p8Mh;M7jN zGHLSM)e1i6?w}K8FVr8u-h0Zvp(KS8w*H;;HMw>qL%c4S{YJ9J^pQohrw+DtA@-=d ztD+LP4_vWvPo2Sn0%Wyt4V{z&4Ox=m;6Fq_LDN{xFzA>8#HB2uA%5+SzGP+5?sC?! zo)T(&;~RnTZThNlhr$|?`Yzn9?Q_#@P7ilYw&{J84||y<>T6)X2NKNWrhV(La910fSPV^W zeR%gGaxFcGoetk^BNP2atx^R=-K%yqPz$$5xZ|%%`d-b7XXaq_=FDK@9;}M7IwnnO zeo{s$5FE5MDbE;ZXeo|R_7Enu*b`lDv0-F>*U_oWzc2UgrU;31@QObT z*42-JO0J0UkP;;pS&t1|jp-Fqyqm0r_TyH4-LfR#u*y9vJ-V&(la>(HV(<%-maI#(zxxJx^sMT%9aLrm4Kj*W~4VtZwBO({={Is5N* zg>-eKJnOoF+;n+1uFu4N-J_Y2wn744gCUqgi??x&qyIoMw;_D7!P^6XH;E1IDLn&e zsiy^_3w`s7Y65ZZMnN>spK$u5{Kn45{eI90p^AY|RgtaL?*cZiGEB%w)`sZ=ZG%gr zQGm^=AoUt7CYDmVRLyczSaK?2*w6els=3W<>b0;QEYB0|@6BqNSE>PUfw8iSUV1>+ zd8zLrlh@otZKlhH^Bj8Uyqbj_HmC}^^%7ZhEpOJkrzoe@+IHi?n~y>3lgw&4ej>V6 z;j?WX62l*l+g-n|I{5iXqWP5;hfMua-g|m2D!KWy>|dv^qMEQ)k#slMs1_(Vs}p*F37YjD2o zM(%djX0tKU$H?a{TiKgzh|x;8qJPbSE|g~MWJ!Jm3J0SWFZK%oogr3_W5R=_&b7ZwL4NT44&WFF+ z#X;O={!SXNY^YOZLFwp@GwR0)4{AA+@^!AgVWJ)g6#lnsWt$e!r~jd3JLP#?fgiMX zcNOyE=;EL5J}{g*Q8^m8UpcQmMxA<}K~o(!9>1t`gQ#$sqY*|ao|8`tAl+&W+#XaN zCSGx(YsWLwP^Dvg-OmHhLjan2DqPkuDOfv=L5+E?u_gqMxWphxO5sVb4f<9 zk$V|imTdcWM^j*Z7T8q_dLzIz=O}$Xl6f(~+{qI)BNSPsph~!j((0D!NEFbf)sStu z_ZFqE+d3SZ#+utz94A&HRAb>jZKavL0Qo!H9PQc%r;eWj8bBkW`g^z*OPaPv$Tq(US2Sbxp^<1`XP+J|f7H&5 z&D&j?=xivHDz}|a80jqQQZFOGLMmpx%QBJ;E1xRe+YliEyQokoL6U!dKS=FI-P{|7 zYXg$qK&c|mO;){!fz2B15sZOMuOpADH!Uur?V|BoZlhDamwte^{}i~5yo~>eKRAvc zTf-`xolfQj!D%HrBQ!+`aeAv=Pb*^~gqjtj#S8I~Q-=ei`6q=cl&2ZI`YAQ-+-eL0 zMe@=?4O0nu5NBF?VuvY<zf+2>Z#VZN4W9Lrz*>P&N+|TSZ(RlJu@0p+=$D;)_(=#%etc z%rh`d^2l*X=NLUZd<$NpC+dS7Qfcc2j*6P&}hq>wVox9(>INF<_L9elV|#C>TGb+XVa>nu@^i3 zNxgmR5T4h%*$oSq$gfAI^eT>~x~`?&p^AZQq?h_nUQwzkp*BV<&bBP}YBdL&EO%g! zShev1@}%LS(vKg1(l;*ppPkY?a+>;Xj3Pegax7Dd9q;qpXs^r0JqaCz3&hSbhmDJk zw`Vd+5gNaA-}V6Xg8z7TU<+VjvuW8d4WOcFS&nZ2ZROlr7ixS7qTF!_$y@&!d)zgZ zu%A0sW=hhTNSm039P2Hrp5%izUdg%mbz>OP@2a3ZRtb{+rV@%xNLzt4JKb9SB)YWr zT;F=EX#|a4_BR{Tn>)F$TZdt7v-x2?LnpjiCt4%h1GHNu$Aj(B2tXem_1y0CR*=-i zRcYYBtnYGTI5_2mXax*A=*Lvkc=Xzb;cEJG&vDgy(U~)*V-pWGHr`ZK&7ACIs9i)2 zxqbpZ!GKy-v(DeQ#;X)6i5&=b)3;9*O$W#+p7{jdmI8~7kHH)Je~@hgqd=5=gZ!VD zTS88$g}}f5%DIpqe(GJ8P>|HBfi3npRd!92lRwQ;0$;qpY8JuVoi-gC0xgpT1g#Wr z&EppPln;-ScbQ&&o%MwBb9Hwoh zOsw@iuGuLqyC?O!ZiKX^P-$WCfH<_er{_yTN^hpkaxwm@Gxy5sr!_-AkV|r!v@~-N zxYBFLWqfdWd3 zxeGNF^`IbCAS+>UlF8~$R_X_kXUH&fEjnCqwH_qZuC^5sw=pRv&bd%6z4FXF8s^b3H5saw--fN~KPn(qq z>5-~^Eq`>ma z%5GJn^#{H+m&f=Fi4BVnmd$$QsdJ>awdKF1)*mYh($*fR3DV?Fw;vOXi1@y{K$h7d z5qLAxQ3QKs=vE!PhU5y{%!?Wx35Dv)Pf0Jtw!fSI9~`vkz2YyAj#AkQPj)5E4m5X& zreiEt`8fc2kOSJC?;mg|7&P^Y*o=B|X`jsDo^IW@{IWY|(_Q)mvRx>ru4=#-*TXVr zteMgjY7N8Idr)GjjtQdYxnG?UVP|l{a;TolJ?p3m{yJK?G*VG8`qJ|g(FN~d?ss7= z4f|BbQlfNkmoHsX?)kZ|KyUZ?u7V0H2fg{;+r!+~sjFs@MLM$e{2RoTQt*cUGEQH& zLa*6EY}LC*kR1GdP#TZEa5zb}3{)$2W&`eZ~<#@@n5>6q^LN@Xv1is)4!%ND zNAqg3_z1%_zb?e+-S1rJ<#zX5>((5IOXfm_*^tGgq-0C2 zbmfSX9ki*5ee0@txdNExKPky6@Jrl%h++RgyO=?@^>P*p#WHRx7HjURi@Vu)Nkhs5 z*vio~qg`+VBl(QRqcyy6&lg=xOZtIjU5~l*`WC`nb`MR0RR-Bo6)Io6mM;{ye@zaj zVKce+T&Qr6{P#S4eP2K`dT{_?vr)SEw+fj>_SKfN&z{Q9+C!`hB{pQ!< zRVyvArmMj1%jD!l$sTbL4UH$bRpDiXzz+!&uW#`6 z6^DxX<^Gsn*YfEdGpF7`uu*?1(8mBx!R?)@GsKMu}Tn|pWtbI^GF>cWD6T*@BbD{K# zzOTtI8+($A(0>YQsV8NGq_vf}*brKk)_Ta#2Rvn-@0;#k498cL>9!dT$oE(l1OVw}-(Sj*e|;O2s@U2Ye*Q0A_aG@{_m>xHD=<6rjZ7+dO#h1L$I zA^+rFFVb&hGR8Uc@fMCD^pVhyJhy~e?wjoZiAm@XKG1o&+qjk01~;7l+_i*{!(K(< zw~s5HIycSi7UEjn&mcBY%31MeXsGR{?VddxJC^G{(=BbD=os*xIN^tyTHc1o-jxrI z39BSH1?FLqe;nAPW-PM5LbNJ7-m-IJxmPE=X=s`$;o|~xU-1u|%7D1syFNQDi_xP0 z5w_Jou5p?^(|`&qAuO&*@zSGCVqf2mo1x~T=XT`70~hrOmoXNM>LLe9;Y=`^RAe2B$&qZJirIW0OV7u@TS{PKGBOFtwaIc{l6>KOcPMamO0RoLGhT z!%$wOnXnFE=IbOPIC4~Z!SvX(NiUu=s&thVYg+d?p_&XFgh?g0Q^wr{$xxzKHH0jk z_cq%O;u3M?jzA*`-XA%EZzpisrre5Fs8_gU_SF?P`v$*C6Xh6}R=_Xq%OLJ$E>AtY zG5Kgoc4ppLFDX5>*Q%Vzj6#h~E8=zoqSD?LuNA?Iys-hBM-ccX3RH7`Q*&PJ`gDbv z=4wEs-D;^@E~79(TToG3FEj`xz3wN^MZ9vi8Iei)J25+YiJr9YdyCA6eOdM>HG zNS4M*_&xr;-5{Uhg-cWB<7CS1dlcQ;^-}k8>y%5-^eiBcz?*RDlHJ1) zFcWGIU)e&4nNG3*BHu439q|ji{JO+i^dU0+kSYa7m4uTV_G=p&zM+ynxk5^*TT4! zpQrC`Xfm`GH$S>IDooz`oLV_v-}!NRmr*f9IO}aVQMC{LY=1QHc?{WJ#}ynW$<$~m zzS$Y`-r=@%xj(Z_do42_^sySau;<<|@JX~V&f`SEu>~s%6@z4AC^S$>65e-%`aZ9p zo39;9wn4B8AU+H0AT9`ScK|!nr}LeI!;bC%oDJ1csD}eJFVZE-Z{}Jy%}yd-^dtT% zlIk~_>ACt(@geaM&z3R?8$DJ~k~|!uN7kcXUw?V}c&9LA<9Pw2!toBuG-P8?wSVXW zul!|&Da|V(7|XUw>&cKC{=^X!k4ke~uunJOgK~bjd^y;wlGa@NJdY-oBsDq{#zfVNjlVf%uQbsXJowIhg{og@$03c0q%AgF~ucxpnOt zmD{arW7luOUr@aFS6%@&d*{~21w3rx_kM2(W(&MKMygo8v_j{W+IQ>CiCqfW{mX_z z?r)LKy!Lmu5NE;KPJ95R>4qM1DXq;!gG#~;t*@;xD~ z+7$I!HOK5vv=^1h32!+qXM<-cP#xE+8~p-<24to9F&J$>>}(8Y4VtH|MG z<+Eo7o2;3-)b#M($Mf%K>O9#XO7TnE)41#JYlZ3bJ>3#LNUg8#?6g)buE$-Pwg}^C zaZY#OVl07p)j+|%%V2dY<5L#@c#ow2Jn0Ph+;8Zb25*r>6?VH_u3$75X&K7Ed}A#! zq`zD)VgM!05H`f#ls=-YMo#y|giKg|o?`GY`UypvCYubgAf^1B7=;EM$1S%es7s2I zAgQ;|8bAd%CUyXBVKD2|)T-UAOlbq(XxR)R0s;G98u`9pwJ9t_uKOwD5XUXQ-6FFn z$#sL?&LNamwzhg+{!>r(vqz5%&IG~6&lehR86NX;w>t~2+Z3dk#P!6zYwhffE7xur zob_u)Z|iI|zv&=Hz?6oO7y)r0s2S8(ZfncZl0HaEqR#Cdd-JLBEFcd51M zKhM#hi*K2eA3*PIO~siK2cA4I-&mbKx9K_3S2Mb|1oxNMa}f*b6l5-$(>$4GDH@c< z1|q<#95YR@WDsp_7&HA!PTLvW)X8YAo!=9}wMrX8BpvcgMV$C<2*l&vb#00rKk4(x zz97pm#ul18gVc|G3AZsl%?(uz*i!^%hVE(3@l6uwpB@Phk2{A!E* zO!5?*)@aA?)qg)#GvJg`D0mGoSwqmnAzY@-xHJMoKgS3Z&ZQOOa#vgn=pruaN32NMYzJMG@JlgsgHz+z=5k!)~*myM^ zoy<^K_b=4gMKQbC!4;WT=*-{IW54+><7KiQzek1lXzdC2+h!Kb+m_v9i4GdC!LPZ6 z-`E{rT?z|_K7ul%5~`5xy^{C;7dgLsgA;i3V+Pt+cvAAJ;>`1(?FXs{$^qcQshU?B9A9VYW|ZhrZvB6~QQgj`e7+4DjywVb2Kq zt#xXKV|~N?IeTqtvR@KjefJ%Bp7*9jUY+3PB8dyB{4;Gc$L50lVQQ3iB;b%8e0Rfs`xjEl9zq1aWb+k)%p1J!y&ICLXAb- zH2k2Q=Eiczq}iJ)>3ni5)7=AzU@<>;5F!!&tSvLMOR;^LA=z?mqUxZ5r&TpPQ)GPT zFl|3LAbZN60hjjpfL==r_qi}^8C0o(uf#pbTMPvHV+@!|HnFsOBFP&&ljvUkw5SIZ z{j7TKEvWvoyoC2h(9CNhV7L&}diuDFp|?B1yTg1*4^N`ufeq`HS;i|&<(8D5|8@T4 zMvDKx8=_U}O^FpL=W`-hHzP`Xi$<axRYRfqa&91+C%r2oK8WXJj8(hnq3P+DQh}kVIsWm}mg-b$FEgfYaKka>j^$kc=q zQu);+4n2C{bQk7+eoESIj4?6ohQjg>Pntkp`ZFeo!*4V4{B4{BA0~hOdM$vt36eg- z-yT}mZaDyf)y|hL5%1<$eao5z*DlvT>G+T$lJ3>4M}1?Uk+9o)f}T5TZ3ve{UDU1D zVvTj|{L$TI#fi3i8Wv#dD%H&l_7!)XBmDr?%H6%r2;F!R<*vX0Qjv5F_yv5*>CxPE zbP(UKvHemTY>YUxg980NvMm7$y06(Uo3VveP4|j;Ui6s`caN`5IHb63rR{W_w6p=g zcK?pz6m7NuHP&k7-zMgHz388+=(9KSe>iLG%vEi9ztSfTLMv&H9AAYl76@USY6a?q zlT2AUTxb}e%|*<#b}FtK*6;@tGseFoTf67?%%0Gy?6o;V;HBZPI~ly+f2LL_wP77r z@&L7_K=Ho(yuq8)BQuP~gc`s;mxt2BWGUWVOur#2EbJtKZE@=j!q`S^h!9%i42n{10n(eiZyXvXjKC#;PP=*YL+2lF|H4InAbz~n9 zO>9vp!PkokRw(n(5@|}c?72b!#zPyrpb5t(1P>vJ$H{6bhlpRFMxHP)Vw|mwf)%Xc z=Evg39unM*e9K_T_JMONBkrzm@Hmc){Abr_rX-^upy5RP9>2N^;{fcy7{I)lRT@6k zSfB5AYa#NPr0@D|4`P%C59g>|n3|A#*c~XfDjYH&Zg+}`m?(K<>^{j_UMuo(NP{PB z)(*Q7s>>dN)IS(g_ho__q2Gyqqob+NAy2Vk3+l%G2K5taW$XcECBFnK|0nYb;BfX| z?6c%v6E|cGcWD-PXAKvWP5OxD(* zr=%e)InT)L#3TPMs^7v9awKI3Oyt)*LCU+z{5o_lU3+C?pC`N1Z)4aEq3KejCC^sV z0iPrHMIK8S?FGqgyj!NhjX5sB<`)j0YN9x0mEw!rjyIAA@?o#oq>Vnfy7DSzx9Wh3 zY+wK8NZuQD&xdlPCW1?(hv=kc6pTSRE_JY1nbeO=>53i%#~=FRdIr;Tjr`bci>_q_ zb}H{%1o{J%QEyQ6S6Rm+7)^vPmJln4B`UyG<&+kzd*!+1FJ1L?*zm19Og63E?L_=_ zAt;$MK3&{>f+F5-f)s)On$AW}y_XE4TT}6J3?;{qH%_{zobjLNQu+fKN4Yo;RIT;> zKxVo<$I^pp9M?6*0iCzX(ZPJ6hC(lxYta3~tE(YvArd>~j@c-LYj^KRskp$JDU@L; zU+vw_OCTtxA9-M;XlxCX_AYmG+&@OAA%0w6ss;tx zp|f(`#6itQZ6?uW75}9I(%-D*!lJolK2CYhLWD@tHH-jM`@If}gfRcH@w4KE({7l# z-3ik!=Hmj70O0gQ3mZO=zEdB<1#&@GL!8>0#{ROm_Fo+j0y4Crq`3AKF1zmmyfjsk z7eEBP#+h1siZK8!b)xk7s52*vXvF~MgJCf%)-Au{;hJuyMb3deonX%DWEuRg-@tds zLJ!T!A1Aww7^@uCVXb$;3v-qOAD_1!4rB3wt*tE9F2CJCG~Y;AWF1D2Das9!wC3#s z1xYIcQ`#Jqy#P`POnZTv_Di-q^mTM`ExOwVwkQSdJmlaIo&D1%wE3^vLrs>Kt{GH7 zcM1i4dTGrac;$~mg?5cAk{y)$pQ^1{`Dz_7XU$?s46l9trWI4op!(&BrWzX zSiW(cl@YaBLmht`owX^lA~o7}zpF@%VQ_xaup1^S3fo@kwY}<|ihM5j$EyAMlxF@# zfGNPK-h|PnfK8TD>uIlK8O9t{%bv6^O;G?oMw^q(hoZKYl%iG}Z+v%+RnMbGGxrhJ zIDiq(N+opj%kb(Hmu_=Wm~CKXXh|@PTabUD-uvOx$+cP2@u%XDe!Iw>%%@QiuP7G| z(bQs~Z_S^0?juL&JY6(7MQ76zY=|km`LBq6>XVxHFIE4pCZNWGYC+T)ZynY+ zUPk}b0}l#*_ExBRoOsV!`XrBJxrZmfN1!hj;`Fe^%D=5pmL%=SsYQScy`2?r6dC?V zs%pss@j9y&Bvp21k~O9rH2-E&Tk;*cLu&=acC2+*~P>5}M|<+|zW|s%^z? za8AS?+*D@&RfpK{TeHtczNmg)qtyP%1ZvL^Q0WK(`kdEXI0qbSw*WR@zXSs(q##Sd zmjyt;%+^AAU${bV&5@0lo7|grJpLjZ+<}Vf$%yIMY^I8Mch+iqAlJU=k72xf1eY@- zx1KBtkvmUSV^CTLkXt8J3+>%pw8(j6$)1AT?0UW6) za)g}Y+YX~6cOV_H=Qsa6UT$#yH%0UD&aY8!g*AN{T5xFA99?Y=EW>C|$>ir=oIBIMyy$>Q zhxQIq%gYo6?YkwR1AD2(A)5nBUP=`^2}?QItKAncb|kz7p}Xv@$M$z!OF3ipgzF;J z9%)y)`zqEOOldWLoiNIA!v2lVN_jRY;Q60gyQVOouZCttB=8Gp}MJA{?%3;*z z*Sr@PdiCy3GHom$nSSGml=uqs4YwHmrcS~6pmYn1zfiXG3Q2Hsv7_4y;)=V~^h+l{ z-G1@cg`LlNoso~ES!8onz4W$@YBZCxQNU+IY5hk%h{ z!EdlctFgXX^qzFuPZXWq-^1zW4sz*~m&SD|px3AD<7Ze00~g}W&tt<$ux;CL@1E&n z<4ex@m2c3TZs)1RuZ7d&yssj-_ge_@$vmG57KTeJC4`@>q@eGfP{lbsHv+5aiV8eT zfcVO(0{-WUYsg*gKsG4)z&XZmGi$Sg+b|_42fyA7tjh$4;5-3ewK+`bJvhX5!#@T! z-or_&*JOWOranX8JJG)-!#jp%5Irk)$?|M;sag|S%cXK9fVz{{7he8HRtdwuy}5rF z3tuRd+un{^qV-OVlz#qa54`g&;^y5(_)KWTrmp{RUtlPDWXn|7ICdjlxF7lC$n0H2 zZxa1abV$18j4L1%1ug9eLFN|r*ET`_;#yR+Q)hqdr+2!PC7~6!Z(IoyJyQHRyn9|A z_%w@#ci^*6c;8~3iw8nY8B;R&YB zEh+kl7jR{`+5@6aKl|UTJoL9HY5&R z7}ah8sS@L;U_?KcEtn0m0mqH)lXD`Y|BYLYdIh7r|*AhtgdhlQD;7pDB71Tnle>6 zZm*1uwxNSg0coSP?ive#12!Ii#Xx+1#`IR<|8 zB-_gM$z(5d^Z=9bD)F=BGX}uQ?mmqv{*AQx-}0PZ9BLG#MMd$X2->RN-H3uEcu?;* zVxr!x=$a|UT{ysf{JP_ob>-LLoCA*!h~M-5^*v_iIiE*zs%5N5~z8uv_G*Jc&G_`yah!uXi^*hl?1g;R#42loxFJRP!@M#@N`09uE zQ;yQGbm=|tWd%9T!4rdqLuyh{+cR>93ozFH4kDzr-ki$09ul&*>oThxXc{Xb%_bv# zm7{|Z5ksbDCMChVmv8|iYj7hir}bB;7O;K|QgiiK=g0S&|c9Oz4@!cX7abx ztf2j=)Z(m%yn68E(x|_XEF>z@i6kmv-~pWDjv!t1IJCvM@Xm65(xe(l;#ZLiCvYSz z=ZkKA^YpJQOnDfc4aj`eM^y+TZ$0o2S%8b>?_R>OcDfjt+UR{%)+b1Rk9T1X0EhkJ ztzPOdwnano;V6I+sv0rlHDyBY`pVHqul&^(uL%j%QLSB6u{s`Y8L zB`=m%wt_F0kNf7}sJms+G3Y+$-#h+9NefyFtQoG~Nrf?YSev9aThW+I&Z9yy%_te@Q!yqW{*+r%Hypd11pH>Plfp*)XF5vm0)y{xd@p25Dvd!Ifsk5kN(*!!O z;_!0uedX(D$>&BzDLgOOKog6Q)xDN+CIT(ck(2CqlChG*lE^f9uytK}Mz0>!K252y z4cS}C1*ZPo?<{f@7)kNn5(J4B#|q){X^bM)wemsafhVyPfQAc z6_UToyqo`C!IuK>O%e(|=gjxFOiEC8)k|KgRCX6$w>6*`&q`G)xAjWZ&jBDOOIxwI zh7sIyl?eWi8Z6ch>)}^KKQW<){XI^B*Q5x`w3^{bmG3)~ zKO?ru$ppk2<=J1s`Yoj^Bo5Gk=+W$zKYOLX#ass=t$b&mJh%}iuI^I>pYP4Nx>i@c zjv{)LR6DFD)>XM(kBJ_Kty!VAE8$@bzLyh+jU*W>JpTMzA0tRxaAEMB+02m@0RgFN z?}Yv26a9YxSNbiS4Zn`>K0yCfF8uqKgY~kV+Tx7wI?VpoA=R}EC zuwBLcGd3|;@y>63jE<$dAMvEP@WL=5>N#@;1$Y0bJbJy=;=rrexQ))uWABIOdsXh@ z#LHfUKdXHbaISdgaCNk025IR}pIxSVjsphrZdT#^lHSIT@{V=^&om=a!T8ncJJVNx z`OFFQm7GZL@JqdF?UZFHJ1WQ7O`-t{QCaf$4^7`$1jgGX+1c6rHN}MVRY+R0^eW&G z(hu5f356tcw+Tf?!xAX0HXMeS9Z=bV7zcG2G}GU zB$Mc>c+G(Ocbo6|JH}OK_vMGO|J%F-M4Q|{oxyF8iu#FDnSZ=q+w^VHaZ2yLW zFJbwBM@10`BIl^;_Ds-Hkgiv{$D%(VF}t_%$CU_P*RtVssA)RQ#KLwV(@CKLQPvYY zVs-R=iVSt!oB8FXbXA>>-#m9LVYW|9Uiug3ir?~G@=t>slh{!vcPhYVTDui^ZoltP zn(YQtP9R_x6nkt?O=RpHSW6YG_&}`^MMgs7>B?#uquTMuLnx@uO#{;2AXOQ6D+p&l z4dQ`xPTLlE{Z;P!&+Tl<9NC(K+WlnEj6MWQhHYw|BR-UNAZTsVU4K58{r5um9UdQ- zM)X48re9*}+^@v+#epBlWH(8|h%zbL=J-su*5F`QH~B6i=%l?4a#)$PM!7HwexvDs z>UWRa7BgbQCn-@{BhG&@u<^EHjru7diY(kC=3zx@$~Kt1YX#5qk0=%x10;Nf*<-c$ zL0tn*Y>gSDXNh%D)o$N~-_z2|1X*9dNy)LHai5&xb$vZ9mv;xKzqUGGMf?yjym*Gk zC0xokx8}2Oa6aM^MlN7Gb+}ZpgC6qCXZJ3-21NBg$8&N>YO3)JIsKCCg4WnIWu@m$ zFXc#+ufq@Vfv0Bf4>&sOYUoy2_{er+Y~WqS^;>?ytqj0*fuq;$jkp?dUt^=O;k0_7 zmvi4D=Bw`@6I;?IdtvLnv)lQL0fFk4c zkAsgDGo(OOfXgU*xrA>Jr)1X>Js9pVA#}9WDRlXaVguVVNdlx~NtAN*gvEiIZk|ZM}Rep0E?tseHto-oC#0O_8(@hhf4dyQ9rHyI?oa_Z#f|4b>S%q3+Vrjs%;=ZxW;PL1Kd zNpxjOs|$;U_FwU>J`ZS#T z$kb=#Rz9g#e?=2B>jw`XcjYI-5l!J-Q`IZ~3zv0lU-|~EC^-MmC=kjQTu@9IufP7s zc=@1iqg>456T(u%#M}~Af%+V-IU-ByiuRs%W#9UF+pMY_b!<^5*iv`Hu@UWW@8ubP zC`>HF)+N$h(Kh4DCqFqpM@3V1QMZypOJH2Vl(OVKE>Mbg`{?8cXaU1lUEXov$Rw6G zeZ~6NEZ<(SUw3pBSKagG8307M_9G{=&c(ST=S`8YM@#BT7{ca?fZI5NrZar4vaRdd^pOh!+G_dGde%C@9a-h5+n5Tl zx$S=Zu{2f;c(8z0g1hk|Rn0mhtB+Ain%)6u`?HobV_?6?{--+ol$8fBDJ-(xa3Y$U6p(bcb^mE{2(k(p9{7S zmdf3FJ~6zCRW^|pDv`Xr$^u~2IUMb5vWt+aQIYj_#;dr0Wxf99GW^DQz4ulX^$3u# z2BwTB=Fd})J4yEBDOXprE-78s8&&8B`pSjn~RynKlbyIML-)beNY#U8gRg+ z)x*{}~S>Jw({jtNQInh4|$ zeLvfI!l6>${%Sf*lKlY+$|x1s3U*7x@WRQo&g9(_c%%mq=LjZ9BOOy+OH@$RNNmkea+FjM2?v zd-(k?_JO~D`V-4F3gnx9wy&*!`}TJAoiDQ=6s><)>OqYs)+q0P8AroVlP|4v%aX11 z3LSFw?dEcxI2pX-BqxKl*Y)BP)En$#4!vMaZyGg%M(>6)Lj_i(BIgPOi4@97(-qRr z`S$Y|Q6pQiLp~4o9V4OVnC-^@G~54oncURm`R;%L-AEHXeA&mUZFZl2sz9f)^hyrG!U!3DR1X=BOso4L%;UrG7vUKdtTUk|GVRSTR{2Pm@wpida=id zIQaChVRpeO_bijR#x-w6-AtR*mxPRfaa-LKPn7T$sd^h;7c)Wf8!=S*r0Wq zVt6>ebH^09pwC?E=u;7@E2PAo#c`?-LMu{>aS>4I&BEvGlr=-qx3mae;crV7gMrvg zVw7H>iAESSs~*@j{w4xEZ|4j>n|~6&|NUbVi+R??FQ1wpjexle`HJma73zLr%6lMl z`>pb52OgJEerM4(x!Y<0Y-97n&TDq(;%Y(!W6~OyAb7<;Np<(MVNw3+IKuso8NdW? z+L&!#TKb(V1nKZR3)hwX5Yy_vS7G{`rGnv{Lw!w`YH4z&GO0IjT}lrF8Xg2#;4p?~ zl%J@j*TY?c8!!geXNxDeE>(ogH%X~Yh|vU(S%11Idd8#oj1K}v zcJC2jP@N{0z8XB9U^A+@^E+xpwfKuj7{la^-Tzwz>%2A>cxhNmx74BANA!lOUB_2I zy_Da$)e;||6boOm%Egi{iJp{BbGLa^6yP^w)0cj1;=AvXq4$=7je45pyciAKXBC-$ zPa~gvue#dq^j3D|ZA_%tCtvpiXDVY#_y<+;?;j_sH1Wn>Jre$cIG;qt-7)Y?gHKJl zUU}-H57|~G2U)&icM|8#C+; zff3x&1Zh?N|F8E60C&BXv8`eH$eIGUEGD7siIv*B*ZLqexdpvT=p6M@la8d7T<6FP zRs_;OMZIZl&!Xw4EG@xJo$4(UZ@_~$pY7(jkn<_}BPuSIw+CjZze)M>TIPcKwB(6E zY>Y`bC9YdPH{X}kEJpiz-y+Xr{EHmv)&cFmfa8lmuAvDH3`A6?Gs3X{Tw(qHd$e2k z0mQ1>E_CXdf#T!xg}$g**Ns0RMm8_xqv8S#&uk=E^!|EaS{QFmalr7O9Ln#Hi+w7Z z5PP-qi|A}k{&&g6u6PMSa*4v=naX2fFY2q0e`n*QZ)3!hRzNv)a8NBWMf3kU^8V}h z420YS5;@iT3ug5ms9HQzA?7th@E4zKH;z5nd z*9o52>LsUdZG90cLwv76v4*JDJ+~1q@OKhja#+ZY5fQ?S>5v;S*S}bKMN}&p2r~v1 zDj}QU-Mze{?-ZjC-7&PLD|T;ufbz_h*o3`G_yh!VX<@#zN%YN7Xfw#; z1OK~v<`!MiGy4DRNdI-XF|Bdw7|EI@$D!A~$Z-Ai=5>H>?yKaj5Y8dKX7MpBgS?;Tm*<1il7u{}Q z&HjIsy?Z><|NB2)Qjz48B&QG^oRZKml2aw=B*Lgv60@APF^3Kc$*BX%sYnWQwqavJ zDCaX&9Zd}%UX<@I37$a-+e+`E`Fbp+2+lfq(jRY@PJv21FJZ$R& z@F=`!#EoaisAVUm{{&!CmAy`el)Qr9KFqMRNf3$&jSpAzs)RE|@LFe#_XLS8iI0yJ z==9nHvq7#R9ZxgXZi~quAFs{$7I12Fk7)UKUWHE_`Uz|sytVmPs9;q(-|azOLrK+- zk%iK@X7TTpQmswXnm=nJyn-n@7>y+v-YxkH#xIaMvS!Sz%GZ0YjFAxc;opHsb#tk$ z(9wt;QBFOpTy@B(##MQxYN;^dm*N>zr?uWpqy%$Ik6%m!s-=|Hx;d-8@wZ1{_N=-~ zTS335a8^w))4(0 z1r@@Yd03#4)YUYgYnv<9_s^jg!9?Kpxc}3r-2;dq|4f$YRy@^JWmC>G{=^tHXVI#IUdvWk?=}a^05X2_(YN$gYu8;TMT* z_BL58)8)L;UrwOc;qQ;C!)sAX_1QI{2Xy@_&Yi(@&GE@fH#n2c}MrlYdf$;C-d#AWL{L%(Lxk2I(jN zlqAda!ud}gLexv``YI-sX#5cynl#e_B822my5pG$Lt z6YB52MD1dVkNS<8huZX_N@4?k|M|z8;{Vwy<>r~gAAt5z`xeeBH-H~sxl^zpH_(EK znK&1eui?00NUnC>(*qvNYg@Sy+{hKDsC_*RX~8eN&y&-#}On z;vVvac*c*YnqT8OR?W|O;y3=#VZO^p3R|m%Z{dPT_Y~siu+acfj$hVr$J5>Qh;&}CP7B~kScN4phQtcWUGUu*+8?0sD95*EucjdZc zLMO82#YEmqfh@s>sMV7KiXv}s`)v_l?9&?zdj_gVv~4n0zo`)E%89Ze9ANn_g`4>3 zGY?0$=Nuv-#uomUcva?M!w zG^l5dOJr#0^Sr$?=FC6D9w0MOFzV;4d1h|tW6~(5S1%5d?2P>EYv&*6G_K1}hASAI zNzuQIE%j9a^(g}UY7`BJs6?dEl{aPh$-)Q6Axn4tppl&~vksZtHz%m|TR<^yupe~_ z-lU&OrT74208odgf0TBn6a8wLy$P}JzL;k09*3sI!GP|>j#1b4+c+G%pSSI8+M~B5 z%Zl3kUj}!of2luRoqowZuGG&9ex^sRjA`#|eeT7}4dG6_ScwxeI?*^=75POb&>*=GW{MP@|}mp(~kKzfB{KuZ>C%9`l`kE zoUMJ8`BhA8%iau@_Bvosi?3zV_Ui<|o-7ngu$^Qvfhl(yaKj1;EYsUfLWcL+_e+m% z92l5rHelE9CLgLr)tJ6!OWtzs)Y_jQ)fu=EwtUtwwCM=M3Om)~o1GbVtj6MD%f7|s zZ{VAT=t(N83>37fpmy-_F`?yX#Qp3JN!ENgy{hO&S9@ ztuuA5RmjVrCPwxjaT#sB1iD5#%h#^ZYH(1GoU5VrR&f!ti|Gs#z*VNWs?Rw5xpVA6 zo=b-(-ReY22$)L#ocWUWEQlS&-PVBW%}UMSzvL#V+T<^o!sna}AM_tF^nYn0-<{~I zFSfM~=*V2;i4f|iMhS_PhV`eG`Zl%dnma1hN8IS51V6eFvX@qK7yKlxSyA*8nw{Pc0KZF&hh>bxO5K{^8 zb9I{go^264xMi!*=`8}{kN)W+T;p-yI+NybIIy<6;=$K%$DaD6gasfJ94{14^~uxd z-n9E!sFpyZAdWDu0NjG|+?PSbm%l`3x{e=&0JYJllYzoakYw0Hg1a4T;nOo5rC2CP zX1H-MZP$&5jvFs0J&PCLeMz$lw5o4elh9?BBb!k1(K?um6W`{IMtW(;lcC!Nn-5Hkl`a-x03Tt>Zk1?BAZ9_^vNQk{Q)ng4p*n+S>f0eDm- z&bIGHR%b}|_1QT%*?e{U17^RTyZbVGh_Rn>rY7)>IcIpq)BRnT(RO2I#9rfj7^7b~ zUPTKOA=YBuF>3&&MNx**mO}Hd?@j(`dtpv2m`K6vo4h^BXkY z@ohbLnD>f?6zhSYVrk;!#&{x^N$ctRqp4g)$9YFsAQKE2Ze38u4yAuKq5o}T^#jjO zcd|0K`w3Ig-QZT=XY-o)sCA##L!q(h^uCc~gSj|=kukT6b||)3KBQIY`{?IurSeQU zyJCz)+;KOCxyG9e%|q=73FfQDAhoqKhc5{tH##f71C2KVT|(jKME*#*4DVPY~#c35mPtA9#xFKfQ0Ld#IQwnmWo zV5!6coSfl6EmY)^{`4&`FpGDtU>BcdlHDWiO(B_xm%=*+#=JdS$EHGBbEPQMHRXOT zsmJulIAn2BgIX@m5LpqBoKveH*|>GjYTvGtqT~P_*Dz>}nLfZsbkaEa(jx=iL`Hz| zy=qfzb_lPK&mpxf?Vc0)7Z3B_<}q9@sM3O~Ao&R|e0~+RYTTMUNaA4O(}_JgE=Jz{ zHE0qv?c26S-fCkpI%w6Wp!0xlaRvzzidoklCnJ)v<4H4dP+xMh&mA_e$ztv!h$6R9 z)>t<7DyMd9A`cghU|5_9k=Kmm;ImFpXoh2C|7`C(j2}0v)Y;}$V)5+sU2#?sx#DhW zt7&1a0!}`2iF^FZZf~Ut+fAKPrqqHw(<7NmJ|Fi`r$zA&u9d{bV(yG-lA@jt6p4D` ztnn%HD#lT3CMBGeG81sgC=Ir%)xvvQWRE+>c!5Dr?FqSCuUPT%7Q9?FLhnN<@Wghb zZo;D@rH#K}PmpmpVQ}PI70T0eHbR(b^b%f!SE1k_aC=njFojXY6)vq!*|~2M7Tx{V z{QQQuqQD0LyO5m{n5&ay1B?6d^XIqu++B2P5j5pe0FxWNDEYut zJwgmLgiNa^>YrRg(bFyJ3bmrtY_x@4+-WiFP!A;)5Sdce&Xwaay7^ zZ?tVtzSDErj@}hG1SW8-&`_frRVU9ZJ-^&?fV>)a0b+!HP~o-Y@;5?Z^W?u#gvQjb z;QpA|GjOog#_JiXl(b+u!nZ}Z<4-O}!{2SOlK10Gh|r%Ag2HGDmAnU-JLivYQ4-bP z#HrZwI9F91=;HR6?dH|~swUSHE3wcs`g6QU%sbsE=MC!?rm}0);N`+EJ!{@;ihM5d zZi_SOemr;o-XN4@C1zLB13_KTfR zu2ob8E*WhnI>UsG=E^hIcRb$9_dh-$p{ul0{tdM@pljVP(Im@urjF$suFzCZtbYum zpj~#pH#W7wx7h9+zZ`%!-s+DRQP{qjLs5T49C$l=2L@?b)neMPhwK6`i1-@|UB^b< z#s0u(bguh-Q}ml{&A22W#rMcP1(7CJdhsCjnHfJE3AhuczoSc&isGZW(SZpyxHEN{ zbH=@=fHG9u$LIf)g#M?2m2kydL6m^`pvjwJr7o*~(wOVxzFkBoK$Wcv~{ zEBEbNg|l%;F_R)hR8kABOv&zj*Wt?N-5m}#F)TYMh+^0|b(Sq&(`I`9Q}Do06w$~@ zhNYOqe1YT|?yV6HnOmUGUcAZ7U>=)58txBXmuJm8^9wn5C75(EG0px>ZQsF?=)VDt zJ!dX44;4g3G=&hf__!q)`{7VWi`{V7*0GN{2njmm19Ez@y0Zqw5&^r$S;ZvyITOQd zI$86oQ!Dr1hP%LS#&dm@g3WX@u%yBFSi##l`3|n9u?n=iZ&t{ATmu@~+QQohn^x14 z>)qz|XVJPGiGYhseSdV557{bMBhUQo;<5+sg$I=w`*{EO!%UZF=s&4tx4~{kt|qc{ znW0Oei=qc;APP^lPjwtm0M8N4?psUM1r^Fl)!_n~<+j~`4XLZW;d0UrxY)sLbhU{c918Gdvgu@+5tJqj*-{2M1iJaWmZv)!47<-T0t$!4rWky6Rrc=pAx2dJ0 z+A=uND+C~Vcb7PWC>ASXgwQK#y3NlL=i#b&F53`9DTr_*>{<$FPFpCFUsRqTg?qBI zAH8SaG5}Gi#VVW| z-Ith&vj2G?{}DmX2@B+{kIL#Ja5kUPX6d)FKkCYsu15ZzHEi!J%7|FDf~Zo;OI&Gj z>*hhY^$+XeWQq!<_;|IEJ4;cc3R3)vsY2p^viro7#}$4NLL{8Z^4v*w_#@d_{)Qq< z3pP{!QZTAI*k*WuLCpT?N{S4o&#i(xYp0MyBoTTmD|3t`ys6Di5}pG~FeP(czMG!5 zLSbk>Sc==8_t!4A$24)}nIUS*YoDHQNu}m6Y$2ltLD)SV8H_tXS*wZW%8wPvGi&n9 zcwTQJIVNsdmcVTx%Kgo`u_i&2adP18A3vzQu?)lhadY_FjMxZoZ&zc}shAK~(72jo zn#;y1EIKF8J${Pe5MIbXvD5CFKR&7ivafe5bgHIAXK&KXUBx9_)=1Cja3&QzC3~eM zUS%8{8BmFBKw08F3BxJMUm9?0Y3cLu!FMC3ENA5l=StR*a~l-*50-n_U>M&eLQy| z!DtPhoBVL}>Ue0+emGjK(&Z}#%(E_p1P!)L-eRmA3%0`3vP%uRpCLulmVnii$bu5` z-Lxk?$*YY&osMk+%L56e(**$uR*}AUJOY*MYI1nIR_AuuML}F!^NnMO>XA8vCt-;M zu6MfFk@YyOwCI6Sbh zlpkDadx*ONPQ%4cg;&X9VC$$?(3!rG0xb=bC+E{Z0-~ciML8HlS$;j zQNPKDDMuJey$J~Q7L;k($=MUr~h5Tgi&xyv;lc zVT_p-7HzXZrUE+>(Vo6tjqf7cUnE+&bq;`GG^Io;SjQrs+y2;oQgCb{zsOt zdF*jk#(F@4PfDkWsj2U-qKU~uVfzXvS~$W($iYI)Jm3gg2aE7CYCJ~Gu%%7y!v6r^0Tc$2R484&>gVDKTG8DyR| z=)iIMP_DP|<_#6>Cf?cz#jl@B#NGl@pY*+(S~}a)H;)1tT3DgyL7mS8s-j>!vZQOx|huqmg$MIiS42WvbjpGy6_SQD?w zADXyTz9f}vW`iPV4GoS)ouAgen@E_Lnw2RFP`ES|%aNEZ6-}mso3TqDfdwq8CE0ekO3qyKKKHU3iRomto>b9a<@((OB~G-0insORh+=61n%s9fw7+ZRBW zW`*p_=9|H}j{xT|TrRSDgd4xkRTpvb9@hOP52!BBcG%)P@;`LC#C<%O-Aioddw0H6@* z!(jbp>Q}YyCT2MNp8K#q$Vuv0zNoJ_l?8x^TJy)V!8Im*AJz+PTh34UQEtc;gp&2S zIMFhc1r67|R@l|$)D%oP-9xwA&oz|v;nrOouIx-=fI*b)?NbtWgjf6yDqN9R$XL)m zKILeiz3vkw&jgJPOh~XNkO^ig4>o1zv39>b^Rg~4QH8r$z7I-f>LvT7KWaOS1Wn$S z8L8sfYR8AidGo_EKNGC+X(>}orqUf=XwX)UrgVEurtCeY=$&IQ>vhMo@9;$h^N{GFQ;UXUrU}X|IEjz{ z;UE6_qtgii;}j~`zrquQywnNz`k|jl%KT&+1#TrU#0ajQH)_&~lfK3!->$8()ROutjyl`mbWftD^UYNb8$<%b7_fuHQTLmv?0YLA1ry@=+{ z1N1PYmUvi#$wFV*6tUyv1DIQaI8cTV10ma0C`)}r?ZtiHUHIq>i1EgLTBX7T!*VXq z(S^^UoBsktDjFnn!@d?D_8`%-}cd0GkZC_Y~?F0nF7)2b*R zvzN{xt9Hjypb~U)=%6}HJsWc9o*XU~Idtmr6+-4c6J$7$Q{1_6jciAziPN=WUP60D-VnNGdtgoA6#5$DjCa3D$iyJ5h!|NuIj#p{P3JsJ2 zXVCDrrr$L>4Q?raNYOQ!&1u<80i4}$5G7XYqghuLuiU-P*=@^!8Kn6A(92gO^q}O* zQM57Vp{(uoPV&Q%SLlw0O@O!hfwcOd;^5z}1inZxF|h|&Ztz3=p`8B4cpm;TK7aWy)>OkkH0~TMnobu zILrS^{`|kDn*6B#iU<=l4yO46Wb{dDv>I606V6VhBb+jEV1oX$r6C_|6-^`QWQ^`|GZ=~vW{rKi~qHIt{ zt!b@9hCTW)*$U6wT9LgMDwqFL&`)d>2BkmLTP4p^G+PD2CkE|_?F-rahR z3Jm%Sd(XjtJdt1&`-mdMpbQS*Kysf>j?9_#E=wB~{|5ZI@xIL^;+jT}uiBege4H+_ zPe{=C18y4#nVu`;9uuHkO|tDWh|(=D$kZYQdB=%`RoUJ!9WqmLcu^ippPcx3QKru@ zXT(|y2q(#~o!^^q&h+1xZ?98~?scB2g=~R&`kqy;m?7%(|~6DDg797=(&jC4B>`lmnfs$d6jVs8qB`A zF)ion&Bx?9&LnFyV7o2R{1Bkf32S+-ZF(CL^d~z71$dy&Dd1u)PMb!zv8<`&%-Jvx zym_o!?_YtNpI3n7VSiMFcd;n!0${8Qb|e|d@lNg99LHB6x77-t5d4W(D9i+M#211= zUmI)T`=(SIAd(9o(ivBNTHKolDmvbo;e^3VSlyt`6e}8`pmKm+n7z%*yT`P((QEPVpRIzmVnbAQ=6OM5G(%v=AZ0_oSJaf=Q@3rdm;*USUfRJibG;0&b z8Q}X~)u%@zyuNentpxCG({Yf=sa{~T^k-Qe9D^&g;s(Oy5k}qNuxqsj*}~b8qMmofN3#Uc$= z+0qg5xl})xRP4v+_m+g!ohe$4LNnfaIsjofEo?cwL5J9Q9l|lL;7o8-mxC6EuddVN z=2YeY;aJq8;%&o0tXnRKaGitx__j>DpRD-?!kYZGckW3`_W(+(s;h11W`GSqHETZx z0Zk2lG9;K`a2$?upZ%+kG+6L3Va0*dn~@VXW~4(Xai1%QMJ6O)rf=s={(ZV8xh>#I z^nl&fNI&n`TfrJ21BwEjvPwD`+qCkqwIS57c}>68*eNTh5GWv=y1J>5_o!Y)^3)Pr z?`G5lO>CbhPd4BhJTv@K8-$dOTI zjY1tm)_)pa$TN#xDfKgrv1o6ROb@cX)4k}|D?Nb?{;wXS$TJ7xU(Z{{BN+WO1;8Z| z2kwIF8frXZkj#zF(#?U49gnjz!=KZ;oZFuHeQmdzNnX%?ON4^YFS@-xVm@8CBEsdNco{7T|O91Lu{8V3lL?QQcjVuY=g z*0!PCVCyd^e|$>V>W+$=d(&DByNRHjkcu~=`^;7nUQxl;v=xi}U0Yn8U~rW&lkT&f zLu(o6ZBeITXtfp`H!bT?>u3~!CQCNA>rRpa0RSe9gv*S!b=Jr;sy~)n{OD8(9!#*X znFk<$fb{%Ag8nt{^`7$pa7ASMeoXyR?0yWhmvQ8l4E9DWva5JY>eFf~%h2#=ABG3V z<|$bKrhB^*iC}c_z}XPF?jyqVQYGQVVAG{3(iVt$<{8G8++LMqddEx>;XoMJ0AEoI7rFu{Y=Vwc}QD=*cu-w6n z2p9@`W+>CKLQ!kp_!2rhBP7R#uhbZTA9{TEiFj2GcuqM;h^hP%cU)*Ajz|O6f2+SM=Atqta+zt$40pi+W}mPp{VJH;kqYbsUS~ft^I01 zB@65!F=G_s z>3|LT*8{0Ldy`y(_G92Gq3Y1#z2AJZVS>IIXCTgg-q@tMrz*q75lRns`3Z(2K8$&@akWJfiM->OJf2RB6 zhjySIGOAAApD}eIR;&l(I8&=|f&ybIZ2gAZ;@;K5Z65Ut#Akl)2NOh$+3czZrgQ7z zBcKWJ?9};{8b4^iU~u^lmT&szN+F!B06ysoDV;9%b? zGC%Y`Eb}Za_#W>7ii9K0wWM8cGCQ1B&kk=YjlA~Xg$R0nyZt(p%xg@gD$ zaeR%_*K^pohxf;0jYY%ULaK?4^ACd9n4xDAN_21Mww`$qDNJSLfQ-aqH34u8Yy6iS z^LT_!$EJerV>RXD00F^h*oLvYG~dAj4ntpXz=r=`3Y00=Iq0xxr8^oI)Gm=om<~_>++`3cM%Dv zetD*3Dox8z4|VF@35Er`XL=|ubG{~Mcq%;rFSC)_%u{VJIRLHOZ+IRZ&8-PTeOV2m zIPM$lXv_n;!``IHh&bb*{Q>xvhIts@?=Ai!@T~`F$IU#b2S@-=ll%env;;sT_0HzY ze?aooHt8$i2Na{9{qBEFCEpoi`SryXB$^BrsZ@*V7*&5pufi2aN0g1DJ}?>^2*)p7 zLb6d;-6Q-K&r`XsO}I#yOcQjcYQO%Ox-E;qWYZYPv0|uEE1-?lQdENN3JHIG8Yn~{ zGUDZ#*{2_Gs(!jAq**M_M9*sm8O6?Lm@4oay@6&<5Lc=lp~z_E34A3y)G247%{KtA zbCNK~GTd7cS{|;Lx5Jy+!+J}t)pX;l)p`psA`I-JEK2XL9>8n?QACV4$JX1P{+*YX zSbD3(7-eQy;+x`nzRL!N{280h3RZw2x~x+aZ+q*# zzfQIJ3LXc)S?ziL(jX}Arc#hb%`u8JJdF?)S@ay6a~4$0IH6D*J5xQfswzPFm8Ugc z*RfS6BFxL67ZKS1e+B;Mt~KG@^+&&sXn!Jwt3{)dZu;a_QlAH%qj^wQ&hv~craP6t zij|=5oy(KkAn5y zhr?n|PFP4N?p0-rfMkDx)-BVn6ka*u{TZY?LK8%>dMdCf#;jBr8PC1*q)J+N=EjB2 z7iB7AOLDnk*IfwcQjlrw%kE3UJ-IKBKB+4WLtp$de`k8X%%VR0ZEn;{dK=3v1ruei zkpScrfIjLHB}~;Q72F^9vomQrxN+AKAdBJ!>ElQCu_!gDCY;?^-->U!1gAm-xU`>q zwFwszFt`ldhD1C>KG~G9MFZ-&%^#k%H?WD-q3u+ ziq$T*bg&kOZg4s!m<~OdT~PtWzpy84r@l=}7dQ`Pnuy)& zB9%lXm$EiT*p5hCYC@eIl9Fu54NvJ6W>$ZcB9@bd8M+Pk9yBA+jeJz-nU;9#^71*i z13TDUIvFUhl1)GYrgMoHL~|yP^ybgL{|=v$VCd$|0R&Iw=$d@ls1|J9>I+bCJ<$t#bclB;LmahOzHJvNM^w`JBd^?J7yLbodcSBjb z(b$;ifS~SNYWV^2f?K$OdAe6?FYo98+Q;6g+JhA@lOrkawA-tw>*tN@h8)ybE1>R_kQ!@&qu0n=3n>^i{E0VD!vZZY*Kdv;a^ezm}n^w12oAor_n zi||Ice%RFn$W0JM|7_B4;%aAq$MxH>m32Qsl*J^dsZ~RY)K?B%p*!iM<)6;QAJF~_ zmuE#vWsfc$K(~gZO?~m$6Ogt!PE6d%RRAFCY|1otqO@;_DaxhzqiH2*Gxn{@!7a$8 z0`rZZ0i^}MH1&T?X`Cp>rFey<6D@8gz(-7Tp6m0+48KsqfM?oAr*#4~`FO~Ip(v#f zD2aNgROe#s*4a)FrR9RT&OAlM3QT%|1Uyeb9j_25u=b7zz>z8xy5aY2o5O@^3sP+? z#Z}k@GKHcQgpETE6`3@+R`RVQ2A`Fq;a_PzqwZLVKmHCetdaNLh@p|Fme5L|f4mAM z>{i;y+u%hplG5$9GaB3_F=+~q7VD>s@0v0E<|=n=>)g9Xm0s!RWwTU&HyVsV&eSeV z&WGxU?c+k8*xR6K`N6c7&E-c{>X%e0cFSl9rrI04HQo_tiFYIk-jR9YKzdqfd!_RU z0+RzaM1(J;-Z)!yZ@ROmB%lGO1thvwNUUtdyHxijhocTcN>n?Aq=rmj_xMLETAPtbVGX#lJ3I`hkmnO$rOjFPiO~D0df|(5kp;z-V z>##nv>K*y*^fyf8#=1OHxz_eW{PyPq#5d>J2$u?t(Z$;Nk&nLMc=4baPIz0bTk&%k zZ}H+_3Mk6pL6m_TCd{KKt&8y_PLy{t~6f`>N=0bT#nvB?Sv@^dfl zW3%PwJ<3-f>e24Q-Ylk5YXeuetfVQ};=>@g@LZz2YHpfFzBysYs!Z=W;O;%-PWl5T!g*zQ(_QpOddy#s#ST zx(*R%WPNAjUek8?0DitErMo~z$mC{dyaJ;(sNBEZoen6KcV;ymzMhidd1ws6V_)G1 zoz(D6>-LqHhY;p^y|#H?C^ef+olK#Ir4E}Gf|VYwgzk|dMOEr#Wt2;8B0avTE8HKA zcpU^Dhs5G;Lf`Jh*{&o%(lQ?UXg?H<@ZJ*^d_S_ro&*R_SkCnPs?Kz!r5m(1Ynda8 z+Gv8^s1%DbSI{Z9o}Uvr8p^rg(A-#1z-yr?N_DoW)bgz^0TV6)26=)X3lMUQNNy=m z`J*ju+q==q^5xS9b(F?x-JM_zPPJ-PXqIzQZP;Kuk1>hb1>cl-{hYv0miDBhn#wP7 ziP+2wG^XldJR^4e+ zyX!}c^7XdlGPE!o;=Z&Ga|!!yL7vFU)C9+pbE-o&h7YQ6hyBj1QOw<%gn24 z)3~;J|AdQi+&DezR!}F)S8)pK3cx1MXxh57O*CfeRNJ3YJ~aXOO)dd*H(1DEGa|A% zKLImizRZa#A_5fA1? z3okK@eb?~lr*&;A41p-BcNKqBPq}b<19j@whLQ;XqTNfx(9B#%)NSU!9gN4@g#b44 z=trqtTT(vX?wi#aC>xut2Zmv^D>~%={iN)~YK6Fj zzz3ryN4=v6t31^y7YHss1@o)@a1R-3hnD1z%vMg;j1|WDe+?fqJFgJ1CtppS>8g7p z^mn55rD7?Ax}cmmcOm8{ZPq+?{}PUshIq0#!{jqISmK^LBnzx zBz?<-n_cIZoqqJp->wp_pY1vUB+1WywIDG4)J`+tmXHe|XZkD$Z|%CWr0??PzS4Cr zkWhaE7w=lWcK6FQzoit_vznZ3qF>cC5q&eFf^l7q9STyXwoE_r|UfBo{0FzcqfDiEj{ zHv<5Q(^`sTp*T3O_$tcSrR<^VOWdzv~tM4p~%`cp^XOwsJjhc<(0ha823+Gft zRkvvc;*yQ(=K|wBzG9sd$96H{bZiWF)k#r;X$+rxIL1GZb6$VZaU(Ed%*@2NmJ8X) z?qljr>LzRyuzMZxgI(ntvp*^Zi!xKXO?|m$k-rs}ZYze^3o|Wibf&Pa&f--e;s^im zXIbEY^Z)Gk9S#3h|7&BNQbK+Sv+O2nVn~v01EcN;AkHjBeNdv7L2rNV==(9K><&=$ zsuU{enqZmbtkG*|y(-CLs*`gXzDO?yw}ia2?;8*bs{D@6H6z6>Q2JnuGSbNrxC6c` z@9Nj82;(|S{7^W(oV9ZIktSX#sC_JWPBP4Qv4zZ;Bxt2#D77?n(2(n1?r7lXscjuiGyZ)IJ1&ou}Y8q5Z^^V^^Csw%%<6wV*7U6Rv2q zpxj2q<`+i{(3u0_Au0>8(M4CAVkR6JTN?n$+T^WpNlJ>*co_9-e4&~^A(~-WZ;0W}G#)P7IaC}qmg@hO(^lUr0~D8h8X+8^d$`Ku0@J1U@&r~WGZUpeE)VUO$WFBqg9jeQA z$}bJ0-J?mRJQbAzG!{N6iKwFa=O|QrCOv!%93p29et!s0A2G`=Re)V)I9G9KrZN=t z<+po z;2h2q0@BI8K#TigBSbb5xU6YbE<*1Ok9~;_#~FZ0&t9}mpw$noADC(gl67B$*lMqv zLg_$@ujAzt^85@1!#W$nN=Oq9)x0Zbpme^(xdCxOZfQ*q+Yn3#S>8#B-B+BeKqy(L z^No4Nb%#8BM+hw`7;4v%8w;z@86xCX`MO0UMhyoo);w?{DA%?9*qEjxYG{gZ>_YhW zDaQJVpP3|GJ>dBr5dy2DEqn$>{9lWUH{A~cH-CCV)$q7^*Edj^K|5s1*X#|sV9{j* z7ssBi_X~>r`8%_LvZgk9nauo^TOn9=k)wfcY7ARYyO$L7ZRZN1i|w6GY}m{4n&*FP z6N@pA1i#2@{Tgw0|E}OuSCTU@m-#tE>hE#m{}N4EF^{j|eDn$lp%ou-2ZnV;*s*BI zge>zc$&rW^dMuuv$XDm*uY_44388%$bDPhiz!9tWReM9KL|CWQU(mV%_itvono5KvU(OMhk@aeyl7jEH$ zr`NCGk)GLiH-u+aN_2}5lvG`3moZmpPga77%^k<5MPgra6<~l=e!a5J{xxqcKlm!g zv-w`%6+r8{5MHagC;#yN)#F=kuD#p7m5(lTtv&%I*XT1^na9}|W#Y%j)b0u4u!>lb zm7Q-v=pf3n2U=wJfy_?O#ubm`7V*h$X7drm=cVOE_;m_$r2J zvh?AT+kzJBtXzLnHR-!K4j`o5Az98gNSwY%AHog^gea zEE3`E3Z$Mk`zYV9UH1C?Q|y;glm6h_&mT^s5q8KS`G8L=nK8U) zT!V4Q##lR7{d||DW6xHSpYkqUxo~L?)Sd#y~8EL|(_tlr-+KEx3+8pS9d{xc6-uwz<_c%45`| z_F{(gB0_7$E55Mq_2Tn|@ZYngC-wCwFEf*<3S+fd1_pogDK`NjX01udzwHfEZQ*ra z_?UV1i#&ka-PNlfG(0EI0%CR=8EA>BGX(uD!J1#K_D&}MMFyGC2n%&CNMi22BRwTt zc3x&(q~B3@JZ$+&`BMJMuro{nG)lD`Q({1%SBe$RgD7h4Q}EaVUlpRlqmc(M#vRFq znC2PBFNYMBD%VRMLSBV@ibjmZ^`=|dNjB%WbQPl*-hGWq>ol*oF(WWDRuda9Q&->h z^_Cv`MW%!keJxj^H$(-GJz3*f^q%RoAP9s55b%_^xH|vkc zAP}(tmgh+O+&O?6E)3%S*lc#?n0zyCvVuY3n1a@c*Oei?^c1{F#fSG_&R12P%;qH z1v!ti++ttaqKhBd|C1P)hX9}Er{5T-E4x-x!eUMZ@5+fqA4+ zWwc`2S!0Z^El=s;B_n>t)jsIPL{(tST~wAU=pB4+IH`r?WCvulDCrH6tm-lMSYDFuKkql7)H?cCV01+{*813(aU=rjzIF7Yo+rsv`mF2P((i;gvgmR0sZqP) zn3I?Ew4EGTVetgfCCSA*1;C7-=g(+NvQ4JPZ%;sY-01{ILcuHUWNStGs}MIsbv>Jo z*Jjy0M7%Dd!m+3Aav0fRvAoS}ymtL^)5`mr^u>8ZUBGI4p6T17s^#9m-{Ctyp=I2Y zuM-^>(+u3+T`z{bR%EwE(1`K8+%FkAl`AW$-fk!>)kHa1NX5%xB)-hz(B8AHXub1GbHO-{uxX*mFEBo z)Gpo&~vP^t+QaSX^jGi6xAtpIB4nDR9wN7EiTd>xZv|~9nc)8kOE#%Y-LXjQ0PmV7+S7lnhs~ z8|DIDM8DV8Z2`}&!4lM<=@d#%n*AGAaPl87SY*Xe2XL3J`$qS{@i24CQ@~5%9&c&j z`95mh`%ecLSb`Ewp^0e3_Ki+wj!ywZDQNp}(Cq|&9iyO#c+Rgpk2?_q%E?^=d1?Sd zo1<9g;!z=C*MvGUTx#~U{O&elw4fiht;y;jmov>Z!U5F1!)Y<)FeivV-f;b59`I7d z1&lZRDl|WcT4{%7@}O&B(JSX}QZ)SWGX0JD=jcu#(KssEL*{T3MjHXKH@{g}&c!(99?2^{QB1r{t(#syQY=_!{7Cm|TtFws#C>^X z41bPqaIxeCq5%3T67dmoYv?EJUFJm_2sN6$^4jceQP{G+T}+l;O4_pa7@r*w@owIKEv)x0 z$-u$D(E+K1_-ZDye$lk<{~_$(!pKO&rD`_6PubJtt}V_X=NM16z)?^*Wse*)f?oI5Ek~tt5sCaW1|wZ)-U_fdtecNf*nA;#KR|+*1j7S zAOc=bAqm%R;nMO%huQtL-Qz@s@J<;JV5SsNKFGo3_uk_WVjyh5lh-S?jjUTq-crTn z%q2~PL`->DD3;OJ5ZFfh9s+?I;yP?#*OTAU@A@$Kj9JkqQ%Mi33YpuewlNln`X^NFtc?z5^R{o@sB%&G&kz0==`$wpUggzRW2(n^Vz2Q%4>{v1{&WAW{f#?}V6lDp+Rphy>)7OH)^ z{>K~BA-I6z91}ZNeUq|BS?hvB9ZFW=7dZluGaO=D?-H>&D1zY>c{}Dl(vV46fWnjMEZ*%~dbWB4> zo?OSir{vj3{RJNn^_M9W1VlpIZ16L$Qn-Z!M?byn*I|dG9-ve* z_GQD4v*Na#8N(N{*dMdq1-7?97Y7I$Gf2s+ug16t6+V+h&+e?95auXw2%e-;|27|j z#j%|>Q@s-D{K@5vypSAGmX3ShKAy2_IoS&8G#-*Nn>yldqLw(hFqZ8~-7FUof$0f=W&pS}K32R?VUc;EuyjfI8UQ$WK^OnskB zd6Amw))R+`0Vpr5dRu9~(^f{->_E>Qo;$JJgfN5bWR~{c1<%_T6uhAvm^B}ldY$Cs zQO5)p@a@&&!{{T*jxNw;5+C(Q!9$v{wKInT_F+AA?NQ_3{g#Gx zQ#^ghQh8>{aFYThnGT^*Ujw>bytw z#<<^5lX8y@VZCy>puE$3xKmprhoMNaP}X)p8z!nJo(OGOu`^A=)bNf?o~z#DYJ>#6 zjC!W@q$jRnBpBzCu20_s&Y}6-xg-Ik?Bp zMy)!CJlQvG2G|l<+5Kbh?FQ7DYawe^V-Eaiq}Xw4a%qBXT~<|ZSv=Cld}XXr>=tCz zq@Wi~VBDrD5`TD;YKIINAIu95ek{Il{(V*Ii`sT(F7?949_s=y?EJ@$vaiD3*13L* z(KNrt22+x|Ahil^mKV$sq2<8@w`xYqGt6i`Cbw+^WBn#q;!I~eG<7`4OLn|y)k}`L z77TRbl()Gvtn>4Wg=iObx&P(@(2d&V@%L^SDm+`zJ*I^FR|UtF7$gH8CdDq0RB77# z$_ioA59|$zcct;`0vv~SJo%j8kzN3wxxUu*>+E<)7G?W)ZuYzPNqVE6?o>-B>?X<} zpAXoI1`I76S;UL8e!!YfTgcXcb&`YoaVxvtWoRhl9XY_J=1E$y-thhDb8eaJgk}|% zG;8-x7I%G{4sTwc1TMOs5loKkWyIsnNWqN(@kmfc)vO=h^_-hHU1GvD#vV#&DNZK% zJiTC#dupKVS|~k#ub{*2`fe**_d_cuRy5WpMhm8=KJl-C#k8>Pi?TsW zUD^W`zfxTKE>w*bLOx93rBy(`uP+ZDy`AeU?;Up+YzH^b|G5HmlBr@xK26w5OgU;b zV+l7$TOXrWTCUddEa@E2v5)~lN0Yz01cjJwMKcf!F$|ik&v^G3arZ9v&%8D7c7@3} z!gSDoS+OSGB0DzmHtj+TQpiYY@yp$-3uoM|d9dPMXn~ou|8dQXOGcT)o=3N7tX%wp_7sdHZt`%*ShznfDU~pg=+}t_IE*taHO4tya zi?>~a+zo1wq;0E7$~^|kN-BRsl z-+SA2<$aQCyJ3tMVOE1iD!}AQLg}47frK?jfx^O}m%#@|_;`Ru2w+(b;ZE6PD+$}F zc_qOsQVM1`Dyfo|%^{p6&x@f6>k2?^XhV;*qcUY_IJSmnn1loG?eZuTPjzV2d%@EK z36g7P@}P{JG@1pEj(;kwSC3iHeZ7bApKrR{cg$ZBGGY`*o-+`IC_kH96N7}W+bi$0 ztBgMA#pdLHn*pYH&hZ$%odV%Fn zG0$l}bfZyvvkgow%oIRU<4$g()cr0fED~{p&v&J&eQ#YX4s2WX_mz?8bmefT*PC^< zg*Z=u#zT6HX;fzN$2Tp)O~!9#9vB7+Yvyq)om1_(zwPYk-zF1k7iX)qeQ>-ZzIO8DjyY?gc+@-*&s!PsVBikRO+Mh?$ z`tGc^1Hh-_ivD{483~G+7t~Ey>i25Op9m_9UTZAcG|^;U$4e!v36B>>xJg6ot5a;($IWe%I(UtfFb209KbDh+LjJ7!Q-zMt~6 zqXI~Mh+E*!l^04-@^u3EZ&j?=GuamH_kaWqS!xhoH)5iT{ASzENKCBw$L6)3&ErJ` zRBmX!C-ODilzM(BRtbX|-ANC&Y$V-YcakwfQiVOcdl0(pFUzkG_>N2(hNe82^J1aa zWYF+fw%f0h?+pWcr5qAuy@aTUq1*7`s>9cXSV40D|a&++Zx`;%~i zzBL{G#Yvui^XF-66Rf0tT5F%vk1q+EB?MX?m_Cs+%~WAJO)OOS5~6#-VTGh&lVL|$ z%B7_v2(8i?92`rJcHi#yl%d9DMab-P&c}(1u&~voMsVoa5I(v#twVR_K3Z#vQ%q2$ zDL&_o@H~ATo_2X`feCKZPNRK%TxvX=$`t@ccxEIh5PtN! z1-N`#G!Zgu1+lDb#xN$&j=c1kc36YpY7xD8?;tKPrku#up@zK8w-tMH1Mj8s{@oVv=mkNjloK#&N0l;#^EC8UG*^eqOP0I5V9m$spz?h)<^Io#!(BXg9>=Af z=S9NMWKotbd|7hLUaF9h(m$`5hs9i~l4lNw+FO+zHGN^@&esLz{W4tYiX$^jZ@XUL zPld>)I^68rd4qk8q&p2CBn_;0}3~^{~Fq&0oA@4CQmW58%SDx7~FTE6JX$*<;FZM zQh7t)8*?h55oKY+JtnVeZ1AD^mh+LaLD$!bVmNYExl#I0XcpbD*+Nx_z&j9}CCWl`UMuAg0{_6)-@2rQc-Bm$F^Q_sWiEsj ze7mMKjip(Ewm{4)kL%R&(gh}tq5p6*cUAtb%SBiD;AQ~e)hRcr`le^l6a9S7%o9+F z7S;b^kp6GCnvP<|fetd1_Yviw-t_S-usPJpfBMdpOx10Z1y)dF0F4>kmbKPs>(&nM z*{WNvV#4o6t&5a6jguI|!kLwdIQhQH%rI{|-l-yPw+9vGG*d8*Z-x2@e0?@6L39HsfPS5P(1*D+^++^ra;of(!S}OaED6f)1B@_5`k{m2U054dVALcTIp2 z)h!B*XKdf`rmC9aF|dSCtdEMlu2xdDSjf(>LHWLk(Nj?I)fFsYcvY4PBydWsQ6xFY6b;H6hhQ7ED$jc}rQF zMjMx)Cx%CADJ#W^wSuWcH)^n05Le%l4&y$pz2H#W8Pd_)BO{zur;Y0ED=SzgD~?gp8-5epYxVQb^WY)-9EPf(Z)suePXWs-I^!WaFEBqIJKeyWJ&0}4@s zt_vi4qYtgVf1MOSEd#AYMP{SO?BamNjhbaA>@`6H0!Jq(H=QwAP8<9rks6=x)VH-?zQks zWB^~wXyD}9;HS;{S$j)R_iDntdp_l*2L%QF=}otT@9A3E5OP0?*-&$kgOY!vW6oNu zquD>qc2HtlfLjCB$XrUQ^0X?RE^=*tU-VufG+$|)UkBWN{KO9nbJx}#cCFHg zQXu1%uNIFqz7#s?l-{GzR;71nb4WavI<$RG0nMrLunA#GQcl+VSI!$L6YylklF3F< zIgV=b_lZRW78(AHFI+6O$jK9ucjxm9U39e|D=lbC56Gv$Tzg5O5_x3;gJl%;MCu|l zdCM>f>hxzKi5|*24DoGw^Sy*VnRSW;kzWzcfn`6Y3voXZX2ymG{v-%6oybs+AQqN# zSt;+w5i+kQi<^*{tQ=EHIkpYmbW$?H4X}h-D`emR2fhDC&BN z-`W`QYn7~L2o}|syxSZAEqcO)ex8r89pBjbr*=7XFL;ROK~Zb4oE3TrTmw8J$4}$S zn37_kCihkY{>Hx3!l1iS|A>77O3y(Vp5iQn?P+gxJ*-714^-r2W7q6S_Nz%71(pso z4j>ngp78zy0ezGyi8-D;%fn|0SjbSkW^CTY4o!ukK{TOa>5W@BtEu)A`umEBPrW_L8S77WX8REvJ5S>_zBD-%qt{t)McM|9V{EsSC7 zOG0GE5&^v=40-T*bRF1ylf%y+O53zShKK6fvs1Y0yQVaSeR)up?*=W5nd%^n2d~Un z4_bS2gpjE`3dOLJp2Cx&F2_-d;{^rtZq3gkn=cFCJ(7fFHCA9lhR`)=s#W0l%x39H zkU?I-<%Knr5?=aq54cd7bpKP<#&TX>4vJ*5+tSvtcIpc|m|>DpXj%_jAqr=PX=Cvl zZtw%V4E`Fu5_^c!&q);W=RQTD`1YsHUOkAv)IFVV!#h>S3yDYTPnATiS_IE;b?whj zI?pI8;x%%7Ll^6vu|z@aaU4hD*FQ)OpW~B$z6FL{qB_UDn}8KA6RG4iFyYv5&#H>g zvcrCGv;lyq+jGHNiYyQhKC*j-^0A_q)IO| zY)5Pm*{1&-3P5}gP#MJetN~CuKY7-7tYCVEIvAd&3N-Ph{RX_#`a=<~i_8eVi4#3^ zi}fek>}ZqTK%f!oOuU<9&RZ1g;W+SK`ZYKbO#uaRubPcp5>sGJum^r)>79U8=oia_ z%0cEE!NxB3Kqrq>sxEV(9HuRAmNT?>Ca*HJ(*zv6?$kSAA^@8e4JK5y%;4<#`(*4t(PXm@Spi+nJu5gX70#-ZmGSjN%sSYRO=D3Br{<2x(4 zGkKvpMfX3Jn81D8p?p`1>lSF+!>1-TD1)4B-d_)FLxj^?&KwP31^KUmt;82 z7)-@BI(>!L@A&a@1@(E=GE2A~=QljuhBt8h=#Fub5@kU&&;57B_P;bIAAl9#_~Pu= zN@>w*9wj@me-?}11n{rVwg;>xo<(d%LB!M*iebSRQ}ZB zz3a(?_eaQ7Ve!(EZvZ8L)Wel0?$*Q66@K)agF)LVH@-)$SlzaUUreHmPauv=Fq~+g?KUifMpCJ7oA&X^ z6^+Z)d>8Ay{$zJ!Vg+G>A(@_#E^KSgQ!dtow7a(e6%C}Hi)Gm^^Y;RYdDz!^uDX3^ z=%3S26CoD{y8#mXR>~jEPdfP&J?0Bqv<(0%yY>>ax;@X<=xYIhji8{WVnM$rp4vqX z+o@Rn+Uto-B?;bZ;I+vtKsPCX*M-i(`GiA(u7P(lRj``r$F`$Z)(Ddsiyx%!L-{m4 zP)04A3_|iW2&*5L$KpdXr&Yu@|2P!R@{h-6V+bq${^?xV<+3`K42sUZ|8kYTG()wJ z2uKY7bI&CsmHC9&Vx+~LP&#QaQ?SwP%_$YvT9ZCmN;@eBZ#p6oijr*v$FU0b*K($8e`c1*9%#8xtFrt$;Z zd*d`(0qqGsZ6rE?7{JI6^ra3fP*8+fX@+MWTYfC0zY-0F2xV9%sRQ=PX{9S=mwr4} zNn6bUXM--YS&TodmWqj6w+EVIyR+>z;phs9Uge(ELvFp@V#w=3vx(^*f!TRI(M5^0 zlyV8z#-`TZIS;8`XxhSy<*eH(#}MmFTGvp8GHP|GH+MrTeZmQIYVaGZO8RUTj<&bt zx>&UkKZ47z(aZ0&VVvRqO}F}Md3f2k<`BkAzwF8w47#woY=r3q?@`HJDCVDjDmYXU>a_kf zr|O9HvQIOL!p-&TO&vjgXw9r(F*31o$8q348M|WsCr0uA^AkVi|Kgaw`ZaFY+=;oD zaN45kADdy>KF_45i5f+~Gi80lS&VC(5sRgL>G@Soy;eERmOl?kFN*W-?t_Z~v>ZlF zqWzZc+vBfea%z}>u-o9D(&D1Ch_Cq)WLVEfv7pNkg7#+={|6QG&}gaDR|py{3{zEe+v zh|DKN4G-fC{-iN2J02%rWUKSB%CoGL4GcyEj;e&I;y?JX?S#g$cS8FVWZyandS=!; zit`tWf5hVi?ex>I)wcwT_|Qqc0nM{=`n<{Ior5 zsaf@pG8*?sB4gnL&^5VymN8hW!2bo3ow1?O^L-7PsH^+9C%14b11Fq2Z3Ix1%Vs5` z1pXq4EE-g;BfWpr3sWz1%}X?B4Fnkp!(w;rWOg`4ViQMGMg#6{IbMbpa!~yxH8puI z0g4}!P7rPc?41OjWU_)*i7`JKLa)lWnP5S?937`yiWgcYxB z`Je9@rk?=@lpR(?i3lz6J`WR0xV5{%J6EguqISPWFy0T-4rAhs=eX?YZKY0U6=S6-tLE+*EHRwd2abb$g0 zL>u=p^m}Xg#q%t|hY&^1$^v!d@j}YikE8Z?w+Qcp z<5M~}f6E$TRrl&0@_-|qjO9C6} zS7N`{!o|FjMRB_34%y~k@y6V#Wa>z!N%66lf*C<7nZlEim0z^bnL0v5(9QIqs&ajL z-;FklEPSo>d%uuQRf-#i8pw}TDEMTeWCiu#hr;gnwKl*hggA1#vJg7fh49D#KRNn#B_& zd(^67{LPBTlLy-m_)BpxPvQ{ImW|rui2&ULN|Wg1gK-hMk>g)Dk1Bzx%}zEi(Xb|} zG$Jhd6H{SZ_`xSLlp+=zW$B=MNqPbSHy?6hLIv%x=pfeK8?vQZ5e@O#VU9`?Tyi}=R8!~EV zVRB~M<-Oy(b&b3q)mCQ3#RnLrbHc}iURv{nFr1BUJJr3W-))G5*)j{IQ(W4Y8 z@}opE+Y6JglrsFmCXWy$Tp{zYt(V{}ul^ZX$oedIS>d5@QK&03eRQqqw&$PId7|p7 za<`mbA8K`jSM~3&Ecvmj*d7Qa6cWBlk9m%e^pMci*)SQ|CsDi2m63~$He{uYeE~2u zKUQb@YuLzSqQzlsHJGqLDyshT@(W{px4EyBN45EPo$-gk2gtu->QF|(PpfzQQ&9Md z(f;pIi0esaU13v3jlQK*2c8B#Qn)F7t2$ZzORoZQcq8YYPVZrMpX^7mx+j;zR+3Bn z#T*-#LTg_5X>6QBo_gndPs#SW`=KUhc@W$I6`M8PYgbYsZl{6h3$9+A{K`e5qYawI zMg)W4!TrX>+Qsbtm<5YN={1~#S`_AM(IA2%9t0w+4ObTY;LOOF^^+fK0t-v<0h?dsXUe0Dh8c9 zf#_}5{C50oK}l5^wo17D%NQMA>)TpV;qaX?UW+X$(JEP!dsRl2i!OtO{>XV$wEH4= z82Xl)rJKq;a>Uj%(2h7~BpcGhsLIPm{5~X|7w@#fc3xW`jO-GQ$YpQ30?Yxka2@Ts zyux3H5|%%(lWeG6>e6F^kzNj#NnYH|xQ`F#Xd3Z%wSp'FgkcMNbR6FbRsZh7Lo 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

@}(Jch7?mwFys`mKDYflR|5 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 + +Create a `tsconfig.json` file in the same folder: + + + +Now you can run the code with + +```bash +npx tsx example.ts +``` + +You should expect output something like: + +``` +In college, the author studied subjects like linear algebra and physics, but did not find them particularly interesting. They started slacking off, skipping lectures, and eventually stopped attending classes altogether. They also had a negative experience with their English classes, where they were required to pay for catch-up training despite getting verbal approval to skip most of the classes. Ultimately, the author lost motivation for college due to their job as a software developer and stopped attending classes, only returning years later to pick up their papers. + +0: Score: 0.8305309270895813 - I started this decade as a first-year college stud... + + +1: Score: 0.8286388215713089 - A short digression. I’m not saying colleges are wo... +``` + +Once you've mastered basic RAG, you may want to consider [chatting with your data](chatbot). diff --git a/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/structured_data_extraction.mdx b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/structured_data_extraction.mdx new file mode 100644 index 0000000000..e925192cd1 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/getting_started/starter_tutorial/structured_data_extraction.mdx @@ -0,0 +1,50 @@ +--- +title: Structured data extraction tutorial +--- + +import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock'; +import CodeSource from "!raw-loader!../../../../../../../../examples/jsonExtract"; + +Make sure you have installed LlamaIndex.TS and have an OpenAI key. If you haven't, check out the [installation](../installation) guide. + +You can use [other LLMs](../../examples/other_llms) via their APIs; if you would prefer to use local models check out our [local LLM example](../../examples/local_llm). + +## Set up + +In a new folder: + +```bash npm2yarn +npm init +npm install -D typescript @types/node +``` + +## Extract data + +Create the file `example.ts`. This code will: + +- Set up an LLM connection to GPT-4 +- Give an example of the data structure we wish to generate +- Prompt the LLM with instructions and the example, plus a sample transcript + + + +To run the code: + +```bash +npx tsx example.ts +``` + +You should expect output something like: + +```json +{ + "summary": "Sarah from XYZ Company called John to introduce the XYZ Widget, a tool designed to automate tasks and improve productivity. John expressed interest and requested case studies and a product demo. Sarah agreed to send the information and follow up to schedule the demo.", + "products": ["XYZ Widget"], + "rep_name": "Sarah", + "prospect_name": "John", + "action_items": [ + "Send case studies and additional product information to John", + "Follow up with John to schedule a product demo" + ] +} +``` diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx new file mode 100644 index 0000000000..770fb26c87 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx @@ -0,0 +1,39 @@ +--- +title: Agent tutorial +--- + +In this guide we'll walk you through the process of building an Agent in JavaScript using the LlamaIndex.TS library, starting from nothing and adding complexity in stages. + +## What is an Agent? + +In LlamaIndex, an agent is a semi-autonomous piece of software powered by an LLM that is given a task and executes a series of steps towards solving that task. It is given a set of tools, which can be anything from arbitrary functions up to full LlamaIndex query engines, and it selects the best available tool to complete each step. When each step is completed, the agent judges whether the task is now complete, in which case it returns a result to the user, or whether it needs to take another step, in which case it loops back to the start. + +![agent flow](./images/agent_flow.png) + +## Install LlamaIndex.TS + +You'll need to have a recent version of [Node.js](https://nodejs.org/en) installed. Then you can install LlamaIndex.TS by running + +```bash +npm install llamaindex +``` + +## Choose your model + +By default we'll be using OpenAI with GPT-4, as it's a powerful model and easy to get started with. If you'd prefer to run a local model, see [using a local model](local_model). + +## Get an OpenAI API key + +If you don't already have one, you can sign up for an [OpenAI API key](https://platform.openai.com/api-keys). You should then put the key in a `.env` file in the root of the project; the file should look like + +``` +OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXXXXXXXXXX +``` + +We'll use `dotenv` to pull the API key out of that .env file, so also run: + +```bash +npm install dotenv +``` + +Now you're ready to [create your agent](create_agent). diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx new file mode 100644 index 0000000000..909250a2b2 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx @@ -0,0 +1,181 @@ +--- +title: Create a basic agent +--- + +We want to use `await` so we're going to wrap all of our code in a `main` function, like this: + +```typescript +// Your imports go here + +async function main() { + // the rest of your code goes here +} + +main().catch(console.error); +``` + +For the rest of this guide we'll assume your code is wrapped like this so we can use `await`. You can run the code this way: + +```bash +npx tsx example.ts +``` + +### Load your dependencies + +First we'll need to pull in our dependencies. These are: + +- The OpenAI class to use the OpenAI LLM +- FunctionTool to provide tools to our agent +- OpenAIAgent to create the agent itself +- Settings to define some global settings for the library +- Dotenv to load our API key from the .env file + +```javascript +import { OpenAI, FunctionTool, OpenAIAgent, Settings } from "llamaindex"; +import "dotenv/config"; +``` + +### Initialize your LLM + +We need to tell our OpenAI class where its API key is, and which of OpenAI's models to use. We'll be using `gpt-4o`, which is capable while still being pretty cheap. This is a global setting, so anywhere an LLM is needed will use the same model. + +```javascript +Settings.llm = new OpenAI({ + apiKey: process.env.OPENAI_API_KEY, + model: "gpt-4o", +}); +``` + +### Turn on logging + +We want to see what our agent is up to, so we're going to hook into some events that the library generates and print them out. There are several events possible, but we'll specifically tune in to `llm-tool-call` (when a tool is called) and `llm-tool-result` (when it responds). + +```javascript +Settings.callbackManager.on("llm-tool-call", (event) => { + console.log(event.detail); +}); +Settings.callbackManager.on("llm-tool-result", (event) => { + console.log(event.detail); +}); +``` + +### Create a function + +We're going to create a very simple function that adds two numbers together. This will be the tool we ask our agent to use. + +```javascript +const sumNumbers = ({ a, b }) => { + return `${a + b}`; +}; +``` + +Note that we're passing in an object with two named parameters, `a` and `b`. This is a little unusual, but important for defining a tool that an LLM can use. + +### Turn the function into a tool for the agent + +This is the most complicated part of creating an agent. We need to define a `FunctionTool`. We have to pass in: + +- The function itself (`sumNumbers`) +- A name for the function, which the LLM will use to call it +- A description of the function. The LLM will read this description to figure out what the tool does, and if it needs to call it +- A schema for function. We tell the LLM that the parameter is an `object`, and we tell it about the two named parameters we gave it, `a` and `b`. We describe each parameter as a `number`, and we say that both are required. +- You can see [more examples of function schemas](https://cookbook.openai.com/examples/how_to_call_functions_with_chat_models). + +```javascript +const tool = FunctionTool.from(sumNumbers, { + name: "sumNumbers", + description: "Use this function to sum two numbers", + parameters: { + type: "object", + properties: { + a: { + type: "number", + description: "First number to sum", + }, + b: { + type: "number", + description: "Second number to sum", + }, + }, + required: ["a", "b"], + }, +}); +``` + +We then wrap up the tools into an array. We could provide lots of tools this way, but for this example we're just using the one. + +```javascript +const tools = [tool]; +``` + +### Create the agent + +With your LLM already set up and your tools defined, creating an agent is simple: + +```javascript +const agent = new OpenAIAgent({ tools }); +``` + +### Ask the agent a question + +We can use the `chat` interface to ask our agent a question, and it will use the tools we've defined to find an answer. + +```javascript +let response = await agent.chat({ + message: "Add 101 and 303", +}); + +console.log(response); +``` + +Let's see what running this looks like using `npx tsx agent.ts` + +**_Output_** + +```javascript +{ + toolCall: { + id: 'call_ze6A8C3mOUBG4zmXO8Z4CPB5', + name: 'sumNumbers', + input: { a: 101, b: 303 } + }, + toolResult: { + tool: FunctionTool { _fn: [Function: sumNumbers], _metadata: [Object] }, + input: { a: 101, b: 303 }, + output: '404', + isError: false + } +} +``` + +```javascript +{ + response: { + raw: { + id: 'chatcmpl-9KwauZku3QOvH78MNvxJs81mDvQYK', + object: 'chat.completion', + created: 1714778824, + model: 'gpt-4-turbo-2024-04-09', + choices: [Array], + usage: [Object], + system_fingerprint: 'fp_ea6eb70039' + }, + message: { + content: 'The sum of 101 and 303 is 404.', + role: 'assistant', + options: {} + } + }, + sources: [Getter] +} +``` + +We're seeing two pieces of output here. The first is our callback firing when the tool is called. You can see in `toolResult` that the LLM has correctly passed `101` and `303` to our `sumNumbers` function, which adds them up and returns `404`. + +The second piece of output is the response from the LLM itself, where the `message.content` key is giving us the answer. + +Great! We've built an agent with tool use! Next you can: + +- [See the full code](https://github.com/run-llama/ts-agents/blob/main/1_agent/agent.ts) +- [Switch to a local LLM](local_model) +- Move on to [add Retrieval-Augmented Generation to your agent](agentic_rag) diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/3_local_model.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/3_local_model.mdx new file mode 100644 index 0000000000..0c649dfe37 --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/3_local_model.mdx @@ -0,0 +1,92 @@ +--- +title: Using a local model via Ollama +--- + +If you're happy using OpenAI, you can skip this section, but many people are interested in using models they run themselves. The easiest way to do this is via the great work of our friends at [Ollama](https://ollama.com/), who provide a simple to use client that will download, install and run a [growing range of models](https://ollama.com/library) for you. + +### Install Ollama + +They provide a one-click installer for Mac, Linux and Windows on their [home page](https://ollama.com/). + +### Pick and run a model + +Since we're going to be doing agentic work, we'll need a very capable model, but the largest models are hard to run on a laptop. We think `mixtral 8x7b` is a good balance between power and resources, but `llama3` is another great option. You can run it simply by running + +```bash +ollama run mixtral:8x7b +``` + +The first time you run it will also automatically download and install the model for you. + +### Switch the LLM in your code + +There are two changes you need to make to the code we already wrote in `1_agent` to get Mixtral 8x7b to work. First, you need to switch to that model. Replace the call to `Settings.llm` with this: + +```javascript +Settings.llm = new Ollama({ + model: "mixtral:8x7b", +}); +``` + +### Swap to a ReActAgent + +In our original code we used a specific OpenAIAgent, so we'll need to switch to a more generic agent pattern, the ReAct pattern. This is simple: change the `const agent` line in your code to read + +```javascript +const agent = new ReActAgent({ tools }); +``` + +(You will also need to bring in `Ollama` and `ReActAgent` in your imports) + +### Run your totally local agent + +Because your embeddings were already local, your agent can now run entirely locally without making any API calls. + +```bash +node agent.mjs +``` + +Note that your model will probably run a lot slower than OpenAI, so be prepared to wait a while! + +**_Output_** + +```javascript +{ + response: { + message: { + role: 'assistant', + content: ' Thought: I need to use a tool to add the numbers 101 and 303.\n' + + 'Action: sumNumbers\n' + + 'Action Input: {"a": 101, "b": 303}\n' + + '\n' + + 'Observation: 404\n' + + '\n' + + 'Thought: I can answer without using any more tools.\n' + + 'Answer: The sum of 101 and 303 is 404.' + }, + raw: { + model: 'mixtral:8x7b', + created_at: '2024-05-09T00:24:30.339473Z', + message: [Object], + done: true, + total_duration: 64678371209, + load_duration: 57394551334, + prompt_eval_count: 475, + prompt_eval_duration: 4163981000, + eval_count: 94, + eval_duration: 3116692000 + } + }, + sources: [Getter] +} +``` + +Tada! You can see all of this in the folder `1a_mixtral`. + +### Extending to other examples + +You can use a ReActAgent instead of an OpenAIAgent in any of the further examples below, but keep in mind that GPT-4 is a lot more capable than Mixtral 8x7b, so you may see more errors or failures in reasoning if you are using an entirely local setup. + +### Next steps + +Now you've got a local agent, you can [add Retrieval-Augmented Generation to your agent](agentic_rag). diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx new file mode 100644 index 0000000000..f5f4432afb --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx @@ -0,0 +1,156 @@ +--- +title: Adding Retrieval-Augmented Generation (RAG) +--- + +While an agent that can perform math is nifty (LLMs are usually not very good at math), LLM-based applications are always more interesting when they work with large amounts of data. In this case, we're going to use a 200-page PDF of the proposed budget of the city of San Francisco for fiscal years 2024-2024 and 2024-2025. It's a great example because it's extremely wordy and full of tables of figures, which present a challenge for humans and LLMs alike. + +To learn more about RAG, we recommend this [introduction](https://docs.llamaindex.ai/en/stable/getting_started/concepts/) from our Python docs. We'll assume you know the basics: + +- Parse your source data into chunks of text. +- Encode that text as numbers, called embeddings. +- Search your embeddings for the most relevant chunks of text. +- Use the relevant chunks along with a query to ask an LLM to generate an answer. + +We're going to start with the same agent we [built in step 1](https://github.com/run-llama/ts-agents/blob/main/1_agent/agent.ts), but make a few changes. You can find the finished version [in the repository](https://github.com/run-llama/ts-agents/blob/main/2_agentic_rag/agent.ts). + +### New dependencies + +We'll be bringing in `SimpleDirectoryReader`, `HuggingFaceEmbedding`, `VectorStoreIndex`, and `QueryEngineTool`, `OpenAIContextAwareAgent` from LlamaIndex.TS, as well as the dependencies we previously used. + +```javascript +import { + OpenAI, + FunctionTool, + OpenAIAgent, + OpenAIContextAwareAgent, + Settings, + SimpleDirectoryReader, + HuggingFaceEmbedding, + VectorStoreIndex, + QueryEngineTool, +} from "llamaindex"; +``` + +### Add an embedding model + +To encode our text into embeddings, we'll need an embedding model. We could use OpenAI for this but to save on API calls we're going to use a local embedding model from HuggingFace. + +```javascript +Settings.embedModel = new HuggingFaceEmbedding({ + modelType: "BAAI/bge-small-en-v1.5", + quantized: false, +}); +``` + +### Load data using SimpleDirectoryReader + +`SimpleDirectoryReader` is a flexible tool that can read various file formats. We will point it at our data directory, which contains a single PDF file, and retrieve a set of documents. + +```javascript +const reader = new SimpleDirectoryReader(); +const documents = await reader.loadData("../data"); +``` + +### Index our data + +We will convert our text into embeddings using the `VectorStoreIndex` class through the `fromDocuments` method, which utilizes the embedding model defined earlier in `Settings`. + +```javascript +const index = await VectorStoreIndex.fromDocuments(documents); +``` + +### Configure a retriever + +Before LlamaIndex can send a query to the LLM, it needs to find the most relevant chunks to send. That's the purpose of a `Retriever`. We're going to get `VectorStoreIndex` to act as a retriever for us + +```javascript +const retriever = await index.asRetriever(); +``` + +### Configure how many documents to retrieve + +By default LlamaIndex will retrieve just the 2 most relevant chunks of text. This document is complex though, so we'll ask for more context. + +```javascript +retriever.similarityTopK = 10; +``` + +### Approach 1: Create a Context-Aware Agent + +With the retriever ready, you can create a **context-aware agent**. + +```javascript +const agent = new OpenAIContextAwareAgent({ + contextRetriever: retriever, +}); + +// Example query to the context-aware agent +let response = await agent.chat({ + message: `What's the budget of San Francisco in 2023-2024?`, +}); + +console.log(response); +``` + +**Expected Output:** + +```md +The total budget for the City and County of San Francisco for the fiscal year 2023-2024 is $14.6 billion. This represents a $611.8 million, or 4.4 percent, increase over the previous fiscal year's budget. The budget covers various expenditures across different departments and services, including significant allocations to public works, transportation, commerce, public protection, and health services. +``` + +### Approach 2: Using QueryEngineTool (Alternative Approach) + +If you prefer more flexibility and don't mind additional complexity, you can create a `QueryEngineTool`. This approach allows you to define the query logic, providing a more tailored way to interact with the data, but note that it introduces a delay due to the extra tool call. + +```javascript +const queryEngine = await index.asQueryEngine({ retriever }); +const tools = [ + new QueryEngineTool({ + queryEngine: queryEngine, + metadata: { + name: "san_francisco_budget_tool", + description: `This tool can answer detailed questions about the individual components of the budget of San Francisco in 2023-2024.`, + }, + }), +]; + +// Create an agent using the tools array +const agent = new OpenAIAgent({ tools }); + +let toolResponse = await agent.chat({ + message: "What's the budget of San Francisco in 2023-2024?", +}); + +console.log(toolResponse); +``` + +**Expected Output:** + +```javascript +{ + toolCall: { + id: 'call_iNo6rTK4pOpOBbO8FanfWLI9', + name: 'san_francisco_budget_tool', + input: { query: 'total budget' } + }, + toolResult: { + tool: QueryEngineTool { + queryEngine: [RetrieverQueryEngine], + metadata: [Object] + }, + input: { query: 'total budget' }, + output: 'The total budget for the City and County of San Francisco for Fiscal Year (FY) 2023-24 is $14.6 billion, which represents a $611.8 million, or 4.4 percent, increase over the FY 2022-23 budget. For FY 2024-25, the total budget is also projected to be $14.6 billion, reflecting a $40.5 million, or 0.3 percent, decrease from the FY 2023-24 proposed budget. This budget includes various expenditures across different departments and services, with significant allocations to public works, transportation, commerce, public protection, and health services.', + isError: false + } +} +``` + +Once again we see a `toolResult`. You can see the query the LLM decided to send to the query engine ("total budget"), and the output the engine returned. In `response.message` you see that the LLM has returned the output from the tool almost verbatim, although it trimmed out the bit about 2024-2025 since we didn't ask about that year. + +### Comparison of Approaches + +The `OpenAIContextAwareAgent` approach simplifies the setup by allowing you to directly link the retriever to the agent, making it straightforward to access relevant context for your queries. This is ideal for situations where you want easy integration with existing data sources, like a context chat engine. + +On the other hand, using the `QueryEngineTool` offers more flexibility and power. This method allows for customization in how queries are constructed and executed, enabling you to query data from various storages and process them in different ways. However, this added flexibility comes with increased complexity and response time due to the separate tool call and queryEngine generating tool output by LLM that is then passed to the agent. + +So now we have an agent that can index complicated documents and answer questions about them. Let's [combine our math agent and our RAG agent](rag_and_tools)! diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx new file mode 100644 index 0000000000..0f95857d2f --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx @@ -0,0 +1,130 @@ +--- +title: A RAG agent that does math +--- + +In [our third iteration of the agent](https://github.com/run-llama/ts-agents/blob/main/3_rag_and_tools/agent.ts) we've combined the two previous agents, so we've defined both `sumNumbers` and a `QueryEngineTool` and created an array of two tools: + +```javascript +// define the query engine as a tool +const tools = [ + new QueryEngineTool({ + queryEngine: queryEngine, + metadata: { + name: "san_francisco_budget_tool", + description: `This tool can answer detailed questions about the individual components of the budget of San Francisco in 2023-2024.`, + }, + }), + FunctionTool.from(sumNumbers, { + name: "sumNumbers", + description: "Use this function to sum two numbers", + parameters: { + type: "object", + properties: { + a: { + type: "number", + description: "First number to sum", + }, + b: { + type: "number", + description: "Second number to sum", + }, + }, + required: ["a", "b"], + }, + }), +]; +``` + +These tool descriptions are identical to the ones we previously defined. Now let's ask it 3 questions in a row: + +```javascript +let response = await agent.chat({ + message: + "What's the budget of San Francisco for community health in 2023-24?", +}); +console.log(response); + +let response2 = await agent.chat({ + message: + "What's the budget of San Francisco for public protection in 2023-24?", +}); +console.log(response2); + +let response3 = await agent.chat({ + message: + "What's the combined budget of San Francisco for community health and public protection in 2023-24?", +}); +console.log(response3); +``` + +We'll abbreviate the output, but here are the important things to spot: + +```javascript +{ + toolCall: { + id: 'call_ZA1LPx03gO4ABre1r6XowLWq', + name: 'san_francisco_budget_tool', + input: { query: 'community health budget 2023-2024' } + }, + toolResult: { + tool: QueryEngineTool { + queryEngine: [RetrieverQueryEngine], + metadata: [Object] + }, + input: { query: 'community health budget 2023-2024' }, + output: 'The proposed Fiscal Year (FY) 2023-24 budget for the Department of Public Health is $3.2 billion + } +} +``` + +This is the first tool call, where it used the query engine to get the public health budget. + +```javascript +{ + toolCall: { + id: 'call_oHu1KjEvA47ER6HYVfFIq9yp', + name: 'san_francisco_budget_tool', + input: { query: 'public protection budget 2023-2024' } + }, + toolResult: { + tool: QueryEngineTool { + queryEngine: [RetrieverQueryEngine], + metadata: [Object] + }, + input: { query: 'public protection budget 2023-2024' }, + output: "The budget for Public Protection in San Francisco for Fiscal Year (FY) 2023-24 is $2,012.5 million." + } +} +``` + +In the second tool call, it got the police budget also from the query engine. + +```javascript +{ + toolCall: { + id: 'call_SzG4yGUnLbv1T7IyaLAOqg3t', + name: 'sumNumbers', + input: { a: 3200, b: 2012.5 } + }, + toolResult: { + tool: FunctionTool { _fn: [Function: sumNumbers], _metadata: [Object] }, + input: { a: 3200, b: 2012.5 }, + output: '5212.5', + isError: false + } +} +``` + +In the final tool call, it used the `sumNumbers` function to add the two budgets together. Perfect! This leads to the final answer: + +```javascript +{ + message: { + content: 'The combined budget of San Francisco for community health and public protection in Fiscal Year (FY) 2023-24 is $5,212.5 million.', + role: 'assistant', + options: {} + } +} +``` + +Great! Now let's improve accuracy by improving our parsing with [LlamaParse](llamaparse). diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/6_llamaparse.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/6_llamaparse.mdx new file mode 100644 index 0000000000..dc0047addf --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/6_llamaparse.mdx @@ -0,0 +1,20 @@ +--- +title: Adding LlamaParse +--- + +Complicated PDFs can be very tricky for LLMs to understand. To help with this, LlamaIndex provides LlamaParse, a hosted service that parses complex documents including PDFs. To use it, get a `LLAMA_CLOUD_API_KEY` by [signing up for LlamaCloud](https://cloud.llamaindex.ai/) (it's free for up to 1000 pages/day) and adding it to your `.env` file just as you did for your OpenAI key: + +```bash +LLAMA_CLOUD_API_KEY=llx-XXXXXXXXXXXXXXXX +``` + +Then replace `SimpleDirectoryReader` with `LlamaParseReader`: + +```javascript +const reader = new LlamaParseReader({ resultType: "markdown" }); +const documents = await reader.loadData("../data/sf_budget_2023_2024.pdf"); +``` + +Now you will be able to ask more complicated questions of the same PDF and get better results. You can find this code [in our repo](https://github.com/run-llama/ts-agents/blob/main/4_llamaparse/agent.ts). + +Next up, let's persist our embedded data so we don't have to re-parse every time by [using a vector store](qdrant). diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/7_qdrant.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/7_qdrant.mdx new file mode 100644 index 0000000000..d6154c580d --- /dev/null +++ b/apps/next/src/content/docs/llamaindex/guide/agents/7_qdrant.mdx @@ -0,0 +1,77 @@ +--- +title: Adding persistent vector storage +--- + +In the previous examples, we've been loading our data into memory each time we run the agent. This is fine for small datasets, but for larger datasets you'll want to store your embeddings in a database. LlamaIndex.TS provides a `VectorStore` class that can store your embeddings in a variety of databases. We're going to use [Qdrant](https://qdrant.tech/), a popular vector store, for this example. + +We can get a local instance of Qdrant running very simply with Docker (make sure you [install Docker](https://www.docker.com/products/docker-desktop/) first): + +```bash +docker pull qdrant/qdrant +docker run -p 6333:6333 qdrant/qdrant +``` + +And in our code we initialize a `VectorStore` with the Qdrant URL: + +```javascript +// initialize qdrant vector store +const vectorStore = new QdrantVectorStore({ + url: "http://localhost:6333", +}); +``` + +Now once we have loaded our documents, we can instantiate an index with the vector store: + +```javascript +// create a query engine from our documents +const index = await VectorStoreIndex.fromDocuments(documents, { vectorStore }); +``` + +In [the final iteration](https://github.com/run-llama/ts-agents/blob/main/5_qdrant/agent.ts) you can see that we have also implemented a very naive caching mechanism to avoid re-parsing the PDF each time we run the agent: + +```javascript +// load cache.json and parse it +let cache = {}; +let cacheExists = false; +try { + await fs.access(PARSING_CACHE, fs.constants.F_OK); + cacheExists = true; +} catch (e) { + console.log("No cache found"); +} +if (cacheExists) { + cache = JSON.parse(await fs.readFile(PARSING_CACHE, "utf-8")); +} + +const filesToParse = ["../data/sf_budget_2023_2024.pdf"]; + +// load our data, reading only files we haven't seen before +let documents = []; +const reader = new LlamaParseReader({ resultType: "markdown" }); +for (let file of filesToParse) { + if (!cache[file]) { + documents = documents.concat(await reader.loadData(file)); + cache[file] = true; + } +} + +// write the cache back to disk +await fs.writeFile(PARSING_CACHE, JSON.stringify(cache)); +``` + +Since parsing a PDF can be slow, especially a large one, using the pre-parsed chunks in Qdrant can significantly speed up your agent. + +## Next steps + +In this guide you've learned how to + +- [Create an agent](create_agent) +- Use remote LLMs like GPT-4 +- [Use local LLMs like Mixtral](local_model) +- [Create a RAG query engine](agentic_rag) +- [Turn functions and query engines into agent tools](rag_and_tools) +- Combine those tools +- [Enhance your parsing with LlamaParse](llamaparse) +- Persist your data in a vector store + +The next steps are up to you! Try creating more complex functions and query engines, and set your agent loose on the world. diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/images/agent_flow.png b/apps/next/src/content/docs/llamaindex/guide/agents/images/agent_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..ad0456397bf9b61284e3bd6642d901b710897ec4 GIT binary patch literal 241842 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%0AWgX1Pxbr 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

PeUtUU=MHM&nR$qF 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∋5?5Z2f||%T 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%0A@>EP-I<+)3j(1f{41_SuskzRLF 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 - ```shell tab="npm" - npm install llamaindex - ``` +LlamaIndex is a framework for building context-augmented generative AI applications with LLMs including agents and workflows. - ```shell tab="yarn" - yarn add llamaindex - ``` +The TypeScript implementation is designed for JavaScript server side applications using Node.js, Deno, Bun, Cloudflare Workers, and more. - ```shell tab="pnpm" - pnpm add llamaindex - ``` - +LlamaIndex.TS provides tools for beginners, advanced users, and everyone in between. -## What's next? - - - - - +