From 47a3a3acc0f863e1e485d0af864ee618bd99d4e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 2 Jul 2024 19:10:44 +0000 Subject: [PATCH] deploy: 86f0843ab875e55141f4d91d028872b084c382f4 --- .doctrees/developer_notes/index.doctree | Bin 33922 -> 38057 bytes .doctrees/environment.pickle | Bin 6287806 -> 6294224 bytes _sources/developer_notes/index.rst.txt | 3 ++- developer_notes/index.html | 32 ++++++++++++++++++++++++ searchindex.js | 2 +- 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/.doctrees/developer_notes/index.doctree b/.doctrees/developer_notes/index.doctree index 07d03954fb19c30d6179a55c0c9e45c2c6affcba..e499ac576b9fff04b3899e0b07ae65fd0c6fec8e 100644 GIT binary patch delta 4703 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 X&yC2#1Tc1Mz_eo;J8y)-9XbC8SDNLP delta 4266 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

6vthaqpZAP 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

RAG componentsModelClient: the functional subclass is in lightrag.components.model_client.

  • Retriever: the functional subclass is in lightrag.components.retriever.

  • +
    ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +

    Part

    Description

    Prompt

    Built on jinja2, it programmatically and flexibly formats prompts as input to the generator.

    ModelClient

    ModelClient is the protocol and base class for LightRAG to integrate all models, either APIs or local, LLMs or Embedding models or any others.

    Generator

    The orchestrator for LLM prediction. It streamlines three components: ModelClient, Prompt, and output_processors and works with optimizer for prompt optimization.

    Parser

    The component that parses the output string to structured data.

    Embedder

    The component that orchestrates model client (Embedding models in particular) and output processors.

    Retriever

    The base class for all retrievers who in particular retrieve relevant documents from a given database to add context to the generator.

    +

    Data Pipeline and Storage#

    diff --git a/searchindex.js b/searchindex.js index fe63aceec..edabbf1ee 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"1. Document Splitter": [[110, "document-splitter"]], "1. FunctionTool": [[112, "functiontool"]], "1. Install LightRAG": [[115, "install-lightrag"]], "1. Install Optional Packages": [[115, "install-optional-packages"]], "2. Embedder": [[110, "embedder"]], "2. Set up API keys": [[115, "set-up-api-keys"]], "2. ToolManager": [[112, "toolmanager"]], "3. Function Call end-to-end": [[112, "function-call-end-to-end"]], "3. LightRAG Retrievers": [[110, "lightrag-retrievers"]], "3. Load environment variables": [[115, "load-environment-variables"]], "API Reference": [[65, "api-reference"]], "API References": [[87, null], [88, null], [92, null], [106, null], [109, null], [112, null]], "API reference": [[90, null], [93, null], [96, null], [102, null]], "Adding Documentation Tests": [[84, "adding-documentation-tests"]], "Agent": [[87, "agent"]], "Agent Essentials": [[97, "agent-essentials"]], "Agents": [[38, "agents"]], "An orchestrator": [[96, "an-orchestrator"]], "Author": [[88, null], [92, null], [93, null], [95, null], [102, null], [106, null], [109, null], [111, null], [112, null]], "BM25Retriever": [[109, "bm25retriever"]], "Base classes": [[97, "base-classes"]], "BatchEmbedder": [[93, "batchembedder"]], "Building": [[97, "building"]], "Chunking Example Detailed": [[111, "id2"]], "Class Hierarchy": [[89, "class-hierarchy"]], "Cloud database": [[92, "cloud-database"]], "Commit Changes": [[84, "commit-changes"]], "Community": [[113, "community"]], "Component": [[58, "component"], [90, "component"]], "Component in Action": [[90, "component-in-action"]], "Components": [[38, "components"], [65, "components"]], "Configure from file": [[90, "configure-from-file"]], "Context": [[106, "context"], [109, "context"]], "Contribute to Document": [[84, "contribute-to-document"]], "Controllability": [[118, "controllability"]], "Core": [[58, "core"], [65, "core"]], "Create from configs": [[96, "create-from-configs"]], "Customization Tips": [[111, "customization-tips"]], "DEFAULT_REACT_AGENT_SYSTEM_PROMPT": [[24, "default-react-agent-system-prompt"]], "Data & RAG": [[92, "data-rag"]], "Data Flow & LightRAG structure": [[99, "data-flow-lightrag-structure"]], "Data Flow in LLM applications": [[106, "data-flow-in-llm-applications"]], "Data Handling": [[58, "data-handling"]], "Data Models": [[92, "data-models"]], "Data Pipeline": [[91, "data-pipeline"], [92, "data-pipeline"]], "Data Pipeline and Storage": [[97, "data-pipeline-and-storage"]], "Data Process": [[38, "data-process"]], "DataClass": [[88, "dataclass"]], "DataClass in Action": [[88, "dataclass-in-action"]], "Datasets and Evaulation": [[97, null]], "Decorators": [[72, "decorators"]], "Default Prompt Template": [[106, "default-prompt-template"]], "Describe the data format to LLMs": [[88, "describe-the-data-format-to-llms"]], "Describing the Data Format": [[88, "describing-the-data-format"]], "Design": [[88, "design"], [90, "design"], [96, "design"], [106, "design"]], "Design Philosophy": [[98, "design-philosophy"]], "Design pattern": [[109, "design-pattern"]], "DialogTurn": [[92, "dialogturn"]], "Document": [[92, "document"]], "Embedder": [[93, "embedder"], [94, "embedder"]], "Embedder in Action": [[93, "embedder-in-action"]], "EmbedderOutput": [[93, "embedderoutput"]], "Embedding and Retrieval": [[58, "embedding-and-retrieval"]], "End-to-end applications": [[116, "end-to-end-applications"]], "Evaluating a RAG Pipeline": [[121, "evaluating-a-rag-pipeline"]], "Evaluation": [[64, "evaluation"], [65, "evaluation"]], "Evaluator": [[64, "evaluator"]], "Examples across the library": [[96, "examples-across-the-library"]], "For Contributors": [[86, "for-contributors"]], "Foundation": [[116, "foundation"]], "FunComponent": [[90, "funcomponent"]], "Function Call in Action": [[112, "function-call-in-action"]], "Function Output Format": [[112, "function-output-format"]], "Function calls": [[112, "function-calls"]], "FunctionExpression Output Format": [[112, "functionexpression-output-format"]], "Generation and Utilities": [[58, "generation-and-utilities"]], "Generator": [[96, "generator"]], "Generator In Action": [[96, "generator-in-action"]], "GeneratorOutput": [[96, "generatoroutput"]], "Get Started": [[114, "get-started"]], "Get errors in the output": [[96, "get-errors-in-the-output"]], "Graph database": [[92, "graph-database"]], "How does it work": [[111, "how-does-it-work"]], "How to evaluate?": [[95, "how-to-evaluate"]], "How to start?": [[116, "how-to-start"]], "How to use it": [[111, "how-to-use-it"]], "In-memory FAISSRetriever": [[109, "in-memory-faissretriever"]], "Installation": [[115, "installation"]], "Integration with Other Document Types": [[111, "integration-with-other-document-types"]], "Introduction": [[99, "introduction"], [108, "introduction"], [116, "introduction"], [118, "introduction"]], "Introduction to BaseDataClass": [[123, "introduction-to-basedataclass"]], "Introduction to LLM applations": [[99, "introduction-to-llm-applations"]], "LLM Evaluation": [[95, "llm-evaluation"]], "LLM as Retriever": [[109, "llm-as-retriever"]], "LightRAG": [[116, "lightrag"]], "LightRAG Contribution Guide": [[85, "lightrag-contribution-guide"]], "LightRAG Scope and Design": [[112, "lightrag-scope-and-design"]], "LightRAG in 10 minutes": [[117, "lightrag-in-10-minutes"]], "LightRAG\u2019s Implementation": [[108, "lightrag-s-implementation"]], "Load data from dataset as example": [[88, "load-data-from-dataset-as-example"]], "Local database": [[92, "local-database"]], "Logger": [[76, "logger"]], "Loggers": [[72, "loggers"]], "Logging": [[100, "logging"]], "Logging & Tracing": [[101, "logging-tracing"]], "Logging & Tracing & Configurations": [[97, "logging-tracing-configurations"]], "Minimum Example": [[96, "minimum-example"]], "Model Client": [[58, "model-client"]], "Model Clients": [[38, "model-clients"]], "Model Inference SDKs": [[102, "model-inference-sdks"]], "ModelClient": [[102, "modelclient"]], "ModelClient Protocol": [[102, "modelclient-protocol"]], "Optimizer": [[65, "optimizer"], [66, "optimizer"], [103, "optimizer"]], "Optimizer & Trainer": [[97, null]], "Optimizing": [[97, "optimizing"]], "Our deep understanding of LLM workflow": [[98, "our-deep-understanding-of-llm-workflow"]], "Output Parsers": [[38, "output-parsers"]], "Overview": [[38, "overview"], [58, "overview"], [64, "overview"], [72, "overview"], [76, "overview"]], "Parallel Function Calls": [[112, "parallel-function-calls"]], "Parameter": [[105, "parameter"]], "Parameters": [[58, "parameters"]], "Parser": [[104, "parser"]], "PostgresRetriever": [[109, "postgresretriever"]], "Principle 1: Quality over Quantity": [[98, "principle-1-quality-over-quantity"]], "Principle 2: Optimizing over Building": [[98, "principle-2-optimizing-over-building"]], "Principle 3: Practicality over Showmanship": [[98, "principle-3-practicality-over-showmanship"]], "Print the structure": [[90, "print-the-structure"]], "Prompt": [[106, "prompt"]], "Prompt class": [[106, "prompt-class"]], "Prompts and Templates": [[58, "prompts-and-templates"]], "Quick Walkthrough": [[112, "quick-walkthrough"]], "RAG Essentials": [[97, "rag-essentials"]], "RAG application": [[107, "rag-application"]], "RAG components": [[97, "rag-components"]], "ReAct Agent": [[108, "react-agent"]], "ReAct Agent Deep Dive": [[108, "react-agent-deep-dive"]], "References": [[87, null], [88, null], [93, null], [106, null], [109, null], [112, null]], "Reranker as Retriever": [[109, "reranker-as-retriever"]], "Resources": [[99, "resources"], [119, "resources"], [120, "resources"]], "Retriever": [[109, "retriever"], [110, "retriever"]], "Retriever Base Class": [[109, "retriever-base-class"]], "Retriever Data Types": [[109, "retriever-data-types"]], "Retriever in Action": [[109, "retriever-in-action"]], "Retrievers": [[38, "retrievers"]], "Searalization and deserialization": [[90, "searalization-and-deserialization"]], "Sequential": [[90, "sequential"]], "Serialization": [[76, "serialization"]], "Setup & Build Documentation": [[84, "setup-build-documentation"]], "Setup_env": [[76, "setup-env"]], "Show data examples & parse string to data instance": [[88, "show-data-examples-parse-string-to-data-instance"]], "Simplicity": [[118, "simplicity"]], "Souce Code Docstring Standard": [[84, "souce-code-docstring-standard"]], "Structure": [[116, "structure"]], "Submodules": [[25, "submodules"], [26, "submodules"], [30, "submodules"], [32, "submodules"], [34, "submodules"], [35, "submodules"], [36, "submodules"]], "Suggestion on File reading and writing": [[92, "suggestion-on-file-reading-and-writing"]], "Switch model client": [[96, "switch-model-client"]], "Text Splitter": [[111, "text-splitter"]], "Text Splitting Options": [[110, "id4"]], "TextSplitter Overview": [[111, "textsplitter-overview"]], "Tracing": [[65, "tracing"], [72, "tracing"], [96, "tracing"], [101, "tracing"]], "Training [Experimental]": [[96, "training-experimental"]], "Tutorials": [[97, "tutorials"]], "Unites both Research and Production": [[118, "unites-both-research-and-production"]], "Use Cases": [[122, "use-cases"]], "Use Local Model": [[93, "use-local-model"]], "Use ModelClient directly": [[102, "use-modelclient-directly"]], "Use OpenAI API": [[93, "use-openai-api"]], "Use Output Processors": [[93, "use-output-processors"]], "Use Score Threshold instead of top_k": [[109, "use-score-threshold-instead-of-top-k"]], "Use output_processors": [[96, "use-output-processors"]], "Use template": [[96, "use-template"]], "Use together with Database": [[109, "use-together-with-database"]], "Utils": [[65, "utils"], [76, "utils"]], "What is LightRAG?": [[116, "what-is-lightrag"]], "What is an agent and why you need it?": [[108, "what-is-an-agent-and-why-you-need-it"]], "What is not part of LightRAG?": [[116, "what-is-not-part-of-lightrag"]], "What to evaluate?": [[95, "what-to-evaluate"]], "Where to evaluate?": [[95, "where-to-evaluate"]], "Why Jinja2?": [[106, "why-jinja2"]], "Why do we need chat completion instead of the previous text completion?": [[99, "why-do-we-need-chat-completion-instead-of-the-previous-text-completion"]], "With LocalDB": [[109, "with-localdb"]], "Work with Data Instance": [[88, "work-with-data-instance"]], "Writing Documentation": [[84, "writing-documentation"]], "components.agent": [[25, "components-agent"]], "components.agent.react": [[0, "module-components.agent.react"]], "components.data_process": [[26, "components-data-process"]], "components.data_process.data_components": [[6, "module-components.data_process.data_components"], [27, "module-components.data_process.data_components"]], "components.data_process.document_splitter": [[28, "components-data-process-document-splitter"]], "components.data_process.text_splitter": [[8, "module-components.data_process.text_splitter"], [29, "module-components.data_process.text_splitter"]], "components.memory": [[30, "components-memory"]], "components.memory.memory": [[9, "module-components.memory.memory"], [31, "module-components.memory.memory"]], "components.model_client": [[32, "components-model-client"]], "components.model_client.anthropic_client": [[10, "module-components.model_client.anthropic_client"]], "components.model_client.cohere_client": [[11, "module-components.model_client.cohere_client"]], "components.model_client.groq_client": [[13, "module-components.model_client.groq_client"]], "components.model_client.openai_client": [[14, "module-components.model_client.openai_client"]], "components.model_client.transformers_client": [[15, "module-components.model_client.transformers_client"]], "components.model_client.utils": [[16, "module-components.model_client.utils"], [33, "module-components.model_client.utils"]], "components.output_parsers": [[34, "components-output-parsers"]], "components.output_parsers.outputs": [[17, "module-components.output_parsers.outputs"]], "components.reasoning": [[35, "components-reasoning"]], "components.reasoning.chain_of_thought": [[18, "module-components.reasoning.chain_of_thought"]], "components.retriever": [[36, "components-retriever"]], "components.retriever.bm25_retriever": [[19, "module-components.retriever.bm25_retriever"]], "components.retriever.llm_retriever": [[21, "module-components.retriever.llm_retriever"]], "components.retriever.postgres_retriever": [[37, "components-retriever-postgres-retriever"]], "components.retriever.reranker_retriever": [[23, "module-components.retriever.reranker_retriever"]], "core.base_data_class": [[39, "module-core.base_data_class"]], "core.component": [[40, "module-core.component"]], "core.data_components": [[41, "core-data-components"]], "core.db": [[42, "module-core.db"]], "core.default_prompt_template": [[43, "module-core.default_prompt_template"]], "core.document_splitter": [[44, "core-document-splitter"]], "core.embedder": [[45, "module-core.embedder"]], "core.func_tool": [[46, "module-core.func_tool"]], "core.functional": [[47, "module-core.functional"]], "core.generator": [[48, "module-core.generator"]], "core.memory": [[49, "core-memory"]], "core.model_client": [[50, "module-core.model_client"]], "core.parameter": [[51, "module-core.parameter"]], "core.prompt_builder": [[52, "module-core.prompt_builder"]], "core.retriever": [[53, "module-core.retriever"]], "core.string_parser": [[54, "module-core.string_parser"]], "core.tokenizer": [[55, "module-core.tokenizer"]], "core.tool_manager": [[56, "module-core.tool_manager"]], "core.types": [[57, "module-core.types"]], "eval.answer_match_acc": [[59, "module-eval.answer_match_acc"]], "eval.evaluators": [[60, "eval-evaluators"]], "eval.llm_as_judge": [[61, "module-eval.llm_as_judge"]], "eval.retriever_recall": [[62, "module-eval.retriever_recall"]], "eval.retriever_relevance": [[63, "module-eval.retriever_relevance"]], "optim.few_shot_optimizer": [[67, "module-optim.few_shot_optimizer"]], "optim.llm_augment": [[68, "module-optim.llm_augment"]], "optim.llm_optimizer": [[69, "module-optim.llm_optimizer"]], "optim.optimizer": [[70, "module-optim.optimizer"]], "optim.sampler": [[71, "module-optim.sampler"]], "tracing.decorators": [[73, "module-tracing.decorators"]], "tracing.generator_call_logger": [[74, "module-tracing.generator_call_logger"]], "tracing.generator_state_logger": [[75, "module-tracing.generator_state_logger"]], "utils.config": [[77, "module-utils.config"]], "utils.file_io": [[78, "module-utils.file_io"]], "utils.lazy_import": [[79, "module-utils.lazy_import"]], "utils.logger": [[80, "module-utils.logger"]], "utils.registry": [[81, "module-utils.registry"]], "utils.serialization": [[82, "module-utils.serialization"]], "utils.setup_env": [[83, "module-utils.setup_env"]], "\ufeffcomponents.api_client.anthropic_client": [[1, "components-api-client-anthropic-client"]], "\ufeffcomponents.api_client.google_client": [[2, "components-api-client-google-client"]], "\ufeffcomponents.api_client.groq_client": [[3, "components-api-client-groq-client"]], "\ufeffcomponents.api_client.openai_client": [[4, "components-api-client-openai-client"]], "\ufeffcomponents.api_client.transformers_client": [[5, "components-api-client-transformers-client"]], "\ufeffcomponents.data_process.document_splitter": [[7, "components-data-process-document-splitter"]], "\ufeffcomponents.model_client.google_client": [[12, "components-model-client-google-client"]], "\ufeffcomponents.retriever.faiss_retriever": [[20, "components-retriever-faiss-retriever"]], "\ufeffcomponents.retriever.postgres_retriever": [[22, "components-retriever-postgres-retriever"]]}, "docnames": ["apis/components/_autosummary/components.agent.react", "apis/components/_autosummary/components.api_client.anthropic_client", "apis/components/_autosummary/components.api_client.google_client", "apis/components/_autosummary/components.api_client.groq_client", "apis/components/_autosummary/components.api_client.openai_client", "apis/components/_autosummary/components.api_client.transformers_client", "apis/components/_autosummary/components.data_process.data_components", "apis/components/_autosummary/components.data_process.document_splitter", "apis/components/_autosummary/components.data_process.text_splitter", "apis/components/_autosummary/components.memory.memory", "apis/components/_autosummary/components.model_client.anthropic_client", "apis/components/_autosummary/components.model_client.cohere_client", "apis/components/_autosummary/components.model_client.google_client", "apis/components/_autosummary/components.model_client.groq_client", "apis/components/_autosummary/components.model_client.openai_client", "apis/components/_autosummary/components.model_client.transformers_client", "apis/components/_autosummary/components.model_client.utils", "apis/components/_autosummary/components.output_parsers.outputs", "apis/components/_autosummary/components.reasoning.chain_of_thought", "apis/components/_autosummary/components.retriever.bm25_retriever", "apis/components/_autosummary/components.retriever.faiss_retriever", "apis/components/_autosummary/components.retriever.llm_retriever", "apis/components/_autosummary/components.retriever.postgres_retriever", "apis/components/_autosummary/components.retriever.reranker_retriever", "apis/components/agent_prompt", "apis/components/components.agent", "apis/components/components.data_process", "apis/components/components.data_process.data_components", "apis/components/components.data_process.document_splitter", "apis/components/components.data_process.text_splitter", "apis/components/components.memory", "apis/components/components.memory.memory", "apis/components/components.model_client", "apis/components/components.model_client.utils", "apis/components/components.output_parsers", "apis/components/components.reasoning", "apis/components/components.retriever", "apis/components/components.retriever.postgres_retriever", "apis/components/index", "apis/core/core.base_data_class", "apis/core/core.component", "apis/core/core.data_components", "apis/core/core.db", "apis/core/core.default_prompt_template", "apis/core/core.document_splitter", "apis/core/core.embedder", "apis/core/core.func_tool", "apis/core/core.functional", "apis/core/core.generator", "apis/core/core.memory", "apis/core/core.model_client", "apis/core/core.parameter", "apis/core/core.prompt_builder", "apis/core/core.retriever", "apis/core/core.string_parser", "apis/core/core.tokenizer", "apis/core/core.tool_manager", "apis/core/core.types", "apis/core/index", "apis/eval/eval.answer_match_acc", "apis/eval/eval.evaluators", "apis/eval/eval.llm_as_judge", "apis/eval/eval.retriever_recall", "apis/eval/eval.retriever_relevance", "apis/eval/index", "apis/index", "apis/optim/index", "apis/optim/optim.few_shot_optimizer", "apis/optim/optim.llm_augment", "apis/optim/optim.llm_optimizer", "apis/optim/optim.optimizer", "apis/optim/optim.sampler", "apis/tracing/index", "apis/tracing/tracing.decorators", "apis/tracing/tracing.generator_call_logger", "apis/tracing/tracing.generator_state_logger", "apis/utils/index", "apis/utils/utils.config", "apis/utils/utils.file_io", "apis/utils/utils.lazy_import", "apis/utils/utils.logger", "apis/utils/utils.registry", "apis/utils/utils.serialization", "apis/utils/utils.setup_env", "contributor/contribute_to_document", "contributor/contribution_guide", "contributor/index", "developer_notes/agent", "developer_notes/base_data_class", "developer_notes/class_hierarchy", "developer_notes/component", "developer_notes/data_pipeline", "developer_notes/db", "developer_notes/embedder", "developer_notes/embedder_xy", "developer_notes/evaluation", "developer_notes/generator", "developer_notes/index", "developer_notes/lightrag_design_philosophy", "developer_notes/llm_intro", "developer_notes/logging", "developer_notes/logging_tracing", "developer_notes/model_client", "developer_notes/optimizer", "developer_notes/output_parsers", "developer_notes/parameter", "developer_notes/prompt", "developer_notes/rag", "developer_notes/react_agent_xy", "developer_notes/retriever", "developer_notes/retriever_xy", "developer_notes/text_splitter", "developer_notes/tool_helper", "get_started/community", "get_started/index", "get_started/installation", "get_started/introduction", "get_started/lightrag_in_10_mins", "index", "resources/index", "resources/resources", "tutorials/eval_a_rag", "tutorials/index", "tutorials/introduction_to_basedataclass", "tutorials/logging"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["apis/components/_autosummary/components.agent.react.rst", "apis/components/_autosummary/components.api_client.anthropic_client.rst", "apis/components/_autosummary/components.api_client.google_client.rst", "apis/components/_autosummary/components.api_client.groq_client.rst", "apis/components/_autosummary/components.api_client.openai_client.rst", "apis/components/_autosummary/components.api_client.transformers_client.rst", "apis/components/_autosummary/components.data_process.data_components.rst", "apis/components/_autosummary/components.data_process.document_splitter.rst", "apis/components/_autosummary/components.data_process.text_splitter.rst", "apis/components/_autosummary/components.memory.memory.rst", "apis/components/_autosummary/components.model_client.anthropic_client.rst", "apis/components/_autosummary/components.model_client.cohere_client.rst", "apis/components/_autosummary/components.model_client.google_client.rst", "apis/components/_autosummary/components.model_client.groq_client.rst", "apis/components/_autosummary/components.model_client.openai_client.rst", "apis/components/_autosummary/components.model_client.transformers_client.rst", "apis/components/_autosummary/components.model_client.utils.rst", "apis/components/_autosummary/components.output_parsers.outputs.rst", "apis/components/_autosummary/components.reasoning.chain_of_thought.rst", "apis/components/_autosummary/components.retriever.bm25_retriever.rst", "apis/components/_autosummary/components.retriever.faiss_retriever.rst", "apis/components/_autosummary/components.retriever.llm_retriever.rst", "apis/components/_autosummary/components.retriever.postgres_retriever.rst", "apis/components/_autosummary/components.retriever.reranker_retriever.rst", "apis/components/agent_prompt.rst", "apis/components/components.agent.rst", "apis/components/components.data_process.rst", "apis/components/components.data_process.data_components.rst", "apis/components/components.data_process.document_splitter.rst", "apis/components/components.data_process.text_splitter.rst", "apis/components/components.memory.rst", "apis/components/components.memory.memory.rst", "apis/components/components.model_client.rst", "apis/components/components.model_client.utils.rst", "apis/components/components.output_parsers.rst", "apis/components/components.reasoning.rst", "apis/components/components.retriever.rst", "apis/components/components.retriever.postgres_retriever.rst", "apis/components/index.rst", "apis/core/core.base_data_class.rst", "apis/core/core.component.rst", "apis/core/core.data_components.rst", "apis/core/core.db.rst", "apis/core/core.default_prompt_template.rst", "apis/core/core.document_splitter.rst", "apis/core/core.embedder.rst", "apis/core/core.func_tool.rst", "apis/core/core.functional.rst", "apis/core/core.generator.rst", "apis/core/core.memory.rst", "apis/core/core.model_client.rst", "apis/core/core.parameter.rst", "apis/core/core.prompt_builder.rst", "apis/core/core.retriever.rst", "apis/core/core.string_parser.rst", "apis/core/core.tokenizer.rst", "apis/core/core.tool_manager.rst", "apis/core/core.types.rst", "apis/core/index.rst", "apis/eval/eval.answer_match_acc.rst", "apis/eval/eval.evaluators.rst", "apis/eval/eval.llm_as_judge.rst", "apis/eval/eval.retriever_recall.rst", "apis/eval/eval.retriever_relevance.rst", "apis/eval/index.rst", "apis/index.rst", "apis/optim/index.rst", "apis/optim/optim.few_shot_optimizer.rst", "apis/optim/optim.llm_augment.rst", "apis/optim/optim.llm_optimizer.rst", "apis/optim/optim.optimizer.rst", "apis/optim/optim.sampler.rst", "apis/tracing/index.rst", "apis/tracing/tracing.decorators.rst", "apis/tracing/tracing.generator_call_logger.rst", "apis/tracing/tracing.generator_state_logger.rst", "apis/utils/index.rst", "apis/utils/utils.config.rst", "apis/utils/utils.file_io.rst", "apis/utils/utils.lazy_import.rst", "apis/utils/utils.logger.rst", "apis/utils/utils.registry.rst", "apis/utils/utils.serialization.rst", "apis/utils/utils.setup_env.rst", "contributor/contribute_to_document.rst", "contributor/contribution_guide.rst", "contributor/index.rst", "developer_notes/agent.rst", "developer_notes/base_data_class.rst", "developer_notes/class_hierarchy.rst", "developer_notes/component.rst", "developer_notes/data_pipeline.rst", "developer_notes/db.rst", "developer_notes/embedder.rst", "developer_notes/embedder_xy.rst", "developer_notes/evaluation.rst", "developer_notes/generator.rst", "developer_notes/index.rst", "developer_notes/lightrag_design_philosophy.rst", "developer_notes/llm_intro.rst", "developer_notes/logging.rst", "developer_notes/logging_tracing.rst", "developer_notes/model_client.rst", "developer_notes/optimizer.rst", "developer_notes/output_parsers.rst", "developer_notes/parameter.rst", "developer_notes/prompt.rst", "developer_notes/rag.rst", "developer_notes/react_agent_xy.rst", "developer_notes/retriever.rst", "developer_notes/retriever_xy.rst", "developer_notes/text_splitter.rst", "developer_notes/tool_helper.rst", "get_started/community.rst", "get_started/index.rst", "get_started/installation.rst", "get_started/introduction.rst", "get_started/lightrag_in_10_mins.rst", "index.rst", "resources/index.rst", "resources/resources.rst", "tutorials/eval_a_rag.rst", "tutorials/index.rst", "tutorials/introduction_to_basedataclass.rst", "tutorials/logging.rst"], "indexentries": {"acall() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.acall", false]], "acall() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.acall", false]], "acall() (component method)": [[40, "core.component.Component.acall", false]], "acall() (embedder method)": [[45, "core.embedder.Embedder.acall", false]], "acall() (functiontool method)": [[46, "core.func_tool.FunctionTool.acall", false]], "acall() (generator method)": [[48, "core.generator.Generator.acall", false]], "acall() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.acall", false]], "acall() (modelclient method)": [[50, "core.model_client.ModelClient.acall", false]], "acall() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.acall", false]], "acall() (retriever method)": [[53, "core.retriever.Retriever.acall", false]], "action (functionexpression attribute)": [[57, "core.types.FunctionExpression.action", false]], "action (stepoutput attribute)": [[57, "core.types.StepOutput.action", false]], "add() (localdb method)": [[42, "core.db.LocalDB.add", false]], "add_component() (component method)": [[40, "core.component.Component.add_component", false]], "answermatchacc (class in eval.answer_match_acc)": [[59, "eval.answer_match_acc.AnswerMatchAcc", false]], "anthropic (modelclienttype attribute)": [[57, "core.types.ModelClientType.ANTHROPIC", false]], "anthropic (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.ANTHROPIC", false]], "anthropicapiclient (class in components.model_client.anthropic_client)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient", false]], "append() (sequential method)": [[40, "core.component.Sequential.append", false]], "append_dialog_turn() (conversation method)": [[57, "core.types.Conversation.append_dialog_turn", false]], "append_to_jsonl() (in module utils.file_io)": [[78, "utils.file_io.append_to_jsonl", false]], "args (function attribute)": [[57, "core.types.Function.args", false]], "assistant_response (dialogturn attribute)": [[57, "core.types.DialogTurn.assistant_response", false]], "assistant_response_timestamp (dialogturn attribute)": [[57, "core.types.DialogTurn.assistant_response_timestamp", false]], "assistantresponse (class in core.types)": [[57, "core.types.AssistantResponse", false]], "augment_samples() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.augment_samples", false]], "average_pool() (in module components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.average_pool", false]], "batchembedder (class in core.embedder)": [[45, "core.embedder.BatchEmbedder", false]], "bm25retriever (class in components.retriever)": [[36, "components.retriever.BM25Retriever", false]], "bm25retriever (class in components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.BM25Retriever", false]], "booleanoutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.BooleanOutputParser", false]], "bootstrapfewshot (class in optim.few_shot_optimizer)": [[67, "optim.few_shot_optimizer.BootstrapFewShot", false]], "build_index_from_documents() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.build_index_from_documents", false], [36, "components.retriever.BM25Retriever.build_index_from_documents", false]], "build_index_from_documents() (llmretriever method)": [[21, "components.retriever.llm_retriever.LLMRetriever.build_index_from_documents", false], [36, "components.retriever.LLMRetriever.build_index_from_documents", false]], "build_index_from_documents() (rerankerretriever method)": [[23, "components.retriever.reranker_retriever.RerankerRetriever.build_index_from_documents", false], [36, "components.retriever.RerankerRetriever.build_index_from_documents", false]], "build_index_from_documents() (retriever method)": [[53, "core.retriever.Retriever.build_index_from_documents", false]], "call() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.call", false]], "call() (batchembedder method)": [[45, "core.embedder.BatchEmbedder.call", false]], "call() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.call", false], [36, "components.retriever.BM25Retriever.call", false]], "call() (booleanoutputparser method)": [[17, "components.output_parsers.outputs.BooleanOutputParser.call", false]], "call() (classsampler method)": [[71, "optim.sampler.ClassSampler.call", false]], "call() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.call", false]], "call() (component method)": [[40, "core.component.Component.call", false]], "call() (defaultllmjudge method)": [[61, "eval.llm_as_judge.DefaultLLMJudge.call", false]], "call() (embedder method)": [[45, "core.embedder.Embedder.call", false]], "call() (funcomponent method)": [[40, "core.component.FunComponent.call", false]], "call() (functiontool method)": [[46, "core.func_tool.FunctionTool.call", false]], "call() (generator method)": [[48, "core.generator.Generator.call", false]], "call() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.call", false]], "call() (jsonoutputparser method)": [[17, "components.output_parsers.outputs.JsonOutputParser.call", false], [34, "components.output_parsers.JsonOutputParser.call", false]], "call() (jsonparser method)": [[54, "core.string_parser.JsonParser.call", false]], "call() (listoutputparser method)": [[17, "components.output_parsers.outputs.ListOutputParser.call", false], [34, "components.output_parsers.ListOutputParser.call", false]], "call() (llmaugmenter method)": [[68, "optim.llm_augment.LLMAugmenter.call", false]], "call() (llmretriever method)": [[21, "components.retriever.llm_retriever.LLMRetriever.call", false], [36, "components.retriever.LLMRetriever.call", false]], "call() (modelclient method)": [[50, "core.model_client.ModelClient.call", false]], "call() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.call", false]], "call() (outputparser method)": [[17, "components.output_parsers.outputs.OutputParser.call", false]], "call() (prompt method)": [[52, "core.prompt_builder.Prompt.call", false]], "call() (randomsampler method)": [[71, "optim.sampler.RandomSampler.call", false]], "call() (reactagent method)": [[0, "components.agent.react.ReActAgent.call", false]], "call() (rerankerretriever method)": [[23, "components.retriever.reranker_retriever.RerankerRetriever.call", false], [36, "components.retriever.RerankerRetriever.call", false]], "call() (retriever method)": [[53, "core.retriever.Retriever.call", false]], "call() (sampler method)": [[71, "optim.sampler.Sampler.call", false]], "call() (sequential method)": [[40, "core.component.Sequential.call", false]], "call() (textsplitter method)": [[8, "components.data_process.text_splitter.TextSplitter.call", false], [26, "components.data_process.TextSplitter.call", false], [29, "components.data_process.text_splitter.TextSplitter.call", false]], "call() (transformerllm method)": [[15, "components.model_client.transformers_client.TransformerLLM.call", false]], "call() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.call", false]], "call() (yamloutputparser method)": [[17, "components.output_parsers.outputs.YamlOutputParser.call", false], [34, "components.output_parsers.YamlOutputParser.call", false]], "call() (yamlparser method)": [[54, "core.string_parser.YamlParser.call", false]], "check_object() (in module utils.serialization)": [[82, "utils.serialization.check_object", false]], "children() (component method)": [[40, "core.component.Component.children", false]], "class (objecttypes attribute)": [[82, "utils.serialization.ObjectTypes.CLASS", false]], "classsampler (class in optim.sampler)": [[71, "optim.sampler.ClassSampler", false]], "cohere (modelclienttype attribute)": [[57, "core.types.ModelClientType.COHERE", false]], "cohere (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.COHERE", false]], "cohereapiclient (class in components.model_client.cohere_client)": [[11, "components.model_client.cohere_client.CohereAPIClient", false]], "component (class in core.component)": [[40, "core.component.Component", false]], "components() (component method)": [[40, "core.component.Component.components", false]], "components.agent.react": [[0, "module-components.agent.react", false]], "components.data_process": [[26, "module-components.data_process", false]], "components.data_process.data_components": [[6, "module-components.data_process.data_components", false], [27, "module-components.data_process.data_components", false]], "components.data_process.text_splitter": [[8, "module-components.data_process.text_splitter", false], [29, "module-components.data_process.text_splitter", false]], "components.memory": [[30, "module-components.memory", false]], "components.memory.memory": [[9, "module-components.memory.memory", false], [31, "module-components.memory.memory", false]], "components.model_client": [[32, "module-components.model_client", false]], "components.model_client.anthropic_client": [[10, "module-components.model_client.anthropic_client", false]], "components.model_client.cohere_client": [[11, "module-components.model_client.cohere_client", false]], "components.model_client.groq_client": [[13, "module-components.model_client.groq_client", false]], "components.model_client.openai_client": [[14, "module-components.model_client.openai_client", false]], "components.model_client.transformers_client": [[15, "module-components.model_client.transformers_client", false]], "components.model_client.utils": [[16, "module-components.model_client.utils", false], [33, "module-components.model_client.utils", false]], "components.output_parsers": [[34, "module-components.output_parsers", false]], "components.output_parsers.outputs": [[17, "module-components.output_parsers.outputs", false]], "components.reasoning": [[35, "module-components.reasoning", false]], "components.reasoning.chain_of_thought": [[18, "module-components.reasoning.chain_of_thought", false]], "components.retriever": [[36, "module-components.retriever", false]], "components.retriever.bm25_retriever": [[19, "module-components.retriever.bm25_retriever", false]], "components.retriever.llm_retriever": [[21, "module-components.retriever.llm_retriever", false]], "components.retriever.reranker_retriever": [[23, "module-components.retriever.reranker_retriever", false]], "compose_model_kwargs() (in module core.functional)": [[47, "core.functional.compose_model_kwargs", false]], "compose_prompt_kwargs() (prompt method)": [[52, "core.prompt_builder.Prompt.compose_prompt_kwargs", false]], "compute() (answermatchacc method)": [[59, "eval.answer_match_acc.AnswerMatchAcc.compute", false]], "compute() (llmasjudge method)": [[61, "eval.llm_as_judge.LLMasJudge.compute", false]], "compute() (retrieverrecall method)": [[62, "eval.retriever_recall.RetrieverRecall.compute", false]], "compute() (retrieverrelevance method)": [[63, "eval.retriever_relevance.RetrieverRelevance.compute", false]], "conversation (class in core.types)": [[57, "core.types.Conversation", false]], "conversation_id (dialogturn attribute)": [[57, "core.types.DialogTurn.conversation_id", false]], "convert_inputs_to_api_kwargs() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (modelclient method)": [[50, "core.model_client.ModelClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.convert_inputs_to_api_kwargs", false]], "convert_schema_to_signature() (in module core.functional)": [[47, "core.functional.convert_schema_to_signature", false]], "core.base_data_class": [[39, "module-core.base_data_class", false]], "core.component": [[40, "module-core.component", false]], "core.db": [[42, "module-core.db", false]], "core.default_prompt_template": [[43, "module-core.default_prompt_template", false]], "core.embedder": [[45, "module-core.embedder", false]], "core.func_tool": [[46, "module-core.func_tool", false]], "core.functional": [[47, "module-core.functional", false]], "core.generator": [[48, "module-core.generator", false]], "core.model_client": [[50, "module-core.model_client", false]], "core.parameter": [[51, "module-core.parameter", false]], "core.prompt_builder": [[52, "module-core.prompt_builder", false]], "core.retriever": [[53, "module-core.retriever", false]], "core.string_parser": [[54, "module-core.string_parser", false]], "core.tokenizer": [[55, "module-core.tokenizer", false]], "core.tool_manager": [[56, "module-core.tool_manager", false]], "core.types": [[57, "module-core.types", false]], "count_tokens() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.count_tokens", false]], "create_from_dict() (dynamicdataclassfactory static method)": [[39, "core.base_data_class.DynamicDataClassFactory.create_from_dict", false]], "created_at (conversation attribute)": [[57, "core.types.Conversation.created_at", false]], "custom_asdict() (in module core.functional)": [[47, "core.functional.custom_asdict", false]], "data (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.data", false]], "data (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.data", false]], "data (sample attribute)": [[71, "optim.sampler.Sample.data", false]], "dataclass (class in core.base_data_class)": [[39, "core.base_data_class.DataClass", false]], "dataclass_obj_from_dict() (in module core.functional)": [[47, "core.functional.dataclass_obj_from_dict", false]], "dataclassformattype (class in core.base_data_class)": [[39, "core.base_data_class.DataClassFormatType", false]], "dataset (randomsampler attribute)": [[71, "optim.sampler.RandomSampler.dataset", false]], "decode() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.decode", false]], "default() (in module utils.serialization)": [[82, "utils.serialization.default", false]], "default_lightrag_system_prompt (in module core.default_prompt_template)": [[43, "core.default_prompt_template.DEFAULT_LIGHTRAG_SYSTEM_PROMPT", false]], "defaultllmjudge (class in eval.llm_as_judge)": [[61, "eval.llm_as_judge.DefaultLLMJudge", false]], "delete() (localdb method)": [[42, "core.db.LocalDB.delete", false]], "delete_dialog_turn() (conversation method)": [[57, "core.types.Conversation.delete_dialog_turn", false]], "deserialize() (in module utils.serialization)": [[82, "utils.serialization.deserialize", false]], "dialog_turns (conversation attribute)": [[57, "core.types.Conversation.dialog_turns", false]], "dialog_turns_input (conversation attribute)": [[57, "core.types.Conversation.dialog_turns_input", false]], "dialogturn (class in core.types)": [[57, "core.types.DialogTurn", false]], "doc_indices (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.doc_indices", false]], "doc_scores (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.doc_scores", false]], "document (class in core.types)": [[57, "core.types.Document", false]], "documents (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.documents", false]], "dynamicdataclassfactory (class in core.base_data_class)": [[39, "core.base_data_class.DynamicDataClassFactory", false]], "embedder (class in core.embedder)": [[45, "core.embedder.Embedder", false]], "embedder (modeltype attribute)": [[57, "core.types.ModelType.EMBEDDER", false]], "embedderoutput (class in core.types)": [[57, "core.types.EmbedderOutput", false]], "embedderoutputtype (in module core.types)": [[57, "core.types.EmbedderOutputType", false]], "embedding (class in core.types)": [[57, "core.types.Embedding", false]], "embedding (embedding attribute)": [[57, "core.types.Embedding.embedding", false]], "embedding_dim (embedderoutput property)": [[57, "core.types.EmbedderOutput.embedding_dim", false]], "enable_library_logging() (in module utils.logger)": [[80, "utils.logger.enable_library_logging", false]], "encode() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.encode", false]], "entitymapping (class in utils.registry)": [[81, "utils.registry.EntityMapping", false]], "error (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.error", false]], "error (functionoutput attribute)": [[57, "core.types.FunctionOutput.error", false]], "error (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.error", false]], "estimated_num_tokens (document attribute)": [[57, "core.types.Document.estimated_num_tokens", false]], "eval() (component method)": [[40, "core.component.Component.eval", false]], "eval.answer_match_acc": [[59, "module-eval.answer_match_acc", false]], "eval.llm_as_judge": [[61, "module-eval.llm_as_judge", false]], "eval.retriever_recall": [[62, "module-eval.retriever_recall", false]], "eval.retriever_relevance": [[63, "module-eval.retriever_relevance", false]], "evaluate_ast_node() (in module core.functional)": [[47, "core.functional.evaluate_ast_node", false]], "example_json (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.EXAMPLE_JSON", false]], "example_yaml (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.EXAMPLE_YAML", false]], "execute() (functiontool method)": [[46, "core.func_tool.FunctionTool.execute", false]], "execute_func() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func", false]], "execute_func_expr() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func_expr", false]], "execute_func_expr_via_eval() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func_expr_via_eval", false]], "execute_func_expr_via_sandbox() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func_expr_via_sandbox", false]], "extend() (localdb method)": [[42, "core.db.LocalDB.extend", false]], "extract_dataclass_type() (in module core.functional)": [[47, "core.functional.extract_dataclass_type", false]], "extract_json_str() (in module core.functional)": [[47, "core.functional.extract_json_str", false]], "extract_list_str() (in module core.functional)": [[47, "core.functional.extract_list_str", false]], "extract_yaml_str() (in module core.functional)": [[47, "core.functional.extract_yaml_str", false]], "faiss (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.FAISS", false]], "fetch_items() (localdb method)": [[42, "core.db.LocalDB.fetch_items", false]], "fetch_transformed_items() (localdb method)": [[42, "core.db.LocalDB.fetch_transformed_items", false]], "fix_json_escaped_single_quotes() (in module core.functional)": [[47, "core.functional.fix_json_escaped_single_quotes", false]], "fix_json_missing_commas() (in module core.functional)": [[47, "core.functional.fix_json_missing_commas", false]], "fn_schema_str() (functiondefinition method)": [[57, "core.types.FunctionDefinition.fn_schema_str", false]], "format_class_str() (dataclass class method)": [[39, "core.base_data_class.DataClass.format_class_str", false]], "format_example_str() (dataclass method)": [[39, "core.base_data_class.DataClass.format_example_str", false]], "format_instructions() (booleanoutputparser method)": [[17, "components.output_parsers.outputs.BooleanOutputParser.format_instructions", false]], "format_instructions() (jsonoutputparser method)": [[17, "components.output_parsers.outputs.JsonOutputParser.format_instructions", false], [34, "components.output_parsers.JsonOutputParser.format_instructions", false]], "format_instructions() (listoutputparser method)": [[17, "components.output_parsers.outputs.ListOutputParser.format_instructions", false], [34, "components.output_parsers.ListOutputParser.format_instructions", false]], "format_instructions() (outputparser method)": [[17, "components.output_parsers.outputs.OutputParser.format_instructions", false]], "format_instructions() (yamloutputparser method)": [[17, "components.output_parsers.outputs.YamlOutputParser.format_instructions", false], [34, "components.output_parsers.YamlOutputParser.format_instructions", false]], "from_config() (component class method)": [[40, "core.component.Component.from_config", false]], "from_config() (embedder class method)": [[45, "core.embedder.Embedder.from_config", false]], "from_config() (generator class method)": [[48, "core.generator.Generator.from_config", false]], "from_dict() (component class method)": [[40, "core.component.Component.from_dict", false]], "from_dict() (dataclass class method)": [[39, "core.base_data_class.DataClass.from_dict", false]], "from_dict() (document class method)": [[57, "core.types.Document.from_dict", false]], "from_dict() (openaiclient class method)": [[14, "components.model_client.openai_client.OpenAIClient.from_dict", false]], "from_dict() (prompt class method)": [[52, "core.prompt_builder.Prompt.from_dict", false]], "from_dict_to_json() (in module core.functional)": [[47, "core.functional.from_dict_to_json", false]], "from_dict_to_yaml() (in module core.functional)": [[47, "core.functional.from_dict_to_yaml", false]], "from_function() (functionexpression class method)": [[57, "core.types.FunctionExpression.from_function", false]], "from_json() (dataclass class method)": [[39, "core.base_data_class.DataClass.from_json", false]], "from_json_to_dict() (in module core.functional)": [[47, "core.functional.from_json_to_dict", false]], "from_yaml() (dataclass class method)": [[39, "core.base_data_class.DataClass.from_yaml", false]], "from_yaml_to_dict() (in module core.functional)": [[47, "core.functional.from_yaml_to_dict", false]], "fun_args (stepoutput attribute)": [[57, "core.types.StepOutput.fun_args", false]], "fun_kwargs (stepoutput attribute)": [[57, "core.types.StepOutput.fun_kwargs", false]], "fun_name (stepoutput attribute)": [[57, "core.types.StepOutput.fun_name", false]], "fun_to_component() (in module core.component)": [[40, "core.component.fun_to_component", false]], "func_desc (functiondefinition attribute)": [[57, "core.types.FunctionDefinition.func_desc", false]], "func_name (functiondefinition attribute)": [[57, "core.types.FunctionDefinition.func_name", false]], "func_parameters (functiondefinition attribute)": [[57, "core.types.FunctionDefinition.func_parameters", false]], "funcomponent (class in core.component)": [[40, "core.component.FunComponent", false]], "function (class in core.types)": [[57, "core.types.Function", false]], "function_definitions (toolmanager property)": [[56, "core.tool_manager.ToolManager.function_definitions", false]], "functiondefinition (class in core.types)": [[57, "core.types.FunctionDefinition", false]], "functionexpression (class in core.types)": [[57, "core.types.FunctionExpression", false]], "functionoutput (class in core.types)": [[57, "core.types.FunctionOutput", false]], "functiontool (class in core.func_tool)": [[46, "core.func_tool.FunctionTool", false]], "generate_function_call_expression_from_callable() (in module core.functional)": [[47, "core.functional.generate_function_call_expression_from_callable", false]], "generate_readable_key_for_function() (in module core.functional)": [[47, "core.functional.generate_readable_key_for_function", false]], "generator (class in core.generator)": [[48, "core.generator.Generator", false]], "generator_names (generatorstatelogger property)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.generator_names", false]], "generator_names_to_files (generatorcalllogger property)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.generator_names_to_files", false]], "generatorcalllogger (class in tracing.generator_call_logger)": [[74, "tracing.generator_call_logger.GeneratorCallLogger", false]], "generatorcallrecord (class in tracing.generator_call_logger)": [[74, "tracing.generator_call_logger.GeneratorCallRecord", false]], "generatoroutput (class in core.types)": [[57, "core.types.GeneratorOutput", false]], "generatorstatelogger (class in tracing.generator_state_logger)": [[75, "tracing.generator_state_logger.GeneratorStateLogger", false]], "generatorstatesrecord (class in tracing.generator_state_logger)": [[75, "tracing.generator_state_logger.GeneratorStatesRecord", false]], "get() (entitymapping class method)": [[81, "utils.registry.EntityMapping.get", false]], "get_all() (entitymapping class method)": [[81, "utils.registry.EntityMapping.get_all", false]], "get_all_messages_content() (in module components.model_client.openai_client)": [[14, "components.model_client.openai_client.get_all_messages_content", false]], "get_calls() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.get_calls", false]], "get_chat_history_str() (conversation method)": [[57, "core.types.Conversation.get_chat_history_str", false]], "get_current_script_and_line() (in module utils.logger)": [[80, "utils.logger.get_current_script_and_line", false]], "get_dataclass_schema() (in module core.functional)": [[47, "core.functional.get_dataclass_schema", false]], "get_dialog_turns() (conversation method)": [[57, "core.types.Conversation.get_dialog_turns", false]], "get_first_message_content() (in module components.model_client.openai_client)": [[14, "components.model_client.openai_client.get_first_message_content", false]], "get_fun_schema() (in module core.functional)": [[47, "core.functional.get_fun_schema", false]], "get_jinja2_environment() (in module core.prompt_builder)": [[52, "core.prompt_builder.get_jinja2_environment", false]], "get_log_location() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.get_log_location", false]], "get_log_location() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.get_log_location", false]], "get_logger() (in module utils.logger)": [[80, "utils.logger.get_logger", false]], "get_model_args() (in module core.types)": [[57, "core.types.get_model_args", false]], "get_next_order() (conversation method)": [[57, "core.types.Conversation.get_next_order", false]], "get_probabilities() (in module components.model_client.openai_client)": [[14, "components.model_client.openai_client.get_probabilities", false]], "get_prompt_variables() (prompt method)": [[52, "core.prompt_builder.Prompt.get_prompt_variables", false]], "get_string_tokens() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.get_string_tokens", false]], "get_subcomponent() (component method)": [[40, "core.component.Component.get_subcomponent", false]], "get_top_k_indices_scores() (in module core.functional)": [[47, "core.functional.get_top_k_indices_scores", false]], "get_transformed_data() (localdb method)": [[42, "core.db.LocalDB.get_transformed_data", false]], "get_transformer_keys() (localdb method)": [[42, "core.db.LocalDB.get_transformer_keys", false]], "get_type_schema() (in module core.functional)": [[47, "core.functional.get_type_schema", false]], "google_generativeai (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.GOOGLE_GENERATIVEAI", false]], "groq (modelclienttype attribute)": [[57, "core.types.ModelClientType.GROQ", false]], "groq (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.GROQ", false]], "groqapiclient (class in components.model_client.groq_client)": [[13, "components.model_client.groq_client.GroqAPIClient", false]], "gts (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.gts", false]], "id (conversation attribute)": [[57, "core.types.Conversation.id", false]], "id (dialogturn attribute)": [[57, "core.types.DialogTurn.id", false]], "id (document attribute)": [[57, "core.types.Document.id", false]], "index (embedding attribute)": [[57, "core.types.Embedding.index", false]], "index (sample attribute)": [[71, "optim.sampler.Sample.index", false]], "index_keys (retriever attribute)": [[53, "core.retriever.Retriever.index_keys", false]], "indexed (retriever attribute)": [[53, "core.retriever.Retriever.indexed", false]], "infer_bge_reranker_base() (transformerreranker method)": [[15, "components.model_client.transformers_client.TransformerReranker.infer_bge_reranker_base", false]], "infer_gte_base_embedding() (transformerembedder method)": [[15, "components.model_client.transformers_client.TransformerEmbedder.infer_gte_base_embedding", false]], "init() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.init", false]], "init_async_client() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.init_async_client", false]], "init_async_client() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.init_async_client", false]], "init_async_client() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.init_async_client", false]], "init_async_client() (modelclient method)": [[50, "core.model_client.ModelClient.init_async_client", false]], "init_async_client() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.init_async_client", false]], "init_llm_client() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.init_llm_client", false]], "init_model() (transformerembedder method)": [[15, "components.model_client.transformers_client.TransformerEmbedder.init_model", false]], "init_model() (transformerllm method)": [[15, "components.model_client.transformers_client.TransformerLLM.init_model", false]], "init_model() (transformerreranker method)": [[15, "components.model_client.transformers_client.TransformerReranker.init_model", false]], "init_reranker_client() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.init_reranker_client", false]], "init_sync_client() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.init_sync_client", false]], "init_sync_client() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.init_sync_client", false]], "init_sync_client() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.init_sync_client", false]], "init_sync_client() (modelclient method)": [[50, "core.model_client.ModelClient.init_sync_client", false]], "init_sync_client() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.init_sync_client", false]], "init_sync_client() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.init_sync_client", false]], "input (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.input", false]], "input (functionoutput attribute)": [[57, "core.types.FunctionOutput.input", false]], "instance (objecttypes attribute)": [[82, "utils.serialization.ObjectTypes.INSTANCE", false]], "instruction (class in optim.llm_optimizer)": [[69, "optim.llm_optimizer.Instruction", false]], "is_dataclass_instance() (in module core.functional)": [[47, "core.functional.is_dataclass_instance", false]], "is_key_in_template() (prompt method)": [[52, "core.prompt_builder.Prompt.is_key_in_template", false]], "is_normalized (embedderoutput property)": [[57, "core.types.EmbedderOutput.is_normalized", false]], "is_normalized() (in module core.functional)": [[47, "core.functional.is_normalized", false]], "is_picklable() (component method)": [[40, "core.component.Component.is_picklable", false]], "is_potential_dataclass() (in module core.functional)": [[47, "core.functional.is_potential_dataclass", false]], "is_running_in_event_loop() (in module core.func_tool)": [[46, "core.func_tool.is_running_in_event_loop", false]], "items (localdb attribute)": [[42, "core.db.LocalDB.items", false]], "json_definitions (toolmanager property)": [[56, "core.tool_manager.ToolManager.json_definitions", false]], "jsonoutputparser (class in components.output_parsers)": [[34, "components.output_parsers.JsonOutputParser", false]], "jsonoutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.JsonOutputParser", false]], "jsonparser (class in core.string_parser)": [[54, "core.string_parser.JsonParser", false]], "kwargs (function attribute)": [[57, "core.types.Function.kwargs", false]], "lazyimport (class in utils.lazy_import)": [[79, "utils.lazy_import.LazyImport", false]], "length (embedderoutput property)": [[57, "core.types.EmbedderOutput.length", false]], "length (localdb property)": [[42, "core.db.LocalDB.length", false]], "listoutputparser (class in components.output_parsers)": [[34, "components.output_parsers.ListOutputParser", false]], "listoutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.ListOutputParser", false]], "listparser (class in core.string_parser)": [[54, "core.string_parser.ListParser", false]], "llm (modeltype attribute)": [[57, "core.types.ModelType.LLM", false]], "llmasjudge (class in eval.llm_as_judge)": [[61, "eval.llm_as_judge.LLMasJudge", false]], "llmaugmenter (class in optim.llm_augment)": [[68, "optim.llm_augment.LLMAugmenter", false]], "llmoptimizer (class in optim.llm_optimizer)": [[69, "optim.llm_optimizer.LLMOptimizer", false]], "llmretriever (class in components.retriever)": [[36, "components.retriever.LLMRetriever", false]], "llmretriever (class in components.retriever.llm_retriever)": [[21, "components.retriever.llm_retriever.LLMRetriever", false]], "load() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.load", false]], "load() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.load", false]], "load() (in module utils.file_io)": [[78, "utils.file_io.load", false]], "load() (localdb method)": [[42, "core.db.LocalDB.load", false]], "load_from_file() (bm25retriever class method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.load_from_file", false], [36, "components.retriever.BM25Retriever.load_from_file", false]], "load_from_file() (retriever class method)": [[53, "core.retriever.Retriever.load_from_file", false]], "load_from_pickle() (component class method)": [[40, "core.component.Component.load_from_pickle", false]], "load_json() (in module utils.file_io)": [[78, "utils.file_io.load_json", false]], "load_jsonl() (in module utils.file_io)": [[78, "utils.file_io.load_jsonl", false]], "load_meta_data() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.load_meta_data", false]], "load_pickle() (in module utils.file_io)": [[78, "utils.file_io.load_pickle", false]], "load_state() (localdb class method)": [[42, "core.db.LocalDB.load_state", false]], "load_state_dict() (component method)": [[40, "core.component.Component.load_state_dict", false]], "load_state_pickle() (component class method)": [[40, "core.component.Component.load_state_pickle", false]], "localdb (class in core.db)": [[42, "core.db.LocalDB", false]], "log_call() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.log_call", false]], "log_prompt() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.log_prompt", false]], "logprob (tokenlogprob attribute)": [[57, "core.types.TokenLogProb.logprob", false]], "mapper_setups (localdb attribute)": [[42, "core.db.LocalDB.mapper_setups", false]], "memory (class in components.memory.memory)": [[9, "components.memory.memory.Memory", false], [31, "components.memory.memory.Memory", false]], "meta_data (document attribute)": [[57, "core.types.Document.meta_data", false]], "metadata (assistantresponse attribute)": [[57, "core.types.AssistantResponse.metadata", false]], "metadata (conversation attribute)": [[57, "core.types.Conversation.metadata", false]], "metadata (dialogturn attribute)": [[57, "core.types.DialogTurn.metadata", false]], "metadata (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.metadata", false]], "metadata (userquery attribute)": [[57, "core.types.UserQuery.metadata", false]], "model (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.model", false]], "model_client (embedder attribute)": [[45, "core.embedder.Embedder.model_client", false]], "model_client (generator attribute)": [[48, "core.generator.Generator.model_client", false]], "model_kwargs (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.model_kwargs", false]], "model_type (embedder attribute)": [[45, "core.embedder.Embedder.model_type", false]], "model_type (generator attribute)": [[48, "core.generator.Generator.model_type", false]], "modelclient (class in core.model_client)": [[50, "core.model_client.ModelClient", false]], "modelclienttype (class in core.types)": [[57, "core.types.ModelClientType", false]], "models (transformerembedder attribute)": [[15, "components.model_client.transformers_client.TransformerEmbedder.models", false]], "models (transformerllm attribute)": [[15, "components.model_client.transformers_client.TransformerLLM.models", false]], "models (transformerreranker attribute)": [[15, "components.model_client.transformers_client.TransformerReranker.models", false]], "modeltype (class in core.types)": [[57, "core.types.ModelType", false]], "module": [[0, "module-components.agent.react", false], [6, "module-components.data_process.data_components", false], [8, "module-components.data_process.text_splitter", false], [9, "module-components.memory.memory", false], [10, "module-components.model_client.anthropic_client", false], [11, "module-components.model_client.cohere_client", false], [13, "module-components.model_client.groq_client", false], [14, "module-components.model_client.openai_client", false], [15, "module-components.model_client.transformers_client", false], [16, "module-components.model_client.utils", false], [17, "module-components.output_parsers.outputs", false], [18, "module-components.reasoning.chain_of_thought", false], [19, "module-components.retriever.bm25_retriever", false], [21, "module-components.retriever.llm_retriever", false], [23, "module-components.retriever.reranker_retriever", false], [26, "module-components.data_process", false], [27, "module-components.data_process.data_components", false], [29, "module-components.data_process.text_splitter", false], [30, "module-components.memory", false], [31, "module-components.memory.memory", false], [32, "module-components.model_client", false], [33, "module-components.model_client.utils", false], [34, "module-components.output_parsers", false], [35, "module-components.reasoning", false], [36, "module-components.retriever", false], [39, "module-core.base_data_class", false], [40, "module-core.component", false], [42, "module-core.db", false], [43, "module-core.default_prompt_template", false], [45, "module-core.embedder", false], [46, "module-core.func_tool", false], [47, "module-core.functional", false], [48, "module-core.generator", false], [50, "module-core.model_client", false], [51, "module-core.parameter", false], [52, "module-core.prompt_builder", false], [53, "module-core.retriever", false], [54, "module-core.string_parser", false], [55, "module-core.tokenizer", false], [56, "module-core.tool_manager", false], [57, "module-core.types", false], [59, "module-eval.answer_match_acc", false], [61, "module-eval.llm_as_judge", false], [62, "module-eval.retriever_recall", false], [63, "module-eval.retriever_relevance", false], [67, "module-optim.few_shot_optimizer", false], [68, "module-optim.llm_augment", false], [69, "module-optim.llm_optimizer", false], [70, "module-optim.optimizer", false], [71, "module-optim.sampler", false], [73, "module-tracing.decorators", false], [74, "module-tracing.generator_call_logger", false], [75, "module-tracing.generator_state_logger", false], [77, "module-utils.config", false], [78, "module-utils.file_io", false], [79, "module-utils.lazy_import", false], [80, "module-utils.logger", false], [81, "module-utils.registry", false], [82, "module-utils.serialization", false], [83, "module-utils.setup_env", false]], "name (conversation attribute)": [[57, "core.types.Conversation.name", false]], "name (function attribute)": [[57, "core.types.Function.name", false]], "name (functionoutput attribute)": [[57, "core.types.FunctionOutput.name", false]], "name (localdb attribute)": [[42, "core.db.LocalDB.name", false]], "named_children() (component method)": [[40, "core.component.Component.named_children", false]], "named_components() (component method)": [[40, "core.component.Component.named_components", false]], "named_parameters() (component method)": [[40, "core.component.Component.named_parameters", false]], "new_component() (in module utils.config)": [[77, "utils.config.new_component", false]], "new_components_from_config() (in module utils.config)": [[77, "utils.config.new_components_from_config", false]], "normalize_np_array() (in module core.functional)": [[47, "core.functional.normalize_np_array", false]], "normalize_vector() (in module core.functional)": [[47, "core.functional.normalize_vector", false]], "objecttypes (class in utils.serialization)": [[82, "utils.serialization.ObjectTypes", false]], "observation (stepoutput attribute)": [[57, "core.types.StepOutput.observation", false]], "openai (modelclienttype attribute)": [[57, "core.types.ModelClientType.OPENAI", false]], "openai (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.OPENAI", false]], "openaiclient (class in components.model_client.openai_client)": [[14, "components.model_client.openai_client.OpenAIClient", false]], "optim.few_shot_optimizer": [[67, "module-optim.few_shot_optimizer", false]], "optim.llm_augment": [[68, "module-optim.llm_augment", false]], "optim.llm_optimizer": [[69, "module-optim.llm_optimizer", false]], "optim.optimizer": [[70, "module-optim.optimizer", false]], "optim.sampler": [[71, "module-optim.sampler", false]], "optimizer (class in optim.optimizer)": [[70, "optim.optimizer.Optimizer", false]], "optionalpackages (class in utils.lazy_import)": [[79, "utils.lazy_import.OptionalPackages", false]], "order (dialogturn attribute)": [[57, "core.types.DialogTurn.order", false]], "order (document attribute)": [[57, "core.types.Document.order", false]], "output (functionoutput attribute)": [[57, "core.types.FunctionOutput.output", false]], "output (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.output", false]], "output_processors (embedder attribute)": [[45, "core.embedder.Embedder.output_processors", false]], "outputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.OutputParser", false]], "parameter (class in core.parameter)": [[51, "core.parameter.Parameter", false]], "parameters() (component method)": [[40, "core.component.Component.parameters", false]], "parent_doc_id (document attribute)": [[57, "core.types.Document.parent_doc_id", false]], "parse_chat_completion() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.parse_chat_completion", false]], "parse_chat_completion() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.parse_chat_completion", false]], "parse_chat_completion() (modelclient method)": [[50, "core.model_client.ModelClient.parse_chat_completion", false]], "parse_chat_completion() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.parse_chat_completion", false]], "parse_chat_completion() (transformerllm method)": [[15, "components.model_client.transformers_client.TransformerLLM.parse_chat_completion", false]], "parse_embedding_response() (in module components.model_client.utils)": [[16, "components.model_client.utils.parse_embedding_response", false], [33, "components.model_client.utils.parse_embedding_response", false]], "parse_embedding_response() (modelclient method)": [[50, "core.model_client.ModelClient.parse_embedding_response", false]], "parse_embedding_response() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.parse_embedding_response", false]], "parse_embedding_response() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.parse_embedding_response", false]], "parse_func_expr() (toolmanager method)": [[56, "core.tool_manager.ToolManager.parse_func_expr", false]], "parse_function_call_expr() (in module core.functional)": [[47, "core.functional.parse_function_call_expr", false]], "parse_json_str_to_obj() (in module core.functional)": [[47, "core.functional.parse_json_str_to_obj", false]], "parse_yaml_str_to_obj() (in module core.functional)": [[47, "core.functional.parse_yaml_str_to_obj", false]], "parsed_input (functionoutput attribute)": [[57, "core.types.FunctionOutput.parsed_input", false]], "pgvector (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.PGVECTOR", false]], "pickle_to_file() (component method)": [[40, "core.component.Component.pickle_to_file", false]], "preprocess() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.preprocess", false]], "print_prompt() (generator method)": [[48, "core.generator.Generator.print_prompt", false]], "print_prompt() (prompt method)": [[52, "core.prompt_builder.Prompt.print_prompt", false]], "print_prompt_template() (prompt method)": [[52, "core.prompt_builder.Prompt.print_prompt_template", false]], "printc() (in module utils.logger)": [[80, "utils.logger.printc", false]], "prompt (class in core.prompt_builder)": [[52, "core.prompt_builder.Prompt", false]], "prompt_kwargs (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.prompt_kwargs", false]], "prompt_states (generatorstatesrecord attribute)": [[75, "tracing.generator_state_logger.GeneratorStatesRecord.prompt_states", false]], "prompt_tokens (usage attribute)": [[57, "core.types.Usage.prompt_tokens", false]], "propose() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.propose", false]], "propose() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.propose", false]], "query (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.query", false]], "query_str (userquery attribute)": [[57, "core.types.UserQuery.query_str", false]], "random_replace() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.random_replace", false]], "random_replace() (classsampler method)": [[71, "optim.sampler.ClassSampler.random_replace", false]], "random_replace() (randomsampler method)": [[71, "optim.sampler.RandomSampler.random_replace", false]], "random_replace() (sampler method)": [[71, "optim.sampler.Sampler.random_replace", false]], "random_sample() (classsampler method)": [[71, "optim.sampler.ClassSampler.random_sample", false]], "random_sample() (randomsampler method)": [[71, "optim.sampler.RandomSampler.random_sample", false]], "randomsampler (class in optim.sampler)": [[71, "optim.sampler.RandomSampler", false]], "raw_response (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.raw_response", false]], "raw_response (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.raw_response", false]], "reactagent (class in components.agent.react)": [[0, "components.agent.react.ReActAgent", false]], "register() (entitymapping class method)": [[81, "utils.registry.EntityMapping.register", false]], "register_component() (component method)": [[40, "core.component.Component.register_component", false]], "register_generator() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.register_generator", false]], "register_parameter() (component method)": [[40, "core.component.Component.register_parameter", false]], "register_transformer() (localdb method)": [[42, "core.db.LocalDB.register_transformer", false]], "represent_ordereddict() (in module core.functional)": [[47, "core.functional.represent_ordereddict", false]], "required_field() (in module core.base_data_class)": [[39, "core.base_data_class.required_field", false]], "reranker (modeltype attribute)": [[57, "core.types.ModelType.RERANKER", false]], "rerankerretriever (class in components.retriever)": [[36, "components.retriever.RerankerRetriever", false]], "rerankerretriever (class in components.retriever.reranker_retriever)": [[23, "components.retriever.reranker_retriever.RerankerRetriever", false]], "reset() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.reset", false]], "reset() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.reset", false]], "reset() (localdb method)": [[42, "core.db.LocalDB.reset", false]], "reset() (reactagent method)": [[0, "components.agent.react.ReActAgent.reset", false]], "reset_index() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.reset_index", false], [36, "components.retriever.BM25Retriever.reset_index", false]], "reset_index() (llmretriever method)": [[21, "components.retriever.llm_retriever.LLMRetriever.reset_index", false], [36, "components.retriever.LLMRetriever.reset_index", false]], "reset_index() (rerankerretriever method)": [[23, "components.retriever.reranker_retriever.RerankerRetriever.reset_index", false], [36, "components.retriever.RerankerRetriever.reset_index", false]], "reset_index() (retriever method)": [[53, "core.retriever.Retriever.reset_index", false]], "reset_parameter() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.reset_parameter", false]], "reset_parameter() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.reset_parameter", false]], "response_str (assistantresponse attribute)": [[57, "core.types.AssistantResponse.response_str", false]], "responses (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.responses", false]], "retriever (class in core.retriever)": [[53, "core.retriever.Retriever", false]], "retriever_output_to_context_str() (in module components.data_process.data_components)": [[6, "components.data_process.data_components.retriever_output_to_context_str", false], [27, "components.data_process.data_components.retriever_output_to_context_str", false]], "retrieveroutput (class in core.types)": [[57, "core.types.RetrieverOutput", false]], "retrieveroutputtocontextstr (class in components.data_process)": [[26, "components.data_process.RetrieverOutputToContextStr", false]], "retrieveroutputtocontextstr (class in components.data_process.data_components)": [[6, "components.data_process.data_components.RetrieverOutputToContextStr", false], [27, "components.data_process.data_components.RetrieverOutputToContextStr", false]], "retrieverrecall (class in eval.retriever_recall)": [[62, "eval.retriever_recall.RetrieverRecall", false]], "retrieverrelevance (class in eval.retriever_relevance)": [[63, "eval.retriever_relevance.RetrieverRelevance", false]], "safe_import() (in module utils.lazy_import)": [[79, "utils.lazy_import.safe_import", false]], "sample (class in optim.sampler)": [[71, "optim.sampler.Sample", false]], "sampler (class in optim.sampler)": [[71, "optim.sampler.Sampler", false]], "sandbox_exec() (in module core.functional)": [[47, "core.functional.sandbox_exec", false]], "save() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.save", false]], "save() (in module utils.file_io)": [[78, "utils.file_io.save", false]], "save_json() (in module utils.file_io)": [[78, "utils.file_io.save_json", false]], "save_meta_data() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.save_meta_data", false]], "save_pickle() (in module utils.file_io)": [[78, "utils.file_io.save_pickle", false]], "save_state() (localdb method)": [[42, "core.db.LocalDB.save_state", false]], "save_to_file() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.save_to_file", false], [36, "components.retriever.BM25Retriever.save_to_file", false]], "save_to_file() (retriever method)": [[53, "core.retriever.Retriever.save_to_file", false]], "schema (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.SCHEMA", false]], "score (document attribute)": [[57, "core.types.Document.score", false]], "score (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.score", false]], "sequential (class in core.component)": [[40, "core.component.Sequential", false]], "serialize() (in module utils.serialization)": [[82, "utils.serialization.serialize", false]], "set_assistant_response() (dialogturn method)": [[57, "core.types.DialogTurn.set_assistant_response", false]], "set_user_query() (dialogturn method)": [[57, "core.types.DialogTurn.set_user_query", false]], "setup_env() (in module utils.setup_env)": [[83, "utils.setup_env.setup_env", false]], "signature_json (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.SIGNATURE_JSON", false]], "signature_yaml (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.SIGNATURE_YAML", false]], "split_text() (textsplitter method)": [[8, "components.data_process.text_splitter.TextSplitter.split_text", false], [26, "components.data_process.TextSplitter.split_text", false], [29, "components.data_process.text_splitter.TextSplitter.split_text", false]], "split_text_by_word_fn() (in module components.retriever)": [[36, "components.retriever.split_text_by_word_fn", false]], "split_text_by_word_fn() (in module components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.split_text_by_word_fn", false]], "split_text_by_word_fn_then_lower_tokenized() (in module components.retriever)": [[36, "components.retriever.split_text_by_word_fn_then_lower_tokenized", false]], "split_text_by_word_fn_then_lower_tokenized() (in module components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.split_text_by_word_fn_then_lower_tokenized", false]], "split_text_tokenized() (in module components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.split_text_tokenized", false]], "sqlalchemy (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.SQLALCHEMY", false]], "state_dict() (component method)": [[40, "core.component.Component.state_dict", false]], "state_dict() (optimizer method)": [[70, "optim.optimizer.Optimizer.state_dict", false]], "step (stepoutput attribute)": [[57, "core.types.StepOutput.step", false]], "step() (optimizer method)": [[70, "optim.optimizer.Optimizer.step", false]], "stepoutput (class in core.types)": [[57, "core.types.StepOutput", false]], "support_models (transformersclient attribute)": [[15, "components.model_client.transformers_client.TransformersClient.support_models", false]], "text (document attribute)": [[57, "core.types.Document.text", false]], "text (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.text", false]], "textsplitter (class in components.data_process)": [[26, "components.data_process.TextSplitter", false]], "textsplitter (class in components.data_process.text_splitter)": [[8, "components.data_process.text_splitter.TextSplitter", false], [29, "components.data_process.text_splitter.TextSplitter", false]], "thought (function attribute)": [[57, "core.types.Function.thought", false]], "thought (functionexpression attribute)": [[57, "core.types.FunctionExpression.thought", false]], "thought (stepoutput attribute)": [[57, "core.types.StepOutput.thought", false]], "time_stamp (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.time_stamp", false]], "time_stamp (generatorstatesrecord attribute)": [[75, "tracing.generator_state_logger.GeneratorStatesRecord.time_stamp", false]], "to_dict() (component method)": [[40, "core.component.Component.to_dict", false]], "to_dict() (dataclass method)": [[39, "core.base_data_class.DataClass.to_dict", false]], "to_dict() (in module utils.serialization)": [[82, "utils.serialization.to_dict", false]], "to_dict() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.to_dict", false]], "to_dict() (parameter method)": [[51, "core.parameter.Parameter.to_dict", false]], "to_dict() (prompt method)": [[52, "core.prompt_builder.Prompt.to_dict", false]], "to_dict() (sample method)": [[71, "optim.sampler.Sample.to_dict", false]], "to_dict_class() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_dict_class", false]], "to_json() (dataclass method)": [[39, "core.base_data_class.DataClass.to_json", false]], "to_json_obj() (dataclass method)": [[39, "core.base_data_class.DataClass.to_json_obj", false]], "to_json_signature() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_json_signature", false]], "to_schema() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_schema", false]], "to_schema_str() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_schema_str", false]], "to_yaml() (dataclass method)": [[39, "core.base_data_class.DataClass.to_yaml", false]], "to_yaml_obj() (dataclass method)": [[39, "core.base_data_class.DataClass.to_yaml_obj", false]], "to_yaml_signature() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_yaml_signature", false]], "toembeddings (class in components.data_process)": [[26, "components.data_process.ToEmbeddings", false]], "toembeddings (class in components.data_process.data_components)": [[6, "components.data_process.data_components.ToEmbeddings", false], [27, "components.data_process.data_components.ToEmbeddings", false]], "token (tokenlogprob attribute)": [[57, "core.types.TokenLogProb.token", false]], "tokenizer (class in core.tokenizer)": [[55, "core.tokenizer.Tokenizer", false]], "tokenlogprob (class in core.types)": [[57, "core.types.TokenLogProb", false]], "toolmanager (class in core.tool_manager)": [[56, "core.tool_manager.ToolManager", false]], "torch (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.TORCH", false]], "total_tokens (usage attribute)": [[57, "core.types.Usage.total_tokens", false]], "trace_generator_call() (in module tracing.decorators)": [[73, "tracing.decorators.trace_generator_call", false]], "trace_generator_states() (in module tracing.decorators)": [[73, "tracing.decorators.trace_generator_states", false]], "tracing.decorators": [[73, "module-tracing.decorators", false]], "tracing.generator_call_logger": [[74, "module-tracing.generator_call_logger", false]], "tracing.generator_state_logger": [[75, "module-tracing.generator_state_logger", false]], "train() (component method)": [[40, "core.component.Component.train", false]], "training (component attribute)": [[40, "core.component.Component.training", false]], "transform() (localdb method)": [[42, "core.db.LocalDB.transform", false]], "transformed_items (localdb attribute)": [[42, "core.db.LocalDB.transformed_items", false]], "transformer_setups (localdb attribute)": [[42, "core.db.LocalDB.transformer_setups", false]], "transformerembedder (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformerEmbedder", false]], "transformerllm (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformerLLM", false]], "transformerreranker (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformerReranker", false]], "transformers (modelclienttype attribute)": [[57, "core.types.ModelClientType.TRANSFORMERS", false]], "transformers (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.TRANSFORMERS", false]], "transformersclient (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformersClient", false]], "type (objecttypes attribute)": [[82, "utils.serialization.ObjectTypes.TYPE", false]], "undefined (modeltype attribute)": [[57, "core.types.ModelType.UNDEFINED", false]], "update_default_model_kwargs() (embedder method)": [[45, "core.embedder.Embedder.update_default_model_kwargs", false]], "update_dialog_turn() (conversation method)": [[57, "core.types.Conversation.update_dialog_turn", false]], "update_parameter() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.update_parameter", false]], "update_parameter() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.update_parameter", false]], "update_prompt_kwargs() (prompt method)": [[52, "core.prompt_builder.Prompt.update_prompt_kwargs", false]], "update_value() (parameter method)": [[51, "core.parameter.Parameter.update_value", false]], "usage (class in core.types)": [[57, "core.types.Usage", false]], "usage (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.usage", false]], "usage (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.usage", false]], "user_id (conversation attribute)": [[57, "core.types.Conversation.user_id", false]], "user_id (dialogturn attribute)": [[57, "core.types.DialogTurn.user_id", false]], "user_query (dialogturn attribute)": [[57, "core.types.DialogTurn.user_query", false]], "user_query_timestamp (dialogturn attribute)": [[57, "core.types.DialogTurn.user_query_timestamp", false]], "userquery (class in core.types)": [[57, "core.types.UserQuery", false]], "utils.config": [[77, "module-utils.config", false]], "utils.file_io": [[78, "module-utils.file_io", false]], "utils.lazy_import": [[79, "module-utils.lazy_import", false]], "utils.logger": [[80, "module-utils.logger", false]], "utils.registry": [[81, "module-utils.registry", false]], "utils.serialization": [[82, "module-utils.serialization", false]], "utils.setup_env": [[83, "module-utils.setup_env", false]], "validate_data() (in module core.functional)": [[47, "core.functional.validate_data", false]], "vector (dialogturn attribute)": [[57, "core.types.DialogTurn.vector", false]], "vector (document attribute)": [[57, "core.types.Document.vector", false]], "write_list_to_jsonl() (in module utils.file_io)": [[78, "utils.file_io.write_list_to_jsonl", false]], "yaml_definitions (toolmanager property)": [[56, "core.tool_manager.ToolManager.yaml_definitions", false]], "yamloutputparser (class in components.output_parsers)": [[34, "components.output_parsers.YamlOutputParser", false]], "yamloutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.YamlOutputParser", false]], "yamlparser (class in core.string_parser)": [[54, "core.string_parser.YamlParser", false]]}, "objects": {"components": [[26, 0, 0, "-", "data_process"], [30, 0, 0, "-", "memory"], [32, 0, 0, "-", "model_client"], [34, 0, 0, "-", "output_parsers"], [35, 0, 0, "-", "reasoning"], [36, 0, 0, "-", "retriever"]], "components.agent": [[0, 0, 0, "-", "react"]], "components.agent.react": [[0, 1, 1, "", "ReActAgent"]], "components.agent.react.ReActAgent": [[0, 2, 1, "", "call"], [0, 2, 1, "", "reset"]], "components.data_process": [[26, 1, 1, "", "RetrieverOutputToContextStr"], [26, 1, 1, "", "TextSplitter"], [26, 1, 1, "", "ToEmbeddings"], [27, 0, 0, "-", "data_components"], [29, 0, 0, "-", "text_splitter"]], "components.data_process.TextSplitter": [[26, 2, 1, "", "call"], [26, 2, 1, "", "split_text"]], "components.data_process.data_components": [[27, 1, 1, "", "RetrieverOutputToContextStr"], [27, 1, 1, "", "ToEmbeddings"], [27, 3, 1, "", "retriever_output_to_context_str"]], "components.data_process.text_splitter": [[29, 1, 1, "", "TextSplitter"]], "components.data_process.text_splitter.TextSplitter": [[29, 2, 1, "", "call"], [29, 2, 1, "", "split_text"]], "components.memory": [[31, 0, 0, "-", "memory"]], "components.memory.memory": [[31, 1, 1, "", "Memory"]], "components.model_client": [[10, 0, 0, "-", "anthropic_client"], [11, 0, 0, "-", "cohere_client"], [13, 0, 0, "-", "groq_client"], [14, 0, 0, "-", "openai_client"], [15, 0, 0, "-", "transformers_client"], [33, 0, 0, "-", "utils"]], "components.model_client.anthropic_client": [[10, 1, 1, "", "AnthropicAPIClient"]], "components.model_client.anthropic_client.AnthropicAPIClient": [[10, 2, 1, "", "acall"], [10, 2, 1, "", "call"], [10, 2, 1, "", "convert_inputs_to_api_kwargs"], [10, 2, 1, "", "init_async_client"], [10, 2, 1, "", "init_sync_client"], [10, 2, 1, "", "parse_chat_completion"]], "components.model_client.cohere_client": [[11, 1, 1, "", "CohereAPIClient"]], "components.model_client.cohere_client.CohereAPIClient": [[11, 2, 1, "", "acall"], [11, 2, 1, "", "call"], [11, 2, 1, "", "convert_inputs_to_api_kwargs"], [11, 2, 1, "", "init_async_client"], [11, 2, 1, "", "init_sync_client"]], "components.model_client.groq_client": [[13, 1, 1, "", "GroqAPIClient"]], "components.model_client.groq_client.GroqAPIClient": [[13, 2, 1, "", "acall"], [13, 2, 1, "", "call"], [13, 2, 1, "", "convert_inputs_to_api_kwargs"], [13, 2, 1, "", "init_async_client"], [13, 2, 1, "", "init_sync_client"], [13, 2, 1, "", "parse_chat_completion"]], "components.model_client.openai_client": [[14, 1, 1, "", "OpenAIClient"], [14, 3, 1, "", "get_all_messages_content"], [14, 3, 1, "", "get_first_message_content"], [14, 3, 1, "", "get_probabilities"]], "components.model_client.openai_client.OpenAIClient": [[14, 2, 1, "", "acall"], [14, 2, 1, "", "call"], [14, 2, 1, "", "convert_inputs_to_api_kwargs"], [14, 2, 1, "", "from_dict"], [14, 2, 1, "", "init_async_client"], [14, 2, 1, "", "init_sync_client"], [14, 2, 1, "", "parse_chat_completion"], [14, 2, 1, "", "parse_embedding_response"], [14, 2, 1, "", "to_dict"]], "components.model_client.transformers_client": [[15, 1, 1, "", "TransformerEmbedder"], [15, 1, 1, "", "TransformerLLM"], [15, 1, 1, "", "TransformerReranker"], [15, 1, 1, "", "TransformersClient"], [15, 3, 1, "", "average_pool"]], "components.model_client.transformers_client.TransformerEmbedder": [[15, 2, 1, "", "infer_gte_base_embedding"], [15, 2, 1, "", "init_model"], [15, 4, 1, "", "models"]], "components.model_client.transformers_client.TransformerLLM": [[15, 2, 1, "", "call"], [15, 2, 1, "", "init_model"], [15, 4, 1, "", "models"], [15, 2, 1, "", "parse_chat_completion"]], "components.model_client.transformers_client.TransformerReranker": [[15, 2, 1, "", "infer_bge_reranker_base"], [15, 2, 1, "", "init_model"], [15, 4, 1, "", "models"]], "components.model_client.transformers_client.TransformersClient": [[15, 2, 1, "", "call"], [15, 2, 1, "", "convert_inputs_to_api_kwargs"], [15, 2, 1, "", "init_llm_client"], [15, 2, 1, "", "init_reranker_client"], [15, 2, 1, "", "init_sync_client"], [15, 2, 1, "", "parse_embedding_response"], [15, 4, 1, "", "support_models"]], "components.model_client.utils": [[33, 3, 1, "", "parse_embedding_response"]], "components.output_parsers": [[34, 1, 1, "", "JsonOutputParser"], [34, 1, 1, "", "ListOutputParser"], [34, 1, 1, "", "YamlOutputParser"], [17, 0, 0, "-", "outputs"]], "components.output_parsers.JsonOutputParser": [[34, 2, 1, "", "call"], [34, 2, 1, "", "format_instructions"]], "components.output_parsers.ListOutputParser": [[34, 2, 1, "", "call"], [34, 2, 1, "", "format_instructions"]], "components.output_parsers.YamlOutputParser": [[34, 2, 1, "", "call"], [34, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs": [[17, 1, 1, "", "BooleanOutputParser"], [17, 1, 1, "", "JsonOutputParser"], [17, 1, 1, "", "ListOutputParser"], [17, 1, 1, "", "OutputParser"], [17, 1, 1, "", "YamlOutputParser"]], "components.output_parsers.outputs.BooleanOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.JsonOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.ListOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.OutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.YamlOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.reasoning": [[18, 0, 0, "-", "chain_of_thought"]], "components.retriever": [[36, 1, 1, "", "BM25Retriever"], [36, 1, 1, "", "LLMRetriever"], [36, 1, 1, "", "RerankerRetriever"], [19, 0, 0, "-", "bm25_retriever"], [21, 0, 0, "-", "llm_retriever"], [23, 0, 0, "-", "reranker_retriever"], [36, 3, 1, "", "split_text_by_word_fn"], [36, 3, 1, "", "split_text_by_word_fn_then_lower_tokenized"]], "components.retriever.BM25Retriever": [[36, 2, 1, "", "build_index_from_documents"], [36, 2, 1, "", "call"], [36, 2, 1, "", "load_from_file"], [36, 2, 1, "", "reset_index"], [36, 2, 1, "", "save_to_file"]], "components.retriever.LLMRetriever": [[36, 2, 1, "", "build_index_from_documents"], [36, 2, 1, "", "call"], [36, 2, 1, "", "reset_index"]], "components.retriever.RerankerRetriever": [[36, 2, 1, "", "build_index_from_documents"], [36, 2, 1, "", "call"], [36, 2, 1, "", "reset_index"]], "components.retriever.bm25_retriever": [[19, 1, 1, "", "BM25Retriever"], [19, 3, 1, "", "split_text_by_word_fn"], [19, 3, 1, "", "split_text_by_word_fn_then_lower_tokenized"], [19, 3, 1, "", "split_text_tokenized"]], "components.retriever.bm25_retriever.BM25Retriever": [[19, 2, 1, "", "build_index_from_documents"], [19, 2, 1, "", "call"], [19, 2, 1, "", "load_from_file"], [19, 2, 1, "", "reset_index"], [19, 2, 1, "", "save_to_file"]], "components.retriever.llm_retriever": [[21, 1, 1, "", "LLMRetriever"]], "components.retriever.llm_retriever.LLMRetriever": [[21, 2, 1, "", "build_index_from_documents"], [21, 2, 1, "", "call"], [21, 2, 1, "", "reset_index"]], "components.retriever.reranker_retriever": [[23, 1, 1, "", "RerankerRetriever"]], "components.retriever.reranker_retriever.RerankerRetriever": [[23, 2, 1, "", "build_index_from_documents"], [23, 2, 1, "", "call"], [23, 2, 1, "", "reset_index"]], "core": [[39, 0, 0, "-", "base_data_class"], [40, 0, 0, "-", "component"], [42, 0, 0, "-", "db"], [43, 0, 0, "-", "default_prompt_template"], [45, 0, 0, "-", "embedder"], [46, 0, 0, "-", "func_tool"], [47, 0, 0, "-", "functional"], [48, 0, 0, "-", "generator"], [50, 0, 0, "-", "model_client"], [51, 0, 0, "-", "parameter"], [52, 0, 0, "-", "prompt_builder"], [53, 0, 0, "-", "retriever"], [54, 0, 0, "-", "string_parser"], [55, 0, 0, "-", "tokenizer"], [56, 0, 0, "-", "tool_manager"], [57, 0, 0, "-", "types"]], "core.base_data_class": [[39, 1, 1, "", "DataClass"], [39, 1, 1, "", "DataClassFormatType"], [39, 1, 1, "", "DynamicDataClassFactory"], [39, 3, 1, "", "required_field"]], "core.base_data_class.DataClass": [[39, 2, 1, "", "format_class_str"], [39, 2, 1, "", "format_example_str"], [39, 2, 1, "", "from_dict"], [39, 2, 1, "", "from_json"], [39, 2, 1, "", "from_yaml"], [39, 2, 1, "", "to_dict"], [39, 2, 1, "", "to_dict_class"], [39, 2, 1, "", "to_json"], [39, 2, 1, "", "to_json_obj"], [39, 2, 1, "", "to_json_signature"], [39, 2, 1, "", "to_schema"], [39, 2, 1, "", "to_schema_str"], [39, 2, 1, "", "to_yaml"], [39, 2, 1, "", "to_yaml_obj"], [39, 2, 1, "", "to_yaml_signature"]], "core.base_data_class.DataClassFormatType": [[39, 4, 1, "", "EXAMPLE_JSON"], [39, 4, 1, "", "EXAMPLE_YAML"], [39, 4, 1, "", "SCHEMA"], [39, 4, 1, "", "SIGNATURE_JSON"], [39, 4, 1, "", "SIGNATURE_YAML"]], "core.base_data_class.DynamicDataClassFactory": [[39, 2, 1, "", "create_from_dict"]], "core.component": [[40, 1, 1, "", "Component"], [40, 1, 1, "", "FunComponent"], [40, 1, 1, "", "Sequential"], [40, 3, 1, "", "fun_to_component"]], "core.component.Component": [[40, 2, 1, "", "acall"], [40, 2, 1, "", "add_component"], [40, 2, 1, "", "call"], [40, 2, 1, "", "children"], [40, 2, 1, "", "components"], [40, 2, 1, "", "eval"], [40, 2, 1, "", "from_config"], [40, 2, 1, "", "from_dict"], [40, 2, 1, "", "get_subcomponent"], [40, 2, 1, "", "is_picklable"], [40, 2, 1, "", "load_from_pickle"], [40, 2, 1, "", "load_state_dict"], [40, 2, 1, "", "load_state_pickle"], [40, 2, 1, "", "named_children"], [40, 2, 1, "", "named_components"], [40, 2, 1, "", "named_parameters"], [40, 2, 1, "", "parameters"], [40, 2, 1, "", "pickle_to_file"], [40, 2, 1, "", "register_component"], [40, 2, 1, "", "register_parameter"], [40, 2, 1, "", "state_dict"], [40, 2, 1, "", "to_dict"], [40, 2, 1, "", "train"], [40, 4, 1, "", "training"]], "core.component.FunComponent": [[40, 2, 1, "", "call"]], "core.component.Sequential": [[40, 2, 1, "", "append"], [40, 2, 1, "", "call"]], "core.db": [[42, 1, 1, "", "LocalDB"]], "core.db.LocalDB": [[42, 2, 1, "", "add"], [42, 2, 1, "", "delete"], [42, 2, 1, "", "extend"], [42, 2, 1, "", "fetch_items"], [42, 2, 1, "", "fetch_transformed_items"], [42, 2, 1, "", "get_transformed_data"], [42, 2, 1, "", "get_transformer_keys"], [42, 4, 1, "", "items"], [42, 5, 1, "", "length"], [42, 2, 1, "", "load"], [42, 2, 1, "", "load_state"], [42, 4, 1, "", "mapper_setups"], [42, 4, 1, "", "name"], [42, 2, 1, "", "register_transformer"], [42, 2, 1, "", "reset"], [42, 2, 1, "", "save_state"], [42, 2, 1, "", "transform"], [42, 4, 1, "", "transformed_items"], [42, 4, 1, "", "transformer_setups"]], "core.default_prompt_template": [[43, 6, 1, "", "DEFAULT_LIGHTRAG_SYSTEM_PROMPT"]], "core.embedder": [[45, 1, 1, "", "BatchEmbedder"], [45, 1, 1, "", "Embedder"]], "core.embedder.BatchEmbedder": [[45, 2, 1, "", "call"]], "core.embedder.Embedder": [[45, 2, 1, "", "acall"], [45, 2, 1, "", "call"], [45, 2, 1, "", "from_config"], [45, 4, 1, "", "model_client"], [45, 4, 1, "", "model_type"], [45, 4, 1, "", "output_processors"], [45, 2, 1, "", "update_default_model_kwargs"]], "core.func_tool": [[46, 1, 1, "", "FunctionTool"], [46, 3, 1, "", "is_running_in_event_loop"]], "core.func_tool.FunctionTool": [[46, 2, 1, "", "acall"], [46, 2, 1, "", "call"], [46, 2, 1, "", "execute"]], "core.functional": [[47, 3, 1, "", "compose_model_kwargs"], [47, 3, 1, "", "convert_schema_to_signature"], [47, 3, 1, "", "custom_asdict"], [47, 3, 1, "", "dataclass_obj_from_dict"], [47, 3, 1, "", "evaluate_ast_node"], [47, 3, 1, "", "extract_dataclass_type"], [47, 3, 1, "", "extract_json_str"], [47, 3, 1, "", "extract_list_str"], [47, 3, 1, "", "extract_yaml_str"], [47, 3, 1, "", "fix_json_escaped_single_quotes"], [47, 3, 1, "", "fix_json_missing_commas"], [47, 3, 1, "", "from_dict_to_json"], [47, 3, 1, "", "from_dict_to_yaml"], [47, 3, 1, "", "from_json_to_dict"], [47, 3, 1, "", "from_yaml_to_dict"], [47, 3, 1, "", "generate_function_call_expression_from_callable"], [47, 3, 1, "", "generate_readable_key_for_function"], [47, 3, 1, "", "get_dataclass_schema"], [47, 3, 1, "", "get_fun_schema"], [47, 3, 1, "", "get_top_k_indices_scores"], [47, 3, 1, "", "get_type_schema"], [47, 3, 1, "", "is_dataclass_instance"], [47, 3, 1, "", "is_normalized"], [47, 3, 1, "", "is_potential_dataclass"], [47, 3, 1, "", "normalize_np_array"], [47, 3, 1, "", "normalize_vector"], [47, 3, 1, "", "parse_function_call_expr"], [47, 3, 1, "", "parse_json_str_to_obj"], [47, 3, 1, "", "parse_yaml_str_to_obj"], [47, 3, 1, "", "represent_ordereddict"], [47, 3, 1, "", "sandbox_exec"], [47, 3, 1, "", "validate_data"]], "core.generator": [[48, 1, 1, "", "Generator"]], "core.generator.Generator": [[48, 2, 1, "", "acall"], [48, 2, 1, "", "call"], [48, 2, 1, "", "from_config"], [48, 4, 1, "", "model_client"], [48, 4, 1, "", "model_type"], [48, 2, 1, "", "print_prompt"]], "core.model_client": [[50, 1, 1, "", "ModelClient"]], "core.model_client.ModelClient": [[50, 2, 1, "", "acall"], [50, 2, 1, "", "call"], [50, 2, 1, "", "convert_inputs_to_api_kwargs"], [50, 2, 1, "", "init_async_client"], [50, 2, 1, "", "init_sync_client"], [50, 2, 1, "", "parse_chat_completion"], [50, 2, 1, "", "parse_embedding_response"]], "core.parameter": [[51, 1, 1, "", "Parameter"]], "core.parameter.Parameter": [[51, 2, 1, "", "to_dict"], [51, 2, 1, "", "update_value"]], "core.prompt_builder": [[52, 1, 1, "", "Prompt"], [52, 3, 1, "", "get_jinja2_environment"]], "core.prompt_builder.Prompt": [[52, 2, 1, "", "call"], [52, 2, 1, "", "compose_prompt_kwargs"], [52, 2, 1, "", "from_dict"], [52, 2, 1, "", "get_prompt_variables"], [52, 2, 1, "", "is_key_in_template"], [52, 2, 1, "", "print_prompt"], [52, 2, 1, "", "print_prompt_template"], [52, 2, 1, "", "to_dict"], [52, 2, 1, "", "update_prompt_kwargs"]], "core.retriever": [[53, 1, 1, "", "Retriever"]], "core.retriever.Retriever": [[53, 2, 1, "", "acall"], [53, 2, 1, "", "build_index_from_documents"], [53, 2, 1, "", "call"], [53, 4, 1, "", "index_keys"], [53, 4, 1, "", "indexed"], [53, 2, 1, "", "load_from_file"], [53, 2, 1, "", "reset_index"], [53, 2, 1, "", "save_to_file"]], "core.string_parser": [[54, 1, 1, "", "JsonParser"], [54, 1, 1, "", "ListParser"], [54, 1, 1, "", "YamlParser"]], "core.string_parser.JsonParser": [[54, 2, 1, "", "call"]], "core.string_parser.YamlParser": [[54, 2, 1, "", "call"]], "core.tokenizer": [[55, 1, 1, "", "Tokenizer"]], "core.tokenizer.Tokenizer": [[55, 2, 1, "", "count_tokens"], [55, 2, 1, "", "decode"], [55, 2, 1, "", "encode"], [55, 2, 1, "", "get_string_tokens"], [55, 2, 1, "", "preprocess"]], "core.tool_manager": [[56, 1, 1, "", "ToolManager"]], "core.tool_manager.ToolManager": [[56, 2, 1, "", "execute_func"], [56, 2, 1, "", "execute_func_expr"], [56, 2, 1, "", "execute_func_expr_via_eval"], [56, 2, 1, "", "execute_func_expr_via_sandbox"], [56, 5, 1, "", "function_definitions"], [56, 5, 1, "", "json_definitions"], [56, 2, 1, "", "parse_func_expr"], [56, 5, 1, "", "yaml_definitions"]], "core.types": [[57, 1, 1, "", "AssistantResponse"], [57, 1, 1, "", "Conversation"], [57, 1, 1, "", "DialogTurn"], [57, 1, 1, "", "Document"], [57, 1, 1, "", "EmbedderOutput"], [57, 4, 1, "", "EmbedderOutputType"], [57, 1, 1, "", "Embedding"], [57, 1, 1, "", "Function"], [57, 1, 1, "", "FunctionDefinition"], [57, 1, 1, "", "FunctionExpression"], [57, 1, 1, "", "FunctionOutput"], [57, 1, 1, "", "GeneratorOutput"], [57, 1, 1, "", "ModelClientType"], [57, 1, 1, "", "ModelType"], [57, 1, 1, "", "RetrieverOutput"], [57, 1, 1, "", "StepOutput"], [57, 1, 1, "", "TokenLogProb"], [57, 1, 1, "", "Usage"], [57, 1, 1, "", "UserQuery"], [57, 3, 1, "", "get_model_args"]], "core.types.AssistantResponse": [[57, 4, 1, "", "metadata"], [57, 4, 1, "", "response_str"]], "core.types.Conversation": [[57, 2, 1, "", "append_dialog_turn"], [57, 4, 1, "", "created_at"], [57, 2, 1, "", "delete_dialog_turn"], [57, 4, 1, "", "dialog_turns"], [57, 4, 1, "", "dialog_turns_input"], [57, 2, 1, "", "get_chat_history_str"], [57, 2, 1, "", "get_dialog_turns"], [57, 2, 1, "", "get_next_order"], [57, 4, 1, "", "id"], [57, 4, 1, "", "metadata"], [57, 4, 1, "", "name"], [57, 2, 1, "", "update_dialog_turn"], [57, 4, 1, "", "user_id"]], "core.types.DialogTurn": [[57, 4, 1, "", "assistant_response"], [57, 4, 1, "", "assistant_response_timestamp"], [57, 4, 1, "", "conversation_id"], [57, 4, 1, "", "id"], [57, 4, 1, "", "metadata"], [57, 4, 1, "", "order"], [57, 2, 1, "", "set_assistant_response"], [57, 2, 1, "", "set_user_query"], [57, 4, 1, "", "user_id"], [57, 4, 1, "", "user_query"], [57, 4, 1, "", "user_query_timestamp"], [57, 4, 1, "", "vector"]], "core.types.Document": [[57, 4, 1, "", "estimated_num_tokens"], [57, 2, 1, "", "from_dict"], [57, 4, 1, "", "id"], [57, 4, 1, "", "meta_data"], [57, 4, 1, "", "order"], [57, 4, 1, "", "parent_doc_id"], [57, 4, 1, "", "score"], [57, 4, 1, "", "text"], [57, 4, 1, "", "vector"]], "core.types.EmbedderOutput": [[57, 4, 1, "", "data"], [57, 5, 1, "", "embedding_dim"], [57, 4, 1, "", "error"], [57, 4, 1, "", "input"], [57, 5, 1, "", "is_normalized"], [57, 5, 1, "", "length"], [57, 4, 1, "", "model"], [57, 4, 1, "", "raw_response"], [57, 4, 1, "", "usage"]], "core.types.Embedding": [[57, 4, 1, "", "embedding"], [57, 4, 1, "", "index"]], "core.types.Function": [[57, 4, 1, "", "args"], [57, 4, 1, "", "kwargs"], [57, 4, 1, "", "name"], [57, 4, 1, "", "thought"]], "core.types.FunctionDefinition": [[57, 2, 1, "", "fn_schema_str"], [57, 4, 1, "", "func_desc"], [57, 4, 1, "", "func_name"], [57, 4, 1, "", "func_parameters"]], "core.types.FunctionExpression": [[57, 4, 1, "", "action"], [57, 2, 1, "", "from_function"], [57, 4, 1, "", "thought"]], "core.types.FunctionOutput": [[57, 4, 1, "", "error"], [57, 4, 1, "", "input"], [57, 4, 1, "", "name"], [57, 4, 1, "", "output"], [57, 4, 1, "", "parsed_input"]], "core.types.GeneratorOutput": [[57, 4, 1, "", "data"], [57, 4, 1, "", "error"], [57, 4, 1, "", "metadata"], [57, 4, 1, "", "raw_response"], [57, 4, 1, "", "usage"]], "core.types.ModelClientType": [[57, 4, 1, "", "ANTHROPIC"], [57, 4, 1, "", "COHERE"], [57, 4, 1, "", "GROQ"], [57, 4, 1, "", "OPENAI"], [57, 4, 1, "", "TRANSFORMERS"]], "core.types.ModelType": [[57, 4, 1, "", "EMBEDDER"], [57, 4, 1, "", "LLM"], [57, 4, 1, "", "RERANKER"], [57, 4, 1, "", "UNDEFINED"]], "core.types.RetrieverOutput": [[57, 4, 1, "", "doc_indices"], [57, 4, 1, "", "doc_scores"], [57, 4, 1, "", "documents"], [57, 4, 1, "", "query"]], "core.types.StepOutput": [[57, 4, 1, "", "action"], [57, 4, 1, "", "fun_args"], [57, 4, 1, "", "fun_kwargs"], [57, 4, 1, "", "fun_name"], [57, 4, 1, "", "observation"], [57, 4, 1, "", "step"], [57, 4, 1, "", "thought"]], "core.types.TokenLogProb": [[57, 4, 1, "", "logprob"], [57, 4, 1, "", "token"]], "core.types.Usage": [[57, 4, 1, "", "prompt_tokens"], [57, 4, 1, "", "total_tokens"]], "core.types.UserQuery": [[57, 4, 1, "", "metadata"], [57, 4, 1, "", "query_str"]], "eval": [[59, 0, 0, "-", "answer_match_acc"], [61, 0, 0, "-", "llm_as_judge"], [62, 0, 0, "-", "retriever_recall"], [63, 0, 0, "-", "retriever_relevance"]], "eval.answer_match_acc": [[59, 1, 1, "", "AnswerMatchAcc"]], "eval.answer_match_acc.AnswerMatchAcc": [[59, 2, 1, "", "compute"]], "eval.llm_as_judge": [[61, 1, 1, "", "DefaultLLMJudge"], [61, 1, 1, "", "LLMasJudge"]], "eval.llm_as_judge.DefaultLLMJudge": [[61, 2, 1, "", "call"]], "eval.llm_as_judge.LLMasJudge": [[61, 2, 1, "", "compute"]], "eval.retriever_recall": [[62, 1, 1, "", "RetrieverRecall"]], "eval.retriever_recall.RetrieverRecall": [[62, 2, 1, "", "compute"]], "eval.retriever_relevance": [[63, 1, 1, "", "RetrieverRelevance"]], "eval.retriever_relevance.RetrieverRelevance": [[63, 2, 1, "", "compute"]], "optim": [[67, 0, 0, "-", "few_shot_optimizer"], [68, 0, 0, "-", "llm_augment"], [69, 0, 0, "-", "llm_optimizer"], [70, 0, 0, "-", "optimizer"], [71, 0, 0, "-", "sampler"]], "optim.few_shot_optimizer": [[67, 1, 1, "", "BootstrapFewShot"]], "optim.few_shot_optimizer.BootstrapFewShot": [[67, 2, 1, "", "augment_samples"], [67, 2, 1, "", "init"], [67, 2, 1, "", "propose"], [67, 2, 1, "", "random_replace"], [67, 2, 1, "", "reset"], [67, 2, 1, "", "reset_parameter"], [67, 2, 1, "", "update_parameter"]], "optim.llm_augment": [[68, 1, 1, "", "LLMAugmenter"]], "optim.llm_augment.LLMAugmenter": [[68, 2, 1, "", "call"]], "optim.llm_optimizer": [[69, 1, 1, "", "Instruction"], [69, 1, 1, "", "LLMOptimizer"]], "optim.llm_optimizer.Instruction": [[69, 4, 1, "", "gts"], [69, 4, 1, "", "responses"], [69, 4, 1, "", "score"], [69, 4, 1, "", "text"]], "optim.llm_optimizer.LLMOptimizer": [[69, 2, 1, "", "propose"], [69, 2, 1, "", "reset"], [69, 2, 1, "", "reset_parameter"], [69, 2, 1, "", "update_parameter"]], "optim.optimizer": [[70, 1, 1, "", "Optimizer"]], "optim.optimizer.Optimizer": [[70, 2, 1, "", "state_dict"], [70, 2, 1, "", "step"]], "optim.sampler": [[71, 1, 1, "", "ClassSampler"], [71, 1, 1, "", "RandomSampler"], [71, 1, 1, "", "Sample"], [71, 1, 1, "", "Sampler"]], "optim.sampler.ClassSampler": [[71, 2, 1, "", "call"], [71, 2, 1, "", "random_replace"], [71, 2, 1, "", "random_sample"]], "optim.sampler.RandomSampler": [[71, 2, 1, "", "call"], [71, 4, 1, "", "dataset"], [71, 2, 1, "", "random_replace"], [71, 2, 1, "", "random_sample"]], "optim.sampler.Sample": [[71, 4, 1, "", "data"], [71, 4, 1, "", "index"], [71, 2, 1, "", "to_dict"]], "optim.sampler.Sampler": [[71, 2, 1, "", "call"], [71, 2, 1, "", "random_replace"]], "tracing": [[73, 0, 0, "-", "decorators"], [74, 0, 0, "-", "generator_call_logger"], [75, 0, 0, "-", "generator_state_logger"]], "tracing.decorators": [[73, 3, 1, "", "trace_generator_call"], [73, 3, 1, "", "trace_generator_states"]], "tracing.generator_call_logger": [[74, 1, 1, "", "GeneratorCallLogger"], [74, 1, 1, "", "GeneratorCallRecord"]], "tracing.generator_call_logger.GeneratorCallLogger": [[74, 5, 1, "", "generator_names_to_files"], [74, 2, 1, "", "get_calls"], [74, 2, 1, "", "get_log_location"], [74, 2, 1, "", "load"], [74, 2, 1, "", "load_meta_data"], [74, 2, 1, "", "log_call"], [74, 2, 1, "", "register_generator"], [74, 2, 1, "", "save_meta_data"]], "tracing.generator_call_logger.GeneratorCallRecord": [[74, 4, 1, "", "model_kwargs"], [74, 4, 1, "", "output"], [74, 4, 1, "", "prompt_kwargs"], [74, 4, 1, "", "time_stamp"]], "tracing.generator_state_logger": [[75, 1, 1, "", "GeneratorStateLogger"], [75, 1, 1, "", "GeneratorStatesRecord"]], "tracing.generator_state_logger.GeneratorStateLogger": [[75, 5, 1, "", "generator_names"], [75, 2, 1, "", "get_log_location"], [75, 2, 1, "", "load"], [75, 2, 1, "", "log_prompt"], [75, 2, 1, "", "save"]], "tracing.generator_state_logger.GeneratorStatesRecord": [[75, 4, 1, "", "prompt_states"], [75, 4, 1, "", "time_stamp"]], "utils": [[77, 0, 0, "-", "config"], [78, 0, 0, "-", "file_io"], [79, 0, 0, "-", "lazy_import"], [80, 0, 0, "-", "logger"], [81, 0, 0, "-", "registry"], [82, 0, 0, "-", "serialization"], [83, 0, 0, "-", "setup_env"]], "utils.config": [[77, 3, 1, "", "new_component"], [77, 3, 1, "", "new_components_from_config"]], "utils.file_io": [[78, 3, 1, "", "append_to_jsonl"], [78, 3, 1, "", "load"], [78, 3, 1, "", "load_json"], [78, 3, 1, "", "load_jsonl"], [78, 3, 1, "", "load_pickle"], [78, 3, 1, "", "save"], [78, 3, 1, "", "save_json"], [78, 3, 1, "", "save_pickle"], [78, 3, 1, "", "write_list_to_jsonl"]], "utils.lazy_import": [[79, 1, 1, "", "LazyImport"], [79, 1, 1, "", "OptionalPackages"], [79, 3, 1, "", "safe_import"]], "utils.lazy_import.OptionalPackages": [[79, 4, 1, "", "ANTHROPIC"], [79, 4, 1, "", "COHERE"], [79, 4, 1, "", "FAISS"], [79, 4, 1, "", "GOOGLE_GENERATIVEAI"], [79, 4, 1, "", "GROQ"], [79, 4, 1, "", "OPENAI"], [79, 4, 1, "", "PGVECTOR"], [79, 4, 1, "", "SQLALCHEMY"], [79, 4, 1, "", "TORCH"], [79, 4, 1, "", "TRANSFORMERS"]], "utils.logger": [[80, 3, 1, "", "enable_library_logging"], [80, 3, 1, "", "get_current_script_and_line"], [80, 3, 1, "", "get_logger"], [80, 3, 1, "", "printc"]], "utils.registry": [[81, 1, 1, "", "EntityMapping"]], "utils.registry.EntityMapping": [[81, 2, 1, "", "get"], [81, 2, 1, "", "get_all"], [81, 2, 1, "", "register"]], "utils.serialization": [[82, 1, 1, "", "ObjectTypes"], [82, 3, 1, "", "check_object"], [82, 3, 1, "", "default"], [82, 3, 1, "", "deserialize"], [82, 3, 1, "", "serialize"], [82, 3, 1, "", "to_dict"]], "utils.serialization.ObjectTypes": [[82, 4, 1, "", "CLASS"], [82, 4, 1, "", "INSTANCE"], [82, 4, 1, "", "TYPE"]], "utils.setup_env": [[83, 3, 1, "", "setup_env"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute", "5": "py:property", "6": "py:data"}, "terms": {"": [8, 10, 13, 14, 15, 18, 19, 24, 26, 29, 36, 40, 46, 50, 51, 52, 53, 71, 80, 84, 88, 89, 90, 92, 93, 94, 95, 96, 98, 99, 101, 106, 109, 110, 111, 112, 115, 116, 121, 123], "0": [8, 11, 19, 26, 29, 36, 39, 40, 42, 47, 48, 57, 59, 61, 62, 63, 69, 84, 88, 90, 92, 94, 95, 102, 108, 109, 110, 111, 112, 115, 118], "00": [92, 93], "0001": 47, "00016600126": 94, "00018637415": 94, "0003912348": 94, "00045548353": 94, "00063306844": 94, "00093111617": 94, "0009763892": 94, "001149847": 94, "001270235": 94, "001274437": 94, "0013953627": 94, "0015121206": 94, "0016585035": 94, "0017067948": 94, "0017369769": 94, "0018af12": 92, "002240922": 94, "0023736332": 94, "0024688914": 94, "0025802834": 94, "0027390209": 94, "002749016": 94, "0027831418": 94, "0032514224": 94, "0032596611": 94, "0035554452": 94, "0035945757": 94, "004110795": 94, "0042391727": 94, "00427709": 94, "004391488": 94, "0045538875": 94, "0048683644": 94, "005190901": 94, "005429781": 94, "0055172783": 94, "0059066266": 94, "0060756463": 94, "0065862634": 94, "006953944": 94, "007086745": 94, "0072255824": 94, "0073946016": 94, "007424784": 94, "0076722763": 94, "008243256": 94, "008804435": 94, "00888027": 94, "00918361": 94, "0092658885": 94, "009380581": 94, "009410762": 94, "009845384": 94, "0098876385": 94, "0099192085": 94, "00z": 92, "010159277": 94, "010340369": 94, "01047317": 94, "010648226": 94, "010723059": 94, "011026398": 94, "01102852": 94, "011178068": 94, "011329738": 94, "011336377": 94, "011663412": 94, "0118985": 94, "012314276": 94, "012414178": 94, "012519513": 94, "012596182": 94, "012740267": 94, "01283127": 94, "012846436": 94, "013225611": 94, "013376684": 94, "013642286": 94, "013799232": 94, "014256966": 94, "014401053": 94, "0144541375": 94, "014545139": 94, "014752985": 94, "014813349": 94, "01541699": 94, "015417241": 94, "015500659": 94, "015549791": 94, "015742956": 94, "015791247": 94, "015851611": 94, "01600117": 94, "016137673": 94, "016201723": 94, "016310379": 94, "016319677": 94, "016503545": 94, "016853655": 94, "017123526": 94, "017179621": 94, "017199362": 94, "01721584": 94, "017252058": 94, "017384859": 94, "0175027": 94, "017819481": 94, "017942544": 94, "018185215": 94, "01821555": 94, "018579558": 94, "019038836": 94, "019186236": 94, "019337907": 94, "01965455": 94, "01t12": 92, "01z": 92, "020113317": 94, "020202424": 94, "020318555": 94, "02047543": 94, "020702936": 94, "02072903": 94, "020733269": 94, "020777322": 94, "02094634": 94, "02170693": 94, "021855626": 94, "022022463": 94, "022083132": 94, "022370934": 94, "022491662": 94, "022583641": 94, "022795979": 94, "022917315": 94, "023175154": 94, "02349366": 94, "02435818": 94, "024447458": 94, "024479514": 94, "02448e3fd394": 92, "02449575": 94, "024570517": 94, "024691852": 94, "024773424": 94, "02479802": 94, "024821715": 94, "0249183": 94, "024919357": 94, "024995193": 94, "025014881": 94, "025159756": 94, "025237864": 94, "025283365": 94, "025304629": 94, "025344033": 94, "0253592": 94, "025449503": 94, "025763396": 94, "025811687": 94, "025829377": 94, "026026547": 94, "02642089": 94, "02646639": 94, "026527058": 94, "026560202": 94, "026845565": 94, "02686073": 94, "027526028": 94, "027646756": 94, "027719192": 94, "02781625": 94, "02787692": 94, "027888212": 94, "028250396": 94, "028274542": 94, "028392596": 94, "028419416": 94, "028588437": 94, "028709164": 94, "028711103": 94, "028999276": 94, "029023057": 94, "029095493": 94, "029393617": 94, "029454285": 94, "029578406": 94, "02959079": 94, "029819863": 94, "02t15": 101, "02z": 92, "030351067": 94, "030515974": 94, "030561475": 94, "030737398": 94, "031122655": 94, "031425994": 94, "03148666": 94, "031992972": 94, "032282718": 94, "03250003": 94, "03254835": 94, "03288636": 94, "032958794": 94, "033031233": 94, "033200253": 94, "033320982": 94, "03374": 95, "03409": 69, "03414193": 94, "034190223": 94, "034338057": 94, "03438339": 94, "034398723": 94, "034489725": 94, "034673136": 94, "034793064": 94, "035096403": 94, "03520434": 94, "035276778": 94, "03530092": 94, "035399742": 94, "0354458": 94, "035460413": 94, "03567275": 94, "03575969": 94, "035794087": 94, "035945754": 94, "036188427": 94, "036249094": 94, "03629": [0, 87], "03648406": 94, "036582768": 94, "03718945": 94, "037280865": 94, "037715487": 94, "03773546": 94, "037787925": 94, "03828147": 94, "038294982": 94, "03841571": 94, "038463477": 94, "038898624": 94, "039161157": 94, "03934316": 94, "03940383": 94, "03940568": 94, "039555497": 94, "039792012": 94, "039828505": 94, "039919507": 94, "03t16": 101, "03z": 92, "04": 93, "040178344": 94, "040274926": 94, "04090271": 94, "041820247": 94, "041868538": 94, "042224888": 94, "042285554": 94, "042497892": 94, "042649563": 94, "042810217": 94, "0428619": 94, "042922568": 94, "042952903": 94, "043104574": 94, "04352925": 94, "04363117": 94, "043776043": 94, "043802254": 94, "043893255": 94, "044017497": 94, "0442831": 94, "044408932": 94, "0445487": 94, "044596992": 94, "04500747": 94, "045128196": 94, "045200635": 94, "045318954": 94, "04537962": 94, "045409955": 94, "045500956": 94, "045755986": 94, "046214752": 94, "046380643": 94, "046842538": 94, "047301304": 94, "04732545": 94, "04735133": 94, "04744618": 94, "048018675": 94, "048170548": 94, "048242986": 94, "04844335": 94, "048534352": 94, "04865569": 94, "04874669": 94, "04882248": 94, "0491107": 94, "049112227": 94, "049257103": 94, "049474705": 94, "04964343": 94, "04988489": 94, "04it": 92, "05011172": 94, "050126344": 94, "050688066": 94, "050995983": 102, "05133363": 94, "051385745": 94, "051749755": 94, "05202276": 94, "052057996": 94, "052106287": 94, "05220287": 94, "052417103": 94, "053175453": 94, "05331357": 94, "05338779": 94, "05369113": 94, "05408623": 94, "054115806": 94, "054617435": 94, "054762308": 94, "055341803": 94, "055390093": 94, "055631552": 94, "055824716": 94, "05584484": 94, "05606617": 94, "056500793": 94, "056549083": 94, "057031997": 94, "057118867": 94, "057209868": 94, "05794953": 94, "057968218": 94, "05877048": 94, "059393916": 94, "059543144": 94, "059977766": 94, "06": 101, "060026057": 94, "06033427": 94, "060455605": 94, "060750425": 94, "060758945": 94, "060940947": 94, "06109262": 94, "06205429": 94, "062150873": 94, "062199164": 94, "062427312": 94, "06244062": 94, "0625372": 94, "062609315": 94, "06335816": 94, "063458666": 94, "06351934": 94, "06358001": 94, "06424735": 94, "06430802": 94, "06437227": 94, "06527871": 94, "065521374": 94, "065724425": 94, "06596588": 94, "06615905": 94, "066492066": 94, "06691674": 94, "067159414": 94, "06782676": 94, "06799412": 94, "06842874": 94, "06881507": 94, "069404125": 94, "06978089": 94, "06995014": 94, "06ea7cea": 92, "070553556": 94, "07061748": 94, "0708433": 94, "0708916": 94, "07113305": 94, "07158817": 94, "07185742": 94, "07249819": 94, "07261953": 94, "07296812": 94, "07298353": 94, "074030526": 94, "07407882": 94, "07456173": 94, "07486424": 94, "07510691": 94, "07595626": 94, "07597": 15, "076138265": 94, "07654167": 94, "07736263": 94, "077507496": 94, "07753363": 94, "077776305": 94, "07794212": 94, "0780387": 94, "078569904": 94, "078763075": 94, "07881136": 94, "079110995": 94, "07989968": 94, "08088789": 94, "08103276": 94, "08112934": 94, "081225924": 94, "08199859": 94, "08256907": 94, "08275107": 94, "08277125": 94, "082872406": 94, "083054416": 94, "08317575": 94, "083539754": 94, "083600424": 94, "083737075": 94, "08397853": 94, "0841717": 94, "08426777": 94, "08432844": 94, "084389105": 94, "08494435": 94, "08523846": 94, "085717015": 94, "085905805": 94, "08651248": 94, "08658626": 94, "08663": 109, "08669449": 94, "08774": 95, "08851453": 94, "08861449": 94, "08880766": 94, "088952534": 94, "08962861": 94, "09": 92, "090455905": 94, "09081991": 94, "09100191": 94, "091183916": 94, "091244586": 94, "09148726": 94, "09172993": 94, "09199488": 94, "09209394": 94, "09213976": 94, "092639945": 94, "0935402": 94, "09354997": 94, "09382995": 94, "09433865": 94, "0946509": 94, "09503723": 94, "09614793": 94, "09634069": 94, "09793471": 94, "09925275": 94, "099495426": 94, "0d16": [8, 26, 29, 111], "0d95cc65e6ef": 94, "0th": 110, "0x104970220": 112, "0x104970400": 112, "0x105e3b920": 112, "0x105e3bc40": 112, "0x1062a2840": 112, "0x106d691c0": 112, "0x10fb26f20": 92, "0x11742eca0": 112, "0x117b98360": 112, "0x14d9d3f60": 112, "0x14d9e4040": 112, "0x14d9e40e0": 112, "0x14d9e4180": 112, "0x14d9e4220": 112, "0x14d9e4360": 112, "1": [0, 8, 14, 15, 17, 18, 19, 21, 24, 26, 29, 36, 39, 40, 42, 45, 46, 52, 54, 57, 59, 61, 62, 63, 69, 77, 79, 82, 84, 88, 90, 92, 93, 95, 99, 101, 102, 106, 108, 109, 111, 114, 118, 121, 123], "10": [0, 71, 80, 92, 98, 109, 112, 114, 118, 123], "100": [17, 45, 57, 77, 92, 93, 94, 95, 102, 110, 118], "1000": [8, 26, 29, 93, 116], "100156106": 94, "10046611": 94, "10054244": 94, "10064811": 94, "10204348": 94, "10205": 92, "10210415": 94, "1024": 99, "102407485": 94, "102468155": 94, "10289283": 94, "1029535": 94, "103074834": 94, "104888655": 94, "10519821": 94, "10580489": 94, "106168896": 94, "106957585": 94, "10762493": 94, "10875195": 94, "10950564": 94, "11": [18, 93, 109], "111386344": 94, "11155285": 94, "11164943": 94, "11174601": 94, "1124177": 94, "11396741": 94, "11423773": 94, "11496575": 94, "11532976": 94, "1156331": 94, "115995646": 94, "11618881": 94, "11686489": 94, "11802388": 94, "11903": 18, "12": [95, 115], "121821225": 94, "12218524": 94, "122670576": 94, "122853": 94, "123": [51, 57], "127": 84, "128": 118, "12936": 110, "12it": 92, "13": 110, "13125569": 94, "13164201": 94, "13225": 110, "1328": 110, "13395482": 94, "13516818": 94, "13577485": 94, "13985154": 94, "13ac": 110, "14": 102, "14545332": 94, "14796448": 94, "15": [84, 94, 95, 110], "150": 15, "151683837681807": 109, "15d838c4": 110, "16": 11, "163da9868ea4": [8, 26, 29, 111], "16574481": 94, "17": 110, "17654371": 94, "17761531": 94, "17933443": 94, "17e7": 110, "18041": 95, "18089913": 94, "18447268": 94, "19306852": 94, "196ec25d39c4": 94, "19736": 95, "1976": [62, 63, 95], "1997": 87, "1998": [62, 63, 95], "1dfe96ccb65f": 110, "2": [0, 8, 14, 15, 17, 18, 19, 24, 26, 29, 34, 36, 39, 40, 42, 46, 48, 52, 54, 57, 59, 61, 62, 77, 82, 84, 88, 90, 92, 93, 94, 95, 99, 102, 106, 108, 109, 111, 114, 121, 123], "20": 90, "200": [8, 26, 29, 77, 110], "2014": [19, 36], "2020": [95, 99], "2021": [92, 95], "2023": [0, 18, 95], "2024": [11, 13, 95, 101], "20240229": 99, "20417552": 94, "21": [101, 110], "2104": 109, "2107": 95, "21549304": 102, "2167": 92, "21f0385d": 92, "22": [13, 112], "2201": 18, "2210": [0, 87], "223220": 101, "2303": 95, "2309": [15, 69], "2310": 95, "2329ffa8d4b6": 92, "2375": 110, "2402": 95, "24047995": 102, "24366009": 102, "24it": 92, "25": [19, 36, 39, 109, 110, 118, 123], "256": [45, 77, 92, 93, 94, 109, 110], "26": 115, "27": 108, "27cc": 92, "28": [62, 63, 95], "29": [62, 63, 95], "2971": 110, "2a78": 92, "2e25ae5336c8": [8, 26, 29, 111], "2e6f4452827b": 92, "2e8e63041698": 92, "2ed0196b0c81": 110, "2f": 112, "2it": 92, "3": [18, 19, 36, 40, 42, 45, 47, 48, 54, 57, 59, 61, 62, 77, 82, 84, 88, 90, 92, 93, 94, 95, 96, 99, 102, 106, 108, 109, 111, 114, 118, 121, 123], "30": [39, 115], "32": 118, "32768": 13, "3333333333333333": 95, "33437008": 102, "353b738c1b71": 92, "37": 101, "37041178": 102, "37e1d8ff0526": 92, "37it": 92, "38": 95, "382": 110, "3927": [8, 26, 29, 111], "3rd": [39, 109], "4": [13, 47, 57, 84, 95, 108, 109, 112, 115, 121, 123], "40": 98, "400": 77, "401": 96, "405a": 92, "4077": 92, "40f0": [8, 26, 29, 111], "4206": 92, "4248": [8, 26, 29, 111], "435b": 92, "439037e58842": 110, "43a4": 92, "43f5": 92, "44": 101, "442f": 92, "4499fa22525d": 110, "44a8aa37": [8, 26, 29, 111], "45": [95, 101], "4509756": 102, "456": 51, "4568096570283078": 109, "45efa517": 92, "4667": 92, "46it": 92, "4780": [92, 110], "483b": 92, "4870": 92, "48ce": 92, "49": 110, "4917": 94, "493d": 92, "4972": 110, "49b5": [8, 26, 29, 111], "49ff": 92, "4bd0": 92, "4c00": 110, "4c39": 110, "4c92": 110, "4cc5": 110, "4ce3": 94, "4dde": 110, "4df0": 110, "4dfa": 110, "4e24": 92, "4e69": 110, "4eb4": 92, "4f5f": 92, "4f88": [8, 26, 29, 111], "4o": 109, "5": [8, 18, 19, 23, 26, 29, 36, 40, 46, 47, 48, 88, 90, 92, 95, 96, 99, 102, 108, 109, 110, 111, 112, 115, 118, 121, 123], "50": [6, 26, 27, 92, 110, 112], "512": 102, "5166601493236314": 109, "518a": 92, "5316efd58d58": 92, "5343238380789569": 109, "55": 101, "557cc52b": 110, "56": 101, "569a": 92, "582859": 101, "59it": 93, "5ba2": 94, "6": [11, 18, 71, 92, 95, 102, 109, 110, 112, 121], "6060606060606061": [63, 95], "609": 92, "6175549": 102, "6229580777634034": [19, 36], "6294762236217233": 109, "63072": 92, "64": 118, "64987b2b": 92, "6666666666666666": [95, 112], "68ae": 110, "6bd772b9": 110, "7": [108, 109, 121], "70b": [13, 108], "72": 112, "724": 110, "7335e34ee0c6": 92, "73c12be3": 92, "741": 110, "75": [19, 36, 109], "756148": 101, "765794": 101, "768": 93, "7749403119087219": 95, "7749999761581421": 109, "7790170272403408": 109, "7844": 92, "7853187918663025": 95, "78917586": 94, "7959791421890259": 95, "79it": 92, "7a17ed45": 92, "7a4f86892556": 92, "7b": [13, 15], "7de4b00a": 110, "8": [19, 36, 102, 109, 110, 115], "80": 84, "800": [8, 26, 29], "8000": 84, "803030303030303": [63, 95], "8031794089550072": 109, "8109999895095825": 109, "8119999766349792": 109, "8169999718666077": 109, "8192": [13, 40, 96, 108, 118], "840021aa1953": 92, "844a": 110, "8678": 92, "8762": 110, "87e0": 92, "882e": 110, "88b4": 110, "8b": [13, 40, 96, 118], "8b0d": 92, "8bc3": 92, "8c3e": 92, "8e52": 92, "8f78": 110, "8x7b": 13, "9": [108, 109, 110], "90": 98, "910e984cdb65": 92, "9122": 92, "9216": 118, "922c0f8a4efb": 110, "93922b619293": 92, "9419728517532349": 95, "9435ed755e20": 92, "9498793313012154": 109, "9670": 92, "9696708": 109, "9701269": 109, "97db": [8, 26, 29, 111], "98742366": 109, "991f": 110, "9950029253959656": 109, "99520767": 109, "9994476437568665": 109, "9994490742683411": 109, "9996004700660706": 109, "9a424d4c": 92, "9bae": 110, "9c14": 94, "9ca4": [8, 26, 29, 111], "9cd745effb43": 110, "A": [8, 10, 11, 13, 14, 17, 18, 23, 26, 29, 36, 39, 40, 45, 47, 51, 57, 61, 81, 87, 92, 94, 95, 96, 102, 108, 109, 110, 112, 115], "And": [24, 47, 48, 90, 99, 106, 110, 112, 116], "As": [40, 42, 88, 90, 92, 94, 106, 109, 112, 118, 123], "At": [24, 108], "But": [99, 101, 109, 110, 112], "By": [48, 90, 93, 111, 112], "For": [0, 8, 11, 17, 18, 24, 26, 29, 34, 39, 50, 61, 84, 88, 92, 93, 95, 96, 97, 102, 108, 109, 110, 111, 112, 116, 121, 123], "If": [8, 15, 17, 21, 26, 29, 34, 36, 39, 40, 45, 47, 56, 57, 71, 73, 74, 80, 84, 88, 92, 93, 95, 96, 98, 99, 106, 109, 110, 111, 112, 116, 123], "In": [42, 47, 52, 57, 87, 88, 90, 92, 94, 98, 101, 102, 106, 108, 110, 111, 112, 121, 123], "It": [6, 8, 9, 14, 15, 19, 24, 26, 27, 29, 31, 36, 40, 42, 48, 50, 57, 59, 67, 71, 73, 80, 90, 92, 93, 94, 95, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 118, 121, 123], "Its": [92, 109], "No": [46, 61, 109, 110, 116], "Not": [9, 31], "On": [88, 118], "One": 75, "Or": [109, 112, 115], "Such": [40, 54], "The": [6, 8, 15, 17, 18, 19, 23, 24, 26, 27, 29, 34, 36, 38, 39, 40, 42, 45, 47, 48, 50, 52, 53, 55, 57, 58, 61, 62, 63, 65, 69, 71, 73, 74, 75, 77, 78, 79, 80, 82, 84, 87, 88, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 116, 117, 118, 121, 123], "Then": [8, 26, 29, 84, 92, 94, 102, 108, 110, 111, 112], "There": [0, 15, 21, 36, 98, 99, 109], "These": [8, 29, 58, 65, 84, 90, 94, 97, 106, 109, 110, 111, 112, 121], "To": [19, 36, 53, 54, 84, 88, 90, 93, 95, 96, 97, 101, 106, 108, 109, 110, 112, 115, 116, 121, 123], "Will": 117, "With": [47, 53, 92, 94, 102, 108, 110, 118], "_": [19, 36, 109], "__call__": [55, 90, 96, 97, 102], "__dict__": [39, 42, 92], "__doc__": 109, "__init__": [19, 36, 40, 73, 90, 93, 101, 102, 109, 112, 115, 118], "__main__": 112, "__name__": [82, 102], "__repr__": 90, "_acal": [10, 13, 14, 15, 50], "_api_kei": 102, "_call": [10, 13, 14, 15, 50, 74, 102], "_coarse_labels_desc": 88, "_combine_input_and_model_kwarg": 102, "_compon": 101, "_compute_single_item": 61, "_extra_repr": [90, 93], "_field_typ": 69, "_generator_names_to_fil": 74, "_generator_trac": 73, "_init_async_cli": 102, "_init_sync_cli": 102, "_is_async": 112, "_missing_typ": 69, "_paramet": 101, "_template_str": 101, "_trace_map": 75, "a2acf8ba4c27": 92, "a2b7": 110, "a595": 110, "a958": 92, "aa81": 92, "aaa8": 92, "ab": [0, 15, 18, 69, 87, 96, 109], "ab64": 92, "aba9": 92, "abbrevi": 88, "abc": 92, "abda": 110, "abil": [87, 92, 95], "abl": [88, 96, 109], "about": [58, 65, 84, 99], "abov": [24, 90, 96, 98, 99, 101, 102, 106, 109, 112, 115], "absolut": 110, "abstract": [17, 50, 71, 88, 89, 97, 98, 102, 118], "abstract_algebra": 95, "ac": [19, 36], "ac78": 94, "academ": 95, "acal": [10, 11, 13, 14, 40, 45, 46, 48, 50, 53, 90, 96, 97, 102, 109, 112, 118], "acc_list": 59, "access": [21, 24, 36, 40, 42, 56, 73, 87, 95, 108, 109, 112, 115], "accomplish": 97, "accord": [8, 19, 26, 29, 36, 121], "account": 96, "accumul": 110, "accur": 109, "accuraci": [24, 59, 95, 98, 121], "acetaminophen": 90, "achiam": 95, "achiev": [18, 46, 88, 96, 98, 112], "acm": 95, "across": [47, 88, 95, 112, 123], "act": [87, 94, 108], "action": [24, 57, 108], "activ": [57, 116], "actual": [21, 36, 47, 96, 101, 109, 111], "ad": [14, 19, 36, 40, 42, 47, 51, 57, 90, 92, 96, 101, 109, 110, 112, 116], "adapt": [19, 36, 61, 93, 95, 96, 112, 116, 118], "adc9": 110, "add": [0, 17, 18, 19, 34, 36, 40, 42, 45, 47, 57, 80, 84, 88, 90, 92, 93, 99, 102, 108, 112, 116], "add_compon": 40, "add_llm_as_fallback": 0, "add_missing_right_brac": [47, 54], "add_missing_right_bracket": [47, 54], "add_on": 90, "add_point": 112, "addit": [0, 19, 36, 47, 57, 90, 93, 96, 102, 108, 112], "addition": [11, 13, 15, 21, 36, 50, 93, 95, 109, 112], "additional_context": [56, 112], "additon": 55, "addonecompon": 90, "address": 98, "adjust": 98, "adpat": 96, "advanc": [90, 99], "advis": 39, "ae99": 92, "afbd": 92, "afc": [8, 26, 29, 111], "affect": [88, 93], "after": [19, 36, 39, 42, 45, 48, 52, 54, 84, 88, 94, 96, 99, 108, 109, 110, 112], "afternoon": 110, "afun": 40, "ag": [39, 123], "again": [94, 109, 110], "agenda": 87, "agent": [24, 46, 57, 95, 98, 99, 106, 112, 116, 118], "agnost": [96, 99, 102], "ahead": [88, 97], "ai": [90, 113, 116], "aim": [95, 98, 110], "al": 95, "algorithm": 110, "alia": [40, 57], "align": [8, 26, 29, 84, 111], "all": [11, 13, 14, 15, 17, 24, 39, 40, 42, 46, 50, 52, 53, 56, 57, 69, 77, 80, 82, 84, 88, 90, 92, 93, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 112, 115, 116, 118, 123], "all_gt_answ": [59, 121], "all_gt_context": [62, 63, 121], "all_pred_answ": [59, 121], "all_quest": 121, "all_retrieved_context": [62, 63, 121], "allevi": [90, 109], "allow": [39, 40, 47, 57, 74, 88, 90, 92, 96, 98, 106, 108, 109, 110, 116, 118, 121], "allowi": 92, "almost": [98, 99, 109], "along": [21, 36, 39, 42, 48, 80, 84, 88, 90, 92, 102, 109], "alpha": 110, "alreadi": [18, 19, 24, 36, 40, 57, 88, 96, 109, 112], "also": [8, 17, 18, 19, 26, 29, 34, 36, 40, 45, 46, 47, 55, 57, 88, 90, 92, 95, 96, 98, 106, 108, 109, 110, 111, 112, 123], "although": [19, 36, 108, 109, 110], "alwai": [17, 24, 34, 39, 42, 69, 92, 96, 111, 112], "amount": [92, 96], "an": [0, 9, 14, 15, 17, 31, 34, 39, 40, 45, 46, 47, 48, 51, 52, 53, 57, 61, 67, 73, 77, 79, 82, 87, 88, 90, 92, 93, 94, 95, 98, 101, 102, 106, 109, 110, 112, 115, 117, 121, 123], "analysi": [8, 26, 29, 95, 110, 111], "analyz": [108, 110], "ancestor": 80, "andrew": [19, 36], "angel": 99, "ani": [0, 8, 10, 11, 13, 14, 15, 17, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 52, 53, 54, 56, 57, 61, 68, 69, 71, 73, 74, 75, 77, 78, 82, 88, 90, 92, 93, 96, 98, 101, 102, 106, 109, 110, 112, 116, 118], "anoth": [21, 36, 52, 71, 87, 101, 109, 110, 116], "ansi": 80, "answer": [0, 17, 18, 24, 34, 59, 61, 88, 90, 95, 108, 109, 112, 116, 121, 123], "answer_match_acc": [64, 121], "answermacthevalu": 121, "answermatchacc": [59, 95], "anthrop": [10, 57, 79, 99, 102, 115], "anthropic_api_kei": 115, "anthropic_cli": 102, "anthropicapicli": [10, 102], "anyth": [17, 34, 98, 106, 112], "ap": [95, 101], "api": [10, 11, 13, 14, 15, 16, 18, 33, 38, 40, 45, 50, 53, 57, 58, 84, 94, 95, 98, 99, 108, 114, 116, 118], "api_kei": [10, 11, 13, 14, 77, 102], "api_kwarg": [10, 11, 13, 14, 15, 50, 102], "api_respons": [16, 33], "apicli": 50, "apidoc": 84, "apidocoutdir": 84, "app": [57, 80], "app_log_filenam": 80, "appear": [51, 110], "append": [40, 42, 78, 92, 102, 112, 121], "append_dialog_turn": 57, "append_to_jsonl": 78, "appl": [61, 62, 63, 95, 110], "appli": [8, 26, 29, 42, 45, 47, 48, 52, 92, 93, 94, 109, 110, 111], "applic": [8, 9, 26, 29, 31, 39, 54, 87, 88, 92, 95, 97, 98, 109, 110, 111, 118, 122, 123], "application_nam": 116, "apply_transform": [42, 92], "approach": [8, 26, 29, 90, 94, 108, 110], "appropri": [90, 95], "ar": [0, 8, 15, 17, 19, 24, 26, 29, 34, 36, 40, 42, 47, 51, 52, 56, 57, 58, 65, 73, 74, 79, 80, 84, 87, 88, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 122, 123], "arena": 95, "arg": [17, 24, 39, 40, 46, 47, 50, 53, 56, 57, 70, 71, 108, 112], "argument": [0, 11, 13, 15, 24, 39, 40, 46, 47, 48, 50, 52, 57, 71, 77, 93, 94, 96, 101, 102, 106, 108, 109, 110, 111, 112], "aris": 95, "arithmet": 57, "around": [55, 73, 89], "arr": 112, "arrai": [47, 109, 112], "arriv": 18, "articul": 116, "artifici": 96, "arxiv": [0, 15, 18, 69, 87, 95, 109], "asdict": [47, 88], "ask": [21, 36, 57, 61, 88, 92, 101, 106, 108, 109, 112, 113, 116], "aspect": 95, "aspirin": 90, "assert": [39, 93, 102], "assess": [95, 121], "assign": [8, 26, 29, 40, 51, 94], "assist": [9, 17, 31, 34, 52, 57, 90, 92, 96, 99, 101, 106, 118, 121], "assistant_respons": [57, 92], "assistant_response_timestamp": [57, 92], "assistantrespons": [57, 92], "assit": 106, "assum": [42, 57, 92], "assumpt": 99, "ast": [47, 57], "async": [10, 11, 13, 14, 40, 45, 46, 48, 50, 53, 56, 102, 109, 112, 118], "async_cli": 102, "async_function_1": 46, "async_function_2": 46, "async_tool_1": 46, "async_tool_2": 46, "asynccal": 57, "asynchron": [46, 90], "asyncio": [46, 112], "asyncopenai": 102, "atmospher": 110, "atom": [92, 109], "attach": [73, 110], "attention_mask": [15, 102], "attribut": [21, 23, 36, 40, 42, 51, 52, 53, 73, 77, 88, 90, 92, 96, 101, 109, 112], "audio": 109, "augement": 109, "augment": [68, 95, 110, 121], "augment_sampl": 67, "auto": [40, 90, 98, 101, 102, 106], "autodoc": 84, "autom": [95, 98], "automat": [45, 51, 73, 84, 90, 96, 101, 108, 112, 116], "automodel": 102, "autonom": [87, 98], "autoreset": 80, "autotoken": 102, "avail": [13, 24, 57, 95, 112, 115, 121], "available_funct": 112, "averag": [19, 36, 59, 61, 62, 63, 121], "average_idf": [19, 36], "average_pool": [15, 102], "average_tim": 108, "avg_acc": 59, "avg_judg": [61, 121], "avg_recal": [62, 95, 121], "avg_relev": [63, 95, 121], "avgdl": [19, 36, 109], "avoid": [19, 36, 40, 84, 90, 92, 93, 109], "aw": 110, "await": [0, 46, 56, 57, 112, 118], "awar": [21, 36, 110], "award": 123, "awlai": 112, "b": [19, 24, 36, 57, 108, 109, 110, 112], "b0d98c1b": 110, "b2dbdf2f": 92, "b3e9": 92, "b4c312bed365": 110, "b6c6": 92, "b81f": 110, "baai": [15, 109], "back": [17, 19, 34, 36, 42, 77, 82, 88, 94, 96], "backslash": 24, "backtick": [17, 34, 47, 112], "backward": 40, "bad": 110, "ball": 18, "banana": 110, "bank": 95, "bare": [89, 106, 118], "basd": 109, "base": [0, 6, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 27, 29, 31, 34, 36, 39, 40, 42, 45, 46, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 68, 69, 70, 71, 74, 75, 79, 81, 82, 87, 88, 89, 90, 93, 95, 96, 98, 102, 108, 110, 112, 118, 121, 123], "base_class": 39, "base_data_class": [58, 88, 110, 121, 123], "basedataclass": 122, "basic": [58, 65, 98, 110], "batch": [8, 26, 29, 45, 57, 92, 93, 94, 102, 109], "batch_dict": 102, "batch_embedd": [92, 93], "batch_siz": [6, 8, 26, 27, 29, 45, 77, 92, 93, 94, 110], "batchembedd": [45, 92], "batchembedderinputtyp": 45, "batchembedderoutputtyp": 45, "bbc3": 110, "bc0ff7f6": 92, "bcbc6ff9": 92, "bdbd": 92, "beauti": [19, 36], "becaus": [8, 26, 29, 98, 102, 108, 111, 123], "becom": [95, 109, 110], "been": [57, 92, 109], "befor": [8, 26, 29, 54, 61, 62, 63, 90, 92, 93, 95, 97, 108, 109, 110, 111, 123], "beforehand": 110, "begin": [80, 98, 116], "begin_of_text": [99, 106], "behavior": [110, 112], "behind": [17, 34, 97, 99], "beij": 61, "being": [73, 88, 97, 98, 112], "belong": 87, "below": [95, 109, 112], "benchmark": [18, 95, 108, 118], "benef": 109, "benefit": [57, 92, 109], "bert": 95, "bertscor": 95, "besid": [40, 87, 92, 96, 106, 108, 110, 123], "best": [19, 36, 90, 109, 110, 116], "beta": [15, 112], "better": [8, 26, 29, 39, 68, 69, 84, 88, 90, 108, 109, 110, 112, 123], "between": [8, 24, 26, 29, 50, 98, 109, 110, 111, 116], "beyond": [8, 29, 98, 112], "bge": [15, 109], "bi": 109, "bias": [40, 90], "bigger": [19, 36], "bit": [46, 88], "black": 80, "bland": 110, "block": [39, 46, 47, 58, 65, 80, 90, 97, 98, 109, 116, 118], "blow": 101, "blue": 80, "bm25": [19, 36, 92, 109, 110], "bm25_index": [19, 36], "bm25_retriev": [36, 109], "bm25retriev": [19, 36, 110], "bonjour": 101, "bool": [0, 6, 15, 17, 19, 26, 27, 36, 40, 42, 46, 47, 51, 52, 53, 54, 55, 57, 61, 71, 73, 80, 92, 93, 102], "boolean": [0, 17, 109], "booleanoutputpars": 17, "boost": [92, 109], "bootstrapfewshot": 67, "border": [8, 26, 29, 110, 111], "bore": 98, "both": [8, 14, 19, 29, 36, 40, 46, 56, 57, 78, 84, 88, 92, 95, 96, 97, 101, 109, 112, 121, 123], "boundari": [39, 57, 79, 82], "box": [90, 98, 109], "brace": 47, "bracket": 47, "break": [8, 26, 29, 98, 110, 111], "bridg": [10, 13, 15, 50], "brief": 96, "brittl": 98, "broad": 95, "broader": 84, "browser": [84, 108], "budget": [8, 26, 29, 111], "bui": 18, "build": [19, 23, 36, 47, 53, 58, 65, 88, 90, 95, 109, 110, 116, 118, 121, 122], "build_index": 121, "build_index_from_docu": [19, 21, 23, 36, 53, 92, 109, 110], "build_info_from_docu": 110, "builder": 52, "built": [19, 23, 36, 47, 53, 108, 109, 110, 112, 115], "busi": 98, "c": [19, 36, 40], "c4e4": 92, "c4e5": 94, "c5431397": 92, "c77c98ac260f": 92, "c8fc": 92, "ca": 112, "ca0af45b": [8, 26, 29, 111], "cach": [15, 92, 102], "cai": 95, "calcul": [94, 95, 110], "call": [0, 8, 10, 11, 13, 14, 15, 17, 18, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 45, 46, 47, 48, 50, 52, 53, 54, 56, 57, 61, 68, 71, 73, 74, 78, 80, 82, 90, 92, 93, 94, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 116, 118, 121], "call_async_funct": 46, "callabl": [0, 14, 19, 21, 23, 36, 39, 40, 42, 46, 47, 53, 56, 57, 71, 92], "callbackmanag": 116, "can": [0, 8, 9, 11, 13, 14, 15, 17, 18, 19, 21, 24, 26, 29, 31, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 61, 62, 63, 69, 71, 73, 75, 77, 79, 81, 84, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 113, 115, 116, 118, 121, 123], "candid": 109, "cannot": [95, 116], "cansof": 18, "cantain": 40, "capabl": [38, 46, 65, 95, 112], "capit": [39, 47, 88, 93, 101, 102, 106], "captur": [47, 96], "carbon": [92, 109], "card": 106, "carefulli": 116, "carri": 112, "case": [9, 21, 31, 36, 39, 42, 90, 92, 95, 96, 97, 98, 106, 108, 109, 110, 112, 116, 123], "cat": 110, "categor": [39, 102, 109], "caus": 90, "caution": 46, "cd": 84, "cdot": [19, 36], "celsiu": 112, "center": 89, "certain": [15, 47, 123], "chain": [18, 48, 57, 88, 90, 92, 93, 96, 97, 108, 109], "challeng": [98, 109], "chanc": [21, 36, 98], "chang": [75, 80, 92, 95, 96, 98, 101, 109], "charact": [84, 110], "chat": [10, 11, 13, 14, 15, 43, 50, 92, 96, 101, 102, 106], "chat_completion_pars": 14, "chat_histori": [43, 92, 101], "chat_history_str": [43, 92, 96, 101, 106], "chatbot": [92, 95, 96, 97, 98], "chatcompletiontokenlogprob": 57, "cheapest": 109, "check": [8, 13, 24, 26, 29, 42, 47, 50, 51, 52, 57, 71, 88, 90, 92, 94, 95, 102, 108, 109, 110, 111, 112, 116, 120, 123], "check_object": 82, "checker": 88, "chen": 95, "child": [40, 110], "children": 40, "china": [61, 93], "chip": 15, "choic": [95, 96], "choos": [19, 36, 53, 110, 112], "chunk": [6, 8, 26, 27, 29, 92, 93, 97, 109, 110, 116], "chunk_overlap": [8, 26, 29, 111], "chunk_siz": [8, 26, 29, 111], "citi": 112, "cl": [47, 88], "cl100k_base": [8, 26, 29, 55], "clariti": [84, 98, 118], "class": [0, 6, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 27, 29, 31, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 68, 69, 70, 71, 73, 74, 75, 77, 79, 81, 82, 88, 90, 92, 93, 96, 98, 101, 102, 108, 112, 116, 117, 118, 121, 123], "class_index": 88, "class_inst": 39, "class_nam": [39, 73, 88], "classes": 123, "classic": 98, "classif": [95, 98, 117], "classifi": [88, 117], "classmethod": [14, 19, 36, 39, 40, 42, 45, 48, 52, 53, 57, 81, 88], "classsampl": 71, "claud": [10, 99], "clean": 110, "clean_up_tokenization_spac": 15, "clear": [97, 108, 116], "client": [0, 10, 11, 13, 14, 15, 16, 21, 23, 33, 36, 45, 48, 50, 61, 98, 99, 102], "climat": [92, 109], "clone": [84, 116], "close": [47, 98, 109, 110], "closest": 110, "cloth": 109, "cloud": [9, 31, 102, 109], "co": [15, 93, 109], "coarse_label": [71, 88], "code": [8, 14, 17, 26, 29, 39, 47, 57, 69, 73, 80, 92, 93, 95, 96, 97, 98, 101, 102, 106, 109, 110, 111, 112, 115, 116, 118, 121], "coher": [11, 57, 79, 99, 109, 115], "cohere_api_kei": 115, "cohere_cli": 109, "cohereapicli": [11, 23, 36, 109], "collabor": 113, "collect": [57, 101], "color": 80, "colorama": 80, "colored_print": 80, "com": [10, 11, 13, 14, 84, 96, 106, 109, 112], "combat": [92, 109], "combin": [10, 14, 47, 48, 52, 94, 96, 98, 109, 112, 116], "combine_kwarg": 47, "come": [92, 96, 102, 116, 118], "command": 80, "comment": 106, "commit": 116, "common": [62, 63, 95, 109, 110], "commonli": [8, 17, 29, 94, 95, 110], "commun": [46, 50, 102, 114, 116], "compact": [57, 112], "compar": [17, 19, 34, 36, 47, 59, 69, 92, 93, 95, 111], "comparison": [90, 109, 112, 116], "compat": [90, 96, 102], "complet": [0, 9, 10, 11, 13, 14, 15, 31, 46, 47, 48, 50, 69, 84, 87, 102, 108], "complex": [17, 34, 47, 88, 95, 110, 116], "complic": [18, 106, 112], "compon": [42, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 61, 67, 68, 73, 77, 79, 81, 82, 84, 87, 88, 89, 92, 93, 94, 95, 96, 101, 102, 106, 108, 109, 110, 111, 112, 115, 118, 121, 123], "componenet": [40, 77], "component1": 40, "component2": 40, "component3": 40, "component4": 40, "component_config": [45, 48, 77, 96], "component_nam": [45, 48, 77, 96], "compos": [52, 99], "compose_model_kwarg": 47, "compose_prompt_kwarg": 52, "comprehens": 95, "comput": [59, 61, 62, 63, 88, 95, 98, 109, 110, 121], "compute_context_relev": 121, "compute_judg": 121, "compute_match_acc": 121, "compute_recal": 121, "con": [92, 109], "concaten": 110, "concept": [88, 90, 96], "concis": [88, 90], "conclus": 121, "concurr": 112, "condit": [42, 106, 108], "condition": [32, 106], "condition_fn": 92, "conf": 84, "confer": 95, "config": [40, 45, 48, 80, 93, 121], "configur": [8, 26, 29, 40, 45, 47, 77, 80, 81, 84, 94, 96, 98, 110, 111, 115, 118, 121], "confus": [40, 88, 90, 116], "consid": [39, 40, 95, 109, 110, 111], "consin": 109, "consist": [17, 52, 57, 84, 96, 123], "consol": [13, 80], "constant": [19, 36, 47], "constantli": 88, "constraint": 111, "construct": [77, 121], "constructor": [40, 93], "contain": [8, 19, 24, 26, 29, 36, 40, 46, 47, 51, 57, 59, 61, 84, 92, 93, 101, 108, 110, 112, 116, 121, 123], "content": [14, 92, 99, 102, 109, 110, 111, 114, 117, 119, 123], "contex": [43, 96, 101], "context": [8, 26, 29, 39, 40, 43, 46, 47, 52, 56, 62, 63, 90, 92, 95, 97, 98, 101, 108, 110, 111, 112, 116, 121], "context_map": [47, 57, 112], "context_str": [43, 52, 96, 101, 106, 112, 121], "contextu": [95, 121], "continu": [92, 106, 110], "contrari": 118, "contravari": 109, "contribut": [86, 92, 109, 116], "contributor": [84, 116], "control": [8, 26, 29, 57, 80, 84, 88, 92, 98, 99, 106, 110, 111, 116, 123], "conv1": [90, 118], "conv2": [90, 118], "conv2d": [90, 118], "conveni": [90, 108], "convent": [17, 34, 88, 112], "conver": 92, "convers": [9, 31, 57, 92, 96, 106, 108, 109, 112, 113], "conversation_histori": 109, "conversation_id": 57, "convert": [14, 15, 39, 40, 47, 50, 57, 82, 88, 90, 92, 94, 99, 102, 109, 110, 112, 116], "convert_inputs_to_api_kwarg": [10, 11, 13, 14, 15, 50, 102], "convert_schema_to_signatur": 47, "cookbook": [109, 116, 123], "copi": [6, 14, 26, 27, 40, 93, 94, 102, 116], "core": [8, 17, 26, 29, 74, 88, 90, 92, 93, 94, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "corpu": [19, 36, 110], "correct": [51, 95, 121], "correctli": [42, 84, 88], "corresbond": 84, "correspond": [8, 26, 29, 47, 95, 108, 110, 111, 121], "cosin": [95, 110], "cost": 109, "cot": 18, "could": [47, 57], "count": 55, "count_token": 55, "counter": 90, "cours": [95, 101], "cover": [9, 31, 88, 92, 109, 112, 116, 123], "coverag": 109, "covert": 112, "cpu": 115, "creat": [8, 14, 15, 26, 29, 39, 40, 42, 45, 46, 48, 52, 57, 73, 77, 88, 90, 92, 93, 94, 99, 101, 102, 106, 108, 109, 110, 111, 112, 117, 121, 123], "create_embedding_respons": 57, "create_from_dict": 39, "created_at": 57, "createembeddingrespons": 14, "creation": 68, "criterion": [8, 26, 29, 106, 111], "critic": [8, 26, 29, 80], "cross": 109, "crucial": [38, 65, 88, 92, 95, 106, 109, 110], "crud": [42, 92], "ctrl": 108, "cumul": 110, "current": [40, 42, 67, 69, 80, 92, 93, 96, 101, 102, 108, 109, 112, 115], "custom": [8, 17, 21, 26, 29, 36, 47, 80, 82, 88, 93, 95, 96, 97, 98, 102, 108, 110, 116, 121], "custom_asdict": [47, 88], "customiz": [89, 108, 110, 118], "cut": 109, "cutoff": 110, "cyan": 80, "d": [17, 19, 34, 36], "d19a": 92, "dai": [19, 36, 62, 63, 95], "dan": 95, "data": [6, 8, 9, 14, 17, 21, 26, 27, 29, 31, 34, 36, 39, 40, 42, 45, 47, 48, 51, 52, 57, 68, 71, 78, 82, 90, 93, 94, 96, 98, 101, 102, 108, 110, 111, 112, 116, 117, 118, 121, 123], "data_class": [17, 34, 112], "data_class_for_yaml": [17, 34], "data_compon": [26, 94, 110], "data_dict": 39, "data_process": [38, 92, 94, 97, 111], "data_transform": 92, "databas": [53, 57, 97, 110, 121], "dataclass": [17, 34, 39, 47, 57, 67, 68, 69, 74, 75, 82, 89, 92, 93, 96, 97, 109, 112, 118, 123], "dataclass_obj_from_dict": 47, "dataclassformattyp": [17, 34, 39, 88], "dataformat": 57, "datapiplin": 92, "dataset": [71, 92, 95, 108, 117, 121], "date": 84, "datetim": 57, "db": [58, 92, 97, 109, 110], "db2": 42, "deal": [92, 109], "debug": [80, 92, 97, 98], "decid": [0, 11, 13, 15, 39, 50, 88, 95, 96, 108, 109, 112, 116], "decis": [95, 108], "decod": [55, 108], "decor": [39, 40, 78, 88, 90, 96, 101], "decreas": 93, "decreaseembeddingdim": 93, "decreat": 93, "dedupl": [6, 26, 27], "deep": 96, "deepcopi": 93, "deeper": 118, "deepmind": 69, "def": [17, 34, 40, 46, 47, 57, 73, 88, 90, 92, 93, 101, 102, 106, 108, 109, 110, 112, 118], "defaul": 101, "default": [0, 10, 13, 14, 15, 17, 19, 21, 23, 24, 34, 36, 39, 42, 43, 45, 47, 48, 50, 51, 52, 53, 55, 61, 69, 73, 74, 75, 78, 80, 82, 88, 90, 92, 96, 99, 101, 109, 110, 112, 123], "default_factori": [39, 69, 88], "default_lightrag_system_prompt": [43, 48, 52, 96, 106], "default_llm_evaluator_prompt": 121, "default_model_kwarg": 47, "default_num_shot": 71, "default_prompt_templ": [58, 96, 106], "default_react_agent_system_prompt": 0, "defaultllmjudg": [61, 96], "defens": 97, "defin": [8, 26, 29, 39, 53, 79, 90, 102, 108, 109, 110, 111, 121, 123], "definit": [8, 26, 29, 46, 56, 57, 106, 108, 109, 111, 112], "del": 40, "delet": [40, 42, 92], "delete_dialog_turn": 57, "delibr": [96, 112], "demo": [90, 98], "demonstr": [15, 61, 93, 94, 96, 108, 109, 112, 117, 123], "denomin": [19, 36], "denot": 99, "depend": [8, 19, 21, 29, 36, 47, 57, 84, 90, 99, 108, 110, 116, 121, 123], "deriv": 112, "desc": [39, 43, 69, 88, 96, 101, 109, 123], "descend": 40, "describ": [39, 46, 112, 123], "descript": [17, 24, 34, 39, 47, 57, 88, 92, 95, 97, 106, 108, 110, 112, 116, 121, 123], "deseri": [82, 88, 98, 106, 109], "design": [39, 40, 46, 50, 54, 57, 71, 89, 92, 93, 97, 102, 108, 110, 111], "desir": [17, 34, 95, 96, 106], "destin": [40, 98], "detail": [8, 10, 11, 13, 26, 29, 38, 39, 48, 58, 61, 65, 84, 85, 88, 90, 92, 95, 96, 102, 108, 112, 123], "detect": 73, "determin": [8, 26, 29, 90, 95, 108], "develop": [8, 21, 26, 29, 36, 84, 89, 92, 94, 96, 97, 98, 99, 101, 106, 108, 109, 110, 111, 116, 118, 123], "devic": 15, "df68": 92, "diagram": [99, 106], "dialog": [57, 92], "dialog_turn": [57, 92], "dialog_turn_db": 92, "dialog_turns_as_docu": 92, "dialog_turns_input": 57, "dialogturn": [42, 57, 109], "dict": [0, 10, 11, 13, 14, 15, 17, 21, 23, 34, 36, 39, 40, 42, 45, 47, 48, 50, 52, 54, 56, 57, 61, 68, 69, 71, 74, 75, 77, 78, 81, 82, 88, 92, 96, 102, 112, 123], "dict_exampl": 88, "dict_factori": 47, "dictionari": [8, 14, 17, 26, 29, 34, 39, 40, 45, 47, 48, 52, 57, 77, 78, 82, 88, 92, 110, 111, 112, 123], "did": [67, 92, 96, 101, 106, 109, 112, 118, 123], "differ": [9, 19, 31, 36, 42, 57, 71, 90, 93, 96, 97, 98, 99, 102, 106, 108, 109, 111, 112, 116, 118, 122], "differen": 109, "differenti": [54, 109], "difficult": 112, "dim": 102, "dimens": [45, 57, 77, 92, 93, 94, 102, 109, 110], "dimension": 88, "diminish": [19, 36], "dir": [73, 101, 102], "direct": [40, 84, 90, 110], "directionli": 46, "directli": [8, 26, 29, 47, 57, 61, 71, 84, 88, 90, 92, 93, 106, 109, 111, 112, 116], "directori": [50, 73, 74, 75, 80, 84, 101, 115, 116], "disabl": 108, "disappoint": 109, "disclos": [99, 106], "discord": 113, "discuss": [113, 123], "disk": 109, "disrupt": [92, 109], "distil": 98, "distilbert": 95, "divers": [95, 109], "divid": [19, 24, 36, 95, 108, 110, 112, 121], "divis": [8, 19, 26, 29, 36], "do": [9, 14, 17, 31, 34, 39, 47, 57, 71, 73, 80, 88, 92, 94, 96, 98, 102, 106, 108, 109, 110, 112, 116, 118], "doc": [8, 10, 11, 13, 14, 15, 23, 26, 29, 36, 40, 53, 57, 84, 88, 90, 92, 93, 94, 106, 109, 110, 111, 112], "doc1": [8, 26, 29, 110, 111], "doc2": 110, "doc_index": [92, 110], "doc_indic": [19, 36, 57, 92, 109], "doc_len": 109, "doc_list": 121, "doc_qa": 40, "doc_scor": [19, 36, 57, 109, 110], "docqa": [40, 90], "docstr": [24, 112], "doctest": 84, "doctor": [17, 34, 40, 90], "document": [6, 8, 11, 15, 19, 21, 23, 26, 27, 29, 36, 38, 42, 53, 55, 57, 58, 65, 85, 86, 93, 94, 96, 97, 109, 112, 114, 116, 119, 121], "document_indic": 110, "document_map_func": [19, 21, 23, 36, 53, 109], "document_splitt": [77, 110], "documents_embed": 109, "documentsplitt": [57, 77, 92, 94, 110], "dodger": 99, "doe": [6, 18, 26, 27, 39, 42, 50, 61, 77, 102, 109, 110, 121, 123], "doesn": 108, "domain": 95, "domest": 110, "don": [17, 19, 36, 99, 110, 116], "done": [88, 108], "dont": [92, 99, 116], "dorianbrown": [19, 36, 109], "dotenv": [94, 108, 110, 115], "dotenv_path": [94, 108, 110], "doubl": [24, 112], "doubt": [98, 109], "download": 116, "downsid": [92, 109], "downstream": 93, "drink": 90, "driven": 110, "drop": 111, "dropout1": 118, "dropout2": 118, "dropout2d": 118, "due": [95, 109, 112], "dummi": 116, "dump": [47, 112], "dumper": 47, "duplic": 71, "dure": [8, 26, 29, 92, 93, 94, 96, 101, 109, 110, 111, 115, 123], "dynam": [39, 73, 108], "dynamicdataclassfactori": 39, "dynamicoutput": 39, "e": [8, 21, 24, 26, 29, 36, 71, 84, 99, 102, 111, 112, 121], "e3b48bcc": 92, "e3f04c8b": 110, "e4850140": 110, "e539": 110, "e636facc": 92, "e7b617b2": [8, 26, 29, 111], "each": [0, 8, 14, 15, 17, 18, 19, 24, 26, 29, 34, 36, 38, 39, 40, 57, 59, 61, 62, 63, 65, 71, 74, 75, 79, 88, 92, 93, 94, 97, 98, 108, 109, 110, 111, 112, 121], "ear": 101, "earth": 61, "eas": [57, 88, 97, 98], "easi": [90, 96, 98, 106, 108, 116, 118], "easier": [108, 112], "easili": [90, 92, 93, 95, 97, 106, 109, 112, 116, 118, 123], "eat": 110, "ec0fc247ac8b": [8, 26, 29, 111], "ec910402": 92, "economi": [92, 109], "ecosystem": [92, 109], "edit": [84, 101], "effcient": 39, "effect": [19, 36, 65, 87, 92, 94, 109, 110], "effici": [57, 108, 111, 112, 123], "effort": [42, 88, 97], "eg": 79, "eiffel": 101, "either": [0, 47, 50, 57, 88, 93, 101, 102, 109, 116], "el": 92, "electr": [92, 109], "electron": [92, 109], "element": [17, 34, 52, 112], "elif": [102, 112], "els": [101, 102, 108, 110, 112], "emb": [8, 29, 93, 110], "embed": [6, 8, 11, 13, 14, 15, 16, 26, 27, 29, 33, 45, 50, 57, 77, 92, 93, 94, 95, 102, 109, 110, 111], "embedd": [6, 14, 15, 26, 27, 40, 50, 57, 58, 77, 92, 97, 102, 109, 116], "embedder_config": 45, "embedder_response_processor": 110, "embedder_transform": 92, "embedderoutput": [14, 15, 16, 33, 45, 50, 57, 92, 102], "embedderoutputtyp": 57, "embedderrespons": [94, 110], "embedding_dim": [57, 93], "emiss": [92, 109], "emit": 39, "emphas": [84, 123], "emploi": 95, "empti": [21, 24, 36, 42, 96], "en": [10, 15, 19, 36, 93, 106, 109], "enabl": [48, 80, 94, 108, 110, 118], "enable_consol": 80, "enable_fil": 80, "enable_library_log": 80, "encapsul": 108, "enclos": [17, 34, 112], "encod": [8, 26, 29, 55, 109], "encoding_format": [45, 77, 92, 93, 94, 102, 109, 110], "encourag": [8, 29, 48, 102], "end": [24, 40, 42, 47, 84, 88, 92, 97, 98, 99, 117, 118], "end_header_id": [99, 106], "end_of_text": [99, 106], "end_tim": [46, 112], "endfor": [24, 52, 106, 109, 112], "endif": [24, 43, 52, 96, 101, 106, 112, 123], "energi": [92, 109], "enforc": [14, 51, 92, 96], "engag": [88, 113], "engin": [40, 90, 98, 101, 106, 116, 118], "english": [11, 109], "enhanc": [80, 90, 97, 108, 123], "enhance_queri": 90, "enhancequerycompon": 90, "enjoi": 116, "enorm": 96, "enough": 98, "enssenti": 123, "ensur": [15, 24, 39, 45, 47, 52, 84, 88, 90, 93, 94, 97, 99, 109, 110, 115], "entir": 109, "entiti": [77, 81, 88, 98, 108], "entity_cl": 81, "entity_config": 77, "entity_nam": 77, "entity_st": 77, "entitymap": 81, "enum": [39, 57, 79, 82, 102, 112], "enumer": [40, 112], "env": [93, 94, 108, 109, 110, 115, 116], "environ": [8, 29, 47, 52, 84, 87, 92, 93, 94, 102, 108, 109, 110, 114, 116], "environment": [92, 109], "eot_id": [99, 106], "epilon": [19, 36], "epsilon": [19, 36, 109], "equal": [15, 61, 109], "equival": [40, 47, 92, 112], "error": [11, 13, 15, 21, 36, 39, 47, 50, 57, 73, 79, 80, 88, 93, 102, 108, 112], "error_messag": [57, 101], "error_onli": 73, "escap": 24, "especi": [6, 8, 24, 26, 27, 29, 39, 73, 75, 90, 93, 95, 99, 109, 110, 111], "espeic": 109, "essenc": 116, "essenti": [58, 65, 92, 108, 109], "establish": 116, "estimated_num_token": [57, 92, 94, 110], "et": 95, "etc": [17, 34, 40, 42, 47, 71, 93, 95, 109, 110, 116], "eval": [40, 46, 47, 56, 57, 64, 95, 96, 112, 117, 121], "evalu": [40, 47, 57, 59, 61, 62, 63, 90, 96, 97, 98, 101, 109, 122], "evaluate_ast_nod": 47, "even": [8, 17, 26, 29, 47, 88, 90, 93, 96, 98, 106, 109, 111, 112], "event": 46, "eventu": [88, 109], "ever": 102, "everi": [42, 98, 116], "eviron": 108, "exact": [8, 26, 29, 95, 110, 111, 121], "exact_match": [59, 121], "exactli": [40, 59, 96, 109, 121], "exam": 95, "examin": [19, 36], "exampl": [0, 8, 11, 13, 14, 15, 17, 18, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 54, 57, 59, 61, 62, 63, 67, 71, 73, 77, 80, 84, 90, 92, 93, 94, 95, 99, 101, 102, 106, 108, 109, 110, 112, 115, 116, 117, 118, 121, 123], "example1": [94, 110], "example2": 110, "example3": 110, "example4": 110, "example_funct": 47, "example_json": [39, 88], "example_str": 88, "example_yaml": [39, 88], "examples_prompt": 52, "examples_str": [43, 52, 96, 101, 106], "examples_templ": 52, "excel": 118, "except": [8, 26, 29, 50, 93, 102, 112], "exclud": [17, 34, 39, 40, 47, 56, 57, 88, 92, 112], "exclude_field": [17, 34], "excludetyp": 88, "exclus": 88, "execlud": 112, "execut": [8, 24, 26, 29, 46, 47, 56, 108, 111, 112], "execute_func": [56, 112], "execute_func_expr": [56, 112], "execute_func_expr_via_ev": [56, 112], "execute_func_expr_via_sandbox": [56, 112], "exist": [52, 88, 98, 108, 109, 118], "exmplari": 15, "expand": 116, "expans": [6, 27, 109], "expect": [11, 19, 23, 24, 36, 42, 47, 51, 53, 54], "expens": 109, "experi": [9, 19, 31, 36, 42, 90, 92, 98, 110], "explain": [92, 96, 108, 110, 116, 121], "explan": [19, 36], "explicitli": [39, 51], "explor": 65, "expr": [56, 112], "express": [46, 47, 56, 57, 112], "extend": [8, 14, 29, 42, 46, 92, 93, 112, 116], "extens": [40, 84, 116], "extern": [82, 94, 95, 108, 109], "extra": 110, "extract": [8, 17, 26, 29, 34, 47, 54, 71, 108, 111, 116, 121], "extract_dataclass_typ": 47, "extract_json_str": 47, "extract_list_str": 47, "extract_yaml_str": 47, "ey": 101, "f": [6, 8, 19, 26, 27, 29, 36, 40, 46, 78, 90, 93, 94, 95, 102, 106, 108, 109, 110, 112, 121, 123], "f1": 95, "f1be8330c167": 110, "f2d0f52a": 110, "f2eddc77": 92, "f513": 92, "f89e0955e3a3": 110, "f98f": 92, "face": [45, 48, 84, 93, 95, 96], "facebookresearch": 109, "facet": 109, "facilit": [108, 111], "fact": [101, 108], "factor": [19, 36], "factori": [39, 42, 57, 74, 75], "factual": 109, "fahrenheit": 112, "fail": [21, 36, 57, 73, 92, 93, 96, 98, 101, 108, 112], "failur": [24, 93, 96], "fair": 95, "faiss": [79, 109, 110, 115], "faiss_query_result": 110, "faiss_retriev": [92, 109, 110], "faissretriev": [77, 92, 110], "fall": 90, "fallback": 0, "fals": [6, 15, 17, 26, 27, 34, 39, 40, 42, 47, 53, 55, 57, 61, 71, 80, 101, 112, 121], "famili": 87, "fantast": [94, 110], "far": 92, "farm": [92, 109], "fast": [19, 36, 110], "faster": 109, "fc1": 118, "fc2": 118, "fd11f12958b3": 92, "fdbc447d": 94, "fdc2429b": 110, "feasibl": 88, "featur": [46, 84, 90, 95, 99, 112, 118], "feburari": [62, 63, 95], "fed": [112, 121], "fetch": [21, 36, 42, 92, 110, 121], "fetch_item": 42, "fetch_transformed_item": 42, "fetched_dialog_turn": 92, "fever": 108, "few": [18, 39, 67, 71, 88, 95, 106, 108, 109, 112, 123], "field": [17, 19, 34, 36, 39, 45, 47, 48, 56, 57, 68, 69, 88, 92, 93, 94, 99, 109, 110, 112, 123], "field_nam": 39, "field_valu": 39, "fieldtyp": 47, "file": [9, 15, 19, 31, 36, 40, 42, 45, 53, 73, 74, 75, 78, 80, 84, 88, 93, 94, 96, 101, 102, 109, 115, 116, 121], "file_io": 90, "file_path": 74, "filenam": [73, 74, 75, 80], "filepath": [40, 42, 73, 75, 92], "filesystem": 42, "fill": [19, 36, 48, 52, 68, 116], "filter": [106, 109, 110, 116], "final": [0, 19, 24, 36, 52, 57, 92, 94, 95, 96, 106, 108, 109, 110, 112, 121], "final_model_kwarg": 102, "final_prompt": 106, "find": [55, 92, 93, 94, 96, 108, 109, 110, 115], "fine": [57, 110], "finish": [24, 108], "first": [8, 14, 24, 26, 29, 42, 47, 51, 92, 94, 95, 96, 97, 99, 102, 108, 109, 110, 111, 112, 121], "fit": [39, 45, 57, 92, 96, 97, 111], "five": 90, "fix_json_escaped_single_quot": 47, "fix_json_missing_comma": 47, "flat": 61, "flexibl": [42, 47, 57, 88, 90, 98, 102, 106, 108, 110, 112, 116, 123], "float": [15, 17, 19, 34, 36, 45, 47, 57, 59, 61, 62, 63, 67, 69, 71, 77, 92, 93, 94, 102, 109, 110, 112], "flow": [92, 108, 109, 123], "fn": [46, 47, 108, 112], "fn_schema_str": [24, 57, 108], "fnew": 110, "focu": [92, 108, 110], "focus": 97, "folder": [84, 116], "follow": [8, 11, 16, 17, 21, 24, 29, 33, 34, 36, 39, 40, 48, 80, 84, 88, 93, 95, 96, 98, 99, 101, 106, 109, 110, 112, 115, 116, 121, 123], "food": 110, "footprint": [92, 109], "forc": 84, "fork": 84, "form": [8, 26, 29, 57, 88, 92, 106, 109, 111, 118], "format": [8, 10, 13, 14, 15, 17, 19, 24, 26, 29, 34, 36, 39, 40, 43, 46, 48, 50, 53, 54, 57, 77, 80, 82, 84, 92, 93, 96, 97, 99, 101, 102, 106, 108, 109, 118, 121, 123], "format_chat_history_str": 92, "format_class_str": [39, 88], "format_example_str": [39, 88], "format_instruct": [17, 34, 112], "format_str": 39, "format_typ": [17, 34, 39, 88], "formula": 110, "forward": [40, 55, 90, 118], "fossil": [92, 109], "found": [47, 61, 62, 63, 79, 84, 92, 95, 109, 121], "foundament": 90, "foundat": [58, 65], "four": [50, 109, 112], "frac": [19, 36], "framework": [38, 65, 108, 116], "franc": [39, 47, 88, 101, 102, 106], "francisco": 112, "franklin": 87, "free": [92, 109], "frequenc": [19, 36, 110], "frequent": [19, 36], "fresh": 109, "friendli": 110, "from": [6, 8, 14, 15, 16, 17, 18, 19, 23, 26, 27, 29, 33, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 57, 61, 69, 71, 73, 74, 77, 78, 80, 84, 89, 92, 93, 94, 95, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 115, 116, 117, 118, 121, 123], "from_config": [40, 45, 48, 96, 109], "from_default": 108, "from_dict": [14, 17, 19, 34, 36, 39, 40, 52, 53, 57, 88, 106, 109, 112, 123], "from_dict_to_json": 47, "from_dict_to_yaml": 47, "from_funct": [57, 112], "from_json": [39, 88], "from_json_to_dict": 47, "from_pretrain": 102, "from_yaml": [39, 88], "from_yaml_to_dict": 47, "frustrat": [96, 98, 101], "fsspec": 92, "fuel": [92, 109], "full": [57, 98, 109, 116, 118, 121], "fullwiki": 121, "fun": [40, 57, 101, 116], "fun_arg": 57, "fun_compon": [40, 90], "fun_expr": 57, "fun_kwarg": 57, "fun_nam": 57, "fun_to_compon": [40, 90], "func": [47, 56, 57, 112], "func_desc": [57, 112], "func_expr": 112, "func_nam": [57, 112], "func_output": 112, "func_paramet": [57, 112], "func_pars": 112, "func_tool": [58, 112], "funciton": 112, "funcnam": 112, "funcompon": 40, "function": [0, 6, 8, 14, 15, 16, 19, 23, 24, 26, 27, 29, 36, 38, 39, 40, 42, 46, 50, 52, 54, 56, 57, 58, 65, 77, 80, 81, 88, 90, 92, 93, 95, 96, 97, 98, 108, 109, 110, 111, 116, 121, 123], "function_arg": 112, "function_definit": [56, 112], "function_expr": [47, 112], "function_nam": [80, 112], "function_respons": 112, "function_to_cal": 112, "functiondefinit": [46, 56, 57, 112], "functionexpress": [46, 56, 57], "functionoutput": [46, 56, 57, 112], "functiontool": [0, 46, 56, 108, 118], "fundament": [98, 116, 118], "further": [8, 26, 29, 45, 88, 90, 93, 96, 101, 109, 111, 116], "futur": [8, 26, 29, 87, 93, 96, 98, 109, 111, 116], "fuzzi": [95, 109, 121], "fuzzy_match": [59, 121], "g": [8, 21, 24, 26, 29, 36, 71, 84, 99, 102, 111, 112, 121], "ga": [92, 109], "game": 92, "gap": [50, 98], "gase": [92, 109], "gather": [46, 106, 112], "gemma": 13, "genai": 98, "genear": 109, "gener": [0, 8, 14, 17, 26, 29, 34, 39, 40, 42, 47, 50, 51, 53, 54, 57, 61, 67, 68, 69, 71, 73, 74, 75, 78, 84, 87, 88, 90, 92, 93, 94, 95, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "generate_function_call_expression_from_cal": [47, 112], "generate_readable_key_for_funct": 47, "generated_text": 95, "generativeai": [79, 115], "generator2": 101, "generator2_cal": 101, "generator_2": 101, "generator_2_cal": 101, "generator_cal": [73, 101], "generator_call_logg": [72, 73, 96, 101], "generator_evalu": 121, "generator_nam": 75, "generator_names_to_fil": 74, "generator_state_logg": [72, 96], "generator_state_trac": [75, 101], "generatorcalllogg": [74, 96, 101], "generatorcallrecord": 74, "generatorlogg": 73, "generatoroutput": [21, 36, 48, 57, 73, 74, 92, 110], "generatorstatelogg": [75, 96, 101], "generatorstatesrecord": 75, "get": [8, 14, 19, 24, 26, 29, 36, 39, 40, 42, 47, 52, 53, 57, 61, 74, 80, 81, 88, 90, 92, 95, 102, 108, 109, 110, 111, 112, 121, 123], "get_al": 81, "get_all_messages_cont": 14, "get_cal": 74, "get_chat_history_str": 57, "get_current_script_and_lin": 80, "get_current_weath": 112, "get_data_class_schema": [47, 123], "get_data_key_fun": 71, "get_dataclass_schema": 47, "get_default_log_config": 80, "get_dialog_turn": 57, "get_first_message_cont": 14, "get_fun_schema": [46, 47, 112], "get_jinja2_environ": 52, "get_log_loc": [74, 75], "get_logg": 80, "get_model_arg": 57, "get_next_ord": 57, "get_prob": 14, "get_prompt_vari": 52, "get_string_token": 55, "get_subcompon": 40, "get_supporting_sent": 121, "get_top_k_indices_scor": 47, "get_transformed_data": 42, "get_transformer_kei": 42, "get_type_schema": 47, "getenv": 102, "git": [84, 116], "github": [84, 113, 120], "give": [90, 92, 98, 109, 112], "given": [19, 36, 40, 47, 53, 68, 75, 77, 96, 99, 108, 109, 110, 112, 121], "go": [96, 98, 101, 108, 109, 116, 118], "goal": [96, 108, 111, 112, 118], "goe": 98, "good": [19, 36, 88, 90, 92, 95, 110, 112], "googl": [61, 62, 63, 69, 79, 84, 94, 95, 102, 106, 115], "google_api_kei": 115, "google_cli": 102, "google_generativeai": 79, "googlegenaicli": [79, 102], "got": 109, "gpt": [40, 47, 48, 90, 92, 95, 96, 99, 102, 109, 110, 112], "gpt3": 18, "gpt_model_kwarg": 110, "graesser": 87, "graph": 110, "gre": 95, "great": [8, 26, 29, 88, 94, 95, 97, 98, 101, 110], "green": 80, "greenhous": [92, 109], "greet": 57, "groq": [13, 57, 79, 96, 102, 115], "groq_api_kei": 115, "groq_client": 102, "groqapicli": [13, 40, 96, 102, 108, 110, 118], "ground": [59, 61, 62, 63, 69, 92, 95, 109, 116, 121], "group": 57, "grow": 110, "growth": [92, 109], "gt": [69, 109], "gt_answer": [59, 61], "gt_context": [62, 63, 95], "gt_context_sentence_list": 121, "gte": [15, 93, 102], "gu": 111, "guarante": [17, 84], "guid": [14, 84, 86, 108, 110, 112], "guidelin": [85, 95], "guo": 95, "ha": [18, 23, 36, 39, 42, 47, 53, 62, 63, 71, 73, 75, 80, 82, 88, 89, 92, 95, 109, 110, 111, 112, 115, 116, 118, 121, 123], "had": [94, 110], "halluci": 109, "hand": [95, 109], "handi": 106, "handl": [11, 13, 15, 21, 36, 39, 40, 47, 50, 88, 92, 93, 96, 97, 101, 102, 108, 109, 112, 123], "happen": 96, "hard": 98, "harri": 123, "hash": 69, "hashcod": 95, "have": [11, 14, 17, 18, 19, 24, 34, 36, 39, 40, 45, 50, 57, 71, 73, 84, 88, 90, 92, 93, 94, 95, 96, 97, 99, 106, 108, 109, 110, 112, 115, 116, 118, 121], "hazard": [92, 109], "he": [18, 123], "headach": 90, "heavi": 98, "hello": [8, 19, 26, 29, 36, 42, 51, 57, 80, 99, 110, 111], "helm": 95, "help": [6, 8, 17, 18, 26, 27, 29, 34, 39, 46, 52, 79, 88, 90, 92, 96, 97, 98, 99, 101, 106, 109, 111, 112, 118, 121], "helper": [6, 16, 27, 33, 40, 52, 77, 90, 109], "henc": [108, 123], "hendryck": 95, "here": [8, 11, 13, 15, 24, 26, 29, 50, 57, 71, 88, 90, 92, 95, 96, 99, 101, 102, 106, 108, 109, 110, 111, 112, 114, 115, 116, 119, 123], "hero": [98, 118], "hf_token": 115, "hi": [57, 123], "hierarchi": [97, 118], "high": [98, 109, 116], "higher": [58, 65, 69, 98, 109, 110], "highest": 110, "highli": [8, 29, 42, 98, 101, 102, 116], "hint": [24, 47, 88, 96, 112], "histor": 92, "histori": [24, 43, 57, 75, 92, 96, 101, 106, 108, 109], "hobbi": 110, "hold": 57, "homepag": [19, 36], "hook": 116, "hop": 108, "host": 109, "hotpot_qa": 121, "hotpotqa": [108, 121], "how": [8, 14, 15, 18, 19, 21, 26, 29, 36, 39, 48, 57, 61, 65, 88, 90, 92, 93, 96, 97, 99, 102, 106, 108, 109, 110, 112, 118, 121, 122, 123], "howev": [8, 29, 90, 92, 98, 99, 106, 109, 112], "html": [8, 26, 29, 84, 88, 109, 111], "http": [0, 10, 11, 13, 14, 15, 18, 19, 36, 69, 84, 87, 88, 93, 96, 106, 109, 112], "hub": [15, 95], "hug": 95, "hug_tran": 95, "huggingfac": [15, 88, 93, 102, 109], "huggingfaceh4": 15, "human": [88, 95, 96, 109], "humanev": 95, "humor": 101, "hundr": 109, "hydrat": 90, "hydro": [92, 109], "hypernetwork": 116, "hyperparmet": 109, "hypothesi": 108, "i": [0, 6, 8, 9, 10, 14, 15, 17, 18, 19, 21, 24, 26, 27, 29, 31, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 53, 55, 57, 59, 61, 62, 63, 68, 69, 71, 73, 74, 75, 77, 78, 79, 80, 84, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 106, 109, 110, 111, 112, 114, 115, 118, 119, 121, 123], "ibuprofen": 90, "icl": [67, 71, 98], "id": [8, 26, 29, 55, 57, 92, 94, 110, 111], "idea": 113, "ideal": [8, 26, 29, 106, 111], "identifi": [47, 75, 110], "idf": [19, 36, 92, 109, 110], "idf_vers": 95, "idx": [40, 110, 112], "igh": 111, "ik": [8, 26, 29], "illustr": [8, 26, 29, 108, 111], "imag": [93, 109], "immedi": 40, "impact": [8, 17, 19, 26, 29, 36, 71, 92, 108, 109, 110], "implement": [0, 8, 9, 11, 13, 15, 19, 26, 29, 31, 36, 50, 53, 93, 95, 102, 109, 110, 111, 121, 123], "implicitli": 51, "import": [8, 17, 19, 26, 29, 34, 36, 39, 40, 46, 47, 52, 79, 80, 88, 90, 92, 93, 94, 95, 96, 97, 99, 101, 102, 106, 108, 109, 110, 111, 112, 115, 116, 118, 121, 123], "import_path": 79, "importerror": 79, "impress": 95, "improv": [19, 36, 67, 95, 96, 101, 109, 110, 111], "inabl": 47, "inc": 84, "includ": [8, 9, 19, 26, 29, 31, 36, 39, 40, 42, 47, 53, 57, 77, 84, 90, 92, 97, 106, 108, 109, 110, 111, 112, 116, 121, 123], "includng": 116, "incomplet": 47, "incorpor": 95, "incorrect": [51, 96], "increa": 92, "increas": [19, 36, 92, 109, 110], "increasingli": 95, "incress": 112, "indent": [17, 34, 47], "index": [8, 15, 19, 21, 23, 24, 29, 36, 42, 52, 53, 57, 71, 84, 92, 93, 102, 106, 109, 110, 112, 121], "index_kei": [53, 109], "indexflatip": 110, "indic": [21, 36, 39, 47, 109, 110], "infanc": 98, "infer": [15, 51, 57, 93, 95], "infer_bge_reranker_bas": 15, "infer_gte_base_embed": [15, 102], "influenc": [19, 36, 95, 110], "info": 80, "inform": [39, 55, 58, 65, 90, 96, 108, 109, 110, 116, 120, 123], "infrastructur": [92, 109], "ingest": [8, 29, 116], "ingestionpipelin": 116, "inherit": [50, 92, 109, 116], "init": [67, 69, 80], "init_async_cli": [10, 11, 13, 14, 50, 102], "init_llm_cli": 15, "init_model": [15, 102], "init_reranker_cli": 15, "init_sync_cli": [10, 11, 13, 14, 15, 50, 102], "initi": [15, 19, 21, 23, 24, 36, 50, 52, 53, 67, 71, 80, 92, 96, 102, 106, 108, 109, 110, 112, 121, 123], "initvar": 57, "inmemoryfaissretriev": 109, "inner": 110, "input": [0, 6, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 27, 34, 36, 39, 40, 45, 47, 48, 50, 53, 54, 55, 57, 68, 88, 92, 93, 94, 95, 96, 99, 101, 102, 106, 109, 110, 111, 112, 116, 123], "input_data_obj": 68, "input_str": [24, 40, 43, 73, 90, 92, 96, 101, 106, 109, 110, 112, 118], "input_text": 15, "insert": 42, "insid": [8, 24, 26, 29, 110, 111], "instal": [32, 79, 80, 84, 92, 93, 109, 114, 116], "install_messag": 79, "instanc": [14, 17, 18, 34, 39, 40, 47, 48, 52, 73, 82, 94, 95, 110, 112, 116, 121, 123], "instanti": [40, 77, 88, 96], "instead": [8, 14, 26, 29, 39, 40, 47, 61, 88, 90, 92, 93, 96, 98, 110, 111, 112, 116], "instruct": [17, 18, 21, 24, 34, 36, 39, 69, 88, 95, 96, 110, 112, 116, 123], "instructur": 112, "int": [0, 6, 8, 11, 15, 19, 21, 23, 26, 27, 29, 36, 39, 42, 45, 47, 51, 53, 55, 57, 67, 71, 80, 88, 92, 93, 108, 109, 112, 123], "int_param": 51, "integ": [17, 34, 51], "integr": [8, 10, 11, 13, 14, 15, 16, 26, 29, 32, 33, 65, 92, 93, 97, 98, 102, 108, 109, 116, 118], "intellig": [95, 96], "intend": 84, "intent": 95, "interact": [24, 38, 39, 57, 65, 88, 97, 98, 108, 112, 118, 123], "interchang": 112, "interest": [92, 95], "interfac": [17, 46, 47, 50, 90, 93, 94, 96, 97, 98, 102], "intergr": [98, 102, 109], "interleav": [99, 108], "intermedi": [92, 108], "intern": [39, 65, 79, 82, 95, 98, 102, 108, 112], "interpret": [8, 26, 29], "intial": 96, "intro": 10, "introduc": [8, 26, 29, 106, 111], "introduct": [14, 122], "intuit": [8, 26, 29, 111], "invalid_api_kei": 96, "invalid_request_error": 96, "invers": [19, 36, 110], "invest": [92, 109], "investig": [96, 123], "invok": [39, 47], "involv": [95, 110], "io": [40, 45, 53], "irrelev": 109, "is_dataclass_inst": 47, "is_key_in_templ": 52, "is_norm": [47, 57, 93], "is_pick": 90, "is_pickl": 40, "is_potential_dataclass": 47, "is_running_in_event_loop": 46, "isinst": 102, "issu": 84, "item": [42, 92, 112], "item1": 54, "item2": 54, "iter": [40, 51, 98, 108, 110, 118], "itertool": 110, "its": [8, 19, 26, 29, 36, 40, 47, 51, 53, 57, 73, 74, 75, 77, 87, 88, 90, 92, 96, 98, 106, 108, 109, 110, 111, 112, 116, 121], "itself": [9, 31, 40, 47, 52, 78, 98, 99, 106, 110], "jan": 18, "jinja": [106, 116], "jinja2": [52, 96, 116, 123], "jinja2_template_exampl": 106, "job": [92, 109], "john": [24, 39, 123], "join": [24, 92, 108, 112, 113, 121], "joke": 123, "joke_exampl": 123, "jokeoutput": 123, "josh": 95, "json": [8, 17, 19, 24, 26, 29, 34, 36, 39, 47, 54, 56, 57, 73, 74, 75, 77, 78, 82, 88, 90, 96, 101, 108, 109, 111, 112, 116, 118, 121, 123], "json_definit": [56, 112], "json_obj": 54, "json_pars": 54, "json_signatur": 88, "json_signature_exclud": 88, "json_str": [39, 47, 54, 88], "jsonl": [73, 74, 78, 101], "jsonoutputpars": [17, 34, 112], "jsonpars": [0, 54, 96, 108, 121], "judg": [61, 95, 96, 121], "judgement": [61, 95, 121], "judgement_list": [61, 121], "judgement_queri": [61, 121], "jump": 116, "just": [15, 92, 96, 102, 112, 116], "k": [21, 23, 36, 110], "k1": [19, 36, 109, 110], "keep": [39, 42, 88, 90, 92, 99, 109, 110, 111, 123], "kei": [11, 14, 24, 39, 40, 42, 47, 52, 53, 54, 57, 87, 88, 90, 92, 93, 94, 96, 108, 109, 110, 112, 114, 116, 123], "kept": [8, 26, 29], "keyword": [24, 47, 52, 57, 106, 109, 112], "kind": 116, "kmp_duplicate_lib_ok": 110, "knock": [92, 109], "know": [14, 96, 98, 99, 101, 112], "knowledg": [98, 108, 109, 112, 121], "known": [87, 88, 109], "kw_onli": 69, "kwarg": [0, 10, 13, 14, 15, 17, 19, 21, 23, 24, 36, 40, 45, 46, 47, 48, 50, 52, 53, 57, 61, 70, 71, 102, 106, 108, 109, 112], "l": [15, 111], "label": [39, 47, 71, 88, 109, 116], "lack": [106, 109], "lambda": [40, 71, 92, 109], "land": [92, 109], "landscap": 109, "languag": [8, 19, 26, 29, 36, 84, 87, 95, 96, 99, 108, 116, 118], "larg": [45, 87, 92, 95, 96, 109, 110, 111, 118], "larger": [45, 110], "last": [8, 26, 29, 42, 92, 109, 112], "last_hidden_st": [15, 102], "later": [42, 48, 88, 92, 109, 110, 112], "latest": 108, "layer": 98, "lazi": 79, "lazy_import": [57, 115], "lazyimport": [57, 79], "lead": [21, 36, 69, 71, 92, 109], "leap": [62, 63, 95], "learn": [40, 90, 93, 95, 96, 97, 98, 102, 109, 111, 113, 116, 121], "least": 47, "left": [19, 36], "legal": 95, "len": [92, 110, 112, 121], "length": [8, 19, 26, 29, 36, 42, 57, 92, 93, 110, 111, 112], "lengthi": 116, "lengthier": [19, 36, 110], "less": [17, 19, 34, 36, 57, 88, 93, 109, 110, 112, 118], "let": [18, 32, 88, 90, 92, 101, 106, 108, 109, 110, 112, 121], "level": [58, 65, 80, 89, 108, 112, 116, 118], "leverag": [8, 29, 47, 53, 84, 88, 92, 108, 109, 110, 111, 112, 121], "leverg": [19, 36, 53], "li": [88, 92, 93, 102, 106, 109, 112, 117], "lib": 80, "librari": [8, 26, 29, 39, 42, 48, 61, 73, 79, 80, 88, 89, 90, 95, 97, 98, 99, 102, 109, 111, 116, 118], "lickabl": 110, "life": 95, "lifecyl": 112, "lifestyl": 90, "lift": 98, "light": [92, 109, 118], "light_rag": 116, "lightrag": [8, 14, 15, 17, 19, 26, 29, 36, 38, 39, 40, 42, 43, 50, 52, 57, 58, 65, 74, 79, 80, 84, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 102, 106, 109, 111, 113, 114, 118, 121, 123], "lightrag_default_prompt_arg": 106, "lightweight": 88, "like": [8, 26, 29, 39, 42, 47, 50, 57, 73, 80, 88, 90, 92, 93, 94, 96, 98, 99, 101, 102, 108, 109, 110, 111, 116, 118, 123], "limit": [84, 92, 95, 97, 109, 110, 111, 112], "line": [80, 84, 96, 97, 98, 101, 116], "line_numb": 80, "linear": 118, "link": 84, "list": [0, 6, 8, 11, 14, 15, 17, 19, 21, 23, 26, 27, 29, 34, 36, 39, 40, 42, 45, 47, 48, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 69, 71, 73, 74, 78, 88, 90, 92, 93, 95, 99, 102, 109, 110, 112, 115, 121], "list_output_format_templ": [17, 34], "list_pars": 54, "listoutputpars": [17, 34], "listpars": [21, 36, 54, 109, 110], "liter": [8, 26, 29, 47, 57, 80, 109], "liu": 95, "llama": [8, 29, 106], "llama3": [13, 40, 96, 99, 106, 108, 118], "llama_index": 116, "llamaindex": [8, 29, 116], "llm": [0, 9, 15, 21, 24, 31, 36, 39, 40, 46, 48, 54, 57, 61, 68, 69, 87, 90, 92, 96, 97, 101, 102, 108, 110, 111, 112, 116, 118, 121, 122, 123], "llm_as_judg": [64, 96], "llm_augment": 67, "llm_evalu": [61, 121], "llm_judg": [61, 121], "llm_kwarg": 92, "llm_model_kwarg": 108, "llm_optim": 96, "llm_query_indic": 110, "llm_query_output": 110, "llm_retriev": [96, 109, 110], "llm_tool": 108, "llmasjudg": [61, 95, 121], "llmasretriev": 109, "llmaugment": 68, "llmoptim": [69, 96], "llmretriev": [21, 36, 73, 96, 109, 110], "llmretrieveroutputtyp": [21, 36], "lo": 99, "load": [19, 36, 39, 40, 42, 53, 67, 69, 74, 75, 77, 78, 84, 92, 95, 102, 108, 109, 112, 114, 121, 123], "load_dataset": [95, 121], "load_dotenv": [94, 108, 110, 115], "load_from_fil": [19, 36, 53, 109], "load_from_pickl": 40, "load_index": 110, "load_json": 78, "load_jsonl": 78, "load_meta_data": 74, "load_metr": 95, "load_pickl": 78, "load_stat": [42, 92], "load_state_dict": [40, 90], "load_state_pickl": 40, "loaded_exampl": 123, "local": [9, 15, 31, 40, 50, 84, 102, 109, 112], "local_db": 42, "local_db_load": 42, "local_embedd": 93, "local_embedder_256": 93, "local_item_db": 42, "localdb": [9, 31, 42, 57, 92], "locat": [84, 88, 109, 112], "lock": 116, "log": [19, 36, 73, 74, 75, 78, 80, 92, 96, 98, 102, 117], "log_cal": 74, "log_prompt": 75, "logger": [73, 101], "logger_metadata": 101, "logic": [11, 13, 15, 50, 95, 98, 110], "logprob": [57, 109], "long": [8, 26, 29, 92, 96, 97, 101, 109, 110, 111], "longest": 109, "look": [47, 88, 92, 93, 101, 106, 108, 109, 110, 117], "lookup": 108, "loop": [24, 46, 52, 95, 106, 109, 112], "lose": [96, 101, 116], "lost": [42, 109], "lot": [54, 95, 110], "love": 110, "lower": [98, 110, 112], "lru_cach": 102, "lstrip_block": 106, "luna": 110, "m": [57, 84, 101], "m1": 15, "macbook": 15, "made": [42, 88, 96, 97], "magenta": 80, "mai": [8, 29, 90, 99], "main": [42, 52, 71, 84, 90, 94, 109, 116], "mainli": [57, 79, 88, 92, 98, 110, 116], "maintain": [8, 26, 29, 39, 84, 88, 110], "major": 84, "make": [17, 34, 42, 50, 65, 84, 88, 90, 92, 95, 96, 101, 102, 106, 108, 109, 112, 115, 116, 123], "makefil": 84, "manag": [8, 29, 42, 43, 53, 56, 57, 68, 77, 90, 92, 94, 96, 102, 108, 110, 111, 112, 123], "mani": [18, 106, 109, 112], "manipul": [108, 116], "manner": 108, "manual": [40, 77, 84, 90, 98, 101, 116, 117], "manufactur": [92, 109], "map": [8, 23, 26, 29, 36, 40, 42, 47, 53, 78, 82, 88, 92, 109, 111, 112], "map_dialogturn_to_docu": 92, "map_fn": [42, 92], "map_to_docu": 92, "mapper_setup": [42, 92], "mappingproxi": 69, "mar": 0, "mark": [88, 95], "markdown": [8, 26, 29, 111], "marshmallow": [39, 88], "massiv": 95, "match": [19, 36, 40, 47, 59, 88, 95, 110, 121], "match_acc_list": 121, "materi": [92, 109], "mathemat": 95, "matrix": 88, "matter": [46, 88, 92], "max": [46, 108], "max_length": [15, 102], "max_step": [0, 108], "max_token": [99, 102], "maxim": [98, 106], "maximum": [0, 8, 24, 26, 29, 89, 99, 110, 111, 118], "mayb": 116, "md": [116, 117], "me": [106, 109], "mean": [8, 26, 29, 42, 71, 96, 98, 99, 108, 110, 111, 112], "meant": 84, "meanwhil": 110, "measur": [19, 36, 95, 110], "mechan": 102, "medata": 39, "medic": [90, 95], "member": [40, 113], "memo": 40, "memoi": 97, "memori": [42, 45, 57, 58, 92, 93, 97, 98, 110, 111, 112], "meng": 95, "mere": 110, "merg": [8, 26, 29, 111, 116], "messag": [10, 14, 24, 57, 79, 93, 96, 99, 102, 106], "meta": [99, 106, 110], "meta_data": [8, 26, 29, 57, 92, 94, 110, 111, 121], "metadata": [17, 24, 34, 39, 46, 47, 57, 69, 88, 92, 96, 101, 108, 109, 123], "methd": 53, "method": [8, 10, 11, 13, 14, 15, 17, 19, 26, 29, 34, 36, 39, 40, 42, 50, 52, 53, 55, 61, 71, 73, 82, 88, 90, 92, 93, 95, 96, 97, 101, 102, 106, 109, 112, 118], "metric": [59, 61, 62, 63, 95, 109, 121], "middl": 109, "might": [15, 18, 21, 36, 40, 42, 46, 88, 92, 93, 96, 109, 110, 112], "million": 109, "mimic": 18, "mimick": 88, "mind": [98, 101], "minim": [9, 31, 98], "minimum": [24, 89, 106, 118], "minut": 114, "mislead": [24, 39, 123], "miss": [39, 47, 68, 109, 112], "misunderstand": 110, "mixtral": 13, "mmlu": 95, "mode": [40, 97, 116], "modecli": 94, "model": [0, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21, 23, 26, 29, 31, 32, 33, 36, 40, 42, 45, 47, 48, 50, 57, 61, 68, 77, 87, 90, 94, 95, 97, 98, 99, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "model_cli": [0, 21, 23, 36, 38, 40, 45, 48, 58, 61, 68, 69, 73, 77, 79, 90, 92, 93, 94, 96, 97, 102, 108, 109, 110, 112, 118, 121], "model_kwarg": [0, 10, 11, 13, 14, 15, 21, 23, 36, 40, 45, 47, 48, 50, 57, 61, 68, 69, 74, 77, 90, 92, 93, 94, 96, 101, 102, 108, 109, 110, 112, 118, 121], "model_nam": [15, 77, 102], "model_typ": [10, 11, 13, 14, 15, 40, 45, 48, 50, 57, 90, 95, 96, 102], "modelcli": [0, 10, 11, 13, 14, 15, 21, 23, 36, 40, 45, 48, 50, 57, 61, 68, 69, 90, 93, 96, 97, 106, 109, 118], "modelclienttyp": [57, 92, 96, 109, 112], "modeltyp": [10, 11, 13, 14, 15, 40, 45, 48, 50, 57, 90, 96, 102, 109], "modif": [14, 90], "modifi": [6, 26, 27], "modoel": 92, "modubl": 40, "modul": [21, 39, 40, 47, 54, 57, 79, 82, 84, 88, 90, 92, 97, 109, 116, 118, 121], "modular": 118, "module_nam": 79, "moment": 98, "monitor": [92, 116], "month": [62, 63, 95], "monument": 101, "moon": 95, "more": [8, 10, 11, 13, 18, 19, 24, 26, 29, 36, 39, 40, 47, 54, 55, 56, 57, 61, 68, 84, 85, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99, 101, 108, 109, 110, 111, 112, 116, 118, 120, 121, 123], "moreov": 108, "most": [17, 90, 96, 97, 99, 101, 106, 109, 110], "mostli": [39, 109], "move": [8, 26, 29, 97, 109, 111], "movi": [94, 110], "mp": 15, "much": [90, 96, 101, 109, 110], "mulitpl": [6, 27], "multi": [88, 93, 99, 108, 116], "multifacet": 95, "multilingu": 11, "multipl": [0, 42, 71, 74, 75, 77, 87, 92, 93, 96, 108, 109, 112, 116], "multipli": [108, 112], "multitask": 95, "multple_function_call_templ": 112, "must": [24, 40, 42, 102], "my_db": 42, "my_funct": 40, "my_function_compon": 40, "my_inst": [39, 123], "myfunctioncompon": 40, "myoutput": [39, 123], "mypi": 88, "n": [8, 14, 17, 19, 26, 29, 34, 36, 43, 54, 92, 101, 102, 110, 112], "n_________": 92, "nadd": 112, "name": [24, 39, 40, 42, 46, 47, 55, 57, 69, 73, 74, 75, 77, 78, 79, 80, 81, 82, 88, 90, 92, 95, 98, 101, 108, 109, 110, 112, 116, 121, 123], "named_children": 40, "named_compon": 40, "named_paramet": [40, 90], "nanswer": 101, "nativ": [88, 106], "natur": [8, 26, 29, 47, 95], "navig": 84, "nd": 109, "ndarrai": [47, 109, 112], "ndivid": 112, "necessari": [15, 84, 110, 112, 115, 116, 121], "need": [0, 8, 11, 13, 14, 15, 17, 19, 26, 29, 36, 39, 40, 45, 46, 50, 54, 56, 57, 79, 80, 88, 92, 93, 96, 98, 102, 106, 109, 110, 111, 112, 116, 121], "neg": [19, 36, 59, 110], "nest": [17, 34, 39, 40, 47, 57, 88, 97], "net": 118, "neutral": [59, 116], "new": [0, 8, 26, 29, 42, 47, 69, 84, 92, 93, 95, 108, 109, 110, 112, 116], "new_compon": [77, 96], "new_components_from_config": 77, "new_dim": 93, "new_embed": 93, "new_turn": 92, "next": [24, 40, 94, 95, 99, 102, 106, 108, 110, 112, 121], "nget": 112, "nkei": 54, "nlg": 95, "nlp": [8, 26, 29, 94, 98, 110, 111], "nlu": 95, "nmultipli": 112, "nn": [40, 90, 118], "nnew": 110, "nnone": 112, "nnow": 101, "node": 47, "nois": 110, "non": [8, 26, 29], "none": [0, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 29, 31, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 56, 57, 61, 67, 68, 69, 71, 73, 74, 75, 78, 79, 80, 82, 88, 92, 94, 96, 102, 109, 110, 111, 112], "nonetyp": 57, "nonsens": [110, 111], "normal": [19, 36, 47, 57, 88, 93, 102, 110], "normalize_np_arrai": 47, "normalize_vector": [47, 93], "nosql": 109, "note": [15, 17, 18, 19, 36, 39, 40, 47, 53, 57, 80, 90, 92, 96, 97, 108, 109, 112, 116, 121], "notebook": [108, 109], "noth": 108, "notic": [96, 99], "notimplementederror": [102, 109], "now": [15, 18, 40, 73, 88, 92, 93, 94, 96, 101, 106, 108, 109, 110, 112, 116], "np": [109, 112], "nsearch": 112, "nsum": 112, "nthe": 101, "null": [92, 101], "num": 71, "num_class": 71, "num_doc": 121, "num_row": 95, "num_shot": [67, 71], "number": [0, 8, 19, 23, 26, 29, 36, 55, 62, 63, 80, 93, 94, 95, 108, 110, 111, 112, 121], "numer": [88, 94, 109, 110], "numpi": [93, 109, 112], "numpy_sum": 112, "nyou": 43, "nz": [19, 36], "o": [82, 84, 102, 110], "o200k_bas": 110, "obj": [40, 47, 78, 82], "object": [8, 15, 17, 26, 29, 34, 39, 40, 47, 48, 52, 54, 56, 57, 59, 61, 62, 63, 68, 69, 70, 73, 74, 75, 78, 79, 81, 82, 88, 94, 96, 108, 110, 111, 112], "objecttyp": [82, 112], "observ": [24, 57, 98, 108], "obtain": [94, 95], "occur": [19, 36, 93], "occurr": 110, "off": [102, 109], "offer": [92, 96, 102, 109, 116, 118, 123], "offici": 118, "often": [19, 36, 57, 92, 93, 96, 102, 106, 109, 111], "okapi": 110, "okapi_bm25": [19, 36, 109], "old_dim": 93, "old_embed": 93, "onc": [95, 109, 110], "one": [6, 15, 24, 27, 46, 47, 80, 93, 96, 99, 101, 106, 108, 109, 110, 112], "ones": [73, 96, 110, 111], "onli": [14, 17, 19, 24, 34, 36, 39, 40, 42, 45, 47, 48, 56, 57, 61, 73, 77, 79, 88, 90, 92, 93, 96, 98, 101, 102, 106, 108, 109, 110, 112, 116, 123], "open": [84, 95, 116, 121], "openai": [11, 13, 14, 15, 16, 33, 50, 57, 79, 92, 94, 96, 99, 102, 109, 110, 112, 115, 116, 123], "openai_api_kei": [93, 102, 115], "openai_cli": [79, 93, 102, 121], "openaicli": [11, 13, 14, 15, 40, 45, 48, 50, 73, 77, 79, 90, 92, 93, 94, 96, 102, 108, 109, 110, 121], "oper": [6, 26, 27, 39, 42, 45, 57, 58, 65, 88, 92, 109, 110, 123], "operand": 112, "opinion": 116, "opro": 69, "opt": 106, "optim": [19, 36, 51, 88, 90, 92, 96, 101, 109, 110, 116, 118], "option": [0, 8, 10, 13, 14, 15, 17, 19, 21, 23, 26, 29, 34, 36, 39, 40, 42, 45, 47, 48, 50, 51, 52, 53, 55, 57, 61, 73, 74, 75, 78, 79, 80, 88, 90, 92, 96, 102, 109, 111, 112, 114, 118, 123], "optional_packag": 79, "optionalpackag": [79, 115], "opu": 99, "orang": 110, "orchestr": [45, 46, 48, 67, 92, 93, 94, 106], "ord_docu": 92, "order": [8, 26, 29, 39, 40, 52, 57, 88, 92, 93, 98, 110, 111], "ordereddict": [40, 57], "org": [0, 15, 18, 19, 36, 69, 87, 88, 109], "org_docu": 92, "organ": [84, 92, 110, 116], "origin": [8, 26, 29, 42, 88, 92, 94, 109, 110], "orpo": 69, "oss": 116, "otago": [19, 36], "other": [8, 17, 24, 26, 29, 34, 40, 47, 54, 57, 77, 82, 84, 88, 90, 93, 95, 96, 98, 109, 112, 113, 116, 123], "othersi": 40, "otherwis": [40, 57, 111], "our": [32, 39, 40, 48, 61, 71, 84, 85, 88, 90, 92, 93, 96, 97, 99, 102, 106, 108, 109, 110, 112, 113, 114, 115, 116, 118, 119, 121], "ourselv": 116, "out": [88, 90, 95, 96, 98, 102, 108, 109, 110, 112, 116], "outcom": [8, 26, 29], "outer": 88, "outlin": [38, 65, 95, 108], "outperform": 108, "output": [8, 13, 14, 16, 19, 21, 24, 26, 29, 33, 34, 36, 39, 40, 43, 45, 46, 47, 48, 54, 57, 61, 67, 68, 71, 73, 74, 80, 88, 90, 92, 94, 97, 99, 101, 102, 106, 108, 109, 110, 111, 116, 121, 123], "output_1": 109, "output_2": 109, "output_3": 109, "output_data_class": 112, "output_data_obj": 68, "output_format": [43, 96, 101, 112, 123], "output_format_str": [17, 43, 96, 101, 106, 112], "output_pars": [38, 112], "output_processor": [0, 17, 21, 34, 36, 45, 48, 67, 93, 94, 108, 109, 110, 112, 121], "output_str": 101, "outputformat": 88, "outputpars": [14, 17, 34, 112, 118], "outstand": 123, "over": [40, 46, 87, 90, 106, 110, 116, 118], "overal": [39, 95, 98, 108, 112], "overflow": 93, "overhead": 46, "overlap": [8, 26, 29, 88, 110, 111], "overpr": 110, "overrid": [94, 108, 110], "overview": [92, 95], "overwrit": 39, "own": [8, 14, 29, 39, 40, 47, 53, 74, 87, 88, 93, 95, 102, 109, 116, 121], "p": 102, "p1": 112, "p2": 112, "packag": [79, 84, 88, 94, 109, 110, 114, 116, 118], "pad": 102, "page": [8, 26, 29, 84, 108, 110, 111], "paid": 101, "pain": 90, "pair": 109, "paitesanshi": 87, "palletsproject": 106, "panel": [92, 109], "paper": [15, 19, 36, 95, 108, 109], "paragraph": 110, "parallel": 87, "param": [40, 47, 51, 62, 90, 96], "paramet": [8, 10, 13, 14, 15, 17, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 45, 47, 48, 50, 52, 53, 55, 57, 59, 61, 63, 67, 69, 73, 74, 75, 77, 78, 79, 80, 82, 88, 90, 97, 108, 110, 112, 116, 121], "parent": 110, "parent_doc_id": [8, 26, 29, 57, 92, 110, 111], "pari": [101, 102, 112], "pars": [10, 13, 14, 15, 16, 17, 33, 34, 46, 47, 48, 50, 54, 56, 57, 96, 97, 102, 108, 112], "parse_chat_complet": [10, 13, 14, 15, 50, 102], "parse_embedding_respons": [14, 15, 16, 32, 33, 50, 102], "parse_func_expr": [56, 112], "parse_function_call_expr": [47, 112], "parse_json_str_to_obj": 47, "parse_yaml_str_to_obj": 47, "parsed_input": [57, 112], "parser": [14, 17, 34, 108, 110, 112], "part": [47, 87, 96, 97, 106, 109, 110, 122], "parti": [39, 80, 109], "particip": 113, "particl": [92, 109], "particulai": 95, "particular": [45, 50, 53, 90, 96, 101, 118], "particularli": 110, "pass": [14, 19, 23, 36, 40, 45, 47, 48, 52, 57, 61, 88, 90, 93, 96, 99, 102, 106, 108, 109, 110, 112], "passag": [8, 26, 29, 110, 111], "past": [57, 106], "path": [19, 36, 53, 73, 75, 79, 95, 97, 121], "path_to_html_output": 84, "pattern": [16, 33, 40, 46, 47, 57], "pdf": [8, 19, 26, 29, 36, 111], "pdfminer": [8, 26, 29, 111], "per": 57, "percent": 106, "perform": [42, 61, 67, 68, 71, 92, 93, 95, 96, 98, 101, 106, 108, 109, 110, 111, 116, 121], "perhap": 101, "period": [8, 26, 29, 111], "perplex": 95, "persist": [9, 19, 31, 36, 42, 53, 57, 90, 92, 109], "persit": 92, "person": [39, 123], "pgvector": [79, 109, 115], "phase": 110, "philosophi": [89, 97], "phoenix": 116, "photon": [92, 109], "phrase": 109, "pickabl": 90, "pickl": [40, 42, 78, 92, 109], "picklabl": [40, 42], "pickle_to_fil": 40, "piec": [8, 26, 29, 110], "pip": [79, 80, 84, 115], "pipelin": [9, 15, 31, 40, 42, 77, 90, 93, 95, 96, 98, 109, 118, 122], "pkl": [42, 77, 92], "place": [51, 112, 115], "placehold": 106, "plai": [38, 50, 65, 92, 99, 106, 109, 110], "plain": 111, "plan": [97, 102, 108, 115], "plann": 87, "planner": 0, "platform": [14, 95, 96, 112, 113], "pleas": [8, 17, 26, 29, 34, 39, 46, 48, 61, 79, 80, 84, 85, 90, 93, 95, 96, 102, 108, 109, 110, 111, 112, 116, 120, 123], "plenti": 90, "plot": 89, "plug": [50, 116], "poetri": [84, 116], "point": [8, 26, 29, 73, 88, 111, 112, 121], "pollut": [92, 109], "pool": 109, "pop": [42, 92], "popular": [87, 95, 110], "posit": [24, 40, 47, 57, 59, 80, 92, 94, 109, 110, 112], "possibl": 88, "post": [21, 36, 109], "postgr": 109, "postgres_retriev": 36, "postgresql": 109, "postprocessor": 116, "potenti": [24, 47, 88, 99, 108, 111], "power": [92, 109, 118], "powershel": 80, "practic": [109, 110, 116], "practis": [90, 109], "pre": [92, 95, 116], "precis": [95, 109], "pred_answ": [59, 61], "predefin": 47, "predict": [39, 48, 57, 59, 61, 73, 88, 95, 96, 99, 101, 106, 121], "prefer": [24, 109, 112], "prefix": [39, 40, 47, 106, 123], "prepar": [21, 36, 92, 94, 109, 110, 112], "prepend": 40, "preprint": 95, "preprocess": [8, 29, 55, 110], "prescript": 90, "presenc": [19, 36], "preserv": 88, "preset": [0, 48, 52, 106, 110], "preset_prompt_kwarg": [17, 34, 52, 73, 101, 108, 109, 110, 121], "pretti": 109, "prevent": [8, 26, 29, 110, 111], "previou": [24, 40, 69, 92, 96, 108, 110, 111, 121], "previous": [14, 40, 52, 109], "principl": 116, "print": [8, 17, 19, 26, 29, 34, 36, 39, 40, 46, 47, 52, 54, 57, 80, 88, 92, 93, 94, 95, 96, 102, 106, 108, 109, 110, 111, 112, 121, 123], "print_prompt": [48, 52, 92, 96], "print_prompt_templ": 52, "printc": 80, "printout": [90, 92, 106, 109, 112], "prior": 80, "priorit": 109, "pro": [92, 109], "prob": 109, "probab": 109, "probabl": [14, 109, 110], "problem": [108, 109, 112, 116], "procesor": 93, "process": [8, 18, 21, 24, 26, 29, 36, 42, 45, 54, 57, 84, 88, 90, 92, 93, 94, 95, 96, 97, 98, 101, 106, 108, 109, 110, 111, 112, 116, 121], "process_queri": 112, "processor": [17, 34, 45, 48, 57, 67, 96], "produc": [92, 109, 121], "product": [8, 29, 92, 93, 95, 98, 109, 110], "production": 116, "profess": 109, "profil": [109, 110], "program": 88, "programmat": 106, "prohibit": 84, "project": [14, 65, 74, 75, 84, 93, 101, 113, 114, 115, 119], "project_nam": [73, 74, 75], "prompt": [0, 14, 17, 21, 24, 34, 36, 39, 40, 43, 48, 52, 57, 68, 73, 75, 80, 88, 90, 92, 96, 97, 98, 99, 101, 102, 108, 109, 110, 112, 116, 117, 118, 121, 123], "prompt_build": [58, 96, 106, 112, 121, 123], "prompt_kwarg": [0, 48, 52, 74, 90, 92, 96, 101, 106, 112], "prompt_stat": [75, 101], "prompt_templ": 123, "prompt_token": [57, 102], "prompt_vari": [40, 90, 96, 101, 106, 109, 118], "promt_kwarg": 0, "properli": 123, "properti": [42, 47, 56, 57, 74, 75, 88, 93, 108, 112], "propetriari": 99, "propos": [67, 69], "proprietari": [106, 116], "protocol": [50, 95, 109], "provid": [8, 21, 24, 26, 29, 32, 36, 38, 39, 40, 47, 50, 51, 52, 58, 65, 69, 73, 74, 80, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 112, 116, 118, 121, 123], "proxim": 109, "pt": 102, "publish": [0, 18], "pull": 84, "punchlin": 123, "punctuat": [8, 26, 29, 111], "pure": 96, "purpos": [8, 26, 29, 90, 92, 111, 121], "purposli": 40, "pursuit": 87, "push": 84, "put": [88, 90, 93, 98, 109, 116], "py": [57, 84, 115, 116, 121], "pydant": [39, 88], "pydata_sphinx_them": 84, "pypdf2": [8, 26, 29, 111], "python": [8, 17, 24, 26, 29, 34, 39, 47, 54, 57, 84, 88, 95, 106, 111, 115, 116], "pytorch": [39, 40, 71, 84, 88, 90, 98, 118, 123], "q": [18, 19, 36, 108], "q_i": [19, 36], "qa": 40, "qualiti": [84, 95, 96, 121], "qualnam": [39, 57, 79, 82], "quantit": 95, "queri": [0, 6, 11, 15, 17, 19, 21, 24, 27, 34, 36, 40, 57, 59, 61, 62, 63, 87, 90, 93, 95, 101, 102, 106, 108, 109, 110, 112, 118, 121], "query_1": 109, "query_1_short": 109, "query_1_token": 109, "query_1_word": 109, "query_2": 109, "query_2_short": 109, "query_or_queri": [21, 36, 110], "query_str": [57, 92], "question": [8, 17, 18, 26, 29, 34, 39, 47, 61, 88, 90, 95, 101, 108, 111, 113, 116, 121, 123], "quick": [56, 108, 110], "quickli": [92, 109, 116], "quit": [96, 106, 109], "quot": [24, 112], "r": [24, 40, 52, 84, 90, 96, 102, 106, 109, 112, 118, 121, 123], "rag": [87, 95, 108, 109, 110, 116, 118, 122], "rag_hotpotqa": 121, "raga": 95, "rais": [8, 26, 29, 39, 47, 79, 88, 93, 96, 102, 109], "random": [54, 71], "random_replac": [67, 71], "random_sampl": 71, "randomli": 71, "randomsampl": 71, "rang": [57, 61, 69, 71, 88, 95, 109, 110, 112, 121], "rank": [19, 23, 36, 110], "rank_bm25": [19, 36, 109], "rare": [19, 36], "rate": 112, "rather": [88, 93, 96], "ratio": [62, 63, 110, 121], "raw": [8, 19, 24, 29, 36, 57, 88, 96, 106, 112], "raw_respons": [21, 36, 57, 93, 96, 101, 102, 112], "re": [108, 109], "reach": [19, 36, 106, 108], "react": [24, 87], "reactag": [0, 87, 97, 108], "read": [24, 73, 99, 106, 108, 116, 123], "readabl": 84, "readi": [109, 110, 112], "readili": 95, "readm": [84, 116, 117], "real": [8, 26, 29, 92, 109, 111, 113, 118], "realiti": 106, "realli": [92, 96, 102, 108], "realtion": 109, "reason": [17, 19, 34, 36, 87, 88, 95, 97, 108, 109, 110], "reattach": [8, 26, 29], "rebuilt": 77, "recal": [62, 95, 109, 121], "recall_list": [62, 95, 121], "receiv": [94, 99, 110], "recogn": 116, "recognit": 98, "recommend": [95, 115], "recomnend": 71, "recomput": 109, "reconstruct": [77, 88], "reconstructed_from_json": 88, "reconstructed_from_yaml": 88, "record": [57, 73, 74, 92, 96, 110], "recreat": 77, "recurs": [40, 47, 90], "red": 80, "reduc": [92, 109], "refer": [0, 8, 11, 14, 15, 19, 26, 29, 36, 39, 40, 48, 61, 84, 95, 108, 110, 111, 123], "reference_text": 95, "reflect": [8, 26, 29, 111], "regardless": 112, "regex": 47, "regist": [42, 74, 81, 92, 102], "register_compon": 40, "register_gener": 74, "register_paramet": [40, 90], "register_transform": [42, 92], "regress": 106, "regular": 40, "reimplement": 109, "reiniti": [21, 36, 109], "rel": [19, 36], "relai": 96, "relat": [57, 109, 110], "relationship": 110, "relax": 90, "relev": [21, 36, 62, 63, 92, 93, 95, 96, 97, 99, 109, 110, 112, 121], "relevance_list": [63, 95, 121], "reli": [39, 98, 110, 112, 118], "relianc": [92, 109], "reliev": 90, "reload": 92, "reloaded_dialog_turn_db": 92, "relu": 90, "remain": [84, 94, 109], "rememb": 24, "remov": [42, 84, 92], "remove_dupl": 40, "remove_stop_word": 55, "remove_transform": [42, 92], "render": [52, 106], "renered_prompt": 112, "renew": [92, 109], "renewab": 92, "repeat": 111, "replac": [0, 71], "repo": 116, "reponse_embedder_output": 102, "report": 95, "repositori": [84, 116, 120], "repr": 69, "repr_str": 93, "repres": [39, 40, 47, 51, 88, 92, 106, 109, 110, 112, 118, 121], "represent": [39, 52, 57, 82, 94, 95, 110], "represent_ordereddict": 47, "request": 108, "requir": [17, 21, 32, 34, 36, 39, 42, 47, 48, 51, 54, 57, 59, 84, 88, 92, 99, 102, 106, 108, 109, 110, 112, 121, 123], "required_field": [39, 47, 88], "requires_opt": 51, "requr": 112, "rerank": [11, 15, 23, 36, 57, 116], "reranker_retriev": 109, "rerankerretriev": [23, 36, 109], "research": [92, 93, 95, 98, 106, 108, 109, 110, 116], "reserv": 96, "reset": [0, 19, 21, 23, 36, 42, 53, 67, 69, 92], "reset_index": [19, 21, 23, 36, 53, 110], "reset_paramet": [67, 69], "resolv": [47, 123], "resourc": [84, 108, 109], "respect": [47, 94], "respond": [96, 106, 112], "respons": [0, 14, 15, 16, 17, 21, 33, 36, 48, 50, 57, 69, 90, 92, 93, 96, 99, 102, 108, 109, 110, 112, 121], "response_format": 14, "response_str": [57, 92], "response_text": 102, "rest": [50, 90, 99, 106, 110], "restor": [19, 36, 39, 42, 53, 109], "restored_data": 39, "restored_dialog_turn_db": 92, "restructuredtext": 84, "result": [8, 19, 24, 29, 36, 40, 46, 47, 48, 57, 61, 80, 89, 94, 95, 96, 97, 98, 101, 109, 110, 111, 112, 118], "result1": 112, "result1someth": 112, "result2": 112, "result2someth": 112, "retri": [11, 13, 15, 50, 102], "retriev": [6, 8, 9, 26, 27, 29, 31, 40, 47, 57, 62, 63, 90, 92, 94, 95, 96, 97, 98, 102, 106, 111, 112, 116, 118, 121], "retrieved_context": [62, 63, 95], "retriever2": [19, 36], "retriever_1": 109, "retriever_evalu": 121, "retriever_output": [6, 27], "retriever_output_to_context_str": [6, 26, 27], "retriever_recal": [64, 95], "retriever_relev": [64, 95], "retrieverdocumentstyp": [23, 36, 109], "retrieverdocumenttyp": [19, 21, 23, 36, 53, 57, 109], "retrieverevalu": 121, "retrieveroutput": [6, 19, 21, 23, 27, 36, 53, 57, 92, 109, 110], "retrieveroutputtocontextstr": [6, 26, 27], "retrieveroutputtyp": [21, 36, 109], "retrieverqueriestyp": 109, "retrieverquerytyp": [53, 57, 109], "retrieverrecal": [62, 95], "retrieverrelev": [63, 95], "retrieverstrqueriestyp": [21, 36, 109], "retrieverstrquerytyp": 109, "return": [8, 17, 19, 21, 26, 29, 34, 36, 39, 40, 42, 45, 46, 47, 55, 57, 59, 61, 62, 63, 77, 78, 80, 82, 88, 90, 92, 93, 96, 97, 102, 106, 108, 109, 110, 111, 112, 118], "return_logg": 80, "return_tensor": 102, "review": [84, 94, 95, 110], "right": [19, 36, 47, 96, 98, 101, 109], "rigid": 116, "robust": [24, 95, 118], "roger": 18, "role": [24, 38, 39, 65, 92, 99, 102, 106, 108, 109, 116, 123], "root": [80, 115], "roug": 95, "row": 57, "rst": 84, "rule": [8, 26, 29, 98, 111], "run": [0, 15, 46, 84, 90, 92, 93, 94, 101, 108, 112, 115, 116, 123], "run_async_function_cal": 112, "run_sync_and_async_mix": 46, "run_sync_and_async_mix_without_wait": 46, "runtim": [52, 115], "safe": [47, 79], "safe_import": 79, "safe_load": 121, "sai": [88, 101, 109], "same": [21, 36, 40, 42, 55, 57, 59, 71, 80, 88, 92, 93, 96, 102, 106, 108, 109, 110, 116, 118], "sampl": [67, 71, 121], "sampler": 67, "san": 112, "sandbox": [46, 47, 56, 112], "sandbox_exec": [46, 47], "sandbox_execut": 112, "sat": 95, "satur": [19, 36, 110], "save": [19, 36, 39, 42, 53, 57, 73, 74, 75, 78, 80, 90, 92, 93, 96, 101, 109], "save_dir": [73, 74, 75, 80], "save_index": 110, "save_json": [78, 90], "save_meta_data": 74, "save_pickl": 78, "save_st": [42, 92], "save_to_fil": [19, 36, 53, 109], "scale": [109, 110], "scarecrow": 123, "scene": 99, "schema": [17, 34, 39, 47, 57, 88, 112, 123], "schmea": 88, "scope": [8, 29], "score": [8, 19, 21, 26, 29, 36, 47, 57, 61, 69, 92, 94, 95, 110, 111], "script": [80, 121], "script_nam": 80, "sdk": [15, 32, 57, 109, 115, 118], "seamless": 108, "seamlessli": 109, "search": [94, 95, 108, 109, 110, 112], "search_reranking_with_cross": 109, "second": [46, 47, 62, 63, 95, 101, 102, 109, 110, 111, 112], "secret": 99, "section": [38, 58, 65, 84, 92, 99, 106, 108, 112], "sector": [92, 109], "see": [8, 11, 13, 15, 18, 26, 29, 50, 73, 85, 88, 89, 90, 92, 94, 99, 106, 108, 109, 110, 111, 112, 116, 118], "seek": [106, 116], "seen": 92, "segment": [8, 26, 29, 111], "select": [71, 95, 121, 123], "self": [17, 34, 40, 47, 73, 88, 90, 93, 101, 102, 109, 112, 118], "semant": [92, 94, 109], "send": [106, 109], "sens": [87, 95, 101], "sensit": [39, 88, 98, 109, 118], "sensor": 109, "sent": 106, "sentenc": [8, 26, 29, 96, 108, 110, 111, 121], "sentiment": [8, 26, 29, 94, 95, 110, 111], "separ": [8, 26, 29, 50, 84, 106, 111, 116], "seq": [40, 90], "sequenc": [6, 19, 21, 23, 26, 27, 36, 45, 53, 71, 90, 92, 97, 102, 108, 109], "sequenti": [0, 40, 48, 55, 87, 92, 93, 96, 97, 108, 121], "seral": [88, 98], "sercur": 112, "seri": [8, 15, 26, 29, 99, 110, 111], "serial": [14, 39, 40, 52, 78, 88, 90, 97, 106, 109, 123], "serializ": 42, "serv": [58, 65, 90], "server": 84, "servic": 110, "session": 57, "session_id": [57, 92], "set": [0, 8, 15, 19, 21, 26, 29, 36, 40, 47, 48, 52, 61, 80, 84, 92, 93, 94, 97, 102, 108, 109, 110, 111, 114, 117, 121, 123], "set_assistant_respons": 57, "set_user_queri": 57, "setup": [42, 92, 93, 94, 96, 101, 109, 115, 116, 123], "setup_env": [93, 102, 115], "seven": 106, "sever": [90, 95], "shallow": 40, "shape": 98, "share": [8, 29, 113, 116], "shell": 116, "shift": [8, 26, 29, 110, 111], "shorten": 84, "shorter": [109, 110, 111], "shorthair": 110, "shot": [18, 39, 67, 71, 106, 108, 109, 117, 123], "should": [8, 11, 13, 14, 15, 17, 21, 26, 29, 34, 36, 39, 40, 42, 45, 50, 57, 69, 75, 90, 93, 96, 101, 106, 109, 110, 111, 112, 116, 123], "show": [17, 34, 57, 84, 90, 94, 96, 108, 109, 110, 112, 116, 121, 123], "showcas": 109, "shown": 112, "signal": 110, "signatur": [39, 88, 112, 123], "signature_json": [17, 34, 39, 88], "signature_yaml": [17, 34, 39, 88], "signific": [92, 109, 110], "significantli": [19, 36, 92, 109], "signitur": 123, "similar": [47, 57, 93, 94, 95, 106, 108, 109, 110, 118], "similaritypostprocessor": 116, "similarli": [88, 96, 101, 116], "simpl": [17, 24, 34, 71, 92, 93, 94, 96, 106, 109], "simple_prompt": 106, "simpleqa": [101, 118], "simpler": 123, "simplest": 112, "simpli": [47, 67, 87, 88, 93, 96, 109], "simplifi": [14, 92, 93, 96, 98, 101, 108, 109, 112], "simplili": 112, "simul": [46, 108, 109, 110], "singl": [42, 45, 48, 57, 61, 77, 92, 93, 95, 96, 99, 101, 106, 108, 109, 112, 123], "site": 84, "situat": [87, 93], "size": [8, 26, 29, 45, 93, 109, 110, 111], "skim": 109, "skip": 71, "skip_special_token": 15, "sleep": [46, 110, 112], "slide": [8, 26, 29, 110, 111], "slightli": 112, "small": [45, 77, 92, 93, 94, 102, 109, 110], "small_tool_manag": 112, "smaller": [8, 26, 29, 93, 97, 109, 110, 111], "smallest": [8, 26, 29, 111], "smell": 110, "smooth": 118, "snippet": [57, 84, 95, 112, 121], "so": [47, 55, 57, 87, 88, 92, 98, 99, 102, 108, 109, 111], "softwar": 98, "solar": [92, 109], "solut": [98, 110, 116, 118], "solv": [24, 108, 116, 123], "some": [21, 36, 54, 71, 88, 92, 95, 96, 101, 106, 109, 116], "someth": 112, "sometim": [61, 88, 116], "soon": 96, "sort": 52, "sort_kei": [39, 47], "sourc": [0, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 26, 27, 29, 31, 33, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 92, 108, 109, 110, 116], "space": [8, 17, 26, 29, 34, 94, 108, 110, 111], "span": 95, "speak": [112, 116], "spec": 57, "speciaf": 121, "special": [38, 65, 99, 106], "specif": [10, 13, 14, 15, 23, 24, 36, 38, 46, 48, 50, 51, 53, 56, 57, 61, 65, 88, 95, 102, 106, 108, 109, 121], "specifc": 57, "specifi": [8, 14, 26, 29, 39, 51, 57, 88, 106, 109, 110, 111, 112], "spectrum": 95, "speed": [109, 110], "spend": 98, "sphinx": 84, "split": [6, 8, 19, 26, 27, 29, 36, 84, 92, 94, 97, 109, 111, 117], "split_and_emb": 92, "split_bi": [8, 26, 29, 77, 92, 94, 110, 111], "split_funct": 110, "split_length": [77, 92, 94, 110], "split_overlap": [77, 92, 94, 110], "split_text": [8, 26, 29], "split_text_by_token_fn": 110, "split_text_by_word_fn": [19, 36, 109], "split_text_by_word_fn_then_lower_token": [19, 36, 109], "split_text_token": 19, "splitted_doc": [8, 26, 29, 94, 110, 111], "splitter": [8, 26, 29, 92, 94, 97, 109], "splitter_config": 92, "splitter_set": 110, "sql": [54, 92, 109], "sqlalchemi": [79, 92, 109, 115], "staff": 110, "stage": [93, 108, 109, 116], "stai": [90, 116], "stand": 96, "standar": [90, 98], "standard": [10, 13, 14, 15, 17, 34, 39, 46, 50, 57, 93, 96, 97, 102, 109, 112, 116, 123], "star": 95, "start": [0, 18, 24, 39, 57, 79, 82, 93, 110, 112, 121], "start_header_id": [99, 106], "start_tim": [46, 112], "starter": 69, "state": [19, 21, 23, 36, 39, 40, 42, 53, 73, 75, 77, 90, 92, 96, 97, 98, 101, 109, 110, 112], "state_dict": [40, 70, 90], "static": [39, 88], "statu": 88, "step": [0, 8, 18, 24, 26, 29, 43, 57, 69, 70, 87, 93, 96, 101, 106, 108, 109, 110, 111, 121], "step_histori": 24, "stepoutput": [57, 108], "steps_str": [43, 96, 101, 106], "stick": 96, "still": [84, 92, 96, 98, 109, 110, 111, 112], "stop": [96, 106], "storag": [8, 9, 29, 31, 42, 77, 92, 109], "store": [8, 29, 40, 42, 48, 74, 75, 88, 92, 94, 96, 101, 109, 110], "str": [0, 6, 8, 10, 11, 13, 14, 15, 17, 19, 21, 23, 24, 26, 27, 29, 34, 36, 39, 40, 42, 45, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 68, 69, 73, 74, 75, 77, 78, 79, 80, 81, 82, 88, 90, 92, 93, 96, 102, 109, 110, 111, 112, 123], "str_param": 51, "straightforward": [96, 108], "strateg": 108, "streamlin": [39, 112, 123], "stress": 90, "strict": 40, "string": [0, 13, 17, 21, 24, 34, 36, 39, 47, 48, 51, 52, 54, 55, 57, 59, 61, 62, 63, 82, 84, 96, 99, 106, 108, 109, 110, 112, 116, 121], "string_pars": [17, 58, 96, 110, 121], "structu": 88, "structur": [8, 14, 15, 24, 26, 29, 39, 40, 47, 50, 57, 71, 88, 92, 93, 96, 101, 102, 109, 111, 112, 118, 123], "stuck": 111, "style": 84, "subclass": [11, 13, 15, 17, 19, 36, 39, 40, 50, 53, 57, 88, 89, 90, 93, 96, 97, 102, 106, 109, 112, 118], "subcompon": [40, 90, 96], "subcomponn": 90, "subject": 95, "submit": 110, "subqueri": [24, 108], "subquest": 24, "subsequ": 108, "subset": 121, "substanti": [92, 109], "substitut": 106, "subtract": 108, "success": [96, 112], "successfulli": 112, "sudden": [8, 26, 29, 110, 111], "suggest": [14, 19, 36, 108, 110], "suitabl": [8, 29], "sum": 112, "sum_": [19, 36], "summar": [95, 98, 116], "summari": [96, 123], "sunlight": [92, 109], "super": [40, 88, 90, 93, 101, 102, 118], "support": [8, 14, 18, 26, 29, 39, 46, 47, 48, 56, 57, 80, 82, 88, 93, 96, 99, 102, 109, 110, 111, 112, 115, 118, 121, 123], "support_model": 15, "support_model_list": 102, "supporting_fact": 121, "suppos": 109, "sure": [17, 34, 88, 109, 112, 115, 123], "survei": [87, 95], "sustain": [92, 109], "switch": [21, 36, 93, 102, 109, 116, 118], "sy": [24, 40, 43, 90, 92, 96, 106, 109, 112, 118], "sylphai": 84, "sync": [11, 13, 15, 40, 46, 50, 56, 57, 102, 112], "sync_client": 102, "sync_function_1": 46, "sync_function_2": 46, "sync_tool_1": 46, "sync_tool_2": 46, "syncapicli": 15, "synchron": [46, 90], "syntax": [96, 106], "system": [24, 43, 50, 52, 57, 58, 65, 87, 92, 95, 99, 102, 106, 108, 110, 116], "system_input": 14, "system_prompt": 40, "system_tim": 92, "t": [8, 14, 17, 19, 26, 29, 36, 40, 42, 47, 51, 52, 57, 99, 106, 108, 110, 111, 116], "t0": 108, "t2d": [109, 110], "t_co": [57, 71], "tabl": [92, 109, 110], "take": [0, 8, 24, 26, 29, 46, 87, 94, 96, 99, 106, 108, 109, 111, 112, 116, 118], "taken": 112, "target": 73, "task": [0, 8, 18, 24, 26, 29, 40, 43, 46, 48, 61, 69, 73, 77, 78, 90, 92, 93, 95, 96, 97, 98, 101, 106, 108, 109, 110, 112, 117, 121, 123], "task_context_str": 68, "task_desc_str": [17, 34, 43, 52, 96, 101, 106, 110, 121], "task_input_dataclass": 67, "task_output_dataclass": 67, "team": 118, "technic": [84, 95, 112], "techniqu": [90, 109], "technologi": [92, 95, 109], "temperatur": [47, 48, 102, 108, 110, 112], "templat": [17, 34, 40, 43, 48, 52, 61, 73, 84, 90, 108, 109, 110, 112, 118, 123], "template_doc": [40, 90], "tenni": 18, "tensor": [15, 39, 40, 88, 90, 123], "term": [19, 36, 110], "termin": [96, 108], "terribl": 110, "test": [11, 13, 15, 17, 40, 42, 95, 96, 109, 115, 116, 117, 118], "test_input_4": 54, "testcod": 84, "testgener": 73, "testgenerator_generator_trac": 73, "text": [8, 14, 19, 26, 29, 36, 42, 45, 47, 52, 54, 55, 57, 69, 77, 80, 88, 92, 93, 94, 95, 96, 97, 98, 102, 106, 108, 109, 116, 121], "text_splitt": [26, 94, 110, 111], "text_splitter_set": [94, 110], "textsearch": 109, "textsplitt": [8, 26, 29, 92, 109], "than": [17, 24, 34, 39, 40, 45, 69, 88, 89, 90, 93, 98, 108, 109, 111, 112, 118, 123], "thank": 57, "theater": 110, "thei": [14, 40, 42, 51, 92, 96, 98, 99, 108, 109, 110, 123], "them": [19, 36, 39, 40, 53, 54, 57, 62, 63, 84, 90, 92, 94, 95, 98, 99, 106, 109, 112, 116, 118, 121, 123], "theme": 84, "themselv": 87, "thenlper": [15, 93, 102], "therefor": 108, "thi": [8, 9, 11, 13, 14, 15, 17, 18, 21, 24, 26, 29, 31, 36, 39, 40, 42, 43, 45, 46, 47, 50, 52, 54, 57, 59, 61, 62, 63, 65, 73, 77, 80, 81, 84, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 115, 116, 118, 121, 123], "thing": [50, 98, 102], "think": [18, 116], "third": [80, 109], "those": 99, "though": [17, 102, 106, 109], "thought": [17, 18, 24, 34, 57, 88, 108, 112], "thoughtact": [17, 34], "three": [48, 93, 94, 96, 98, 99, 101, 112, 116], "through": [57, 84, 92, 94, 95, 96, 101, 108, 109, 110, 116, 121], "thu": [57, 93, 106, 121], "tiktoken": [8, 26, 29, 55], "time": [24, 46, 71, 87, 94, 98, 106, 108, 109, 110, 112, 113], "time_stamp": [74, 75, 101], "timeout": 47, "timestamp": [57, 80], "titl": [57, 92, 109, 110, 121], "to_dict": [14, 19, 36, 39, 40, 51, 52, 53, 71, 82, 88, 90, 106, 109, 112], "to_dict_class": [39, 82], "to_embed": [77, 94], "to_json": [39, 57, 88, 112, 123], "to_json_exampl": 39, "to_json_obj": [39, 88], "to_json_signatur": [39, 88, 112, 123], "to_schema": [39, 88], "to_schema_str": [39, 88], "to_thread": 46, "to_yaml": [39, 57, 88, 92, 112, 123], "to_yaml_exampl": 39, "to_yaml_obj": [39, 88], "to_yaml_signatur": [39, 88, 123], "toctre": 84, "todai": [19, 36], "todo": [24, 99], "toembed": [6, 26, 27, 77, 92, 94, 110], "toembedderrespons": [94, 110], "togeth": [90, 92, 93, 94, 97, 106, 116], "token": [8, 14, 17, 19, 26, 29, 34, 36, 39, 57, 58, 63, 92, 97, 99, 102, 106, 109, 110, 111, 112, 121, 123], "tokenlogprob": [14, 57], "tokyo": 112, "tol": 47, "tolist": [15, 102], "too": [90, 92, 109, 110, 118], "took": 24, "tool": [0, 14, 24, 43, 46, 54, 56, 57, 87, 95, 96, 97, 98, 99, 101, 106, 108, 112, 116, 118], "tool_1": 46, "tool_cal": 112, "tool_choic": 14, "tool_help": 108, "tool_manag": 112, "toolmanag": [56, 118], "toolnam": [24, 108], "tools_str": [43, 96, 101, 106], "top": [19, 21, 23, 36, 40, 88, 90, 98, 108, 109, 110, 118], "top_k": [19, 21, 23, 36, 47, 53, 77, 92, 110], "top_k_docu": 92, "top_n": 11, "topic": 118, "torch": [15, 71, 79, 90, 118], "torchmetr": 95, "total": [19, 36, 62, 63, 95, 109, 112, 121], "total_docu": 109, "total_token": [57, 102], "tower": 101, "trace": [108, 117], "trace_gener": 73, "trace_generator_cal": [73, 78, 96, 101], "trace_generator_error": 101, "trace_generator_st": [73, 96, 101], "track": [57, 75, 90, 92, 96, 101, 109, 116], "tradit": 110, "trag": 111, "train": [40, 48, 71, 90, 95, 97, 99, 101, 106, 117, 121], "trainabl": 48, "trainable_param": 48, "trainer": 98, "transact": 95, "transfom": 92, "transform": [6, 15, 19, 26, 27, 36, 42, 57, 79, 92, 93, 94, 97, 102, 109, 110, 111, 115, 116], "transformed_item": [42, 92], "transformer_setup": [42, 92], "transformercli": 102, "transformerembedd": [15, 102], "transformerllm": 15, "transformerrerank": 15, "transformers_cli": [93, 102, 109], "transformerscli": [15, 23, 36, 93, 102, 109], "transit": 118, "translat": [95, 98], "transpar": [39, 88, 90, 98, 116], "treat": [110, 112], "treatment": 90, "trec": 117, "trec_data": 39, "trec_data_dict": 47, "trec_data_list": [39, 47], "trecdata": [39, 47, 88], "trecdata2": 88, "trecdatalist": [39, 47], "tredatalist": 39, "tree": 40, "trend": 110, "trim_block": 106, "tripl": [17, 34, 47, 112], "true": [0, 15, 17, 19, 34, 36, 40, 42, 47, 51, 54, 57, 61, 69, 71, 73, 80, 88, 92, 93, 94, 95, 102, 106, 108, 109, 110, 112, 121, 123], "truli": 96, "truncat": 102, "truth": [59, 61, 62, 63, 69, 92, 95, 109, 121], "try": [98, 102, 112], "tuna": 110, "tune": 110, "tupl": [40, 47, 59, 61, 62, 63, 71, 79, 80], "turbo": [40, 47, 48, 90, 92, 96, 99, 102, 109, 110, 112], "turn": [57, 92, 94, 96, 108], "turn_db": [9, 31], "tutori": [84, 90, 108, 110, 111, 121, 123], "two": [15, 17, 18, 24, 42, 71, 78, 80, 89, 92, 93, 96, 101, 102, 108, 109, 112, 118], "txt": 84, "type": [8, 10, 13, 14, 15, 17, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 45, 46, 47, 50, 51, 53, 58, 59, 61, 62, 63, 69, 71, 74, 77, 79, 80, 81, 82, 84, 88, 90, 92, 93, 94, 96, 101, 102, 108, 110, 112, 121, 123], "type_hint": 47, "type_obj": 47, "typeerror": [8, 26, 29, 39, 51], "typevar": 109, "typic": [88, 90, 95, 96, 101, 102, 116], "u": [42, 88, 92, 94, 106, 109, 112], "ultim": 98, "unabl": 108, "unbias": 95, "uncas": 95, "uncased_l5_no": 95, "uncontrol": 116, "undefin": [10, 11, 13, 14, 15, 50, 57, 102], "underli": 90, "understand": [14, 15, 50, 65, 92, 95, 97, 102, 108, 109, 110, 112, 116], "unexpect": 95, "unifi": [39, 90, 92, 96], "union": [15, 19, 36, 47, 57, 62, 63, 102, 109], "uniqu": [40, 57, 75, 90, 98, 108, 116], "unit": [8, 26, 29, 57, 93, 110, 111, 112], "unknown": 112, "unless": 42, "unlik": [108, 110], "unmodifi": 94, "unsupport": [47, 112], "until": 106, "up": [0, 21, 36, 47, 57, 65, 84, 88, 93, 94, 96, 97, 98, 108, 109, 110, 114, 116, 117, 118, 123], "upcom": 90, "updat": [51, 52, 67, 73, 75, 84, 108, 112], "update_default_model_kwarg": 45, "update_dialog_turn": 57, "update_paramet": [67, 69], "update_prompt_kwarg": 52, "update_valu": 51, "us": [0, 6, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 24, 26, 27, 29, 31, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 61, 67, 68, 69, 71, 73, 75, 77, 78, 79, 80, 81, 84, 87, 88, 90, 92, 94, 95, 97, 98, 99, 106, 108, 110, 112, 115, 116, 117, 118, 121, 123], "usag": [8, 17, 24, 26, 29, 34, 57, 84, 92, 94, 96, 102, 108, 109], "use_cas": [116, 117, 121], "use_llm_as_fallback": 0, "use_token": [19, 36, 109], "user": [0, 9, 14, 17, 19, 21, 24, 31, 32, 34, 36, 40, 43, 45, 47, 48, 57, 69, 84, 87, 88, 90, 92, 93, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 112, 118], "user_id": [57, 92], "user_queri": [57, 92], "user_query_timestamp": [57, 92], "user_tim": 92, "userqueri": [57, 92], "usual": 101, "util": [8, 26, 29, 32, 57, 71, 90, 93, 95, 96, 97, 102, 108, 110, 111, 115], "uuid": 57, "uuid4": 57, "v": [24, 47, 98], "v2": 11, "v3": [11, 109], "valid": [17, 24, 34, 47, 54, 112], "validate_data": 47, "valu": [17, 19, 36, 39, 47, 51, 54, 57, 59, 62, 63, 68, 79, 82, 88, 112], "valueerror": [8, 26, 29, 47, 102], "varaibl": 106, "vari": [18, 99], "variabl": [47, 48, 52, 57, 93, 96, 102, 106, 112, 114, 116], "varieti": 95, "variou": [38, 47, 65, 84, 90, 96, 108, 109, 113, 121, 122], "vast": 96, "ve": 123, "vector": [8, 26, 29, 57, 77, 92, 93, 94, 109, 110, 111], "vectorizer_set": [94, 110], "vectorstor": 110, "vendor": 116, "verbos": 88, "veri": [19, 36, 111, 116], "verif": 108, "version": [42, 78, 80, 84, 108, 109, 115], "via": [45, 46, 48, 50, 51, 56, 73, 87, 88, 90, 93, 94, 95, 96, 97, 98, 102, 110, 112], "video": 109, "view": [84, 112], "visit": [10, 11, 13, 101, 108], "visual": [90, 93, 106, 118], "vote": 95, "vouch": 116, "wa": [39, 99, 110, 123], "wai": [15, 18, 39, 42, 56, 88, 90, 92, 93, 102, 109, 110, 111, 112, 116], "walk": 121, "wand": 110, "want": [17, 34, 39, 45, 57, 73, 88, 93, 96, 98, 106, 109, 112, 116, 118, 123], "warn": [48, 80, 84], "wast": [92, 109], "watch": [94, 110], "water": [90, 96, 98], "we": [8, 14, 24, 26, 29, 32, 39, 40, 42, 47, 48, 50, 52, 54, 55, 57, 75, 78, 84, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "weather": 112, "web": [84, 95], "weight": [19, 36, 40, 67, 90], "weights_per_class": [67, 71], "welcom": [65, 110], "well": [17, 40, 42, 87, 89, 92, 98, 106, 108, 109, 123], "what": [14, 21, 24, 36, 39, 47, 87, 88, 90, 92, 93, 94, 96, 101, 102, 106, 109, 110, 111, 112, 123], "when": [6, 14, 19, 24, 27, 36, 39, 42, 45, 51, 52, 57, 67, 79, 92, 93, 94, 95, 96, 99, 101, 106, 108, 109, 110, 111, 112, 116, 123], "whenev": [96, 102], "where": [8, 26, 29, 57, 73, 80, 92, 96, 98, 99, 101, 106, 109, 110, 112, 116], "whether": [0, 19, 36, 42, 47, 53, 93, 96], "which": [0, 8, 11, 13, 15, 19, 21, 26, 29, 36, 39, 42, 45, 46, 50, 57, 69, 71, 80, 87, 88, 90, 92, 93, 95, 96, 97, 99, 101, 106, 108, 109, 110, 111, 112, 116, 121], "while": [47, 88, 92, 97, 98, 109], "white": 80, "who": [17, 34, 53, 96, 99, 109, 118], "whole": [40, 57, 97, 109, 121], "why": [24, 57, 90, 92, 93, 97, 102, 109, 116, 123], "wide": [88, 95, 98, 109, 110], "wider": 118, "wiki": [19, 36, 108, 109], "wikidata": 106, "wikipedia": [19, 36, 106, 108, 109], "win": 123, "wind": [92, 109], "window": [8, 26, 29, 80, 109, 110, 111], "within": [39, 40, 47, 84, 87, 97, 110, 118], "without": [18, 21, 36, 39, 46, 47, 54, 57, 80, 92, 96, 99, 106, 109, 110, 112, 116, 118], "won": [57, 99, 111], "word": [8, 19, 26, 29, 36, 55, 77, 92, 94, 95, 99, 109, 110, 111], "work": [8, 26, 29, 40, 42, 46, 47, 90, 92, 94, 96, 97, 101, 106, 109, 110, 123], "workabl": 96, "workflow": [97, 108], "world": [8, 19, 26, 29, 36, 42, 57, 73, 92, 98, 99, 101, 110, 111, 112, 116, 118], "world2": 42, "world3": 42, "world4": 42, "wors": [96, 101], "would": [80, 90, 94, 101, 106, 108, 109, 110], "wrap": [6, 26, 27, 40, 46, 47, 55, 88, 112], "wrapper": [10, 11, 13, 14, 73, 112], "write": [15, 47, 78, 80, 85, 86, 90, 95, 102, 106, 112, 116], "write_list_to_jsonl": 78, "written": 78, "wrong": 96, "www": [19, 36, 109], "x": [19, 36, 40, 47, 71, 90, 106, 109, 110, 112, 118], "x0c": 110, "xb": 110, "xiaoyi": 111, "xq": 110, "xx": 112, "y": [47, 112], "yaml": [17, 34, 39, 47, 54, 56, 57, 88, 90, 112, 121, 123], "yaml_definit": [56, 112], "yaml_format_instruct": [17, 34], "yaml_obj": 54, "yaml_output_format": [17, 34], "yaml_output_format_templ": [17, 34], "yaml_pars": [17, 34, 54], "yaml_signatur": 88, "yaml_str": [17, 34, 39, 47, 54, 88], "yamloutputpars": [17, 34], "yamlpars": [17, 34, 54], "yang": 95, "ye": [61, 109, 116], "year": [62, 63, 95], "yellow": 80, "yet": [15, 48], "yield": [19, 36, 40, 110], "yin": [88, 92, 93, 102, 106, 109, 112], "yml": 47, "you": [6, 8, 11, 13, 15, 17, 18, 19, 21, 24, 26, 27, 29, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 52, 53, 55, 56, 57, 61, 73, 77, 80, 84, 88, 90, 92, 93, 94, 95, 96, 97, 99, 101, 102, 106, 109, 110, 111, 112, 113, 115, 116, 118, 121, 123], "your": [8, 14, 17, 19, 24, 29, 34, 36, 39, 40, 48, 57, 61, 65, 77, 80, 84, 88, 90, 92, 93, 94, 95, 96, 98, 101, 102, 109, 110, 111, 112, 115, 116, 121, 123], "your_api_kei": 77, "your_api_key_if_you_use_anthrop": 115, "your_api_key_if_you_use_coher": 115, "your_api_key_if_you_use_googl": 115, "your_api_key_if_you_use_groq": 115, "your_api_key_if_you_use_hf": 115, "your_api_key_if_you_use_openai": 115, "yourself": [77, 102, 109, 115], "yupeng": 95, "zephyr": 15, "zero": [19, 36, 109, 117], "zip": 110, "zishan": 95}, "titles": ["components.agent.react", "\ufeffcomponents.api_client.anthropic_client", "\ufeffcomponents.api_client.google_client", "\ufeffcomponents.api_client.groq_client", "\ufeffcomponents.api_client.openai_client", "\ufeffcomponents.api_client.transformers_client", "components.data_process.data_components", "\ufeffcomponents.data_process.document_splitter", "components.data_process.text_splitter", "components.memory.memory", "components.model_client.anthropic_client", "components.model_client.cohere_client", "\ufeffcomponents.model_client.google_client", "components.model_client.groq_client", "components.model_client.openai_client", "components.model_client.transformers_client", "components.model_client.utils", "components.output_parsers.outputs", "components.reasoning.chain_of_thought", "components.retriever.bm25_retriever", "\ufeffcomponents.retriever.faiss_retriever", "components.retriever.llm_retriever", "\ufeffcomponents.retriever.postgres_retriever", "components.retriever.reranker_retriever", "DEFAULT_REACT_AGENT_SYSTEM_PROMPT", "components.agent", "components.data_process", "components.data_process.data_components", "components.data_process.document_splitter", "components.data_process.text_splitter", "components.memory", "components.memory.memory", "components.model_client", "components.model_client.utils", "components.output_parsers", "components.reasoning", "components.retriever", "components.retriever.postgres_retriever", "Components", "core.base_data_class", "core.component", "core.data_components", "core.db", "core.default_prompt_template", "core.document_splitter", "core.embedder", "core.func_tool", "core.functional", "core.generator", "core.memory", "core.model_client", "core.parameter", "core.prompt_builder", "core.retriever", "core.string_parser", "core.tokenizer", "core.tool_manager", "core.types", "Core", "eval.answer_match_acc", "eval.evaluators", "eval.llm_as_judge", "eval.retriever_recall", "eval.retriever_relevance", "Evaluation", "API Reference", "Optimizer", "optim.few_shot_optimizer", "optim.llm_augment", "optim.llm_optimizer", "optim.optimizer", "optim.sampler", "Tracing", "tracing.decorators", "tracing.generator_call_logger", "tracing.generator_state_logger", "Utils", "utils.config", "utils.file_io", "utils.lazy_import", "utils.logger", "utils.registry", "utils.serialization", "utils.setup_env", "Contribute to Document", "LightRAG Contribution Guide", "For Contributors", "Agent", "DataClass", "Class Hierarchy", "Component", "Data Pipeline", "Data & RAG", "Embedder", "Embedder", "LLM Evaluation", "Generator", "Tutorials", "Design Philosophy", "Introduction", "Logging", "Logging & Tracing", "ModelClient", "Optimizer", "Parser", "Parameter", "Prompt", "RAG application", "ReAct Agent", "Retriever", "Retriever", "Text Splitter", "Function calls", "Community", "Get Started", "Installation", "Introduction", "LightRAG in 10 minutes", "Introduction", "Resources", "Resources", "Evaluating a RAG Pipeline", "Use Cases", "Introduction to BaseDataClass", "<no title>"], "titleterms": {"": 108, "1": [98, 110, 112, 115], "10": 117, "2": [98, 110, 112, 115], "3": [98, 110, 112, 115], "For": 86, "In": [96, 109], "With": 109, "across": 96, "action": [88, 90, 93, 96, 109, 112], "ad": 84, "agent": [0, 25, 38, 87, 97, 108], "an": [96, 108], "answer_match_acc": 59, "anthropic_cli": [1, 10], "api": [65, 87, 88, 90, 92, 93, 96, 102, 106, 109, 112, 115], "api_cli": [1, 2, 3, 4, 5], "applat": 99, "applic": [106, 107, 116], "author": [88, 92, 93, 95, 102, 106, 109, 111, 112], "base": [97, 109], "base_data_class": 39, "basedataclass": 123, "batchembedd": 93, "bm25_retriev": 19, "bm25retriev": 109, "both": 118, "build": [84, 97, 98], "call": 112, "case": 122, "chain_of_thought": 18, "chang": 84, "chat": 99, "chunk": 111, "class": [89, 97, 106, 109], "client": [38, 58, 96], "cloud": 92, "code": 84, "cohere_cli": 11, "commit": 84, "commun": 113, "complet": 99, "compon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 58, 65, 90, 97], "config": [77, 96], "configur": [90, 97], "context": [106, 109], "contribut": [84, 85], "contributor": 86, "control": 118, "core": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 65], "creat": 96, "custom": 111, "data": [38, 58, 88, 91, 92, 97, 99, 106, 109], "data_compon": [6, 27, 41], "data_process": [6, 7, 8, 26, 27, 28, 29], "databas": [92, 109], "dataclass": 88, "dataset": [88, 97], "db": 42, "decor": [72, 73], "deep": [98, 108], "default": 106, "default_prompt_templ": 43, "default_react_agent_system_prompt": 24, "describ": 88, "deseri": 90, "design": [88, 90, 96, 98, 106, 109, 112], "detail": 111, "dialogturn": 92, "directli": 102, "dive": 108, "do": 99, "docstr": 84, "document": [84, 92, 110, 111], "document_splitt": [7, 28, 44], "doe": 111, "embed": 58, "embedd": [45, 93, 94, 110], "embedderoutput": 93, "end": [112, 116], "environ": 115, "error": 96, "essenti": 97, "eval": [59, 60, 61, 62, 63], "evalu": [60, 64, 65, 95, 121], "evaul": 97, "exampl": [88, 96, 111], "experiment": 96, "faiss_retriev": 20, "faissretriev": 109, "few_shot_optim": 67, "file": [90, 92], "file_io": 78, "flow": [99, 106], "format": [88, 112], "foundat": 116, "from": [88, 90, 96], "func_tool": 46, "funcompon": 90, "function": [47, 112], "functionexpress": 112, "functiontool": 112, "gener": [48, 58, 96], "generator_call_logg": 74, "generator_state_logg": 75, "generatoroutput": 96, "get": [96, 114], "google_cli": [2, 12], "graph": 92, "groq_client": [3, 13], "guid": 85, "handl": 58, "hierarchi": 89, "how": [95, 111, 116], "i": [108, 116], "implement": 108, "infer": 102, "instal": 115, "instanc": 88, "instead": [99, 109], "integr": 111, "introduct": [99, 108, 116, 118, 123], "jinja2": 106, "kei": 115, "lazy_import": 79, "librari": 96, "lightrag": [85, 99, 108, 110, 112, 115, 116, 117], "llm": [88, 95, 98, 99, 106, 109], "llm_as_judg": 61, "llm_augment": 68, "llm_optim": 69, "llm_retriev": 21, "load": [88, 115], "local": [92, 93], "localdb": 109, "log": [97, 100, 101], "logger": [72, 76, 80], "memori": [9, 30, 31, 49, 109], "minimum": 96, "minut": 117, "model": [38, 58, 92, 93, 96, 102], "model_cli": [10, 11, 12, 13, 14, 15, 16, 32, 33, 50], "modelcli": 102, "need": [99, 108], "openai": 93, "openai_cli": [4, 14], "optim": [65, 66, 67, 68, 69, 70, 71, 97, 98, 103], "option": [110, 115], "orchestr": 96, "other": 111, "our": 98, "output": [17, 38, 93, 96, 112], "output_pars": [17, 34], "output_processor": 96, "over": 98, "overview": [38, 58, 64, 72, 76, 111], "packag": 115, "parallel": 112, "paramet": [51, 58, 105], "pars": 88, "parser": [38, 104], "part": 116, "pattern": 109, "philosophi": 98, "pipelin": [91, 92, 97, 121], "postgres_retriev": [22, 37], "postgresretriev": 109, "practic": 98, "previou": 99, "principl": 98, "print": 90, "process": 38, "processor": 93, "product": 118, "prompt": [58, 106], "prompt_build": 52, "protocol": 102, "qualiti": 98, "quantiti": 98, "quick": 112, "rag": [92, 97, 107, 121], "react": [0, 108], "read": 92, "reason": [18, 35], "refer": [65, 87, 88, 90, 92, 93, 96, 102, 106, 109, 112], "registri": 81, "rerank": 109, "reranker_retriev": 23, "research": 118, "resourc": [99, 119, 120], "retriev": [19, 20, 21, 22, 23, 36, 37, 38, 53, 58, 109, 110], "retriever_recal": 62, "retriever_relev": 63, "sampler": 71, "scope": 112, "score": 109, "sdk": 102, "searal": 90, "sequenti": 90, "serial": [76, 82], "set": 115, "setup": 84, "setup_env": [76, 83], "show": 88, "showmanship": 98, "simplic": 118, "souc": 84, "split": 110, "splitter": [110, 111], "standard": 84, "start": [114, 116], "storag": 97, "string": 88, "string_pars": 54, "structur": [90, 99, 116], "submodul": [25, 26, 30, 32, 34, 35, 36], "suggest": 92, "switch": 96, "templat": [58, 96, 106], "test": 84, "text": [99, 110, 111], "text_splitt": [8, 29], "textsplitt": 111, "threshold": 109, "tip": 111, "togeth": 109, "token": 55, "tool_manag": 56, "toolmanag": 112, "top_k": 109, "trace": [65, 72, 73, 74, 75, 96, 97, 101], "train": 96, "trainer": 97, "transformers_cli": [5, 15], "tutori": 97, "type": [57, 109, 111], "understand": 98, "unit": 118, "up": 115, "us": [93, 96, 102, 109, 111, 122], "util": [16, 33, 58, 65, 76, 77, 78, 79, 80, 81, 82, 83], "variabl": 115, "walkthrough": 112, "we": 99, "what": [95, 108, 116], "where": 95, "why": [99, 106, 108], "work": [88, 111], "workflow": 98, "write": [84, 92], "you": 108}}) \ No newline at end of file +Search.setIndex({"alltitles": {"1. Document Splitter": [[110, "document-splitter"]], "1. FunctionTool": [[112, "functiontool"]], "1. Install LightRAG": [[115, "install-lightrag"]], "1. Install Optional Packages": [[115, "install-optional-packages"]], "2. Embedder": [[110, "embedder"]], "2. Set up API keys": [[115, "set-up-api-keys"]], "2. ToolManager": [[112, "toolmanager"]], "3. Function Call end-to-end": [[112, "function-call-end-to-end"]], "3. LightRAG Retrievers": [[110, "lightrag-retrievers"]], "3. Load environment variables": [[115, "load-environment-variables"]], "API Reference": [[65, "api-reference"]], "API References": [[87, null], [88, null], [92, null], [106, null], [109, null], [112, null]], "API reference": [[90, null], [93, null], [96, null], [102, null]], "Adding Documentation Tests": [[84, "adding-documentation-tests"]], "Agent": [[87, "agent"]], "Agent Essentials": [[97, "agent-essentials"]], "Agents": [[38, "agents"]], "An orchestrator": [[96, "an-orchestrator"]], "Author": [[88, null], [92, null], [93, null], [95, null], [102, null], [106, null], [109, null], [111, null], [112, null]], "BM25Retriever": [[109, "bm25retriever"]], "Base classes": [[97, "base-classes"]], "BatchEmbedder": [[93, "batchembedder"]], "Building": [[97, "building"]], "Chunking Example Detailed": [[111, "id2"]], "Class Hierarchy": [[89, "class-hierarchy"]], "Cloud database": [[92, "cloud-database"]], "Commit Changes": [[84, "commit-changes"]], "Community": [[113, "community"]], "Component": [[58, "component"], [90, "component"]], "Component in Action": [[90, "component-in-action"]], "Components": [[38, "components"], [65, "components"]], "Configure from file": [[90, "configure-from-file"]], "Context": [[106, "context"], [109, "context"]], "Contribute to Document": [[84, "contribute-to-document"]], "Controllability": [[118, "controllability"]], "Core": [[58, "core"], [65, "core"]], "Create from configs": [[96, "create-from-configs"]], "Customization Tips": [[111, "customization-tips"]], "DEFAULT_REACT_AGENT_SYSTEM_PROMPT": [[24, "default-react-agent-system-prompt"]], "Data & RAG": [[92, "data-rag"]], "Data Flow & LightRAG structure": [[99, "data-flow-lightrag-structure"]], "Data Flow in LLM applications": [[106, "data-flow-in-llm-applications"]], "Data Handling": [[58, "data-handling"]], "Data Models": [[92, "data-models"]], "Data Pipeline": [[91, "data-pipeline"], [92, "data-pipeline"]], "Data Pipeline and Storage": [[97, "data-pipeline-and-storage"]], "Data Process": [[38, "data-process"]], "DataClass": [[88, "dataclass"]], "DataClass in Action": [[88, "dataclass-in-action"]], "Datasets and Evaulation": [[97, null]], "Decorators": [[72, "decorators"]], "Default Prompt Template": [[106, "default-prompt-template"]], "Describe the data format to LLMs": [[88, "describe-the-data-format-to-llms"]], "Describing the Data Format": [[88, "describing-the-data-format"]], "Design": [[88, "design"], [90, "design"], [96, "design"], [106, "design"]], "Design Philosophy": [[98, "design-philosophy"]], "Design pattern": [[109, "design-pattern"]], "DialogTurn": [[92, "dialogturn"]], "Document": [[92, "document"]], "Embedder": [[93, "embedder"], [94, "embedder"]], "Embedder in Action": [[93, "embedder-in-action"]], "EmbedderOutput": [[93, "embedderoutput"]], "Embedding and Retrieval": [[58, "embedding-and-retrieval"]], "End-to-end applications": [[116, "end-to-end-applications"]], "Evaluating a RAG Pipeline": [[121, "evaluating-a-rag-pipeline"]], "Evaluation": [[64, "evaluation"], [65, "evaluation"]], "Evaluator": [[64, "evaluator"]], "Examples across the library": [[96, "examples-across-the-library"]], "For Contributors": [[86, "for-contributors"]], "Foundation": [[116, "foundation"]], "FunComponent": [[90, "funcomponent"]], "Function Call in Action": [[112, "function-call-in-action"]], "Function Output Format": [[112, "function-output-format"]], "Function calls": [[112, "function-calls"]], "FunctionExpression Output Format": [[112, "functionexpression-output-format"]], "Generation and Utilities": [[58, "generation-and-utilities"]], "Generator": [[96, "generator"]], "Generator In Action": [[96, "generator-in-action"]], "GeneratorOutput": [[96, "generatoroutput"]], "Get Started": [[114, "get-started"]], "Get errors in the output": [[96, "get-errors-in-the-output"]], "Graph database": [[92, "graph-database"]], "How does it work": [[111, "how-does-it-work"]], "How to evaluate?": [[95, "how-to-evaluate"]], "How to start?": [[116, "how-to-start"]], "How to use it": [[111, "how-to-use-it"]], "In-memory FAISSRetriever": [[109, "in-memory-faissretriever"]], "Installation": [[115, "installation"]], "Integration with Other Document Types": [[111, "integration-with-other-document-types"]], "Introduction": [[99, "introduction"], [108, "introduction"], [116, "introduction"], [118, "introduction"]], "Introduction to BaseDataClass": [[123, "introduction-to-basedataclass"]], "Introduction to LLM applations": [[99, "introduction-to-llm-applations"]], "LLM Evaluation": [[95, "llm-evaluation"]], "LLM as Retriever": [[109, "llm-as-retriever"]], "LightRAG": [[116, "lightrag"]], "LightRAG Contribution Guide": [[85, "lightrag-contribution-guide"]], "LightRAG Scope and Design": [[112, "lightrag-scope-and-design"]], "LightRAG in 10 minutes": [[117, "lightrag-in-10-minutes"]], "LightRAG\u2019s Implementation": [[108, "lightrag-s-implementation"]], "Load data from dataset as example": [[88, "load-data-from-dataset-as-example"]], "Local database": [[92, "local-database"]], "Logger": [[76, "logger"]], "Loggers": [[72, "loggers"]], "Logging": [[100, "logging"]], "Logging & Tracing": [[101, "logging-tracing"]], "Logging & Tracing & Configurations": [[97, "logging-tracing-configurations"]], "Minimum Example": [[96, "minimum-example"]], "Model Client": [[58, "model-client"]], "Model Clients": [[38, "model-clients"]], "Model Inference SDKs": [[102, "model-inference-sdks"]], "ModelClient": [[102, "modelclient"]], "ModelClient Protocol": [[102, "modelclient-protocol"]], "Optimizer": [[65, "optimizer"], [66, "optimizer"], [103, "optimizer"]], "Optimizer & Trainer": [[97, null]], "Optimizing": [[97, "optimizing"]], "Our deep understanding of LLM workflow": [[98, "our-deep-understanding-of-llm-workflow"]], "Output Parsers": [[38, "output-parsers"]], "Overview": [[38, "overview"], [58, "overview"], [64, "overview"], [72, "overview"], [76, "overview"]], "Parallel Function Calls": [[112, "parallel-function-calls"]], "Parameter": [[105, "parameter"]], "Parameters": [[58, "parameters"]], "Parser": [[104, "parser"]], "PostgresRetriever": [[109, "postgresretriever"]], "Principle 1: Quality over Quantity": [[98, "principle-1-quality-over-quantity"]], "Principle 2: Optimizing over Building": [[98, "principle-2-optimizing-over-building"]], "Principle 3: Practicality over Showmanship": [[98, "principle-3-practicality-over-showmanship"]], "Print the structure": [[90, "print-the-structure"]], "Prompt": [[106, "prompt"]], "Prompt class": [[106, "prompt-class"]], "Prompts and Templates": [[58, "prompts-and-templates"]], "Quick Walkthrough": [[112, "quick-walkthrough"]], "RAG Essentials": [[97, "rag-essentials"]], "RAG application": [[107, "rag-application"]], "RAG components": [[97, "rag-components"]], "ReAct Agent": [[108, "react-agent"]], "ReAct Agent Deep Dive": [[108, "react-agent-deep-dive"]], "References": [[87, null], [88, null], [93, null], [106, null], [109, null], [112, null]], "Reranker as Retriever": [[109, "reranker-as-retriever"]], "Resources": [[99, "resources"], [119, "resources"], [120, "resources"]], "Retriever": [[109, "retriever"], [110, "retriever"]], "Retriever Base Class": [[109, "retriever-base-class"]], "Retriever Data Types": [[109, "retriever-data-types"]], "Retriever in Action": [[109, "retriever-in-action"]], "Retrievers": [[38, "retrievers"]], "Searalization and deserialization": [[90, "searalization-and-deserialization"]], "Sequential": [[90, "sequential"]], "Serialization": [[76, "serialization"]], "Setup & Build Documentation": [[84, "setup-build-documentation"]], "Setup_env": [[76, "setup-env"]], "Show data examples & parse string to data instance": [[88, "show-data-examples-parse-string-to-data-instance"]], "Simplicity": [[118, "simplicity"]], "Souce Code Docstring Standard": [[84, "souce-code-docstring-standard"]], "Structure": [[116, "structure"]], "Submodules": [[25, "submodules"], [26, "submodules"], [30, "submodules"], [32, "submodules"], [34, "submodules"], [35, "submodules"], [36, "submodules"]], "Suggestion on File reading and writing": [[92, "suggestion-on-file-reading-and-writing"]], "Switch model client": [[96, "switch-model-client"]], "Text Splitter": [[111, "text-splitter"]], "Text Splitting Options": [[110, "id4"]], "TextSplitter Overview": [[111, "textsplitter-overview"]], "Tracing": [[65, "tracing"], [72, "tracing"], [96, "tracing"], [101, "tracing"]], "Training [Experimental]": [[96, "training-experimental"]], "Tutorials": [[97, "tutorials"]], "Unites both Research and Production": [[118, "unites-both-research-and-production"]], "Use Cases": [[122, "use-cases"]], "Use Local Model": [[93, "use-local-model"]], "Use ModelClient directly": [[102, "use-modelclient-directly"]], "Use OpenAI API": [[93, "use-openai-api"]], "Use Output Processors": [[93, "use-output-processors"]], "Use Score Threshold instead of top_k": [[109, "use-score-threshold-instead-of-top-k"]], "Use output_processors": [[96, "use-output-processors"]], "Use template": [[96, "use-template"]], "Use together with Database": [[109, "use-together-with-database"]], "Utils": [[65, "utils"], [76, "utils"]], "What is LightRAG?": [[116, "what-is-lightrag"]], "What is an agent and why you need it?": [[108, "what-is-an-agent-and-why-you-need-it"]], "What is not part of LightRAG?": [[116, "what-is-not-part-of-lightrag"]], "What to evaluate?": [[95, "what-to-evaluate"]], "Where to evaluate?": [[95, "where-to-evaluate"]], "Why Jinja2?": [[106, "why-jinja2"]], "Why do we need chat completion instead of the previous text completion?": [[99, "why-do-we-need-chat-completion-instead-of-the-previous-text-completion"]], "With LocalDB": [[109, "with-localdb"]], "Work with Data Instance": [[88, "work-with-data-instance"]], "Writing Documentation": [[84, "writing-documentation"]], "components.agent": [[25, "components-agent"]], "components.agent.react": [[0, "module-components.agent.react"]], "components.data_process": [[26, "components-data-process"]], "components.data_process.data_components": [[6, "module-components.data_process.data_components"], [27, "module-components.data_process.data_components"]], "components.data_process.document_splitter": [[28, "components-data-process-document-splitter"]], "components.data_process.text_splitter": [[8, "module-components.data_process.text_splitter"], [29, "module-components.data_process.text_splitter"]], "components.memory": [[30, "components-memory"]], "components.memory.memory": [[9, "module-components.memory.memory"], [31, "module-components.memory.memory"]], "components.model_client": [[32, "components-model-client"]], "components.model_client.anthropic_client": [[10, "module-components.model_client.anthropic_client"]], "components.model_client.cohere_client": [[11, "module-components.model_client.cohere_client"]], "components.model_client.groq_client": [[13, "module-components.model_client.groq_client"]], "components.model_client.openai_client": [[14, "module-components.model_client.openai_client"]], "components.model_client.transformers_client": [[15, "module-components.model_client.transformers_client"]], "components.model_client.utils": [[16, "module-components.model_client.utils"], [33, "module-components.model_client.utils"]], "components.output_parsers": [[34, "components-output-parsers"]], "components.output_parsers.outputs": [[17, "module-components.output_parsers.outputs"]], "components.reasoning": [[35, "components-reasoning"]], "components.reasoning.chain_of_thought": [[18, "module-components.reasoning.chain_of_thought"]], "components.retriever": [[36, "components-retriever"]], "components.retriever.bm25_retriever": [[19, "module-components.retriever.bm25_retriever"]], "components.retriever.llm_retriever": [[21, "module-components.retriever.llm_retriever"]], "components.retriever.postgres_retriever": [[37, "components-retriever-postgres-retriever"]], "components.retriever.reranker_retriever": [[23, "module-components.retriever.reranker_retriever"]], "core.base_data_class": [[39, "module-core.base_data_class"]], "core.component": [[40, "module-core.component"]], "core.data_components": [[41, "core-data-components"]], "core.db": [[42, "module-core.db"]], "core.default_prompt_template": [[43, "module-core.default_prompt_template"]], "core.document_splitter": [[44, "core-document-splitter"]], "core.embedder": [[45, "module-core.embedder"]], "core.func_tool": [[46, "module-core.func_tool"]], "core.functional": [[47, "module-core.functional"]], "core.generator": [[48, "module-core.generator"]], "core.memory": [[49, "core-memory"]], "core.model_client": [[50, "module-core.model_client"]], "core.parameter": [[51, "module-core.parameter"]], "core.prompt_builder": [[52, "module-core.prompt_builder"]], "core.retriever": [[53, "module-core.retriever"]], "core.string_parser": [[54, "module-core.string_parser"]], "core.tokenizer": [[55, "module-core.tokenizer"]], "core.tool_manager": [[56, "module-core.tool_manager"]], "core.types": [[57, "module-core.types"]], "eval.answer_match_acc": [[59, "module-eval.answer_match_acc"]], "eval.evaluators": [[60, "eval-evaluators"]], "eval.llm_as_judge": [[61, "module-eval.llm_as_judge"]], "eval.retriever_recall": [[62, "module-eval.retriever_recall"]], "eval.retriever_relevance": [[63, "module-eval.retriever_relevance"]], "optim.few_shot_optimizer": [[67, "module-optim.few_shot_optimizer"]], "optim.llm_augment": [[68, "module-optim.llm_augment"]], "optim.llm_optimizer": [[69, "module-optim.llm_optimizer"]], "optim.optimizer": [[70, "module-optim.optimizer"]], "optim.sampler": [[71, "module-optim.sampler"]], "tracing.decorators": [[73, "module-tracing.decorators"]], "tracing.generator_call_logger": [[74, "module-tracing.generator_call_logger"]], "tracing.generator_state_logger": [[75, "module-tracing.generator_state_logger"]], "utils.config": [[77, "module-utils.config"]], "utils.file_io": [[78, "module-utils.file_io"]], "utils.lazy_import": [[79, "module-utils.lazy_import"]], "utils.logger": [[80, "module-utils.logger"]], "utils.registry": [[81, "module-utils.registry"]], "utils.serialization": [[82, "module-utils.serialization"]], "utils.setup_env": [[83, "module-utils.setup_env"]], "\ufeffcomponents.api_client.anthropic_client": [[1, "components-api-client-anthropic-client"]], "\ufeffcomponents.api_client.google_client": [[2, "components-api-client-google-client"]], "\ufeffcomponents.api_client.groq_client": [[3, "components-api-client-groq-client"]], "\ufeffcomponents.api_client.openai_client": [[4, "components-api-client-openai-client"]], "\ufeffcomponents.api_client.transformers_client": [[5, "components-api-client-transformers-client"]], "\ufeffcomponents.data_process.document_splitter": [[7, "components-data-process-document-splitter"]], "\ufeffcomponents.model_client.google_client": [[12, "components-model-client-google-client"]], "\ufeffcomponents.retriever.faiss_retriever": [[20, "components-retriever-faiss-retriever"]], "\ufeffcomponents.retriever.postgres_retriever": [[22, "components-retriever-postgres-retriever"]]}, "docnames": ["apis/components/_autosummary/components.agent.react", "apis/components/_autosummary/components.api_client.anthropic_client", "apis/components/_autosummary/components.api_client.google_client", "apis/components/_autosummary/components.api_client.groq_client", "apis/components/_autosummary/components.api_client.openai_client", "apis/components/_autosummary/components.api_client.transformers_client", "apis/components/_autosummary/components.data_process.data_components", "apis/components/_autosummary/components.data_process.document_splitter", "apis/components/_autosummary/components.data_process.text_splitter", "apis/components/_autosummary/components.memory.memory", "apis/components/_autosummary/components.model_client.anthropic_client", "apis/components/_autosummary/components.model_client.cohere_client", "apis/components/_autosummary/components.model_client.google_client", "apis/components/_autosummary/components.model_client.groq_client", "apis/components/_autosummary/components.model_client.openai_client", "apis/components/_autosummary/components.model_client.transformers_client", "apis/components/_autosummary/components.model_client.utils", "apis/components/_autosummary/components.output_parsers.outputs", "apis/components/_autosummary/components.reasoning.chain_of_thought", "apis/components/_autosummary/components.retriever.bm25_retriever", "apis/components/_autosummary/components.retriever.faiss_retriever", "apis/components/_autosummary/components.retriever.llm_retriever", "apis/components/_autosummary/components.retriever.postgres_retriever", "apis/components/_autosummary/components.retriever.reranker_retriever", "apis/components/agent_prompt", "apis/components/components.agent", "apis/components/components.data_process", "apis/components/components.data_process.data_components", "apis/components/components.data_process.document_splitter", "apis/components/components.data_process.text_splitter", "apis/components/components.memory", "apis/components/components.memory.memory", "apis/components/components.model_client", "apis/components/components.model_client.utils", "apis/components/components.output_parsers", "apis/components/components.reasoning", "apis/components/components.retriever", "apis/components/components.retriever.postgres_retriever", "apis/components/index", "apis/core/core.base_data_class", "apis/core/core.component", "apis/core/core.data_components", "apis/core/core.db", "apis/core/core.default_prompt_template", "apis/core/core.document_splitter", "apis/core/core.embedder", "apis/core/core.func_tool", "apis/core/core.functional", "apis/core/core.generator", "apis/core/core.memory", "apis/core/core.model_client", "apis/core/core.parameter", "apis/core/core.prompt_builder", "apis/core/core.retriever", "apis/core/core.string_parser", "apis/core/core.tokenizer", "apis/core/core.tool_manager", "apis/core/core.types", "apis/core/index", "apis/eval/eval.answer_match_acc", "apis/eval/eval.evaluators", "apis/eval/eval.llm_as_judge", "apis/eval/eval.retriever_recall", "apis/eval/eval.retriever_relevance", "apis/eval/index", "apis/index", "apis/optim/index", "apis/optim/optim.few_shot_optimizer", "apis/optim/optim.llm_augment", "apis/optim/optim.llm_optimizer", "apis/optim/optim.optimizer", "apis/optim/optim.sampler", "apis/tracing/index", "apis/tracing/tracing.decorators", "apis/tracing/tracing.generator_call_logger", "apis/tracing/tracing.generator_state_logger", "apis/utils/index", "apis/utils/utils.config", "apis/utils/utils.file_io", "apis/utils/utils.lazy_import", "apis/utils/utils.logger", "apis/utils/utils.registry", "apis/utils/utils.serialization", "apis/utils/utils.setup_env", "contributor/contribute_to_document", "contributor/contribution_guide", "contributor/index", "developer_notes/agent", "developer_notes/base_data_class", "developer_notes/class_hierarchy", "developer_notes/component", "developer_notes/data_pipeline", "developer_notes/db", "developer_notes/embedder", "developer_notes/embedder_xy", "developer_notes/evaluation", "developer_notes/generator", "developer_notes/index", "developer_notes/lightrag_design_philosophy", "developer_notes/llm_intro", "developer_notes/logging", "developer_notes/logging_tracing", "developer_notes/model_client", "developer_notes/optimizer", "developer_notes/output_parsers", "developer_notes/parameter", "developer_notes/prompt", "developer_notes/rag", "developer_notes/react_agent_xy", "developer_notes/retriever", "developer_notes/retriever_xy", "developer_notes/text_splitter", "developer_notes/tool_helper", "get_started/community", "get_started/index", "get_started/installation", "get_started/introduction", "get_started/lightrag_in_10_mins", "index", "resources/index", "resources/resources", "tutorials/eval_a_rag", "tutorials/index", "tutorials/introduction_to_basedataclass", "tutorials/logging"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["apis/components/_autosummary/components.agent.react.rst", "apis/components/_autosummary/components.api_client.anthropic_client.rst", "apis/components/_autosummary/components.api_client.google_client.rst", "apis/components/_autosummary/components.api_client.groq_client.rst", "apis/components/_autosummary/components.api_client.openai_client.rst", "apis/components/_autosummary/components.api_client.transformers_client.rst", "apis/components/_autosummary/components.data_process.data_components.rst", "apis/components/_autosummary/components.data_process.document_splitter.rst", "apis/components/_autosummary/components.data_process.text_splitter.rst", "apis/components/_autosummary/components.memory.memory.rst", "apis/components/_autosummary/components.model_client.anthropic_client.rst", "apis/components/_autosummary/components.model_client.cohere_client.rst", "apis/components/_autosummary/components.model_client.google_client.rst", "apis/components/_autosummary/components.model_client.groq_client.rst", "apis/components/_autosummary/components.model_client.openai_client.rst", "apis/components/_autosummary/components.model_client.transformers_client.rst", "apis/components/_autosummary/components.model_client.utils.rst", "apis/components/_autosummary/components.output_parsers.outputs.rst", "apis/components/_autosummary/components.reasoning.chain_of_thought.rst", "apis/components/_autosummary/components.retriever.bm25_retriever.rst", "apis/components/_autosummary/components.retriever.faiss_retriever.rst", "apis/components/_autosummary/components.retriever.llm_retriever.rst", "apis/components/_autosummary/components.retriever.postgres_retriever.rst", "apis/components/_autosummary/components.retriever.reranker_retriever.rst", "apis/components/agent_prompt.rst", "apis/components/components.agent.rst", "apis/components/components.data_process.rst", "apis/components/components.data_process.data_components.rst", "apis/components/components.data_process.document_splitter.rst", "apis/components/components.data_process.text_splitter.rst", "apis/components/components.memory.rst", "apis/components/components.memory.memory.rst", "apis/components/components.model_client.rst", "apis/components/components.model_client.utils.rst", "apis/components/components.output_parsers.rst", "apis/components/components.reasoning.rst", "apis/components/components.retriever.rst", "apis/components/components.retriever.postgres_retriever.rst", "apis/components/index.rst", "apis/core/core.base_data_class.rst", "apis/core/core.component.rst", "apis/core/core.data_components.rst", "apis/core/core.db.rst", "apis/core/core.default_prompt_template.rst", "apis/core/core.document_splitter.rst", "apis/core/core.embedder.rst", "apis/core/core.func_tool.rst", "apis/core/core.functional.rst", "apis/core/core.generator.rst", "apis/core/core.memory.rst", "apis/core/core.model_client.rst", "apis/core/core.parameter.rst", "apis/core/core.prompt_builder.rst", "apis/core/core.retriever.rst", "apis/core/core.string_parser.rst", "apis/core/core.tokenizer.rst", "apis/core/core.tool_manager.rst", "apis/core/core.types.rst", "apis/core/index.rst", "apis/eval/eval.answer_match_acc.rst", "apis/eval/eval.evaluators.rst", "apis/eval/eval.llm_as_judge.rst", "apis/eval/eval.retriever_recall.rst", "apis/eval/eval.retriever_relevance.rst", "apis/eval/index.rst", "apis/index.rst", "apis/optim/index.rst", "apis/optim/optim.few_shot_optimizer.rst", "apis/optim/optim.llm_augment.rst", "apis/optim/optim.llm_optimizer.rst", "apis/optim/optim.optimizer.rst", "apis/optim/optim.sampler.rst", "apis/tracing/index.rst", "apis/tracing/tracing.decorators.rst", "apis/tracing/tracing.generator_call_logger.rst", "apis/tracing/tracing.generator_state_logger.rst", "apis/utils/index.rst", "apis/utils/utils.config.rst", "apis/utils/utils.file_io.rst", "apis/utils/utils.lazy_import.rst", "apis/utils/utils.logger.rst", "apis/utils/utils.registry.rst", "apis/utils/utils.serialization.rst", "apis/utils/utils.setup_env.rst", "contributor/contribute_to_document.rst", "contributor/contribution_guide.rst", "contributor/index.rst", "developer_notes/agent.rst", "developer_notes/base_data_class.rst", "developer_notes/class_hierarchy.rst", "developer_notes/component.rst", "developer_notes/data_pipeline.rst", "developer_notes/db.rst", "developer_notes/embedder.rst", "developer_notes/embedder_xy.rst", "developer_notes/evaluation.rst", "developer_notes/generator.rst", "developer_notes/index.rst", "developer_notes/lightrag_design_philosophy.rst", "developer_notes/llm_intro.rst", "developer_notes/logging.rst", "developer_notes/logging_tracing.rst", "developer_notes/model_client.rst", "developer_notes/optimizer.rst", "developer_notes/output_parsers.rst", "developer_notes/parameter.rst", "developer_notes/prompt.rst", "developer_notes/rag.rst", "developer_notes/react_agent_xy.rst", "developer_notes/retriever.rst", "developer_notes/retriever_xy.rst", "developer_notes/text_splitter.rst", "developer_notes/tool_helper.rst", "get_started/community.rst", "get_started/index.rst", "get_started/installation.rst", "get_started/introduction.rst", "get_started/lightrag_in_10_mins.rst", "index.rst", "resources/index.rst", "resources/resources.rst", "tutorials/eval_a_rag.rst", "tutorials/index.rst", "tutorials/introduction_to_basedataclass.rst", "tutorials/logging.rst"], "indexentries": {"acall() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.acall", false]], "acall() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.acall", false]], "acall() (component method)": [[40, "core.component.Component.acall", false]], "acall() (embedder method)": [[45, "core.embedder.Embedder.acall", false]], "acall() (functiontool method)": [[46, "core.func_tool.FunctionTool.acall", false]], "acall() (generator method)": [[48, "core.generator.Generator.acall", false]], "acall() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.acall", false]], "acall() (modelclient method)": [[50, "core.model_client.ModelClient.acall", false]], "acall() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.acall", false]], "acall() (retriever method)": [[53, "core.retriever.Retriever.acall", false]], "action (functionexpression attribute)": [[57, "core.types.FunctionExpression.action", false]], "action (stepoutput attribute)": [[57, "core.types.StepOutput.action", false]], "add() (localdb method)": [[42, "core.db.LocalDB.add", false]], "add_component() (component method)": [[40, "core.component.Component.add_component", false]], "answermatchacc (class in eval.answer_match_acc)": [[59, "eval.answer_match_acc.AnswerMatchAcc", false]], "anthropic (modelclienttype attribute)": [[57, "core.types.ModelClientType.ANTHROPIC", false]], "anthropic (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.ANTHROPIC", false]], "anthropicapiclient (class in components.model_client.anthropic_client)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient", false]], "append() (sequential method)": [[40, "core.component.Sequential.append", false]], "append_dialog_turn() (conversation method)": [[57, "core.types.Conversation.append_dialog_turn", false]], "append_to_jsonl() (in module utils.file_io)": [[78, "utils.file_io.append_to_jsonl", false]], "args (function attribute)": [[57, "core.types.Function.args", false]], "assistant_response (dialogturn attribute)": [[57, "core.types.DialogTurn.assistant_response", false]], "assistant_response_timestamp (dialogturn attribute)": [[57, "core.types.DialogTurn.assistant_response_timestamp", false]], "assistantresponse (class in core.types)": [[57, "core.types.AssistantResponse", false]], "augment_samples() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.augment_samples", false]], "average_pool() (in module components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.average_pool", false]], "batchembedder (class in core.embedder)": [[45, "core.embedder.BatchEmbedder", false]], "bm25retriever (class in components.retriever)": [[36, "components.retriever.BM25Retriever", false]], "bm25retriever (class in components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.BM25Retriever", false]], "booleanoutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.BooleanOutputParser", false]], "bootstrapfewshot (class in optim.few_shot_optimizer)": [[67, "optim.few_shot_optimizer.BootstrapFewShot", false]], "build_index_from_documents() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.build_index_from_documents", false], [36, "components.retriever.BM25Retriever.build_index_from_documents", false]], "build_index_from_documents() (llmretriever method)": [[21, "components.retriever.llm_retriever.LLMRetriever.build_index_from_documents", false], [36, "components.retriever.LLMRetriever.build_index_from_documents", false]], "build_index_from_documents() (rerankerretriever method)": [[23, "components.retriever.reranker_retriever.RerankerRetriever.build_index_from_documents", false], [36, "components.retriever.RerankerRetriever.build_index_from_documents", false]], "build_index_from_documents() (retriever method)": [[53, "core.retriever.Retriever.build_index_from_documents", false]], "call() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.call", false]], "call() (batchembedder method)": [[45, "core.embedder.BatchEmbedder.call", false]], "call() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.call", false], [36, "components.retriever.BM25Retriever.call", false]], "call() (booleanoutputparser method)": [[17, "components.output_parsers.outputs.BooleanOutputParser.call", false]], "call() (classsampler method)": [[71, "optim.sampler.ClassSampler.call", false]], "call() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.call", false]], "call() (component method)": [[40, "core.component.Component.call", false]], "call() (defaultllmjudge method)": [[61, "eval.llm_as_judge.DefaultLLMJudge.call", false]], "call() (embedder method)": [[45, "core.embedder.Embedder.call", false]], "call() (funcomponent method)": [[40, "core.component.FunComponent.call", false]], "call() (functiontool method)": [[46, "core.func_tool.FunctionTool.call", false]], "call() (generator method)": [[48, "core.generator.Generator.call", false]], "call() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.call", false]], "call() (jsonoutputparser method)": [[17, "components.output_parsers.outputs.JsonOutputParser.call", false], [34, "components.output_parsers.JsonOutputParser.call", false]], "call() (jsonparser method)": [[54, "core.string_parser.JsonParser.call", false]], "call() (listoutputparser method)": [[17, "components.output_parsers.outputs.ListOutputParser.call", false], [34, "components.output_parsers.ListOutputParser.call", false]], "call() (llmaugmenter method)": [[68, "optim.llm_augment.LLMAugmenter.call", false]], "call() (llmretriever method)": [[21, "components.retriever.llm_retriever.LLMRetriever.call", false], [36, "components.retriever.LLMRetriever.call", false]], "call() (modelclient method)": [[50, "core.model_client.ModelClient.call", false]], "call() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.call", false]], "call() (outputparser method)": [[17, "components.output_parsers.outputs.OutputParser.call", false]], "call() (prompt method)": [[52, "core.prompt_builder.Prompt.call", false]], "call() (randomsampler method)": [[71, "optim.sampler.RandomSampler.call", false]], "call() (reactagent method)": [[0, "components.agent.react.ReActAgent.call", false]], "call() (rerankerretriever method)": [[23, "components.retriever.reranker_retriever.RerankerRetriever.call", false], [36, "components.retriever.RerankerRetriever.call", false]], "call() (retriever method)": [[53, "core.retriever.Retriever.call", false]], "call() (sampler method)": [[71, "optim.sampler.Sampler.call", false]], "call() (sequential method)": [[40, "core.component.Sequential.call", false]], "call() (textsplitter method)": [[8, "components.data_process.text_splitter.TextSplitter.call", false], [26, "components.data_process.TextSplitter.call", false], [29, "components.data_process.text_splitter.TextSplitter.call", false]], "call() (transformerllm method)": [[15, "components.model_client.transformers_client.TransformerLLM.call", false]], "call() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.call", false]], "call() (yamloutputparser method)": [[17, "components.output_parsers.outputs.YamlOutputParser.call", false], [34, "components.output_parsers.YamlOutputParser.call", false]], "call() (yamlparser method)": [[54, "core.string_parser.YamlParser.call", false]], "check_object() (in module utils.serialization)": [[82, "utils.serialization.check_object", false]], "children() (component method)": [[40, "core.component.Component.children", false]], "class (objecttypes attribute)": [[82, "utils.serialization.ObjectTypes.CLASS", false]], "classsampler (class in optim.sampler)": [[71, "optim.sampler.ClassSampler", false]], "cohere (modelclienttype attribute)": [[57, "core.types.ModelClientType.COHERE", false]], "cohere (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.COHERE", false]], "cohereapiclient (class in components.model_client.cohere_client)": [[11, "components.model_client.cohere_client.CohereAPIClient", false]], "component (class in core.component)": [[40, "core.component.Component", false]], "components() (component method)": [[40, "core.component.Component.components", false]], "components.agent.react": [[0, "module-components.agent.react", false]], "components.data_process": [[26, "module-components.data_process", false]], "components.data_process.data_components": [[6, "module-components.data_process.data_components", false], [27, "module-components.data_process.data_components", false]], "components.data_process.text_splitter": [[8, "module-components.data_process.text_splitter", false], [29, "module-components.data_process.text_splitter", false]], "components.memory": [[30, "module-components.memory", false]], "components.memory.memory": [[9, "module-components.memory.memory", false], [31, "module-components.memory.memory", false]], "components.model_client": [[32, "module-components.model_client", false]], "components.model_client.anthropic_client": [[10, "module-components.model_client.anthropic_client", false]], "components.model_client.cohere_client": [[11, "module-components.model_client.cohere_client", false]], "components.model_client.groq_client": [[13, "module-components.model_client.groq_client", false]], "components.model_client.openai_client": [[14, "module-components.model_client.openai_client", false]], "components.model_client.transformers_client": [[15, "module-components.model_client.transformers_client", false]], "components.model_client.utils": [[16, "module-components.model_client.utils", false], [33, "module-components.model_client.utils", false]], "components.output_parsers": [[34, "module-components.output_parsers", false]], "components.output_parsers.outputs": [[17, "module-components.output_parsers.outputs", false]], "components.reasoning": [[35, "module-components.reasoning", false]], "components.reasoning.chain_of_thought": [[18, "module-components.reasoning.chain_of_thought", false]], "components.retriever": [[36, "module-components.retriever", false]], "components.retriever.bm25_retriever": [[19, "module-components.retriever.bm25_retriever", false]], "components.retriever.llm_retriever": [[21, "module-components.retriever.llm_retriever", false]], "components.retriever.reranker_retriever": [[23, "module-components.retriever.reranker_retriever", false]], "compose_model_kwargs() (in module core.functional)": [[47, "core.functional.compose_model_kwargs", false]], "compose_prompt_kwargs() (prompt method)": [[52, "core.prompt_builder.Prompt.compose_prompt_kwargs", false]], "compute() (answermatchacc method)": [[59, "eval.answer_match_acc.AnswerMatchAcc.compute", false]], "compute() (llmasjudge method)": [[61, "eval.llm_as_judge.LLMasJudge.compute", false]], "compute() (retrieverrecall method)": [[62, "eval.retriever_recall.RetrieverRecall.compute", false]], "compute() (retrieverrelevance method)": [[63, "eval.retriever_relevance.RetrieverRelevance.compute", false]], "conversation (class in core.types)": [[57, "core.types.Conversation", false]], "conversation_id (dialogturn attribute)": [[57, "core.types.DialogTurn.conversation_id", false]], "convert_inputs_to_api_kwargs() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (modelclient method)": [[50, "core.model_client.ModelClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.convert_inputs_to_api_kwargs", false]], "convert_inputs_to_api_kwargs() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.convert_inputs_to_api_kwargs", false]], "convert_schema_to_signature() (in module core.functional)": [[47, "core.functional.convert_schema_to_signature", false]], "core.base_data_class": [[39, "module-core.base_data_class", false]], "core.component": [[40, "module-core.component", false]], "core.db": [[42, "module-core.db", false]], "core.default_prompt_template": [[43, "module-core.default_prompt_template", false]], "core.embedder": [[45, "module-core.embedder", false]], "core.func_tool": [[46, "module-core.func_tool", false]], "core.functional": [[47, "module-core.functional", false]], "core.generator": [[48, "module-core.generator", false]], "core.model_client": [[50, "module-core.model_client", false]], "core.parameter": [[51, "module-core.parameter", false]], "core.prompt_builder": [[52, "module-core.prompt_builder", false]], "core.retriever": [[53, "module-core.retriever", false]], "core.string_parser": [[54, "module-core.string_parser", false]], "core.tokenizer": [[55, "module-core.tokenizer", false]], "core.tool_manager": [[56, "module-core.tool_manager", false]], "core.types": [[57, "module-core.types", false]], "count_tokens() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.count_tokens", false]], "create_from_dict() (dynamicdataclassfactory static method)": [[39, "core.base_data_class.DynamicDataClassFactory.create_from_dict", false]], "created_at (conversation attribute)": [[57, "core.types.Conversation.created_at", false]], "custom_asdict() (in module core.functional)": [[47, "core.functional.custom_asdict", false]], "data (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.data", false]], "data (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.data", false]], "data (sample attribute)": [[71, "optim.sampler.Sample.data", false]], "dataclass (class in core.base_data_class)": [[39, "core.base_data_class.DataClass", false]], "dataclass_obj_from_dict() (in module core.functional)": [[47, "core.functional.dataclass_obj_from_dict", false]], "dataclassformattype (class in core.base_data_class)": [[39, "core.base_data_class.DataClassFormatType", false]], "dataset (randomsampler attribute)": [[71, "optim.sampler.RandomSampler.dataset", false]], "decode() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.decode", false]], "default() (in module utils.serialization)": [[82, "utils.serialization.default", false]], "default_lightrag_system_prompt (in module core.default_prompt_template)": [[43, "core.default_prompt_template.DEFAULT_LIGHTRAG_SYSTEM_PROMPT", false]], "defaultllmjudge (class in eval.llm_as_judge)": [[61, "eval.llm_as_judge.DefaultLLMJudge", false]], "delete() (localdb method)": [[42, "core.db.LocalDB.delete", false]], "delete_dialog_turn() (conversation method)": [[57, "core.types.Conversation.delete_dialog_turn", false]], "deserialize() (in module utils.serialization)": [[82, "utils.serialization.deserialize", false]], "dialog_turns (conversation attribute)": [[57, "core.types.Conversation.dialog_turns", false]], "dialog_turns_input (conversation attribute)": [[57, "core.types.Conversation.dialog_turns_input", false]], "dialogturn (class in core.types)": [[57, "core.types.DialogTurn", false]], "doc_indices (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.doc_indices", false]], "doc_scores (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.doc_scores", false]], "document (class in core.types)": [[57, "core.types.Document", false]], "documents (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.documents", false]], "dynamicdataclassfactory (class in core.base_data_class)": [[39, "core.base_data_class.DynamicDataClassFactory", false]], "embedder (class in core.embedder)": [[45, "core.embedder.Embedder", false]], "embedder (modeltype attribute)": [[57, "core.types.ModelType.EMBEDDER", false]], "embedderoutput (class in core.types)": [[57, "core.types.EmbedderOutput", false]], "embedderoutputtype (in module core.types)": [[57, "core.types.EmbedderOutputType", false]], "embedding (class in core.types)": [[57, "core.types.Embedding", false]], "embedding (embedding attribute)": [[57, "core.types.Embedding.embedding", false]], "embedding_dim (embedderoutput property)": [[57, "core.types.EmbedderOutput.embedding_dim", false]], "enable_library_logging() (in module utils.logger)": [[80, "utils.logger.enable_library_logging", false]], "encode() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.encode", false]], "entitymapping (class in utils.registry)": [[81, "utils.registry.EntityMapping", false]], "error (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.error", false]], "error (functionoutput attribute)": [[57, "core.types.FunctionOutput.error", false]], "error (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.error", false]], "estimated_num_tokens (document attribute)": [[57, "core.types.Document.estimated_num_tokens", false]], "eval() (component method)": [[40, "core.component.Component.eval", false]], "eval.answer_match_acc": [[59, "module-eval.answer_match_acc", false]], "eval.llm_as_judge": [[61, "module-eval.llm_as_judge", false]], "eval.retriever_recall": [[62, "module-eval.retriever_recall", false]], "eval.retriever_relevance": [[63, "module-eval.retriever_relevance", false]], "evaluate_ast_node() (in module core.functional)": [[47, "core.functional.evaluate_ast_node", false]], "example_json (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.EXAMPLE_JSON", false]], "example_yaml (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.EXAMPLE_YAML", false]], "execute() (functiontool method)": [[46, "core.func_tool.FunctionTool.execute", false]], "execute_func() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func", false]], "execute_func_expr() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func_expr", false]], "execute_func_expr_via_eval() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func_expr_via_eval", false]], "execute_func_expr_via_sandbox() (toolmanager method)": [[56, "core.tool_manager.ToolManager.execute_func_expr_via_sandbox", false]], "extend() (localdb method)": [[42, "core.db.LocalDB.extend", false]], "extract_dataclass_type() (in module core.functional)": [[47, "core.functional.extract_dataclass_type", false]], "extract_json_str() (in module core.functional)": [[47, "core.functional.extract_json_str", false]], "extract_list_str() (in module core.functional)": [[47, "core.functional.extract_list_str", false]], "extract_yaml_str() (in module core.functional)": [[47, "core.functional.extract_yaml_str", false]], "faiss (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.FAISS", false]], "fetch_items() (localdb method)": [[42, "core.db.LocalDB.fetch_items", false]], "fetch_transformed_items() (localdb method)": [[42, "core.db.LocalDB.fetch_transformed_items", false]], "fix_json_escaped_single_quotes() (in module core.functional)": [[47, "core.functional.fix_json_escaped_single_quotes", false]], "fix_json_missing_commas() (in module core.functional)": [[47, "core.functional.fix_json_missing_commas", false]], "fn_schema_str() (functiondefinition method)": [[57, "core.types.FunctionDefinition.fn_schema_str", false]], "format_class_str() (dataclass class method)": [[39, "core.base_data_class.DataClass.format_class_str", false]], "format_example_str() (dataclass method)": [[39, "core.base_data_class.DataClass.format_example_str", false]], "format_instructions() (booleanoutputparser method)": [[17, "components.output_parsers.outputs.BooleanOutputParser.format_instructions", false]], "format_instructions() (jsonoutputparser method)": [[17, "components.output_parsers.outputs.JsonOutputParser.format_instructions", false], [34, "components.output_parsers.JsonOutputParser.format_instructions", false]], "format_instructions() (listoutputparser method)": [[17, "components.output_parsers.outputs.ListOutputParser.format_instructions", false], [34, "components.output_parsers.ListOutputParser.format_instructions", false]], "format_instructions() (outputparser method)": [[17, "components.output_parsers.outputs.OutputParser.format_instructions", false]], "format_instructions() (yamloutputparser method)": [[17, "components.output_parsers.outputs.YamlOutputParser.format_instructions", false], [34, "components.output_parsers.YamlOutputParser.format_instructions", false]], "from_config() (component class method)": [[40, "core.component.Component.from_config", false]], "from_config() (embedder class method)": [[45, "core.embedder.Embedder.from_config", false]], "from_config() (generator class method)": [[48, "core.generator.Generator.from_config", false]], "from_dict() (component class method)": [[40, "core.component.Component.from_dict", false]], "from_dict() (dataclass class method)": [[39, "core.base_data_class.DataClass.from_dict", false]], "from_dict() (document class method)": [[57, "core.types.Document.from_dict", false]], "from_dict() (openaiclient class method)": [[14, "components.model_client.openai_client.OpenAIClient.from_dict", false]], "from_dict() (prompt class method)": [[52, "core.prompt_builder.Prompt.from_dict", false]], "from_dict_to_json() (in module core.functional)": [[47, "core.functional.from_dict_to_json", false]], "from_dict_to_yaml() (in module core.functional)": [[47, "core.functional.from_dict_to_yaml", false]], "from_function() (functionexpression class method)": [[57, "core.types.FunctionExpression.from_function", false]], "from_json() (dataclass class method)": [[39, "core.base_data_class.DataClass.from_json", false]], "from_json_to_dict() (in module core.functional)": [[47, "core.functional.from_json_to_dict", false]], "from_yaml() (dataclass class method)": [[39, "core.base_data_class.DataClass.from_yaml", false]], "from_yaml_to_dict() (in module core.functional)": [[47, "core.functional.from_yaml_to_dict", false]], "fun_args (stepoutput attribute)": [[57, "core.types.StepOutput.fun_args", false]], "fun_kwargs (stepoutput attribute)": [[57, "core.types.StepOutput.fun_kwargs", false]], "fun_name (stepoutput attribute)": [[57, "core.types.StepOutput.fun_name", false]], "fun_to_component() (in module core.component)": [[40, "core.component.fun_to_component", false]], "func_desc (functiondefinition attribute)": [[57, "core.types.FunctionDefinition.func_desc", false]], "func_name (functiondefinition attribute)": [[57, "core.types.FunctionDefinition.func_name", false]], "func_parameters (functiondefinition attribute)": [[57, "core.types.FunctionDefinition.func_parameters", false]], "funcomponent (class in core.component)": [[40, "core.component.FunComponent", false]], "function (class in core.types)": [[57, "core.types.Function", false]], "function_definitions (toolmanager property)": [[56, "core.tool_manager.ToolManager.function_definitions", false]], "functiondefinition (class in core.types)": [[57, "core.types.FunctionDefinition", false]], "functionexpression (class in core.types)": [[57, "core.types.FunctionExpression", false]], "functionoutput (class in core.types)": [[57, "core.types.FunctionOutput", false]], "functiontool (class in core.func_tool)": [[46, "core.func_tool.FunctionTool", false]], "generate_function_call_expression_from_callable() (in module core.functional)": [[47, "core.functional.generate_function_call_expression_from_callable", false]], "generate_readable_key_for_function() (in module core.functional)": [[47, "core.functional.generate_readable_key_for_function", false]], "generator (class in core.generator)": [[48, "core.generator.Generator", false]], "generator_names (generatorstatelogger property)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.generator_names", false]], "generator_names_to_files (generatorcalllogger property)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.generator_names_to_files", false]], "generatorcalllogger (class in tracing.generator_call_logger)": [[74, "tracing.generator_call_logger.GeneratorCallLogger", false]], "generatorcallrecord (class in tracing.generator_call_logger)": [[74, "tracing.generator_call_logger.GeneratorCallRecord", false]], "generatoroutput (class in core.types)": [[57, "core.types.GeneratorOutput", false]], "generatorstatelogger (class in tracing.generator_state_logger)": [[75, "tracing.generator_state_logger.GeneratorStateLogger", false]], "generatorstatesrecord (class in tracing.generator_state_logger)": [[75, "tracing.generator_state_logger.GeneratorStatesRecord", false]], "get() (entitymapping class method)": [[81, "utils.registry.EntityMapping.get", false]], "get_all() (entitymapping class method)": [[81, "utils.registry.EntityMapping.get_all", false]], "get_all_messages_content() (in module components.model_client.openai_client)": [[14, "components.model_client.openai_client.get_all_messages_content", false]], "get_calls() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.get_calls", false]], "get_chat_history_str() (conversation method)": [[57, "core.types.Conversation.get_chat_history_str", false]], "get_current_script_and_line() (in module utils.logger)": [[80, "utils.logger.get_current_script_and_line", false]], "get_dataclass_schema() (in module core.functional)": [[47, "core.functional.get_dataclass_schema", false]], "get_dialog_turns() (conversation method)": [[57, "core.types.Conversation.get_dialog_turns", false]], "get_first_message_content() (in module components.model_client.openai_client)": [[14, "components.model_client.openai_client.get_first_message_content", false]], "get_fun_schema() (in module core.functional)": [[47, "core.functional.get_fun_schema", false]], "get_jinja2_environment() (in module core.prompt_builder)": [[52, "core.prompt_builder.get_jinja2_environment", false]], "get_log_location() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.get_log_location", false]], "get_log_location() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.get_log_location", false]], "get_logger() (in module utils.logger)": [[80, "utils.logger.get_logger", false]], "get_model_args() (in module core.types)": [[57, "core.types.get_model_args", false]], "get_next_order() (conversation method)": [[57, "core.types.Conversation.get_next_order", false]], "get_probabilities() (in module components.model_client.openai_client)": [[14, "components.model_client.openai_client.get_probabilities", false]], "get_prompt_variables() (prompt method)": [[52, "core.prompt_builder.Prompt.get_prompt_variables", false]], "get_string_tokens() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.get_string_tokens", false]], "get_subcomponent() (component method)": [[40, "core.component.Component.get_subcomponent", false]], "get_top_k_indices_scores() (in module core.functional)": [[47, "core.functional.get_top_k_indices_scores", false]], "get_transformed_data() (localdb method)": [[42, "core.db.LocalDB.get_transformed_data", false]], "get_transformer_keys() (localdb method)": [[42, "core.db.LocalDB.get_transformer_keys", false]], "get_type_schema() (in module core.functional)": [[47, "core.functional.get_type_schema", false]], "google_generativeai (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.GOOGLE_GENERATIVEAI", false]], "groq (modelclienttype attribute)": [[57, "core.types.ModelClientType.GROQ", false]], "groq (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.GROQ", false]], "groqapiclient (class in components.model_client.groq_client)": [[13, "components.model_client.groq_client.GroqAPIClient", false]], "gts (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.gts", false]], "id (conversation attribute)": [[57, "core.types.Conversation.id", false]], "id (dialogturn attribute)": [[57, "core.types.DialogTurn.id", false]], "id (document attribute)": [[57, "core.types.Document.id", false]], "index (embedding attribute)": [[57, "core.types.Embedding.index", false]], "index (sample attribute)": [[71, "optim.sampler.Sample.index", false]], "index_keys (retriever attribute)": [[53, "core.retriever.Retriever.index_keys", false]], "indexed (retriever attribute)": [[53, "core.retriever.Retriever.indexed", false]], "infer_bge_reranker_base() (transformerreranker method)": [[15, "components.model_client.transformers_client.TransformerReranker.infer_bge_reranker_base", false]], "infer_gte_base_embedding() (transformerembedder method)": [[15, "components.model_client.transformers_client.TransformerEmbedder.infer_gte_base_embedding", false]], "init() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.init", false]], "init_async_client() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.init_async_client", false]], "init_async_client() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.init_async_client", false]], "init_async_client() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.init_async_client", false]], "init_async_client() (modelclient method)": [[50, "core.model_client.ModelClient.init_async_client", false]], "init_async_client() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.init_async_client", false]], "init_llm_client() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.init_llm_client", false]], "init_model() (transformerembedder method)": [[15, "components.model_client.transformers_client.TransformerEmbedder.init_model", false]], "init_model() (transformerllm method)": [[15, "components.model_client.transformers_client.TransformerLLM.init_model", false]], "init_model() (transformerreranker method)": [[15, "components.model_client.transformers_client.TransformerReranker.init_model", false]], "init_reranker_client() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.init_reranker_client", false]], "init_sync_client() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.init_sync_client", false]], "init_sync_client() (cohereapiclient method)": [[11, "components.model_client.cohere_client.CohereAPIClient.init_sync_client", false]], "init_sync_client() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.init_sync_client", false]], "init_sync_client() (modelclient method)": [[50, "core.model_client.ModelClient.init_sync_client", false]], "init_sync_client() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.init_sync_client", false]], "init_sync_client() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.init_sync_client", false]], "input (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.input", false]], "input (functionoutput attribute)": [[57, "core.types.FunctionOutput.input", false]], "instance (objecttypes attribute)": [[82, "utils.serialization.ObjectTypes.INSTANCE", false]], "instruction (class in optim.llm_optimizer)": [[69, "optim.llm_optimizer.Instruction", false]], "is_dataclass_instance() (in module core.functional)": [[47, "core.functional.is_dataclass_instance", false]], "is_key_in_template() (prompt method)": [[52, "core.prompt_builder.Prompt.is_key_in_template", false]], "is_normalized (embedderoutput property)": [[57, "core.types.EmbedderOutput.is_normalized", false]], "is_normalized() (in module core.functional)": [[47, "core.functional.is_normalized", false]], "is_picklable() (component method)": [[40, "core.component.Component.is_picklable", false]], "is_potential_dataclass() (in module core.functional)": [[47, "core.functional.is_potential_dataclass", false]], "is_running_in_event_loop() (in module core.func_tool)": [[46, "core.func_tool.is_running_in_event_loop", false]], "items (localdb attribute)": [[42, "core.db.LocalDB.items", false]], "json_definitions (toolmanager property)": [[56, "core.tool_manager.ToolManager.json_definitions", false]], "jsonoutputparser (class in components.output_parsers)": [[34, "components.output_parsers.JsonOutputParser", false]], "jsonoutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.JsonOutputParser", false]], "jsonparser (class in core.string_parser)": [[54, "core.string_parser.JsonParser", false]], "kwargs (function attribute)": [[57, "core.types.Function.kwargs", false]], "lazyimport (class in utils.lazy_import)": [[79, "utils.lazy_import.LazyImport", false]], "length (embedderoutput property)": [[57, "core.types.EmbedderOutput.length", false]], "length (localdb property)": [[42, "core.db.LocalDB.length", false]], "listoutputparser (class in components.output_parsers)": [[34, "components.output_parsers.ListOutputParser", false]], "listoutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.ListOutputParser", false]], "listparser (class in core.string_parser)": [[54, "core.string_parser.ListParser", false]], "llm (modeltype attribute)": [[57, "core.types.ModelType.LLM", false]], "llmasjudge (class in eval.llm_as_judge)": [[61, "eval.llm_as_judge.LLMasJudge", false]], "llmaugmenter (class in optim.llm_augment)": [[68, "optim.llm_augment.LLMAugmenter", false]], "llmoptimizer (class in optim.llm_optimizer)": [[69, "optim.llm_optimizer.LLMOptimizer", false]], "llmretriever (class in components.retriever)": [[36, "components.retriever.LLMRetriever", false]], "llmretriever (class in components.retriever.llm_retriever)": [[21, "components.retriever.llm_retriever.LLMRetriever", false]], "load() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.load", false]], "load() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.load", false]], "load() (in module utils.file_io)": [[78, "utils.file_io.load", false]], "load() (localdb method)": [[42, "core.db.LocalDB.load", false]], "load_from_file() (bm25retriever class method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.load_from_file", false], [36, "components.retriever.BM25Retriever.load_from_file", false]], "load_from_file() (retriever class method)": [[53, "core.retriever.Retriever.load_from_file", false]], "load_from_pickle() (component class method)": [[40, "core.component.Component.load_from_pickle", false]], "load_json() (in module utils.file_io)": [[78, "utils.file_io.load_json", false]], "load_jsonl() (in module utils.file_io)": [[78, "utils.file_io.load_jsonl", false]], "load_meta_data() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.load_meta_data", false]], "load_pickle() (in module utils.file_io)": [[78, "utils.file_io.load_pickle", false]], "load_state() (localdb class method)": [[42, "core.db.LocalDB.load_state", false]], "load_state_dict() (component method)": [[40, "core.component.Component.load_state_dict", false]], "load_state_pickle() (component class method)": [[40, "core.component.Component.load_state_pickle", false]], "localdb (class in core.db)": [[42, "core.db.LocalDB", false]], "log_call() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.log_call", false]], "log_prompt() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.log_prompt", false]], "logprob (tokenlogprob attribute)": [[57, "core.types.TokenLogProb.logprob", false]], "mapper_setups (localdb attribute)": [[42, "core.db.LocalDB.mapper_setups", false]], "memory (class in components.memory.memory)": [[9, "components.memory.memory.Memory", false], [31, "components.memory.memory.Memory", false]], "meta_data (document attribute)": [[57, "core.types.Document.meta_data", false]], "metadata (assistantresponse attribute)": [[57, "core.types.AssistantResponse.metadata", false]], "metadata (conversation attribute)": [[57, "core.types.Conversation.metadata", false]], "metadata (dialogturn attribute)": [[57, "core.types.DialogTurn.metadata", false]], "metadata (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.metadata", false]], "metadata (userquery attribute)": [[57, "core.types.UserQuery.metadata", false]], "model (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.model", false]], "model_client (embedder attribute)": [[45, "core.embedder.Embedder.model_client", false]], "model_client (generator attribute)": [[48, "core.generator.Generator.model_client", false]], "model_kwargs (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.model_kwargs", false]], "model_type (embedder attribute)": [[45, "core.embedder.Embedder.model_type", false]], "model_type (generator attribute)": [[48, "core.generator.Generator.model_type", false]], "modelclient (class in core.model_client)": [[50, "core.model_client.ModelClient", false]], "modelclienttype (class in core.types)": [[57, "core.types.ModelClientType", false]], "models (transformerembedder attribute)": [[15, "components.model_client.transformers_client.TransformerEmbedder.models", false]], "models (transformerllm attribute)": [[15, "components.model_client.transformers_client.TransformerLLM.models", false]], "models (transformerreranker attribute)": [[15, "components.model_client.transformers_client.TransformerReranker.models", false]], "modeltype (class in core.types)": [[57, "core.types.ModelType", false]], "module": [[0, "module-components.agent.react", false], [6, "module-components.data_process.data_components", false], [8, "module-components.data_process.text_splitter", false], [9, "module-components.memory.memory", false], [10, "module-components.model_client.anthropic_client", false], [11, "module-components.model_client.cohere_client", false], [13, "module-components.model_client.groq_client", false], [14, "module-components.model_client.openai_client", false], [15, "module-components.model_client.transformers_client", false], [16, "module-components.model_client.utils", false], [17, "module-components.output_parsers.outputs", false], [18, "module-components.reasoning.chain_of_thought", false], [19, "module-components.retriever.bm25_retriever", false], [21, "module-components.retriever.llm_retriever", false], [23, "module-components.retriever.reranker_retriever", false], [26, "module-components.data_process", false], [27, "module-components.data_process.data_components", false], [29, "module-components.data_process.text_splitter", false], [30, "module-components.memory", false], [31, "module-components.memory.memory", false], [32, "module-components.model_client", false], [33, "module-components.model_client.utils", false], [34, "module-components.output_parsers", false], [35, "module-components.reasoning", false], [36, "module-components.retriever", false], [39, "module-core.base_data_class", false], [40, "module-core.component", false], [42, "module-core.db", false], [43, "module-core.default_prompt_template", false], [45, "module-core.embedder", false], [46, "module-core.func_tool", false], [47, "module-core.functional", false], [48, "module-core.generator", false], [50, "module-core.model_client", false], [51, "module-core.parameter", false], [52, "module-core.prompt_builder", false], [53, "module-core.retriever", false], [54, "module-core.string_parser", false], [55, "module-core.tokenizer", false], [56, "module-core.tool_manager", false], [57, "module-core.types", false], [59, "module-eval.answer_match_acc", false], [61, "module-eval.llm_as_judge", false], [62, "module-eval.retriever_recall", false], [63, "module-eval.retriever_relevance", false], [67, "module-optim.few_shot_optimizer", false], [68, "module-optim.llm_augment", false], [69, "module-optim.llm_optimizer", false], [70, "module-optim.optimizer", false], [71, "module-optim.sampler", false], [73, "module-tracing.decorators", false], [74, "module-tracing.generator_call_logger", false], [75, "module-tracing.generator_state_logger", false], [77, "module-utils.config", false], [78, "module-utils.file_io", false], [79, "module-utils.lazy_import", false], [80, "module-utils.logger", false], [81, "module-utils.registry", false], [82, "module-utils.serialization", false], [83, "module-utils.setup_env", false]], "name (conversation attribute)": [[57, "core.types.Conversation.name", false]], "name (function attribute)": [[57, "core.types.Function.name", false]], "name (functionoutput attribute)": [[57, "core.types.FunctionOutput.name", false]], "name (localdb attribute)": [[42, "core.db.LocalDB.name", false]], "named_children() (component method)": [[40, "core.component.Component.named_children", false]], "named_components() (component method)": [[40, "core.component.Component.named_components", false]], "named_parameters() (component method)": [[40, "core.component.Component.named_parameters", false]], "new_component() (in module utils.config)": [[77, "utils.config.new_component", false]], "new_components_from_config() (in module utils.config)": [[77, "utils.config.new_components_from_config", false]], "normalize_np_array() (in module core.functional)": [[47, "core.functional.normalize_np_array", false]], "normalize_vector() (in module core.functional)": [[47, "core.functional.normalize_vector", false]], "objecttypes (class in utils.serialization)": [[82, "utils.serialization.ObjectTypes", false]], "observation (stepoutput attribute)": [[57, "core.types.StepOutput.observation", false]], "openai (modelclienttype attribute)": [[57, "core.types.ModelClientType.OPENAI", false]], "openai (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.OPENAI", false]], "openaiclient (class in components.model_client.openai_client)": [[14, "components.model_client.openai_client.OpenAIClient", false]], "optim.few_shot_optimizer": [[67, "module-optim.few_shot_optimizer", false]], "optim.llm_augment": [[68, "module-optim.llm_augment", false]], "optim.llm_optimizer": [[69, "module-optim.llm_optimizer", false]], "optim.optimizer": [[70, "module-optim.optimizer", false]], "optim.sampler": [[71, "module-optim.sampler", false]], "optimizer (class in optim.optimizer)": [[70, "optim.optimizer.Optimizer", false]], "optionalpackages (class in utils.lazy_import)": [[79, "utils.lazy_import.OptionalPackages", false]], "order (dialogturn attribute)": [[57, "core.types.DialogTurn.order", false]], "order (document attribute)": [[57, "core.types.Document.order", false]], "output (functionoutput attribute)": [[57, "core.types.FunctionOutput.output", false]], "output (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.output", false]], "output_processors (embedder attribute)": [[45, "core.embedder.Embedder.output_processors", false]], "outputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.OutputParser", false]], "parameter (class in core.parameter)": [[51, "core.parameter.Parameter", false]], "parameters() (component method)": [[40, "core.component.Component.parameters", false]], "parent_doc_id (document attribute)": [[57, "core.types.Document.parent_doc_id", false]], "parse_chat_completion() (anthropicapiclient method)": [[10, "components.model_client.anthropic_client.AnthropicAPIClient.parse_chat_completion", false]], "parse_chat_completion() (groqapiclient method)": [[13, "components.model_client.groq_client.GroqAPIClient.parse_chat_completion", false]], "parse_chat_completion() (modelclient method)": [[50, "core.model_client.ModelClient.parse_chat_completion", false]], "parse_chat_completion() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.parse_chat_completion", false]], "parse_chat_completion() (transformerllm method)": [[15, "components.model_client.transformers_client.TransformerLLM.parse_chat_completion", false]], "parse_embedding_response() (in module components.model_client.utils)": [[16, "components.model_client.utils.parse_embedding_response", false], [33, "components.model_client.utils.parse_embedding_response", false]], "parse_embedding_response() (modelclient method)": [[50, "core.model_client.ModelClient.parse_embedding_response", false]], "parse_embedding_response() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.parse_embedding_response", false]], "parse_embedding_response() (transformersclient method)": [[15, "components.model_client.transformers_client.TransformersClient.parse_embedding_response", false]], "parse_func_expr() (toolmanager method)": [[56, "core.tool_manager.ToolManager.parse_func_expr", false]], "parse_function_call_expr() (in module core.functional)": [[47, "core.functional.parse_function_call_expr", false]], "parse_json_str_to_obj() (in module core.functional)": [[47, "core.functional.parse_json_str_to_obj", false]], "parse_yaml_str_to_obj() (in module core.functional)": [[47, "core.functional.parse_yaml_str_to_obj", false]], "parsed_input (functionoutput attribute)": [[57, "core.types.FunctionOutput.parsed_input", false]], "pgvector (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.PGVECTOR", false]], "pickle_to_file() (component method)": [[40, "core.component.Component.pickle_to_file", false]], "preprocess() (tokenizer method)": [[55, "core.tokenizer.Tokenizer.preprocess", false]], "print_prompt() (generator method)": [[48, "core.generator.Generator.print_prompt", false]], "print_prompt() (prompt method)": [[52, "core.prompt_builder.Prompt.print_prompt", false]], "print_prompt_template() (prompt method)": [[52, "core.prompt_builder.Prompt.print_prompt_template", false]], "printc() (in module utils.logger)": [[80, "utils.logger.printc", false]], "prompt (class in core.prompt_builder)": [[52, "core.prompt_builder.Prompt", false]], "prompt_kwargs (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.prompt_kwargs", false]], "prompt_states (generatorstatesrecord attribute)": [[75, "tracing.generator_state_logger.GeneratorStatesRecord.prompt_states", false]], "prompt_tokens (usage attribute)": [[57, "core.types.Usage.prompt_tokens", false]], "propose() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.propose", false]], "propose() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.propose", false]], "query (retrieveroutput attribute)": [[57, "core.types.RetrieverOutput.query", false]], "query_str (userquery attribute)": [[57, "core.types.UserQuery.query_str", false]], "random_replace() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.random_replace", false]], "random_replace() (classsampler method)": [[71, "optim.sampler.ClassSampler.random_replace", false]], "random_replace() (randomsampler method)": [[71, "optim.sampler.RandomSampler.random_replace", false]], "random_replace() (sampler method)": [[71, "optim.sampler.Sampler.random_replace", false]], "random_sample() (classsampler method)": [[71, "optim.sampler.ClassSampler.random_sample", false]], "random_sample() (randomsampler method)": [[71, "optim.sampler.RandomSampler.random_sample", false]], "randomsampler (class in optim.sampler)": [[71, "optim.sampler.RandomSampler", false]], "raw_response (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.raw_response", false]], "raw_response (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.raw_response", false]], "reactagent (class in components.agent.react)": [[0, "components.agent.react.ReActAgent", false]], "register() (entitymapping class method)": [[81, "utils.registry.EntityMapping.register", false]], "register_component() (component method)": [[40, "core.component.Component.register_component", false]], "register_generator() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.register_generator", false]], "register_parameter() (component method)": [[40, "core.component.Component.register_parameter", false]], "register_transformer() (localdb method)": [[42, "core.db.LocalDB.register_transformer", false]], "represent_ordereddict() (in module core.functional)": [[47, "core.functional.represent_ordereddict", false]], "required_field() (in module core.base_data_class)": [[39, "core.base_data_class.required_field", false]], "reranker (modeltype attribute)": [[57, "core.types.ModelType.RERANKER", false]], "rerankerretriever (class in components.retriever)": [[36, "components.retriever.RerankerRetriever", false]], "rerankerretriever (class in components.retriever.reranker_retriever)": [[23, "components.retriever.reranker_retriever.RerankerRetriever", false]], "reset() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.reset", false]], "reset() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.reset", false]], "reset() (localdb method)": [[42, "core.db.LocalDB.reset", false]], "reset() (reactagent method)": [[0, "components.agent.react.ReActAgent.reset", false]], "reset_index() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.reset_index", false], [36, "components.retriever.BM25Retriever.reset_index", false]], "reset_index() (llmretriever method)": [[21, "components.retriever.llm_retriever.LLMRetriever.reset_index", false], [36, "components.retriever.LLMRetriever.reset_index", false]], "reset_index() (rerankerretriever method)": [[23, "components.retriever.reranker_retriever.RerankerRetriever.reset_index", false], [36, "components.retriever.RerankerRetriever.reset_index", false]], "reset_index() (retriever method)": [[53, "core.retriever.Retriever.reset_index", false]], "reset_parameter() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.reset_parameter", false]], "reset_parameter() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.reset_parameter", false]], "response_str (assistantresponse attribute)": [[57, "core.types.AssistantResponse.response_str", false]], "responses (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.responses", false]], "retriever (class in core.retriever)": [[53, "core.retriever.Retriever", false]], "retriever_output_to_context_str() (in module components.data_process.data_components)": [[6, "components.data_process.data_components.retriever_output_to_context_str", false], [27, "components.data_process.data_components.retriever_output_to_context_str", false]], "retrieveroutput (class in core.types)": [[57, "core.types.RetrieverOutput", false]], "retrieveroutputtocontextstr (class in components.data_process)": [[26, "components.data_process.RetrieverOutputToContextStr", false]], "retrieveroutputtocontextstr (class in components.data_process.data_components)": [[6, "components.data_process.data_components.RetrieverOutputToContextStr", false], [27, "components.data_process.data_components.RetrieverOutputToContextStr", false]], "retrieverrecall (class in eval.retriever_recall)": [[62, "eval.retriever_recall.RetrieverRecall", false]], "retrieverrelevance (class in eval.retriever_relevance)": [[63, "eval.retriever_relevance.RetrieverRelevance", false]], "safe_import() (in module utils.lazy_import)": [[79, "utils.lazy_import.safe_import", false]], "sample (class in optim.sampler)": [[71, "optim.sampler.Sample", false]], "sampler (class in optim.sampler)": [[71, "optim.sampler.Sampler", false]], "sandbox_exec() (in module core.functional)": [[47, "core.functional.sandbox_exec", false]], "save() (generatorstatelogger method)": [[75, "tracing.generator_state_logger.GeneratorStateLogger.save", false]], "save() (in module utils.file_io)": [[78, "utils.file_io.save", false]], "save_json() (in module utils.file_io)": [[78, "utils.file_io.save_json", false]], "save_meta_data() (generatorcalllogger method)": [[74, "tracing.generator_call_logger.GeneratorCallLogger.save_meta_data", false]], "save_pickle() (in module utils.file_io)": [[78, "utils.file_io.save_pickle", false]], "save_state() (localdb method)": [[42, "core.db.LocalDB.save_state", false]], "save_to_file() (bm25retriever method)": [[19, "components.retriever.bm25_retriever.BM25Retriever.save_to_file", false], [36, "components.retriever.BM25Retriever.save_to_file", false]], "save_to_file() (retriever method)": [[53, "core.retriever.Retriever.save_to_file", false]], "schema (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.SCHEMA", false]], "score (document attribute)": [[57, "core.types.Document.score", false]], "score (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.score", false]], "sequential (class in core.component)": [[40, "core.component.Sequential", false]], "serialize() (in module utils.serialization)": [[82, "utils.serialization.serialize", false]], "set_assistant_response() (dialogturn method)": [[57, "core.types.DialogTurn.set_assistant_response", false]], "set_user_query() (dialogturn method)": [[57, "core.types.DialogTurn.set_user_query", false]], "setup_env() (in module utils.setup_env)": [[83, "utils.setup_env.setup_env", false]], "signature_json (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.SIGNATURE_JSON", false]], "signature_yaml (dataclassformattype attribute)": [[39, "core.base_data_class.DataClassFormatType.SIGNATURE_YAML", false]], "split_text() (textsplitter method)": [[8, "components.data_process.text_splitter.TextSplitter.split_text", false], [26, "components.data_process.TextSplitter.split_text", false], [29, "components.data_process.text_splitter.TextSplitter.split_text", false]], "split_text_by_word_fn() (in module components.retriever)": [[36, "components.retriever.split_text_by_word_fn", false]], "split_text_by_word_fn() (in module components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.split_text_by_word_fn", false]], "split_text_by_word_fn_then_lower_tokenized() (in module components.retriever)": [[36, "components.retriever.split_text_by_word_fn_then_lower_tokenized", false]], "split_text_by_word_fn_then_lower_tokenized() (in module components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.split_text_by_word_fn_then_lower_tokenized", false]], "split_text_tokenized() (in module components.retriever.bm25_retriever)": [[19, "components.retriever.bm25_retriever.split_text_tokenized", false]], "sqlalchemy (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.SQLALCHEMY", false]], "state_dict() (component method)": [[40, "core.component.Component.state_dict", false]], "state_dict() (optimizer method)": [[70, "optim.optimizer.Optimizer.state_dict", false]], "step (stepoutput attribute)": [[57, "core.types.StepOutput.step", false]], "step() (optimizer method)": [[70, "optim.optimizer.Optimizer.step", false]], "stepoutput (class in core.types)": [[57, "core.types.StepOutput", false]], "support_models (transformersclient attribute)": [[15, "components.model_client.transformers_client.TransformersClient.support_models", false]], "text (document attribute)": [[57, "core.types.Document.text", false]], "text (instruction attribute)": [[69, "optim.llm_optimizer.Instruction.text", false]], "textsplitter (class in components.data_process)": [[26, "components.data_process.TextSplitter", false]], "textsplitter (class in components.data_process.text_splitter)": [[8, "components.data_process.text_splitter.TextSplitter", false], [29, "components.data_process.text_splitter.TextSplitter", false]], "thought (function attribute)": [[57, "core.types.Function.thought", false]], "thought (functionexpression attribute)": [[57, "core.types.FunctionExpression.thought", false]], "thought (stepoutput attribute)": [[57, "core.types.StepOutput.thought", false]], "time_stamp (generatorcallrecord attribute)": [[74, "tracing.generator_call_logger.GeneratorCallRecord.time_stamp", false]], "time_stamp (generatorstatesrecord attribute)": [[75, "tracing.generator_state_logger.GeneratorStatesRecord.time_stamp", false]], "to_dict() (component method)": [[40, "core.component.Component.to_dict", false]], "to_dict() (dataclass method)": [[39, "core.base_data_class.DataClass.to_dict", false]], "to_dict() (in module utils.serialization)": [[82, "utils.serialization.to_dict", false]], "to_dict() (openaiclient method)": [[14, "components.model_client.openai_client.OpenAIClient.to_dict", false]], "to_dict() (parameter method)": [[51, "core.parameter.Parameter.to_dict", false]], "to_dict() (prompt method)": [[52, "core.prompt_builder.Prompt.to_dict", false]], "to_dict() (sample method)": [[71, "optim.sampler.Sample.to_dict", false]], "to_dict_class() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_dict_class", false]], "to_json() (dataclass method)": [[39, "core.base_data_class.DataClass.to_json", false]], "to_json_obj() (dataclass method)": [[39, "core.base_data_class.DataClass.to_json_obj", false]], "to_json_signature() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_json_signature", false]], "to_schema() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_schema", false]], "to_schema_str() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_schema_str", false]], "to_yaml() (dataclass method)": [[39, "core.base_data_class.DataClass.to_yaml", false]], "to_yaml_obj() (dataclass method)": [[39, "core.base_data_class.DataClass.to_yaml_obj", false]], "to_yaml_signature() (dataclass class method)": [[39, "core.base_data_class.DataClass.to_yaml_signature", false]], "toembeddings (class in components.data_process)": [[26, "components.data_process.ToEmbeddings", false]], "toembeddings (class in components.data_process.data_components)": [[6, "components.data_process.data_components.ToEmbeddings", false], [27, "components.data_process.data_components.ToEmbeddings", false]], "token (tokenlogprob attribute)": [[57, "core.types.TokenLogProb.token", false]], "tokenizer (class in core.tokenizer)": [[55, "core.tokenizer.Tokenizer", false]], "tokenlogprob (class in core.types)": [[57, "core.types.TokenLogProb", false]], "toolmanager (class in core.tool_manager)": [[56, "core.tool_manager.ToolManager", false]], "torch (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.TORCH", false]], "total_tokens (usage attribute)": [[57, "core.types.Usage.total_tokens", false]], "trace_generator_call() (in module tracing.decorators)": [[73, "tracing.decorators.trace_generator_call", false]], "trace_generator_states() (in module tracing.decorators)": [[73, "tracing.decorators.trace_generator_states", false]], "tracing.decorators": [[73, "module-tracing.decorators", false]], "tracing.generator_call_logger": [[74, "module-tracing.generator_call_logger", false]], "tracing.generator_state_logger": [[75, "module-tracing.generator_state_logger", false]], "train() (component method)": [[40, "core.component.Component.train", false]], "training (component attribute)": [[40, "core.component.Component.training", false]], "transform() (localdb method)": [[42, "core.db.LocalDB.transform", false]], "transformed_items (localdb attribute)": [[42, "core.db.LocalDB.transformed_items", false]], "transformer_setups (localdb attribute)": [[42, "core.db.LocalDB.transformer_setups", false]], "transformerembedder (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformerEmbedder", false]], "transformerllm (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformerLLM", false]], "transformerreranker (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformerReranker", false]], "transformers (modelclienttype attribute)": [[57, "core.types.ModelClientType.TRANSFORMERS", false]], "transformers (optionalpackages attribute)": [[79, "utils.lazy_import.OptionalPackages.TRANSFORMERS", false]], "transformersclient (class in components.model_client.transformers_client)": [[15, "components.model_client.transformers_client.TransformersClient", false]], "type (objecttypes attribute)": [[82, "utils.serialization.ObjectTypes.TYPE", false]], "undefined (modeltype attribute)": [[57, "core.types.ModelType.UNDEFINED", false]], "update_default_model_kwargs() (embedder method)": [[45, "core.embedder.Embedder.update_default_model_kwargs", false]], "update_dialog_turn() (conversation method)": [[57, "core.types.Conversation.update_dialog_turn", false]], "update_parameter() (bootstrapfewshot method)": [[67, "optim.few_shot_optimizer.BootstrapFewShot.update_parameter", false]], "update_parameter() (llmoptimizer method)": [[69, "optim.llm_optimizer.LLMOptimizer.update_parameter", false]], "update_prompt_kwargs() (prompt method)": [[52, "core.prompt_builder.Prompt.update_prompt_kwargs", false]], "update_value() (parameter method)": [[51, "core.parameter.Parameter.update_value", false]], "usage (class in core.types)": [[57, "core.types.Usage", false]], "usage (embedderoutput attribute)": [[57, "core.types.EmbedderOutput.usage", false]], "usage (generatoroutput attribute)": [[57, "core.types.GeneratorOutput.usage", false]], "user_id (conversation attribute)": [[57, "core.types.Conversation.user_id", false]], "user_id (dialogturn attribute)": [[57, "core.types.DialogTurn.user_id", false]], "user_query (dialogturn attribute)": [[57, "core.types.DialogTurn.user_query", false]], "user_query_timestamp (dialogturn attribute)": [[57, "core.types.DialogTurn.user_query_timestamp", false]], "userquery (class in core.types)": [[57, "core.types.UserQuery", false]], "utils.config": [[77, "module-utils.config", false]], "utils.file_io": [[78, "module-utils.file_io", false]], "utils.lazy_import": [[79, "module-utils.lazy_import", false]], "utils.logger": [[80, "module-utils.logger", false]], "utils.registry": [[81, "module-utils.registry", false]], "utils.serialization": [[82, "module-utils.serialization", false]], "utils.setup_env": [[83, "module-utils.setup_env", false]], "validate_data() (in module core.functional)": [[47, "core.functional.validate_data", false]], "vector (dialogturn attribute)": [[57, "core.types.DialogTurn.vector", false]], "vector (document attribute)": [[57, "core.types.Document.vector", false]], "write_list_to_jsonl() (in module utils.file_io)": [[78, "utils.file_io.write_list_to_jsonl", false]], "yaml_definitions (toolmanager property)": [[56, "core.tool_manager.ToolManager.yaml_definitions", false]], "yamloutputparser (class in components.output_parsers)": [[34, "components.output_parsers.YamlOutputParser", false]], "yamloutputparser (class in components.output_parsers.outputs)": [[17, "components.output_parsers.outputs.YamlOutputParser", false]], "yamlparser (class in core.string_parser)": [[54, "core.string_parser.YamlParser", false]]}, "objects": {"components": [[26, 0, 0, "-", "data_process"], [30, 0, 0, "-", "memory"], [32, 0, 0, "-", "model_client"], [34, 0, 0, "-", "output_parsers"], [35, 0, 0, "-", "reasoning"], [36, 0, 0, "-", "retriever"]], "components.agent": [[0, 0, 0, "-", "react"]], "components.agent.react": [[0, 1, 1, "", "ReActAgent"]], "components.agent.react.ReActAgent": [[0, 2, 1, "", "call"], [0, 2, 1, "", "reset"]], "components.data_process": [[26, 1, 1, "", "RetrieverOutputToContextStr"], [26, 1, 1, "", "TextSplitter"], [26, 1, 1, "", "ToEmbeddings"], [27, 0, 0, "-", "data_components"], [29, 0, 0, "-", "text_splitter"]], "components.data_process.TextSplitter": [[26, 2, 1, "", "call"], [26, 2, 1, "", "split_text"]], "components.data_process.data_components": [[27, 1, 1, "", "RetrieverOutputToContextStr"], [27, 1, 1, "", "ToEmbeddings"], [27, 3, 1, "", "retriever_output_to_context_str"]], "components.data_process.text_splitter": [[29, 1, 1, "", "TextSplitter"]], "components.data_process.text_splitter.TextSplitter": [[29, 2, 1, "", "call"], [29, 2, 1, "", "split_text"]], "components.memory": [[31, 0, 0, "-", "memory"]], "components.memory.memory": [[31, 1, 1, "", "Memory"]], "components.model_client": [[10, 0, 0, "-", "anthropic_client"], [11, 0, 0, "-", "cohere_client"], [13, 0, 0, "-", "groq_client"], [14, 0, 0, "-", "openai_client"], [15, 0, 0, "-", "transformers_client"], [33, 0, 0, "-", "utils"]], "components.model_client.anthropic_client": [[10, 1, 1, "", "AnthropicAPIClient"]], "components.model_client.anthropic_client.AnthropicAPIClient": [[10, 2, 1, "", "acall"], [10, 2, 1, "", "call"], [10, 2, 1, "", "convert_inputs_to_api_kwargs"], [10, 2, 1, "", "init_async_client"], [10, 2, 1, "", "init_sync_client"], [10, 2, 1, "", "parse_chat_completion"]], "components.model_client.cohere_client": [[11, 1, 1, "", "CohereAPIClient"]], "components.model_client.cohere_client.CohereAPIClient": [[11, 2, 1, "", "acall"], [11, 2, 1, "", "call"], [11, 2, 1, "", "convert_inputs_to_api_kwargs"], [11, 2, 1, "", "init_async_client"], [11, 2, 1, "", "init_sync_client"]], "components.model_client.groq_client": [[13, 1, 1, "", "GroqAPIClient"]], "components.model_client.groq_client.GroqAPIClient": [[13, 2, 1, "", "acall"], [13, 2, 1, "", "call"], [13, 2, 1, "", "convert_inputs_to_api_kwargs"], [13, 2, 1, "", "init_async_client"], [13, 2, 1, "", "init_sync_client"], [13, 2, 1, "", "parse_chat_completion"]], "components.model_client.openai_client": [[14, 1, 1, "", "OpenAIClient"], [14, 3, 1, "", "get_all_messages_content"], [14, 3, 1, "", "get_first_message_content"], [14, 3, 1, "", "get_probabilities"]], "components.model_client.openai_client.OpenAIClient": [[14, 2, 1, "", "acall"], [14, 2, 1, "", "call"], [14, 2, 1, "", "convert_inputs_to_api_kwargs"], [14, 2, 1, "", "from_dict"], [14, 2, 1, "", "init_async_client"], [14, 2, 1, "", "init_sync_client"], [14, 2, 1, "", "parse_chat_completion"], [14, 2, 1, "", "parse_embedding_response"], [14, 2, 1, "", "to_dict"]], "components.model_client.transformers_client": [[15, 1, 1, "", "TransformerEmbedder"], [15, 1, 1, "", "TransformerLLM"], [15, 1, 1, "", "TransformerReranker"], [15, 1, 1, "", "TransformersClient"], [15, 3, 1, "", "average_pool"]], "components.model_client.transformers_client.TransformerEmbedder": [[15, 2, 1, "", "infer_gte_base_embedding"], [15, 2, 1, "", "init_model"], [15, 4, 1, "", "models"]], "components.model_client.transformers_client.TransformerLLM": [[15, 2, 1, "", "call"], [15, 2, 1, "", "init_model"], [15, 4, 1, "", "models"], [15, 2, 1, "", "parse_chat_completion"]], "components.model_client.transformers_client.TransformerReranker": [[15, 2, 1, "", "infer_bge_reranker_base"], [15, 2, 1, "", "init_model"], [15, 4, 1, "", "models"]], "components.model_client.transformers_client.TransformersClient": [[15, 2, 1, "", "call"], [15, 2, 1, "", "convert_inputs_to_api_kwargs"], [15, 2, 1, "", "init_llm_client"], [15, 2, 1, "", "init_reranker_client"], [15, 2, 1, "", "init_sync_client"], [15, 2, 1, "", "parse_embedding_response"], [15, 4, 1, "", "support_models"]], "components.model_client.utils": [[33, 3, 1, "", "parse_embedding_response"]], "components.output_parsers": [[34, 1, 1, "", "JsonOutputParser"], [34, 1, 1, "", "ListOutputParser"], [34, 1, 1, "", "YamlOutputParser"], [17, 0, 0, "-", "outputs"]], "components.output_parsers.JsonOutputParser": [[34, 2, 1, "", "call"], [34, 2, 1, "", "format_instructions"]], "components.output_parsers.ListOutputParser": [[34, 2, 1, "", "call"], [34, 2, 1, "", "format_instructions"]], "components.output_parsers.YamlOutputParser": [[34, 2, 1, "", "call"], [34, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs": [[17, 1, 1, "", "BooleanOutputParser"], [17, 1, 1, "", "JsonOutputParser"], [17, 1, 1, "", "ListOutputParser"], [17, 1, 1, "", "OutputParser"], [17, 1, 1, "", "YamlOutputParser"]], "components.output_parsers.outputs.BooleanOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.JsonOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.ListOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.OutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.output_parsers.outputs.YamlOutputParser": [[17, 2, 1, "", "call"], [17, 2, 1, "", "format_instructions"]], "components.reasoning": [[18, 0, 0, "-", "chain_of_thought"]], "components.retriever": [[36, 1, 1, "", "BM25Retriever"], [36, 1, 1, "", "LLMRetriever"], [36, 1, 1, "", "RerankerRetriever"], [19, 0, 0, "-", "bm25_retriever"], [21, 0, 0, "-", "llm_retriever"], [23, 0, 0, "-", "reranker_retriever"], [36, 3, 1, "", "split_text_by_word_fn"], [36, 3, 1, "", "split_text_by_word_fn_then_lower_tokenized"]], "components.retriever.BM25Retriever": [[36, 2, 1, "", "build_index_from_documents"], [36, 2, 1, "", "call"], [36, 2, 1, "", "load_from_file"], [36, 2, 1, "", "reset_index"], [36, 2, 1, "", "save_to_file"]], "components.retriever.LLMRetriever": [[36, 2, 1, "", "build_index_from_documents"], [36, 2, 1, "", "call"], [36, 2, 1, "", "reset_index"]], "components.retriever.RerankerRetriever": [[36, 2, 1, "", "build_index_from_documents"], [36, 2, 1, "", "call"], [36, 2, 1, "", "reset_index"]], "components.retriever.bm25_retriever": [[19, 1, 1, "", "BM25Retriever"], [19, 3, 1, "", "split_text_by_word_fn"], [19, 3, 1, "", "split_text_by_word_fn_then_lower_tokenized"], [19, 3, 1, "", "split_text_tokenized"]], "components.retriever.bm25_retriever.BM25Retriever": [[19, 2, 1, "", "build_index_from_documents"], [19, 2, 1, "", "call"], [19, 2, 1, "", "load_from_file"], [19, 2, 1, "", "reset_index"], [19, 2, 1, "", "save_to_file"]], "components.retriever.llm_retriever": [[21, 1, 1, "", "LLMRetriever"]], "components.retriever.llm_retriever.LLMRetriever": [[21, 2, 1, "", "build_index_from_documents"], [21, 2, 1, "", "call"], [21, 2, 1, "", "reset_index"]], "components.retriever.reranker_retriever": [[23, 1, 1, "", "RerankerRetriever"]], "components.retriever.reranker_retriever.RerankerRetriever": [[23, 2, 1, "", "build_index_from_documents"], [23, 2, 1, "", "call"], [23, 2, 1, "", "reset_index"]], "core": [[39, 0, 0, "-", "base_data_class"], [40, 0, 0, "-", "component"], [42, 0, 0, "-", "db"], [43, 0, 0, "-", "default_prompt_template"], [45, 0, 0, "-", "embedder"], [46, 0, 0, "-", "func_tool"], [47, 0, 0, "-", "functional"], [48, 0, 0, "-", "generator"], [50, 0, 0, "-", "model_client"], [51, 0, 0, "-", "parameter"], [52, 0, 0, "-", "prompt_builder"], [53, 0, 0, "-", "retriever"], [54, 0, 0, "-", "string_parser"], [55, 0, 0, "-", "tokenizer"], [56, 0, 0, "-", "tool_manager"], [57, 0, 0, "-", "types"]], "core.base_data_class": [[39, 1, 1, "", "DataClass"], [39, 1, 1, "", "DataClassFormatType"], [39, 1, 1, "", "DynamicDataClassFactory"], [39, 3, 1, "", "required_field"]], "core.base_data_class.DataClass": [[39, 2, 1, "", "format_class_str"], [39, 2, 1, "", "format_example_str"], [39, 2, 1, "", "from_dict"], [39, 2, 1, "", "from_json"], [39, 2, 1, "", "from_yaml"], [39, 2, 1, "", "to_dict"], [39, 2, 1, "", "to_dict_class"], [39, 2, 1, "", "to_json"], [39, 2, 1, "", "to_json_obj"], [39, 2, 1, "", "to_json_signature"], [39, 2, 1, "", "to_schema"], [39, 2, 1, "", "to_schema_str"], [39, 2, 1, "", "to_yaml"], [39, 2, 1, "", "to_yaml_obj"], [39, 2, 1, "", "to_yaml_signature"]], "core.base_data_class.DataClassFormatType": [[39, 4, 1, "", "EXAMPLE_JSON"], [39, 4, 1, "", "EXAMPLE_YAML"], [39, 4, 1, "", "SCHEMA"], [39, 4, 1, "", "SIGNATURE_JSON"], [39, 4, 1, "", "SIGNATURE_YAML"]], "core.base_data_class.DynamicDataClassFactory": [[39, 2, 1, "", "create_from_dict"]], "core.component": [[40, 1, 1, "", "Component"], [40, 1, 1, "", "FunComponent"], [40, 1, 1, "", "Sequential"], [40, 3, 1, "", "fun_to_component"]], "core.component.Component": [[40, 2, 1, "", "acall"], [40, 2, 1, "", "add_component"], [40, 2, 1, "", "call"], [40, 2, 1, "", "children"], [40, 2, 1, "", "components"], [40, 2, 1, "", "eval"], [40, 2, 1, "", "from_config"], [40, 2, 1, "", "from_dict"], [40, 2, 1, "", "get_subcomponent"], [40, 2, 1, "", "is_picklable"], [40, 2, 1, "", "load_from_pickle"], [40, 2, 1, "", "load_state_dict"], [40, 2, 1, "", "load_state_pickle"], [40, 2, 1, "", "named_children"], [40, 2, 1, "", "named_components"], [40, 2, 1, "", "named_parameters"], [40, 2, 1, "", "parameters"], [40, 2, 1, "", "pickle_to_file"], [40, 2, 1, "", "register_component"], [40, 2, 1, "", "register_parameter"], [40, 2, 1, "", "state_dict"], [40, 2, 1, "", "to_dict"], [40, 2, 1, "", "train"], [40, 4, 1, "", "training"]], "core.component.FunComponent": [[40, 2, 1, "", "call"]], "core.component.Sequential": [[40, 2, 1, "", "append"], [40, 2, 1, "", "call"]], "core.db": [[42, 1, 1, "", "LocalDB"]], "core.db.LocalDB": [[42, 2, 1, "", "add"], [42, 2, 1, "", "delete"], [42, 2, 1, "", "extend"], [42, 2, 1, "", "fetch_items"], [42, 2, 1, "", "fetch_transformed_items"], [42, 2, 1, "", "get_transformed_data"], [42, 2, 1, "", "get_transformer_keys"], [42, 4, 1, "", "items"], [42, 5, 1, "", "length"], [42, 2, 1, "", "load"], [42, 2, 1, "", "load_state"], [42, 4, 1, "", "mapper_setups"], [42, 4, 1, "", "name"], [42, 2, 1, "", "register_transformer"], [42, 2, 1, "", "reset"], [42, 2, 1, "", "save_state"], [42, 2, 1, "", "transform"], [42, 4, 1, "", "transformed_items"], [42, 4, 1, "", "transformer_setups"]], "core.default_prompt_template": [[43, 6, 1, "", "DEFAULT_LIGHTRAG_SYSTEM_PROMPT"]], "core.embedder": [[45, 1, 1, "", "BatchEmbedder"], [45, 1, 1, "", "Embedder"]], "core.embedder.BatchEmbedder": [[45, 2, 1, "", "call"]], "core.embedder.Embedder": [[45, 2, 1, "", "acall"], [45, 2, 1, "", "call"], [45, 2, 1, "", "from_config"], [45, 4, 1, "", "model_client"], [45, 4, 1, "", "model_type"], [45, 4, 1, "", "output_processors"], [45, 2, 1, "", "update_default_model_kwargs"]], "core.func_tool": [[46, 1, 1, "", "FunctionTool"], [46, 3, 1, "", "is_running_in_event_loop"]], "core.func_tool.FunctionTool": [[46, 2, 1, "", "acall"], [46, 2, 1, "", "call"], [46, 2, 1, "", "execute"]], "core.functional": [[47, 3, 1, "", "compose_model_kwargs"], [47, 3, 1, "", "convert_schema_to_signature"], [47, 3, 1, "", "custom_asdict"], [47, 3, 1, "", "dataclass_obj_from_dict"], [47, 3, 1, "", "evaluate_ast_node"], [47, 3, 1, "", "extract_dataclass_type"], [47, 3, 1, "", "extract_json_str"], [47, 3, 1, "", "extract_list_str"], [47, 3, 1, "", "extract_yaml_str"], [47, 3, 1, "", "fix_json_escaped_single_quotes"], [47, 3, 1, "", "fix_json_missing_commas"], [47, 3, 1, "", "from_dict_to_json"], [47, 3, 1, "", "from_dict_to_yaml"], [47, 3, 1, "", "from_json_to_dict"], [47, 3, 1, "", "from_yaml_to_dict"], [47, 3, 1, "", "generate_function_call_expression_from_callable"], [47, 3, 1, "", "generate_readable_key_for_function"], [47, 3, 1, "", "get_dataclass_schema"], [47, 3, 1, "", "get_fun_schema"], [47, 3, 1, "", "get_top_k_indices_scores"], [47, 3, 1, "", "get_type_schema"], [47, 3, 1, "", "is_dataclass_instance"], [47, 3, 1, "", "is_normalized"], [47, 3, 1, "", "is_potential_dataclass"], [47, 3, 1, "", "normalize_np_array"], [47, 3, 1, "", "normalize_vector"], [47, 3, 1, "", "parse_function_call_expr"], [47, 3, 1, "", "parse_json_str_to_obj"], [47, 3, 1, "", "parse_yaml_str_to_obj"], [47, 3, 1, "", "represent_ordereddict"], [47, 3, 1, "", "sandbox_exec"], [47, 3, 1, "", "validate_data"]], "core.generator": [[48, 1, 1, "", "Generator"]], "core.generator.Generator": [[48, 2, 1, "", "acall"], [48, 2, 1, "", "call"], [48, 2, 1, "", "from_config"], [48, 4, 1, "", "model_client"], [48, 4, 1, "", "model_type"], [48, 2, 1, "", "print_prompt"]], "core.model_client": [[50, 1, 1, "", "ModelClient"]], "core.model_client.ModelClient": [[50, 2, 1, "", "acall"], [50, 2, 1, "", "call"], [50, 2, 1, "", "convert_inputs_to_api_kwargs"], [50, 2, 1, "", "init_async_client"], [50, 2, 1, "", "init_sync_client"], [50, 2, 1, "", "parse_chat_completion"], [50, 2, 1, "", "parse_embedding_response"]], "core.parameter": [[51, 1, 1, "", "Parameter"]], "core.parameter.Parameter": [[51, 2, 1, "", "to_dict"], [51, 2, 1, "", "update_value"]], "core.prompt_builder": [[52, 1, 1, "", "Prompt"], [52, 3, 1, "", "get_jinja2_environment"]], "core.prompt_builder.Prompt": [[52, 2, 1, "", "call"], [52, 2, 1, "", "compose_prompt_kwargs"], [52, 2, 1, "", "from_dict"], [52, 2, 1, "", "get_prompt_variables"], [52, 2, 1, "", "is_key_in_template"], [52, 2, 1, "", "print_prompt"], [52, 2, 1, "", "print_prompt_template"], [52, 2, 1, "", "to_dict"], [52, 2, 1, "", "update_prompt_kwargs"]], "core.retriever": [[53, 1, 1, "", "Retriever"]], "core.retriever.Retriever": [[53, 2, 1, "", "acall"], [53, 2, 1, "", "build_index_from_documents"], [53, 2, 1, "", "call"], [53, 4, 1, "", "index_keys"], [53, 4, 1, "", "indexed"], [53, 2, 1, "", "load_from_file"], [53, 2, 1, "", "reset_index"], [53, 2, 1, "", "save_to_file"]], "core.string_parser": [[54, 1, 1, "", "JsonParser"], [54, 1, 1, "", "ListParser"], [54, 1, 1, "", "YamlParser"]], "core.string_parser.JsonParser": [[54, 2, 1, "", "call"]], "core.string_parser.YamlParser": [[54, 2, 1, "", "call"]], "core.tokenizer": [[55, 1, 1, "", "Tokenizer"]], "core.tokenizer.Tokenizer": [[55, 2, 1, "", "count_tokens"], [55, 2, 1, "", "decode"], [55, 2, 1, "", "encode"], [55, 2, 1, "", "get_string_tokens"], [55, 2, 1, "", "preprocess"]], "core.tool_manager": [[56, 1, 1, "", "ToolManager"]], "core.tool_manager.ToolManager": [[56, 2, 1, "", "execute_func"], [56, 2, 1, "", "execute_func_expr"], [56, 2, 1, "", "execute_func_expr_via_eval"], [56, 2, 1, "", "execute_func_expr_via_sandbox"], [56, 5, 1, "", "function_definitions"], [56, 5, 1, "", "json_definitions"], [56, 2, 1, "", "parse_func_expr"], [56, 5, 1, "", "yaml_definitions"]], "core.types": [[57, 1, 1, "", "AssistantResponse"], [57, 1, 1, "", "Conversation"], [57, 1, 1, "", "DialogTurn"], [57, 1, 1, "", "Document"], [57, 1, 1, "", "EmbedderOutput"], [57, 4, 1, "", "EmbedderOutputType"], [57, 1, 1, "", "Embedding"], [57, 1, 1, "", "Function"], [57, 1, 1, "", "FunctionDefinition"], [57, 1, 1, "", "FunctionExpression"], [57, 1, 1, "", "FunctionOutput"], [57, 1, 1, "", "GeneratorOutput"], [57, 1, 1, "", "ModelClientType"], [57, 1, 1, "", "ModelType"], [57, 1, 1, "", "RetrieverOutput"], [57, 1, 1, "", "StepOutput"], [57, 1, 1, "", "TokenLogProb"], [57, 1, 1, "", "Usage"], [57, 1, 1, "", "UserQuery"], [57, 3, 1, "", "get_model_args"]], "core.types.AssistantResponse": [[57, 4, 1, "", "metadata"], [57, 4, 1, "", "response_str"]], "core.types.Conversation": [[57, 2, 1, "", "append_dialog_turn"], [57, 4, 1, "", "created_at"], [57, 2, 1, "", "delete_dialog_turn"], [57, 4, 1, "", "dialog_turns"], [57, 4, 1, "", "dialog_turns_input"], [57, 2, 1, "", "get_chat_history_str"], [57, 2, 1, "", "get_dialog_turns"], [57, 2, 1, "", "get_next_order"], [57, 4, 1, "", "id"], [57, 4, 1, "", "metadata"], [57, 4, 1, "", "name"], [57, 2, 1, "", "update_dialog_turn"], [57, 4, 1, "", "user_id"]], "core.types.DialogTurn": [[57, 4, 1, "", "assistant_response"], [57, 4, 1, "", "assistant_response_timestamp"], [57, 4, 1, "", "conversation_id"], [57, 4, 1, "", "id"], [57, 4, 1, "", "metadata"], [57, 4, 1, "", "order"], [57, 2, 1, "", "set_assistant_response"], [57, 2, 1, "", "set_user_query"], [57, 4, 1, "", "user_id"], [57, 4, 1, "", "user_query"], [57, 4, 1, "", "user_query_timestamp"], [57, 4, 1, "", "vector"]], "core.types.Document": [[57, 4, 1, "", "estimated_num_tokens"], [57, 2, 1, "", "from_dict"], [57, 4, 1, "", "id"], [57, 4, 1, "", "meta_data"], [57, 4, 1, "", "order"], [57, 4, 1, "", "parent_doc_id"], [57, 4, 1, "", "score"], [57, 4, 1, "", "text"], [57, 4, 1, "", "vector"]], "core.types.EmbedderOutput": [[57, 4, 1, "", "data"], [57, 5, 1, "", "embedding_dim"], [57, 4, 1, "", "error"], [57, 4, 1, "", "input"], [57, 5, 1, "", "is_normalized"], [57, 5, 1, "", "length"], [57, 4, 1, "", "model"], [57, 4, 1, "", "raw_response"], [57, 4, 1, "", "usage"]], "core.types.Embedding": [[57, 4, 1, "", "embedding"], [57, 4, 1, "", "index"]], "core.types.Function": [[57, 4, 1, "", "args"], [57, 4, 1, "", "kwargs"], [57, 4, 1, "", "name"], [57, 4, 1, "", "thought"]], "core.types.FunctionDefinition": [[57, 2, 1, "", "fn_schema_str"], [57, 4, 1, "", "func_desc"], [57, 4, 1, "", "func_name"], [57, 4, 1, "", "func_parameters"]], "core.types.FunctionExpression": [[57, 4, 1, "", "action"], [57, 2, 1, "", "from_function"], [57, 4, 1, "", "thought"]], "core.types.FunctionOutput": [[57, 4, 1, "", "error"], [57, 4, 1, "", "input"], [57, 4, 1, "", "name"], [57, 4, 1, "", "output"], [57, 4, 1, "", "parsed_input"]], "core.types.GeneratorOutput": [[57, 4, 1, "", "data"], [57, 4, 1, "", "error"], [57, 4, 1, "", "metadata"], [57, 4, 1, "", "raw_response"], [57, 4, 1, "", "usage"]], "core.types.ModelClientType": [[57, 4, 1, "", "ANTHROPIC"], [57, 4, 1, "", "COHERE"], [57, 4, 1, "", "GROQ"], [57, 4, 1, "", "OPENAI"], [57, 4, 1, "", "TRANSFORMERS"]], "core.types.ModelType": [[57, 4, 1, "", "EMBEDDER"], [57, 4, 1, "", "LLM"], [57, 4, 1, "", "RERANKER"], [57, 4, 1, "", "UNDEFINED"]], "core.types.RetrieverOutput": [[57, 4, 1, "", "doc_indices"], [57, 4, 1, "", "doc_scores"], [57, 4, 1, "", "documents"], [57, 4, 1, "", "query"]], "core.types.StepOutput": [[57, 4, 1, "", "action"], [57, 4, 1, "", "fun_args"], [57, 4, 1, "", "fun_kwargs"], [57, 4, 1, "", "fun_name"], [57, 4, 1, "", "observation"], [57, 4, 1, "", "step"], [57, 4, 1, "", "thought"]], "core.types.TokenLogProb": [[57, 4, 1, "", "logprob"], [57, 4, 1, "", "token"]], "core.types.Usage": [[57, 4, 1, "", "prompt_tokens"], [57, 4, 1, "", "total_tokens"]], "core.types.UserQuery": [[57, 4, 1, "", "metadata"], [57, 4, 1, "", "query_str"]], "eval": [[59, 0, 0, "-", "answer_match_acc"], [61, 0, 0, "-", "llm_as_judge"], [62, 0, 0, "-", "retriever_recall"], [63, 0, 0, "-", "retriever_relevance"]], "eval.answer_match_acc": [[59, 1, 1, "", "AnswerMatchAcc"]], "eval.answer_match_acc.AnswerMatchAcc": [[59, 2, 1, "", "compute"]], "eval.llm_as_judge": [[61, 1, 1, "", "DefaultLLMJudge"], [61, 1, 1, "", "LLMasJudge"]], "eval.llm_as_judge.DefaultLLMJudge": [[61, 2, 1, "", "call"]], "eval.llm_as_judge.LLMasJudge": [[61, 2, 1, "", "compute"]], "eval.retriever_recall": [[62, 1, 1, "", "RetrieverRecall"]], "eval.retriever_recall.RetrieverRecall": [[62, 2, 1, "", "compute"]], "eval.retriever_relevance": [[63, 1, 1, "", "RetrieverRelevance"]], "eval.retriever_relevance.RetrieverRelevance": [[63, 2, 1, "", "compute"]], "optim": [[67, 0, 0, "-", "few_shot_optimizer"], [68, 0, 0, "-", "llm_augment"], [69, 0, 0, "-", "llm_optimizer"], [70, 0, 0, "-", "optimizer"], [71, 0, 0, "-", "sampler"]], "optim.few_shot_optimizer": [[67, 1, 1, "", "BootstrapFewShot"]], "optim.few_shot_optimizer.BootstrapFewShot": [[67, 2, 1, "", "augment_samples"], [67, 2, 1, "", "init"], [67, 2, 1, "", "propose"], [67, 2, 1, "", "random_replace"], [67, 2, 1, "", "reset"], [67, 2, 1, "", "reset_parameter"], [67, 2, 1, "", "update_parameter"]], "optim.llm_augment": [[68, 1, 1, "", "LLMAugmenter"]], "optim.llm_augment.LLMAugmenter": [[68, 2, 1, "", "call"]], "optim.llm_optimizer": [[69, 1, 1, "", "Instruction"], [69, 1, 1, "", "LLMOptimizer"]], "optim.llm_optimizer.Instruction": [[69, 4, 1, "", "gts"], [69, 4, 1, "", "responses"], [69, 4, 1, "", "score"], [69, 4, 1, "", "text"]], "optim.llm_optimizer.LLMOptimizer": [[69, 2, 1, "", "propose"], [69, 2, 1, "", "reset"], [69, 2, 1, "", "reset_parameter"], [69, 2, 1, "", "update_parameter"]], "optim.optimizer": [[70, 1, 1, "", "Optimizer"]], "optim.optimizer.Optimizer": [[70, 2, 1, "", "state_dict"], [70, 2, 1, "", "step"]], "optim.sampler": [[71, 1, 1, "", "ClassSampler"], [71, 1, 1, "", "RandomSampler"], [71, 1, 1, "", "Sample"], [71, 1, 1, "", "Sampler"]], "optim.sampler.ClassSampler": [[71, 2, 1, "", "call"], [71, 2, 1, "", "random_replace"], [71, 2, 1, "", "random_sample"]], "optim.sampler.RandomSampler": [[71, 2, 1, "", "call"], [71, 4, 1, "", "dataset"], [71, 2, 1, "", "random_replace"], [71, 2, 1, "", "random_sample"]], "optim.sampler.Sample": [[71, 4, 1, "", "data"], [71, 4, 1, "", "index"], [71, 2, 1, "", "to_dict"]], "optim.sampler.Sampler": [[71, 2, 1, "", "call"], [71, 2, 1, "", "random_replace"]], "tracing": [[73, 0, 0, "-", "decorators"], [74, 0, 0, "-", "generator_call_logger"], [75, 0, 0, "-", "generator_state_logger"]], "tracing.decorators": [[73, 3, 1, "", "trace_generator_call"], [73, 3, 1, "", "trace_generator_states"]], "tracing.generator_call_logger": [[74, 1, 1, "", "GeneratorCallLogger"], [74, 1, 1, "", "GeneratorCallRecord"]], "tracing.generator_call_logger.GeneratorCallLogger": [[74, 5, 1, "", "generator_names_to_files"], [74, 2, 1, "", "get_calls"], [74, 2, 1, "", "get_log_location"], [74, 2, 1, "", "load"], [74, 2, 1, "", "load_meta_data"], [74, 2, 1, "", "log_call"], [74, 2, 1, "", "register_generator"], [74, 2, 1, "", "save_meta_data"]], "tracing.generator_call_logger.GeneratorCallRecord": [[74, 4, 1, "", "model_kwargs"], [74, 4, 1, "", "output"], [74, 4, 1, "", "prompt_kwargs"], [74, 4, 1, "", "time_stamp"]], "tracing.generator_state_logger": [[75, 1, 1, "", "GeneratorStateLogger"], [75, 1, 1, "", "GeneratorStatesRecord"]], "tracing.generator_state_logger.GeneratorStateLogger": [[75, 5, 1, "", "generator_names"], [75, 2, 1, "", "get_log_location"], [75, 2, 1, "", "load"], [75, 2, 1, "", "log_prompt"], [75, 2, 1, "", "save"]], "tracing.generator_state_logger.GeneratorStatesRecord": [[75, 4, 1, "", "prompt_states"], [75, 4, 1, "", "time_stamp"]], "utils": [[77, 0, 0, "-", "config"], [78, 0, 0, "-", "file_io"], [79, 0, 0, "-", "lazy_import"], [80, 0, 0, "-", "logger"], [81, 0, 0, "-", "registry"], [82, 0, 0, "-", "serialization"], [83, 0, 0, "-", "setup_env"]], "utils.config": [[77, 3, 1, "", "new_component"], [77, 3, 1, "", "new_components_from_config"]], "utils.file_io": [[78, 3, 1, "", "append_to_jsonl"], [78, 3, 1, "", "load"], [78, 3, 1, "", "load_json"], [78, 3, 1, "", "load_jsonl"], [78, 3, 1, "", "load_pickle"], [78, 3, 1, "", "save"], [78, 3, 1, "", "save_json"], [78, 3, 1, "", "save_pickle"], [78, 3, 1, "", "write_list_to_jsonl"]], "utils.lazy_import": [[79, 1, 1, "", "LazyImport"], [79, 1, 1, "", "OptionalPackages"], [79, 3, 1, "", "safe_import"]], "utils.lazy_import.OptionalPackages": [[79, 4, 1, "", "ANTHROPIC"], [79, 4, 1, "", "COHERE"], [79, 4, 1, "", "FAISS"], [79, 4, 1, "", "GOOGLE_GENERATIVEAI"], [79, 4, 1, "", "GROQ"], [79, 4, 1, "", "OPENAI"], [79, 4, 1, "", "PGVECTOR"], [79, 4, 1, "", "SQLALCHEMY"], [79, 4, 1, "", "TORCH"], [79, 4, 1, "", "TRANSFORMERS"]], "utils.logger": [[80, 3, 1, "", "enable_library_logging"], [80, 3, 1, "", "get_current_script_and_line"], [80, 3, 1, "", "get_logger"], [80, 3, 1, "", "printc"]], "utils.registry": [[81, 1, 1, "", "EntityMapping"]], "utils.registry.EntityMapping": [[81, 2, 1, "", "get"], [81, 2, 1, "", "get_all"], [81, 2, 1, "", "register"]], "utils.serialization": [[82, 1, 1, "", "ObjectTypes"], [82, 3, 1, "", "check_object"], [82, 3, 1, "", "default"], [82, 3, 1, "", "deserialize"], [82, 3, 1, "", "serialize"], [82, 3, 1, "", "to_dict"]], "utils.serialization.ObjectTypes": [[82, 4, 1, "", "CLASS"], [82, 4, 1, "", "INSTANCE"], [82, 4, 1, "", "TYPE"]], "utils.setup_env": [[83, 3, 1, "", "setup_env"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute", "5": "py:property", "6": "py:data"}, "terms": {"": [8, 10, 13, 14, 15, 18, 19, 24, 26, 29, 36, 40, 46, 50, 51, 52, 53, 71, 80, 84, 88, 89, 90, 92, 93, 94, 95, 96, 98, 99, 101, 106, 109, 110, 111, 112, 115, 116, 121, 123], "0": [8, 11, 19, 26, 29, 36, 39, 40, 42, 47, 48, 57, 59, 61, 62, 63, 69, 84, 88, 90, 92, 94, 95, 102, 108, 109, 110, 111, 112, 115, 118], "00": [92, 93], "0001": 47, "00016600126": 94, "00018637415": 94, "0003912348": 94, "00045548353": 94, "00063306844": 94, "00093111617": 94, "0009763892": 94, "001149847": 94, "001270235": 94, "001274437": 94, "0013953627": 94, "0015121206": 94, "0016585035": 94, "0017067948": 94, "0017369769": 94, "0018af12": 92, "002240922": 94, "0023736332": 94, "0024688914": 94, "0025802834": 94, "0027390209": 94, "002749016": 94, "0027831418": 94, "0032514224": 94, "0032596611": 94, "0035554452": 94, "0035945757": 94, "004110795": 94, "0042391727": 94, "00427709": 94, "004391488": 94, "0045538875": 94, "0048683644": 94, "005190901": 94, "005429781": 94, "0055172783": 94, "0059066266": 94, "0060756463": 94, "0065862634": 94, "006953944": 94, "007086745": 94, "0072255824": 94, "0073946016": 94, "007424784": 94, "0076722763": 94, "008243256": 94, "008804435": 94, "00888027": 94, "00918361": 94, "0092658885": 94, "009380581": 94, "009410762": 94, "009845384": 94, "0098876385": 94, "0099192085": 94, "00z": 92, "010159277": 94, "010340369": 94, "01047317": 94, "010648226": 94, "010723059": 94, "011026398": 94, "01102852": 94, "011178068": 94, "011329738": 94, "011336377": 94, "011663412": 94, "0118985": 94, "012314276": 94, "012414178": 94, "012519513": 94, "012596182": 94, "012740267": 94, "01283127": 94, "012846436": 94, "013225611": 94, "013376684": 94, "013642286": 94, "013799232": 94, "014256966": 94, "014401053": 94, "0144541375": 94, "014545139": 94, "014752985": 94, "014813349": 94, "01541699": 94, "015417241": 94, "015500659": 94, "015549791": 94, "015742956": 94, "015791247": 94, "015851611": 94, "01600117": 94, "016137673": 94, "016201723": 94, "016310379": 94, "016319677": 94, "016503545": 94, "016853655": 94, "017123526": 94, "017179621": 94, "017199362": 94, "01721584": 94, "017252058": 94, "017384859": 94, "0175027": 94, "017819481": 94, "017942544": 94, "018185215": 94, "01821555": 94, "018579558": 94, "019038836": 94, "019186236": 94, "019337907": 94, "01965455": 94, "01t12": 92, "01z": 92, "020113317": 94, "020202424": 94, "020318555": 94, "02047543": 94, "020702936": 94, "02072903": 94, "020733269": 94, "020777322": 94, "02094634": 94, "02170693": 94, "021855626": 94, "022022463": 94, "022083132": 94, "022370934": 94, "022491662": 94, "022583641": 94, "022795979": 94, "022917315": 94, "023175154": 94, "02349366": 94, "02435818": 94, "024447458": 94, "024479514": 94, "02448e3fd394": 92, "02449575": 94, "024570517": 94, "024691852": 94, "024773424": 94, "02479802": 94, "024821715": 94, "0249183": 94, "024919357": 94, "024995193": 94, "025014881": 94, "025159756": 94, "025237864": 94, "025283365": 94, "025304629": 94, "025344033": 94, "0253592": 94, "025449503": 94, "025763396": 94, "025811687": 94, "025829377": 94, "026026547": 94, "02642089": 94, "02646639": 94, "026527058": 94, "026560202": 94, "026845565": 94, "02686073": 94, "027526028": 94, "027646756": 94, "027719192": 94, "02781625": 94, "02787692": 94, "027888212": 94, "028250396": 94, "028274542": 94, "028392596": 94, "028419416": 94, "028588437": 94, "028709164": 94, "028711103": 94, "028999276": 94, "029023057": 94, "029095493": 94, "029393617": 94, "029454285": 94, "029578406": 94, "02959079": 94, "029819863": 94, "02t15": 101, "02z": 92, "030351067": 94, "030515974": 94, "030561475": 94, "030737398": 94, "031122655": 94, "031425994": 94, "03148666": 94, "031992972": 94, "032282718": 94, "03250003": 94, "03254835": 94, "03288636": 94, "032958794": 94, "033031233": 94, "033200253": 94, "033320982": 94, "03374": 95, "03409": 69, "03414193": 94, "034190223": 94, "034338057": 94, "03438339": 94, "034398723": 94, "034489725": 94, "034673136": 94, "034793064": 94, "035096403": 94, "03520434": 94, "035276778": 94, "03530092": 94, "035399742": 94, "0354458": 94, "035460413": 94, "03567275": 94, "03575969": 94, "035794087": 94, "035945754": 94, "036188427": 94, "036249094": 94, "03629": [0, 87], "03648406": 94, "036582768": 94, "03718945": 94, "037280865": 94, "037715487": 94, "03773546": 94, "037787925": 94, "03828147": 94, "038294982": 94, "03841571": 94, "038463477": 94, "038898624": 94, "039161157": 94, "03934316": 94, "03940383": 94, "03940568": 94, "039555497": 94, "039792012": 94, "039828505": 94, "039919507": 94, "03t16": 101, "03z": 92, "04": 93, "040178344": 94, "040274926": 94, "04090271": 94, "041820247": 94, "041868538": 94, "042224888": 94, "042285554": 94, "042497892": 94, "042649563": 94, "042810217": 94, "0428619": 94, "042922568": 94, "042952903": 94, "043104574": 94, "04352925": 94, "04363117": 94, "043776043": 94, "043802254": 94, "043893255": 94, "044017497": 94, "0442831": 94, "044408932": 94, "0445487": 94, "044596992": 94, "04500747": 94, "045128196": 94, "045200635": 94, "045318954": 94, "04537962": 94, "045409955": 94, "045500956": 94, "045755986": 94, "046214752": 94, "046380643": 94, "046842538": 94, "047301304": 94, "04732545": 94, "04735133": 94, "04744618": 94, "048018675": 94, "048170548": 94, "048242986": 94, "04844335": 94, "048534352": 94, "04865569": 94, "04874669": 94, "04882248": 94, "0491107": 94, "049112227": 94, "049257103": 94, "049474705": 94, "04964343": 94, "04988489": 94, "04it": 92, "05011172": 94, "050126344": 94, "050688066": 94, "050995983": 102, "05133363": 94, "051385745": 94, "051749755": 94, "05202276": 94, "052057996": 94, "052106287": 94, "05220287": 94, "052417103": 94, "053175453": 94, "05331357": 94, "05338779": 94, "05369113": 94, "05408623": 94, "054115806": 94, "054617435": 94, "054762308": 94, "055341803": 94, "055390093": 94, "055631552": 94, "055824716": 94, "05584484": 94, "05606617": 94, "056500793": 94, "056549083": 94, "057031997": 94, "057118867": 94, "057209868": 94, "05794953": 94, "057968218": 94, "05877048": 94, "059393916": 94, "059543144": 94, "059977766": 94, "06": 101, "060026057": 94, "06033427": 94, "060455605": 94, "060750425": 94, "060758945": 94, "060940947": 94, "06109262": 94, "06205429": 94, "062150873": 94, "062199164": 94, "062427312": 94, "06244062": 94, "0625372": 94, "062609315": 94, "06335816": 94, "063458666": 94, "06351934": 94, "06358001": 94, "06424735": 94, "06430802": 94, "06437227": 94, "06527871": 94, "065521374": 94, "065724425": 94, "06596588": 94, "06615905": 94, "066492066": 94, "06691674": 94, "067159414": 94, "06782676": 94, "06799412": 94, "06842874": 94, "06881507": 94, "069404125": 94, "06978089": 94, "06995014": 94, "06ea7cea": 92, "070553556": 94, "07061748": 94, "0708433": 94, "0708916": 94, "07113305": 94, "07158817": 94, "07185742": 94, "07249819": 94, "07261953": 94, "07296812": 94, "07298353": 94, "074030526": 94, "07407882": 94, "07456173": 94, "07486424": 94, "07510691": 94, "07595626": 94, "07597": 15, "076138265": 94, "07654167": 94, "07736263": 94, "077507496": 94, "07753363": 94, "077776305": 94, "07794212": 94, "0780387": 94, "078569904": 94, "078763075": 94, "07881136": 94, "079110995": 94, "07989968": 94, "08088789": 94, "08103276": 94, "08112934": 94, "081225924": 94, "08199859": 94, "08256907": 94, "08275107": 94, "08277125": 94, "082872406": 94, "083054416": 94, "08317575": 94, "083539754": 94, "083600424": 94, "083737075": 94, "08397853": 94, "0841717": 94, "08426777": 94, "08432844": 94, "084389105": 94, "08494435": 94, "08523846": 94, "085717015": 94, "085905805": 94, "08651248": 94, "08658626": 94, "08663": 109, "08669449": 94, "08774": 95, "08851453": 94, "08861449": 94, "08880766": 94, "088952534": 94, "08962861": 94, "09": 92, "090455905": 94, "09081991": 94, "09100191": 94, "091183916": 94, "091244586": 94, "09148726": 94, "09172993": 94, "09199488": 94, "09209394": 94, "09213976": 94, "092639945": 94, "0935402": 94, "09354997": 94, "09382995": 94, "09433865": 94, "0946509": 94, "09503723": 94, "09614793": 94, "09634069": 94, "09793471": 94, "09925275": 94, "099495426": 94, "0d16": [8, 26, 29, 111], "0d95cc65e6ef": 94, "0th": 110, "0x104970220": 112, "0x104970400": 112, "0x105e3b920": 112, "0x105e3bc40": 112, "0x1062a2840": 112, "0x106d691c0": 112, "0x10fb26f20": 92, "0x11742eca0": 112, "0x117b98360": 112, "0x14d9d3f60": 112, "0x14d9e4040": 112, "0x14d9e40e0": 112, "0x14d9e4180": 112, "0x14d9e4220": 112, "0x14d9e4360": 112, "1": [0, 8, 14, 15, 17, 18, 19, 21, 24, 26, 29, 36, 39, 40, 42, 45, 46, 52, 54, 57, 59, 61, 62, 63, 69, 77, 79, 82, 84, 88, 90, 92, 93, 95, 99, 101, 102, 106, 108, 109, 111, 114, 118, 121, 123], "10": [0, 71, 80, 92, 98, 109, 112, 114, 118, 123], "100": [17, 45, 57, 77, 92, 93, 94, 95, 102, 110, 118], "1000": [8, 26, 29, 93, 116], "100156106": 94, "10046611": 94, "10054244": 94, "10064811": 94, "10204348": 94, "10205": 92, "10210415": 94, "1024": 99, "102407485": 94, "102468155": 94, "10289283": 94, "1029535": 94, "103074834": 94, "104888655": 94, "10519821": 94, "10580489": 94, "106168896": 94, "106957585": 94, "10762493": 94, "10875195": 94, "10950564": 94, "11": [18, 93, 109], "111386344": 94, "11155285": 94, "11164943": 94, "11174601": 94, "1124177": 94, "11396741": 94, "11423773": 94, "11496575": 94, "11532976": 94, "1156331": 94, "115995646": 94, "11618881": 94, "11686489": 94, "11802388": 94, "11903": 18, "12": [95, 115], "121821225": 94, "12218524": 94, "122670576": 94, "122853": 94, "123": [51, 57], "127": 84, "128": 118, "12936": 110, "12it": 92, "13": 110, "13125569": 94, "13164201": 94, "13225": 110, "1328": 110, "13395482": 94, "13516818": 94, "13577485": 94, "13985154": 94, "13ac": 110, "14": 102, "14545332": 94, "14796448": 94, "15": [84, 94, 95, 110], "150": 15, "151683837681807": 109, "15d838c4": 110, "16": 11, "163da9868ea4": [8, 26, 29, 111], "16574481": 94, "17": 110, "17654371": 94, "17761531": 94, "17933443": 94, "17e7": 110, "18041": 95, "18089913": 94, "18447268": 94, "19306852": 94, "196ec25d39c4": 94, "19736": 95, "1976": [62, 63, 95], "1997": 87, "1998": [62, 63, 95], "1dfe96ccb65f": 110, "2": [0, 8, 14, 15, 17, 18, 19, 24, 26, 29, 34, 36, 39, 40, 42, 46, 48, 52, 54, 57, 59, 61, 62, 77, 82, 84, 88, 90, 92, 93, 94, 95, 99, 102, 106, 108, 109, 111, 114, 121, 123], "20": 90, "200": [8, 26, 29, 77, 110], "2014": [19, 36], "2020": [95, 99], "2021": [92, 95], "2023": [0, 18, 95], "2024": [11, 13, 95, 101], "20240229": 99, "20417552": 94, "21": [101, 110], "2104": 109, "2107": 95, "21549304": 102, "2167": 92, "21f0385d": 92, "22": [13, 112], "2201": 18, "2210": [0, 87], "223220": 101, "2303": 95, "2309": [15, 69], "2310": 95, "2329ffa8d4b6": 92, "2375": 110, "2402": 95, "24047995": 102, "24366009": 102, "24it": 92, "25": [19, 36, 39, 109, 110, 118, 123], "256": [45, 77, 92, 93, 94, 109, 110], "26": 115, "27": 108, "27cc": 92, "28": [62, 63, 95], "29": [62, 63, 95], "2971": 110, "2a78": 92, "2e25ae5336c8": [8, 26, 29, 111], "2e6f4452827b": 92, "2e8e63041698": 92, "2ed0196b0c81": 110, "2f": 112, "2it": 92, "3": [18, 19, 36, 40, 42, 45, 47, 48, 54, 57, 59, 61, 62, 77, 82, 84, 88, 90, 92, 93, 94, 95, 96, 99, 102, 106, 108, 109, 111, 114, 118, 121, 123], "30": [39, 115], "32": 118, "32768": 13, "3333333333333333": 95, "33437008": 102, "353b738c1b71": 92, "37": 101, "37041178": 102, "37e1d8ff0526": 92, "37it": 92, "38": 95, "382": 110, "3927": [8, 26, 29, 111], "3rd": [39, 109], "4": [13, 47, 57, 84, 95, 108, 109, 112, 115, 121, 123], "40": 98, "400": 77, "401": 96, "405a": 92, "4077": 92, "40f0": [8, 26, 29, 111], "4206": 92, "4248": [8, 26, 29, 111], "435b": 92, "439037e58842": 110, "43a4": 92, "43f5": 92, "44": 101, "442f": 92, "4499fa22525d": 110, "44a8aa37": [8, 26, 29, 111], "45": [95, 101], "4509756": 102, "456": 51, "4568096570283078": 109, "45efa517": 92, "4667": 92, "46it": 92, "4780": [92, 110], "483b": 92, "4870": 92, "48ce": 92, "49": 110, "4917": 94, "493d": 92, "4972": 110, "49b5": [8, 26, 29, 111], "49ff": 92, "4bd0": 92, "4c00": 110, "4c39": 110, "4c92": 110, "4cc5": 110, "4ce3": 94, "4dde": 110, "4df0": 110, "4dfa": 110, "4e24": 92, "4e69": 110, "4eb4": 92, "4f5f": 92, "4f88": [8, 26, 29, 111], "4o": 109, "5": [8, 18, 19, 23, 26, 29, 36, 40, 46, 47, 48, 88, 90, 92, 95, 96, 99, 102, 108, 109, 110, 111, 112, 115, 118, 121, 123], "50": [6, 26, 27, 92, 110, 112], "512": 102, "5166601493236314": 109, "518a": 92, "5316efd58d58": 92, "5343238380789569": 109, "55": 101, "557cc52b": 110, "56": 101, "569a": 92, "582859": 101, "59it": 93, "5ba2": 94, "6": [11, 18, 71, 92, 95, 102, 109, 110, 112, 121], "6060606060606061": [63, 95], "609": 92, "6175549": 102, "6229580777634034": [19, 36], "6294762236217233": 109, "63072": 92, "64": 118, "64987b2b": 92, "6666666666666666": [95, 112], "68ae": 110, "6bd772b9": 110, "7": [108, 109, 121], "70b": [13, 108], "72": 112, "724": 110, "7335e34ee0c6": 92, "73c12be3": 92, "741": 110, "75": [19, 36, 109], "756148": 101, "765794": 101, "768": 93, "7749403119087219": 95, "7749999761581421": 109, "7790170272403408": 109, "7844": 92, "7853187918663025": 95, "78917586": 94, "7959791421890259": 95, "79it": 92, "7a17ed45": 92, "7a4f86892556": 92, "7b": [13, 15], "7de4b00a": 110, "8": [19, 36, 102, 109, 110, 115], "80": 84, "800": [8, 26, 29], "8000": 84, "803030303030303": [63, 95], "8031794089550072": 109, "8109999895095825": 109, "8119999766349792": 109, "8169999718666077": 109, "8192": [13, 40, 96, 108, 118], "840021aa1953": 92, "844a": 110, "8678": 92, "8762": 110, "87e0": 92, "882e": 110, "88b4": 110, "8b": [13, 40, 96, 118], "8b0d": 92, "8bc3": 92, "8c3e": 92, "8e52": 92, "8f78": 110, "8x7b": 13, "9": [108, 109, 110], "90": 98, "910e984cdb65": 92, "9122": 92, "9216": 118, "922c0f8a4efb": 110, "93922b619293": 92, "9419728517532349": 95, "9435ed755e20": 92, "9498793313012154": 109, "9670": 92, "9696708": 109, "9701269": 109, "97db": [8, 26, 29, 111], "98742366": 109, "991f": 110, "9950029253959656": 109, "99520767": 109, "9994476437568665": 109, "9994490742683411": 109, "9996004700660706": 109, "9a424d4c": 92, "9bae": 110, "9c14": 94, "9ca4": [8, 26, 29, 111], "9cd745effb43": 110, "A": [8, 10, 11, 13, 14, 17, 18, 23, 26, 29, 36, 39, 40, 45, 47, 51, 57, 61, 81, 87, 92, 94, 95, 96, 102, 108, 109, 110, 112, 115], "And": [24, 47, 48, 90, 99, 106, 110, 112, 116], "As": [40, 42, 88, 90, 92, 94, 106, 109, 112, 118, 123], "At": [24, 108], "But": [99, 101, 109, 110, 112], "By": [48, 90, 93, 111, 112], "For": [0, 8, 11, 17, 18, 24, 26, 29, 34, 39, 50, 61, 84, 88, 92, 93, 95, 96, 97, 102, 108, 109, 110, 111, 112, 116, 121, 123], "If": [8, 15, 17, 21, 26, 29, 34, 36, 39, 40, 45, 47, 56, 57, 71, 73, 74, 80, 84, 88, 92, 93, 95, 96, 98, 99, 106, 109, 110, 111, 112, 116, 123], "In": [42, 47, 52, 57, 87, 88, 90, 92, 94, 98, 101, 102, 106, 108, 110, 111, 112, 121, 123], "It": [6, 8, 9, 14, 15, 19, 24, 26, 27, 29, 31, 36, 40, 42, 48, 50, 57, 59, 67, 71, 73, 80, 90, 92, 93, 94, 95, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 118, 121, 123], "Its": [92, 109], "No": [46, 61, 109, 110, 116], "Not": [9, 31], "On": [88, 118], "One": 75, "Or": [109, 112, 115], "Such": [40, 54], "The": [6, 8, 15, 17, 18, 19, 23, 24, 26, 27, 29, 34, 36, 38, 39, 40, 42, 45, 47, 48, 50, 52, 53, 55, 57, 58, 61, 62, 63, 65, 69, 71, 73, 74, 75, 77, 78, 79, 80, 82, 84, 87, 88, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 116, 117, 118, 121, 123], "Then": [8, 26, 29, 84, 92, 94, 102, 108, 110, 111, 112], "There": [0, 15, 21, 36, 98, 99, 109], "These": [8, 29, 58, 65, 84, 90, 94, 97, 106, 109, 110, 111, 112, 121], "To": [19, 36, 53, 54, 84, 88, 90, 93, 95, 96, 97, 101, 106, 108, 109, 110, 112, 115, 116, 121, 123], "Will": 117, "With": [47, 53, 92, 94, 102, 108, 110, 118], "_": [19, 36, 109], "__call__": [55, 90, 96, 97, 102], "__dict__": [39, 42, 92], "__doc__": 109, "__init__": [19, 36, 40, 73, 90, 93, 101, 102, 109, 112, 115, 118], "__main__": 112, "__name__": [82, 102], "__repr__": 90, "_acal": [10, 13, 14, 15, 50], "_api_kei": 102, "_call": [10, 13, 14, 15, 50, 74, 102], "_coarse_labels_desc": 88, "_combine_input_and_model_kwarg": 102, "_compon": 101, "_compute_single_item": 61, "_extra_repr": [90, 93], "_field_typ": 69, "_generator_names_to_fil": 74, "_generator_trac": 73, "_init_async_cli": 102, "_init_sync_cli": 102, "_is_async": 112, "_missing_typ": 69, "_paramet": 101, "_template_str": 101, "_trace_map": 75, "a2acf8ba4c27": 92, "a2b7": 110, "a595": 110, "a958": 92, "aa81": 92, "aaa8": 92, "ab": [0, 15, 18, 69, 87, 96, 109], "ab64": 92, "aba9": 92, "abbrevi": 88, "abc": 92, "abda": 110, "abil": [87, 92, 95], "abl": [88, 96, 109], "about": [58, 65, 84, 99], "abov": [24, 90, 96, 98, 99, 101, 102, 106, 109, 112, 115], "absolut": 110, "abstract": [17, 50, 71, 88, 89, 97, 98, 102, 118], "abstract_algebra": 95, "ac": [19, 36], "ac78": 94, "academ": 95, "acal": [10, 11, 13, 14, 40, 45, 46, 48, 50, 53, 90, 96, 97, 102, 109, 112, 118], "acc_list": 59, "access": [21, 24, 36, 40, 42, 56, 73, 87, 95, 108, 109, 112, 115], "accomplish": 97, "accord": [8, 19, 26, 29, 36, 121], "account": 96, "accumul": 110, "accur": 109, "accuraci": [24, 59, 95, 98, 121], "acetaminophen": 90, "achiam": 95, "achiev": [18, 46, 88, 96, 98, 112], "acm": 95, "across": [47, 88, 95, 112, 123], "act": [87, 94, 108], "action": [24, 57, 108], "activ": [57, 116], "actual": [21, 36, 47, 96, 101, 109, 111], "ad": [14, 19, 36, 40, 42, 47, 51, 57, 90, 92, 96, 101, 109, 110, 112, 116], "adapt": [19, 36, 61, 93, 95, 96, 112, 116, 118], "adc9": 110, "add": [0, 17, 18, 19, 34, 36, 40, 42, 45, 47, 57, 80, 84, 88, 90, 92, 93, 97, 99, 102, 108, 112, 116], "add_compon": 40, "add_llm_as_fallback": 0, "add_missing_right_brac": [47, 54], "add_missing_right_bracket": [47, 54], "add_on": 90, "add_point": 112, "addit": [0, 19, 36, 47, 57, 90, 93, 96, 102, 108, 112], "addition": [11, 13, 15, 21, 36, 50, 93, 95, 109, 112], "additional_context": [56, 112], "additon": 55, "addonecompon": 90, "address": 98, "adjust": 98, "adpat": 96, "advanc": [90, 99], "advis": 39, "ae99": 92, "afbd": 92, "afc": [8, 26, 29, 111], "affect": [88, 93], "after": [19, 36, 39, 42, 45, 48, 52, 54, 84, 88, 94, 96, 99, 108, 109, 110, 112], "afternoon": 110, "afun": 40, "ag": [39, 123], "again": [94, 109, 110], "agenda": 87, "agent": [24, 46, 57, 95, 98, 99, 106, 112, 116, 118], "agnost": [96, 99, 102], "ahead": [88, 97], "ai": [90, 113, 116], "aim": [95, 98, 110], "al": 95, "algorithm": 110, "alia": [40, 57], "align": [8, 26, 29, 84, 111], "all": [11, 13, 14, 15, 17, 24, 39, 40, 42, 46, 50, 52, 53, 56, 57, 69, 77, 80, 82, 84, 88, 90, 92, 93, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 112, 115, 116, 118, 123], "all_gt_answ": [59, 121], "all_gt_context": [62, 63, 121], "all_pred_answ": [59, 121], "all_quest": 121, "all_retrieved_context": [62, 63, 121], "allevi": [90, 109], "allow": [39, 40, 47, 57, 74, 88, 90, 92, 96, 98, 106, 108, 109, 110, 116, 118, 121], "allowi": 92, "almost": [98, 99, 109], "along": [21, 36, 39, 42, 48, 80, 84, 88, 90, 92, 102, 109], "alpha": 110, "alreadi": [18, 19, 24, 36, 40, 57, 88, 96, 109, 112], "also": [8, 17, 18, 19, 26, 29, 34, 36, 40, 45, 46, 47, 55, 57, 88, 90, 92, 95, 96, 98, 106, 108, 109, 110, 111, 112, 123], "although": [19, 36, 108, 109, 110], "alwai": [17, 24, 34, 39, 42, 69, 92, 96, 111, 112], "amount": [92, 96], "an": [0, 9, 14, 15, 17, 31, 34, 39, 40, 45, 46, 47, 48, 51, 52, 53, 57, 61, 67, 73, 77, 79, 82, 87, 88, 90, 92, 93, 94, 95, 98, 101, 102, 106, 109, 110, 112, 115, 117, 121, 123], "analysi": [8, 26, 29, 95, 110, 111], "analyz": [108, 110], "ancestor": 80, "andrew": [19, 36], "angel": 99, "ani": [0, 8, 10, 11, 13, 14, 15, 17, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 52, 53, 54, 56, 57, 61, 68, 69, 71, 73, 74, 75, 77, 78, 82, 88, 90, 92, 93, 96, 97, 98, 101, 102, 106, 109, 110, 112, 116, 118], "anoth": [21, 36, 52, 71, 87, 101, 109, 110, 116], "ansi": 80, "answer": [0, 17, 18, 24, 34, 59, 61, 88, 90, 95, 108, 109, 112, 116, 121, 123], "answer_match_acc": [64, 121], "answermacthevalu": 121, "answermatchacc": [59, 95], "anthrop": [10, 57, 79, 99, 102, 115], "anthropic_api_kei": 115, "anthropic_cli": 102, "anthropicapicli": [10, 102], "anyth": [17, 34, 98, 106, 112], "ap": [95, 101], "api": [10, 11, 13, 14, 15, 16, 18, 33, 38, 40, 45, 50, 53, 57, 58, 84, 94, 95, 97, 98, 99, 108, 114, 116, 118], "api_kei": [10, 11, 13, 14, 77, 102], "api_kwarg": [10, 11, 13, 14, 15, 50, 102], "api_respons": [16, 33], "apicli": 50, "apidoc": 84, "apidocoutdir": 84, "app": [57, 80], "app_log_filenam": 80, "appear": [51, 110], "append": [40, 42, 78, 92, 102, 112, 121], "append_dialog_turn": 57, "append_to_jsonl": 78, "appl": [61, 62, 63, 95, 110], "appli": [8, 26, 29, 42, 45, 47, 48, 52, 92, 93, 94, 109, 110, 111], "applic": [8, 9, 26, 29, 31, 39, 54, 87, 88, 92, 95, 97, 98, 109, 110, 111, 118, 122, 123], "application_nam": 116, "apply_transform": [42, 92], "approach": [8, 26, 29, 90, 94, 108, 110], "appropri": [90, 95], "ar": [0, 8, 15, 17, 19, 24, 26, 29, 34, 36, 40, 42, 47, 51, 52, 56, 57, 58, 65, 73, 74, 79, 80, 84, 87, 88, 90, 92, 93, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 122, 123], "arena": 95, "arg": [17, 24, 39, 40, 46, 47, 50, 53, 56, 57, 70, 71, 108, 112], "argument": [0, 11, 13, 15, 24, 39, 40, 46, 47, 48, 50, 52, 57, 71, 77, 93, 94, 96, 101, 102, 106, 108, 109, 110, 111, 112], "aris": 95, "arithmet": 57, "around": [55, 73, 89], "arr": 112, "arrai": [47, 109, 112], "arriv": 18, "articul": 116, "artifici": 96, "arxiv": [0, 15, 18, 69, 87, 95, 109], "asdict": [47, 88], "ask": [21, 36, 57, 61, 88, 92, 101, 106, 108, 109, 112, 113, 116], "aspect": 95, "aspirin": 90, "assert": [39, 93, 102], "assess": [95, 121], "assign": [8, 26, 29, 40, 51, 94], "assist": [9, 17, 31, 34, 52, 57, 90, 92, 96, 99, 101, 106, 118, 121], "assistant_respons": [57, 92], "assistant_response_timestamp": [57, 92], "assistantrespons": [57, 92], "assit": 106, "assum": [42, 57, 92], "assumpt": 99, "ast": [47, 57], "async": [10, 11, 13, 14, 40, 45, 46, 48, 50, 53, 56, 102, 109, 112, 118], "async_cli": 102, "async_function_1": 46, "async_function_2": 46, "async_tool_1": 46, "async_tool_2": 46, "asynccal": 57, "asynchron": [46, 90], "asyncio": [46, 112], "asyncopenai": 102, "atmospher": 110, "atom": [92, 109], "attach": [73, 110], "attention_mask": [15, 102], "attribut": [21, 23, 36, 40, 42, 51, 52, 53, 73, 77, 88, 90, 92, 96, 101, 109, 112], "audio": 109, "augement": 109, "augment": [68, 95, 110, 121], "augment_sampl": 67, "auto": [40, 90, 98, 101, 102, 106], "autodoc": 84, "autom": [95, 98], "automat": [45, 51, 73, 84, 90, 96, 101, 108, 112, 116], "automodel": 102, "autonom": [87, 98], "autoreset": 80, "autotoken": 102, "avail": [13, 24, 57, 95, 112, 115, 121], "available_funct": 112, "averag": [19, 36, 59, 61, 62, 63, 121], "average_idf": [19, 36], "average_pool": [15, 102], "average_tim": 108, "avg_acc": 59, "avg_judg": [61, 121], "avg_recal": [62, 95, 121], "avg_relev": [63, 95, 121], "avgdl": [19, 36, 109], "avoid": [19, 36, 40, 84, 90, 92, 93, 109], "aw": 110, "await": [0, 46, 56, 57, 112, 118], "awar": [21, 36, 110], "award": 123, "awlai": 112, "b": [19, 24, 36, 57, 108, 109, 110, 112], "b0d98c1b": 110, "b2dbdf2f": 92, "b3e9": 92, "b4c312bed365": 110, "b6c6": 92, "b81f": 110, "baai": [15, 109], "back": [17, 19, 34, 36, 42, 77, 82, 88, 94, 96], "backslash": 24, "backtick": [17, 34, 47, 112], "backward": 40, "bad": 110, "ball": 18, "banana": 110, "bank": 95, "bare": [89, 106, 118], "basd": 109, "base": [0, 6, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 27, 29, 31, 34, 36, 39, 40, 42, 45, 46, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 68, 69, 70, 71, 74, 75, 79, 81, 82, 87, 88, 89, 90, 93, 95, 96, 98, 102, 108, 110, 112, 118, 121, 123], "base_class": 39, "base_data_class": [58, 88, 110, 121, 123], "basedataclass": 122, "basic": [58, 65, 98, 110], "batch": [8, 26, 29, 45, 57, 92, 93, 94, 102, 109], "batch_dict": 102, "batch_embedd": [92, 93], "batch_siz": [6, 8, 26, 27, 29, 45, 77, 92, 93, 94, 110], "batchembedd": [45, 92], "batchembedderinputtyp": 45, "batchembedderoutputtyp": 45, "bbc3": 110, "bc0ff7f6": 92, "bcbc6ff9": 92, "bdbd": 92, "beauti": [19, 36], "becaus": [8, 26, 29, 98, 102, 108, 111, 123], "becom": [95, 109, 110], "been": [57, 92, 109], "befor": [8, 26, 29, 54, 61, 62, 63, 90, 92, 93, 95, 97, 108, 109, 110, 111, 123], "beforehand": 110, "begin": [80, 98, 116], "begin_of_text": [99, 106], "behavior": [110, 112], "behind": [17, 34, 97, 99], "beij": 61, "being": [73, 88, 97, 98, 112], "belong": 87, "below": [95, 109, 112], "benchmark": [18, 95, 108, 118], "benef": 109, "benefit": [57, 92, 109], "bert": 95, "bertscor": 95, "besid": [40, 87, 92, 96, 106, 108, 110, 123], "best": [19, 36, 90, 109, 110, 116], "beta": [15, 112], "better": [8, 26, 29, 39, 68, 69, 84, 88, 90, 108, 109, 110, 112, 123], "between": [8, 24, 26, 29, 50, 98, 109, 110, 111, 116], "beyond": [8, 29, 98, 112], "bge": [15, 109], "bi": 109, "bias": [40, 90], "bigger": [19, 36], "bit": [46, 88], "black": 80, "bland": 110, "block": [39, 46, 47, 58, 65, 80, 90, 97, 98, 109, 116, 118], "blow": 101, "blue": 80, "bm25": [19, 36, 92, 109, 110], "bm25_index": [19, 36], "bm25_retriev": [36, 109], "bm25retriev": [19, 36, 110], "bonjour": 101, "bool": [0, 6, 15, 17, 19, 26, 27, 36, 40, 42, 46, 47, 51, 52, 53, 54, 55, 57, 61, 71, 73, 80, 92, 93, 102], "boolean": [0, 17, 109], "booleanoutputpars": 17, "boost": [92, 109], "bootstrapfewshot": 67, "border": [8, 26, 29, 110, 111], "bore": 98, "both": [8, 14, 19, 29, 36, 40, 46, 56, 57, 78, 84, 88, 92, 95, 96, 97, 101, 109, 112, 121, 123], "boundari": [39, 57, 79, 82], "box": [90, 98, 109], "brace": 47, "bracket": 47, "break": [8, 26, 29, 98, 110, 111], "bridg": [10, 13, 15, 50], "brief": 96, "brittl": 98, "broad": 95, "broader": 84, "browser": [84, 108], "budget": [8, 26, 29, 111], "bui": 18, "build": [19, 23, 36, 47, 53, 58, 65, 88, 90, 95, 109, 110, 116, 118, 121, 122], "build_index": 121, "build_index_from_docu": [19, 21, 23, 36, 53, 92, 109, 110], "build_info_from_docu": 110, "builder": 52, "built": [19, 23, 36, 47, 53, 97, 108, 109, 110, 112, 115], "busi": 98, "c": [19, 36, 40], "c4e4": 92, "c4e5": 94, "c5431397": 92, "c77c98ac260f": 92, "c8fc": 92, "ca": 112, "ca0af45b": [8, 26, 29, 111], "cach": [15, 92, 102], "cai": 95, "calcul": [94, 95, 110], "call": [0, 8, 10, 11, 13, 14, 15, 17, 18, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 45, 46, 47, 48, 50, 52, 53, 54, 56, 57, 61, 68, 71, 73, 74, 78, 80, 82, 90, 92, 93, 94, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 116, 118, 121], "call_async_funct": 46, "callabl": [0, 14, 19, 21, 23, 36, 39, 40, 42, 46, 47, 53, 56, 57, 71, 92], "callbackmanag": 116, "can": [0, 8, 9, 11, 13, 14, 15, 17, 18, 19, 21, 24, 26, 29, 31, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 61, 62, 63, 69, 71, 73, 75, 77, 79, 81, 84, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 113, 115, 116, 118, 121, 123], "candid": 109, "cannot": [95, 116], "cansof": 18, "cantain": 40, "capabl": [38, 46, 65, 95, 112], "capit": [39, 47, 88, 93, 101, 102, 106], "captur": [47, 96], "carbon": [92, 109], "card": 106, "carefulli": 116, "carri": 112, "case": [9, 21, 31, 36, 39, 42, 90, 92, 95, 96, 97, 98, 106, 108, 109, 110, 112, 116, 123], "cat": 110, "categor": [39, 102, 109], "caus": 90, "caution": 46, "cd": 84, "cdot": [19, 36], "celsiu": 112, "center": 89, "certain": [15, 47, 123], "chain": [18, 48, 57, 88, 90, 92, 93, 96, 97, 108, 109], "challeng": [98, 109], "chanc": [21, 36, 98], "chang": [75, 80, 92, 95, 96, 98, 101, 109], "charact": [84, 110], "chat": [10, 11, 13, 14, 15, 43, 50, 92, 96, 101, 102, 106], "chat_completion_pars": 14, "chat_histori": [43, 92, 101], "chat_history_str": [43, 92, 96, 101, 106], "chatbot": [92, 95, 96, 97, 98], "chatcompletiontokenlogprob": 57, "cheapest": 109, "check": [8, 13, 24, 26, 29, 42, 47, 50, 51, 52, 57, 71, 88, 90, 92, 94, 95, 102, 108, 109, 110, 111, 112, 116, 120, 123], "check_object": 82, "checker": 88, "chen": 95, "child": [40, 110], "children": 40, "china": [61, 93], "chip": 15, "choic": [95, 96], "choos": [19, 36, 53, 110, 112], "chunk": [6, 8, 26, 27, 29, 92, 93, 97, 109, 110, 116], "chunk_overlap": [8, 26, 29, 111], "chunk_siz": [8, 26, 29, 111], "citi": 112, "cl": [47, 88], "cl100k_base": [8, 26, 29, 55], "clariti": [84, 98, 118], "class": [0, 6, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 27, 29, 31, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 68, 69, 70, 71, 73, 74, 75, 77, 79, 81, 82, 88, 90, 92, 93, 96, 98, 101, 102, 108, 112, 116, 117, 118, 121, 123], "class_index": 88, "class_inst": 39, "class_nam": [39, 73, 88], "classes": 123, "classic": 98, "classif": [95, 98, 117], "classifi": [88, 117], "classmethod": [14, 19, 36, 39, 40, 42, 45, 48, 52, 53, 57, 81, 88], "classsampl": 71, "claud": [10, 99], "clean": 110, "clean_up_tokenization_spac": 15, "clear": [97, 108, 116], "client": [0, 10, 11, 13, 14, 15, 16, 21, 23, 33, 36, 45, 48, 50, 61, 97, 98, 99, 102], "climat": [92, 109], "clone": [84, 116], "close": [47, 98, 109, 110], "closest": 110, "cloth": 109, "cloud": [9, 31, 102, 109], "co": [15, 93, 109], "coarse_label": [71, 88], "code": [8, 14, 17, 26, 29, 39, 47, 57, 69, 73, 80, 92, 93, 95, 96, 97, 98, 101, 102, 106, 109, 110, 111, 112, 115, 116, 118, 121], "coher": [11, 57, 79, 99, 109, 115], "cohere_api_kei": 115, "cohere_cli": 109, "cohereapicli": [11, 23, 36, 109], "collabor": 113, "collect": [57, 101], "color": 80, "colorama": 80, "colored_print": 80, "com": [10, 11, 13, 14, 84, 96, 106, 109, 112], "combat": [92, 109], "combin": [10, 14, 47, 48, 52, 94, 96, 98, 109, 112, 116], "combine_kwarg": 47, "come": [92, 96, 102, 116, 118], "command": 80, "comment": 106, "commit": 116, "common": [62, 63, 95, 109, 110], "commonli": [8, 17, 29, 94, 95, 110], "commun": [46, 50, 102, 114, 116], "compact": [57, 112], "compar": [17, 19, 34, 36, 47, 59, 69, 92, 93, 95, 111], "comparison": [90, 109, 112, 116], "compat": [90, 96, 102], "complet": [0, 9, 10, 11, 13, 14, 15, 31, 46, 47, 48, 50, 69, 84, 87, 102, 108], "complex": [17, 34, 47, 88, 95, 110, 116], "complic": [18, 106, 112], "compon": [42, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 61, 67, 68, 73, 77, 79, 81, 82, 84, 87, 88, 89, 92, 93, 94, 95, 96, 101, 102, 106, 108, 109, 110, 111, 112, 115, 118, 121, 123], "componenet": [40, 77], "component1": 40, "component2": 40, "component3": 40, "component4": 40, "component_config": [45, 48, 77, 96], "component_nam": [45, 48, 77, 96], "compos": [52, 99], "compose_model_kwarg": 47, "compose_prompt_kwarg": 52, "comprehens": 95, "comput": [59, 61, 62, 63, 88, 95, 98, 109, 110, 121], "compute_context_relev": 121, "compute_judg": 121, "compute_match_acc": 121, "compute_recal": 121, "con": [92, 109], "concaten": 110, "concept": [88, 90, 96], "concis": [88, 90], "conclus": 121, "concurr": 112, "condit": [42, 106, 108], "condition": [32, 106], "condition_fn": 92, "conf": 84, "confer": 95, "config": [40, 45, 48, 80, 93, 121], "configur": [8, 26, 29, 40, 45, 47, 77, 80, 81, 84, 94, 96, 98, 110, 111, 115, 118, 121], "confus": [40, 88, 90, 116], "consid": [39, 40, 95, 109, 110, 111], "consin": 109, "consist": [17, 52, 57, 84, 96, 123], "consol": [13, 80], "constant": [19, 36, 47], "constantli": 88, "constraint": 111, "construct": [77, 121], "constructor": [40, 93], "contain": [8, 19, 24, 26, 29, 36, 40, 46, 47, 51, 57, 59, 61, 84, 92, 93, 101, 108, 110, 112, 116, 121, 123], "content": [14, 92, 99, 102, 109, 110, 111, 114, 117, 119, 123], "contex": [43, 96, 101], "context": [8, 26, 29, 39, 40, 43, 46, 47, 52, 56, 62, 63, 90, 92, 95, 97, 98, 101, 108, 110, 111, 112, 116, 121], "context_map": [47, 57, 112], "context_str": [43, 52, 96, 101, 106, 112, 121], "contextu": [95, 121], "continu": [92, 106, 110], "contrari": 118, "contravari": 109, "contribut": [86, 92, 109, 116], "contributor": [84, 116], "control": [8, 26, 29, 57, 80, 84, 88, 92, 98, 99, 106, 110, 111, 116, 123], "conv1": [90, 118], "conv2": [90, 118], "conv2d": [90, 118], "conveni": [90, 108], "convent": [17, 34, 88, 112], "conver": 92, "convers": [9, 31, 57, 92, 96, 106, 108, 109, 112, 113], "conversation_histori": 109, "conversation_id": 57, "convert": [14, 15, 39, 40, 47, 50, 57, 82, 88, 90, 92, 94, 99, 102, 109, 110, 112, 116], "convert_inputs_to_api_kwarg": [10, 11, 13, 14, 15, 50, 102], "convert_schema_to_signatur": 47, "cookbook": [109, 116, 123], "copi": [6, 14, 26, 27, 40, 93, 94, 102, 116], "core": [8, 17, 26, 29, 74, 88, 90, 92, 93, 94, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "corpu": [19, 36, 110], "correct": [51, 95, 121], "correctli": [42, 84, 88], "corresbond": 84, "correspond": [8, 26, 29, 47, 95, 108, 110, 111, 121], "cosin": [95, 110], "cost": 109, "cot": 18, "could": [47, 57], "count": 55, "count_token": 55, "counter": 90, "cours": [95, 101], "cover": [9, 31, 88, 92, 109, 112, 116, 123], "coverag": 109, "covert": 112, "cpu": 115, "creat": [8, 14, 15, 26, 29, 39, 40, 42, 45, 46, 48, 52, 57, 73, 77, 88, 90, 92, 93, 94, 99, 101, 102, 106, 108, 109, 110, 111, 112, 117, 121, 123], "create_embedding_respons": 57, "create_from_dict": 39, "created_at": 57, "createembeddingrespons": 14, "creation": 68, "criterion": [8, 26, 29, 106, 111], "critic": [8, 26, 29, 80], "cross": 109, "crucial": [38, 65, 88, 92, 95, 106, 109, 110], "crud": [42, 92], "ctrl": 108, "cumul": 110, "current": [40, 42, 67, 69, 80, 92, 93, 96, 101, 102, 108, 109, 112, 115], "custom": [8, 17, 21, 26, 29, 36, 47, 80, 82, 88, 93, 95, 96, 97, 98, 102, 108, 110, 116, 121], "custom_asdict": [47, 88], "customiz": [89, 108, 110, 118], "cut": 109, "cutoff": 110, "cyan": 80, "d": [17, 19, 34, 36], "d19a": 92, "dai": [19, 36, 62, 63, 95], "dan": 95, "data": [6, 8, 9, 14, 17, 21, 26, 27, 29, 31, 34, 36, 39, 40, 42, 45, 47, 48, 51, 52, 57, 68, 71, 78, 82, 90, 93, 94, 96, 98, 101, 102, 108, 110, 111, 112, 116, 117, 118, 121, 123], "data_class": [17, 34, 112], "data_class_for_yaml": [17, 34], "data_compon": [26, 94, 110], "data_dict": 39, "data_process": [38, 92, 94, 97, 111], "data_transform": 92, "databas": [53, 57, 97, 110, 121], "dataclass": [17, 34, 39, 47, 57, 67, 68, 69, 74, 75, 82, 89, 92, 93, 96, 97, 109, 112, 118, 123], "dataclass_obj_from_dict": 47, "dataclassformattyp": [17, 34, 39, 88], "dataformat": 57, "datapiplin": 92, "dataset": [71, 92, 95, 108, 117, 121], "date": 84, "datetim": 57, "db": [58, 92, 97, 109, 110], "db2": 42, "deal": [92, 109], "debug": [80, 92, 97, 98], "decid": [0, 11, 13, 15, 39, 50, 88, 95, 96, 108, 109, 112, 116], "decis": [95, 108], "decod": [55, 108], "decor": [39, 40, 78, 88, 90, 96, 101], "decreas": 93, "decreaseembeddingdim": 93, "decreat": 93, "dedupl": [6, 26, 27], "deep": 96, "deepcopi": 93, "deeper": 118, "deepmind": 69, "def": [17, 34, 40, 46, 47, 57, 73, 88, 90, 92, 93, 101, 102, 106, 108, 109, 110, 112, 118], "defaul": 101, "default": [0, 10, 13, 14, 15, 17, 19, 21, 23, 24, 34, 36, 39, 42, 43, 45, 47, 48, 50, 51, 52, 53, 55, 61, 69, 73, 74, 75, 78, 80, 82, 88, 90, 92, 96, 99, 101, 109, 110, 112, 123], "default_factori": [39, 69, 88], "default_lightrag_system_prompt": [43, 48, 52, 96, 106], "default_llm_evaluator_prompt": 121, "default_model_kwarg": 47, "default_num_shot": 71, "default_prompt_templ": [58, 96, 106], "default_react_agent_system_prompt": 0, "defaultllmjudg": [61, 96], "defens": 97, "defin": [8, 26, 29, 39, 53, 79, 90, 102, 108, 109, 110, 111, 121, 123], "definit": [8, 26, 29, 46, 56, 57, 106, 108, 109, 111, 112], "del": 40, "delet": [40, 42, 92], "delete_dialog_turn": 57, "delibr": [96, 112], "demo": [90, 98], "demonstr": [15, 61, 93, 94, 96, 108, 109, 112, 117, 123], "denomin": [19, 36], "denot": 99, "depend": [8, 19, 21, 29, 36, 47, 57, 84, 90, 99, 108, 110, 116, 121, 123], "deriv": 112, "desc": [39, 43, 69, 88, 96, 101, 109, 123], "descend": 40, "describ": [39, 46, 112, 123], "descript": [17, 24, 34, 39, 47, 57, 88, 92, 95, 97, 106, 108, 110, 112, 116, 121, 123], "deseri": [82, 88, 98, 106, 109], "design": [39, 40, 46, 50, 54, 57, 71, 89, 92, 93, 97, 102, 108, 110, 111], "desir": [17, 34, 95, 96, 106], "destin": [40, 98], "detail": [8, 10, 11, 13, 26, 29, 38, 39, 48, 58, 61, 65, 84, 85, 88, 90, 92, 95, 96, 102, 108, 112, 123], "detect": 73, "determin": [8, 26, 29, 90, 95, 108], "develop": [8, 21, 26, 29, 36, 84, 89, 92, 94, 96, 97, 98, 99, 101, 106, 108, 109, 110, 111, 116, 118, 123], "devic": 15, "df68": 92, "diagram": [99, 106], "dialog": [57, 92], "dialog_turn": [57, 92], "dialog_turn_db": 92, "dialog_turns_as_docu": 92, "dialog_turns_input": 57, "dialogturn": [42, 57, 109], "dict": [0, 10, 11, 13, 14, 15, 17, 21, 23, 34, 36, 39, 40, 42, 45, 47, 48, 50, 52, 54, 56, 57, 61, 68, 69, 71, 74, 75, 77, 78, 81, 82, 88, 92, 96, 102, 112, 123], "dict_exampl": 88, "dict_factori": 47, "dictionari": [8, 14, 17, 26, 29, 34, 39, 40, 45, 47, 48, 52, 57, 77, 78, 82, 88, 92, 110, 111, 112, 123], "did": [67, 92, 96, 101, 106, 109, 112, 118, 123], "differ": [9, 19, 31, 36, 42, 57, 71, 90, 93, 96, 97, 98, 99, 102, 106, 108, 109, 111, 112, 116, 118, 122], "differen": 109, "differenti": [54, 109], "difficult": 112, "dim": 102, "dimens": [45, 57, 77, 92, 93, 94, 102, 109, 110], "dimension": 88, "diminish": [19, 36], "dir": [73, 101, 102], "direct": [40, 84, 90, 110], "directionli": 46, "directli": [8, 26, 29, 47, 57, 61, 71, 84, 88, 90, 92, 93, 106, 109, 111, 112, 116], "directori": [50, 73, 74, 75, 80, 84, 101, 115, 116], "disabl": 108, "disappoint": 109, "disclos": [99, 106], "discord": 113, "discuss": [113, 123], "disk": 109, "disrupt": [92, 109], "distil": 98, "distilbert": 95, "divers": [95, 109], "divid": [19, 24, 36, 95, 108, 110, 112, 121], "divis": [8, 19, 26, 29, 36], "do": [9, 14, 17, 31, 34, 39, 47, 57, 71, 73, 80, 88, 92, 94, 96, 98, 102, 106, 108, 109, 110, 112, 116, 118], "doc": [8, 10, 11, 13, 14, 15, 23, 26, 29, 36, 40, 53, 57, 84, 88, 90, 92, 93, 94, 106, 109, 110, 111, 112], "doc1": [8, 26, 29, 110, 111], "doc2": 110, "doc_index": [92, 110], "doc_indic": [19, 36, 57, 92, 109], "doc_len": 109, "doc_list": 121, "doc_qa": 40, "doc_scor": [19, 36, 57, 109, 110], "docqa": [40, 90], "docstr": [24, 112], "doctest": 84, "doctor": [17, 34, 40, 90], "document": [6, 8, 11, 15, 19, 21, 23, 26, 27, 29, 36, 38, 42, 53, 55, 57, 58, 65, 85, 86, 93, 94, 96, 97, 109, 112, 114, 116, 119, 121], "document_indic": 110, "document_map_func": [19, 21, 23, 36, 53, 109], "document_splitt": [77, 110], "documents_embed": 109, "documentsplitt": [57, 77, 92, 94, 110], "dodger": 99, "doe": [6, 18, 26, 27, 39, 42, 50, 61, 77, 102, 109, 110, 121, 123], "doesn": 108, "domain": 95, "domest": 110, "don": [17, 19, 36, 99, 110, 116], "done": [88, 108], "dont": [92, 99, 116], "dorianbrown": [19, 36, 109], "dotenv": [94, 108, 110, 115], "dotenv_path": [94, 108, 110], "doubl": [24, 112], "doubt": [98, 109], "download": 116, "downsid": [92, 109], "downstream": 93, "drink": 90, "driven": 110, "drop": 111, "dropout1": 118, "dropout2": 118, "dropout2d": 118, "due": [95, 109, 112], "dummi": 116, "dump": [47, 112], "dumper": 47, "duplic": 71, "dure": [8, 26, 29, 92, 93, 94, 96, 101, 109, 110, 111, 115, 123], "dynam": [39, 73, 108], "dynamicdataclassfactori": 39, "dynamicoutput": 39, "e": [8, 21, 24, 26, 29, 36, 71, 84, 99, 102, 111, 112, 121], "e3b48bcc": 92, "e3f04c8b": 110, "e4850140": 110, "e539": 110, "e636facc": 92, "e7b617b2": [8, 26, 29, 111], "each": [0, 8, 14, 15, 17, 18, 19, 24, 26, 29, 34, 36, 38, 39, 40, 57, 59, 61, 62, 63, 65, 71, 74, 75, 79, 88, 92, 93, 94, 97, 98, 108, 109, 110, 111, 112, 121], "ear": 101, "earth": 61, "eas": [57, 88, 97, 98], "easi": [90, 96, 98, 106, 108, 116, 118], "easier": [108, 112], "easili": [90, 92, 93, 95, 97, 106, 109, 112, 116, 118, 123], "eat": 110, "ec0fc247ac8b": [8, 26, 29, 111], "ec910402": 92, "economi": [92, 109], "ecosystem": [92, 109], "edit": [84, 101], "effcient": 39, "effect": [19, 36, 65, 87, 92, 94, 109, 110], "effici": [57, 108, 111, 112, 123], "effort": [42, 88, 97], "eg": 79, "eiffel": 101, "either": [0, 47, 50, 57, 88, 93, 97, 101, 102, 109, 116], "el": 92, "electr": [92, 109], "electron": [92, 109], "element": [17, 34, 52, 112], "elif": [102, 112], "els": [101, 102, 108, 110, 112], "emb": [8, 29, 93, 110], "embed": [6, 8, 11, 13, 14, 15, 16, 26, 27, 29, 33, 45, 50, 57, 77, 92, 93, 94, 95, 97, 102, 109, 110, 111], "embedd": [6, 14, 15, 26, 27, 40, 50, 57, 58, 77, 92, 97, 102, 109, 116], "embedder_config": 45, "embedder_response_processor": 110, "embedder_transform": 92, "embedderoutput": [14, 15, 16, 33, 45, 50, 57, 92, 102], "embedderoutputtyp": 57, "embedderrespons": [94, 110], "embedding_dim": [57, 93], "emiss": [92, 109], "emit": 39, "emphas": [84, 123], "emploi": 95, "empti": [21, 24, 36, 42, 96], "en": [10, 15, 19, 36, 93, 106, 109], "enabl": [48, 80, 94, 108, 110, 118], "enable_consol": 80, "enable_fil": 80, "enable_library_log": 80, "encapsul": 108, "enclos": [17, 34, 112], "encod": [8, 26, 29, 55, 109], "encoding_format": [45, 77, 92, 93, 94, 102, 109, 110], "encourag": [8, 29, 48, 102], "end": [24, 40, 42, 47, 84, 88, 92, 97, 98, 99, 117, 118], "end_header_id": [99, 106], "end_of_text": [99, 106], "end_tim": [46, 112], "endfor": [24, 52, 106, 109, 112], "endif": [24, 43, 52, 96, 101, 106, 112, 123], "energi": [92, 109], "enforc": [14, 51, 92, 96], "engag": [88, 113], "engin": [40, 90, 98, 101, 106, 116, 118], "english": [11, 109], "enhanc": [80, 90, 97, 108, 123], "enhance_queri": 90, "enhancequerycompon": 90, "enjoi": 116, "enorm": 96, "enough": 98, "enssenti": 123, "ensur": [15, 24, 39, 45, 47, 52, 84, 88, 90, 93, 94, 97, 99, 109, 110, 115], "entir": 109, "entiti": [77, 81, 88, 98, 108], "entity_cl": 81, "entity_config": 77, "entity_nam": 77, "entity_st": 77, "entitymap": 81, "enum": [39, 57, 79, 82, 102, 112], "enumer": [40, 112], "env": [93, 94, 108, 109, 110, 115, 116], "environ": [8, 29, 47, 52, 84, 87, 92, 93, 94, 102, 108, 109, 110, 114, 116], "environment": [92, 109], "eot_id": [99, 106], "epilon": [19, 36], "epsilon": [19, 36, 109], "equal": [15, 61, 109], "equival": [40, 47, 92, 112], "error": [11, 13, 15, 21, 36, 39, 47, 50, 57, 73, 79, 80, 88, 93, 102, 108, 112], "error_messag": [57, 101], "error_onli": 73, "escap": 24, "especi": [6, 8, 24, 26, 27, 29, 39, 73, 75, 90, 93, 95, 99, 109, 110, 111], "espeic": 109, "essenc": 116, "essenti": [58, 65, 92, 108, 109], "establish": 116, "estimated_num_token": [57, 92, 94, 110], "et": 95, "etc": [17, 34, 40, 42, 47, 71, 93, 95, 109, 110, 116], "eval": [40, 46, 47, 56, 57, 64, 95, 96, 112, 117, 121], "evalu": [40, 47, 57, 59, 61, 62, 63, 90, 96, 97, 98, 101, 109, 122], "evaluate_ast_nod": 47, "even": [8, 17, 26, 29, 47, 88, 90, 93, 96, 98, 106, 109, 111, 112], "event": 46, "eventu": [88, 109], "ever": 102, "everi": [42, 98, 116], "eviron": 108, "exact": [8, 26, 29, 95, 110, 111, 121], "exact_match": [59, 121], "exactli": [40, 59, 96, 109, 121], "exam": 95, "examin": [19, 36], "exampl": [0, 8, 11, 13, 14, 15, 17, 18, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 54, 57, 59, 61, 62, 63, 67, 71, 73, 77, 80, 84, 90, 92, 93, 94, 95, 99, 101, 102, 106, 108, 109, 110, 112, 115, 116, 117, 118, 121, 123], "example1": [94, 110], "example2": 110, "example3": 110, "example4": 110, "example_funct": 47, "example_json": [39, 88], "example_str": 88, "example_yaml": [39, 88], "examples_prompt": 52, "examples_str": [43, 52, 96, 101, 106], "examples_templ": 52, "excel": 118, "except": [8, 26, 29, 50, 93, 102, 112], "exclud": [17, 34, 39, 40, 47, 56, 57, 88, 92, 112], "exclude_field": [17, 34], "excludetyp": 88, "exclus": 88, "execlud": 112, "execut": [8, 24, 26, 29, 46, 47, 56, 108, 111, 112], "execute_func": [56, 112], "execute_func_expr": [56, 112], "execute_func_expr_via_ev": [56, 112], "execute_func_expr_via_sandbox": [56, 112], "exist": [52, 88, 98, 108, 109, 118], "exmplari": 15, "expand": 116, "expans": [6, 27, 109], "expect": [11, 19, 23, 24, 36, 42, 47, 51, 53, 54], "expens": 109, "experi": [9, 19, 31, 36, 42, 90, 92, 98, 110], "explain": [92, 96, 108, 110, 116, 121], "explan": [19, 36], "explicitli": [39, 51], "explor": 65, "expr": [56, 112], "express": [46, 47, 56, 57, 112], "extend": [8, 14, 29, 42, 46, 92, 93, 112, 116], "extens": [40, 84, 116], "extern": [82, 94, 95, 108, 109], "extra": 110, "extract": [8, 17, 26, 29, 34, 47, 54, 71, 108, 111, 116, 121], "extract_dataclass_typ": 47, "extract_json_str": 47, "extract_list_str": 47, "extract_yaml_str": 47, "ey": 101, "f": [6, 8, 19, 26, 27, 29, 36, 40, 46, 78, 90, 93, 94, 95, 102, 106, 108, 109, 110, 112, 121, 123], "f1": 95, "f1be8330c167": 110, "f2d0f52a": 110, "f2eddc77": 92, "f513": 92, "f89e0955e3a3": 110, "f98f": 92, "face": [45, 48, 84, 93, 95, 96], "facebookresearch": 109, "facet": 109, "facilit": [108, 111], "fact": [101, 108], "factor": [19, 36], "factori": [39, 42, 57, 74, 75], "factual": 109, "fahrenheit": 112, "fail": [21, 36, 57, 73, 92, 93, 96, 98, 101, 108, 112], "failur": [24, 93, 96], "fair": 95, "faiss": [79, 109, 110, 115], "faiss_query_result": 110, "faiss_retriev": [92, 109, 110], "faissretriev": [77, 92, 110], "fall": 90, "fallback": 0, "fals": [6, 15, 17, 26, 27, 34, 39, 40, 42, 47, 53, 55, 57, 61, 71, 80, 101, 112, 121], "famili": 87, "fantast": [94, 110], "far": 92, "farm": [92, 109], "fast": [19, 36, 110], "faster": 109, "fc1": 118, "fc2": 118, "fd11f12958b3": 92, "fdbc447d": 94, "fdc2429b": 110, "feasibl": 88, "featur": [46, 84, 90, 95, 99, 112, 118], "feburari": [62, 63, 95], "fed": [112, 121], "fetch": [21, 36, 42, 92, 110, 121], "fetch_item": 42, "fetch_transformed_item": 42, "fetched_dialog_turn": 92, "fever": 108, "few": [18, 39, 67, 71, 88, 95, 106, 108, 109, 112, 123], "field": [17, 19, 34, 36, 39, 45, 47, 48, 56, 57, 68, 69, 88, 92, 93, 94, 99, 109, 110, 112, 123], "field_nam": 39, "field_valu": 39, "fieldtyp": 47, "file": [9, 15, 19, 31, 36, 40, 42, 45, 53, 73, 74, 75, 78, 80, 84, 88, 93, 94, 96, 101, 102, 109, 115, 116, 121], "file_io": 90, "file_path": 74, "filenam": [73, 74, 75, 80], "filepath": [40, 42, 73, 75, 92], "filesystem": 42, "fill": [19, 36, 48, 52, 68, 116], "filter": [106, 109, 110, 116], "final": [0, 19, 24, 36, 52, 57, 92, 94, 95, 96, 106, 108, 109, 110, 112, 121], "final_model_kwarg": 102, "final_prompt": 106, "find": [55, 92, 93, 94, 96, 108, 109, 110, 115], "fine": [57, 110], "finish": [24, 108], "first": [8, 14, 24, 26, 29, 42, 47, 51, 92, 94, 95, 96, 97, 99, 102, 108, 109, 110, 111, 112, 121], "fit": [39, 45, 57, 92, 96, 97, 111], "five": 90, "fix_json_escaped_single_quot": 47, "fix_json_missing_comma": 47, "flat": 61, "flexibl": [42, 47, 57, 88, 90, 98, 102, 106, 108, 110, 112, 116, 123], "flexibli": 97, "float": [15, 17, 19, 34, 36, 45, 47, 57, 59, 61, 62, 63, 67, 69, 71, 77, 92, 93, 94, 102, 109, 110, 112], "flow": [92, 108, 109, 123], "fn": [46, 47, 108, 112], "fn_schema_str": [24, 57, 108], "fnew": 110, "focu": [92, 108, 110], "focus": 97, "folder": [84, 116], "follow": [8, 11, 16, 17, 21, 24, 29, 33, 34, 36, 39, 40, 48, 80, 84, 88, 93, 95, 96, 98, 99, 101, 106, 109, 110, 112, 115, 116, 121, 123], "food": 110, "footprint": [92, 109], "forc": 84, "fork": 84, "form": [8, 26, 29, 57, 88, 92, 106, 109, 111, 118], "format": [8, 10, 13, 14, 15, 17, 19, 24, 26, 29, 34, 36, 39, 40, 43, 46, 48, 50, 53, 54, 57, 77, 80, 82, 84, 92, 93, 96, 97, 99, 101, 102, 106, 108, 109, 118, 121, 123], "format_chat_history_str": 92, "format_class_str": [39, 88], "format_example_str": [39, 88], "format_instruct": [17, 34, 112], "format_str": 39, "format_typ": [17, 34, 39, 88], "formula": 110, "forward": [40, 55, 90, 118], "fossil": [92, 109], "found": [47, 61, 62, 63, 79, 84, 92, 95, 109, 121], "foundament": 90, "foundat": [58, 65], "four": [50, 109, 112], "frac": [19, 36], "framework": [38, 65, 108, 116], "franc": [39, 47, 88, 101, 102, 106], "francisco": 112, "franklin": 87, "free": [92, 109], "frequenc": [19, 36, 110], "frequent": [19, 36], "fresh": 109, "friendli": 110, "from": [6, 8, 14, 15, 16, 17, 18, 19, 23, 26, 27, 29, 33, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 57, 61, 69, 71, 73, 74, 77, 78, 80, 84, 89, 92, 93, 94, 95, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 115, 116, 117, 118, 121, 123], "from_config": [40, 45, 48, 96, 109], "from_default": 108, "from_dict": [14, 17, 19, 34, 36, 39, 40, 52, 53, 57, 88, 106, 109, 112, 123], "from_dict_to_json": 47, "from_dict_to_yaml": 47, "from_funct": [57, 112], "from_json": [39, 88], "from_json_to_dict": 47, "from_pretrain": 102, "from_yaml": [39, 88], "from_yaml_to_dict": 47, "frustrat": [96, 98, 101], "fsspec": 92, "fuel": [92, 109], "full": [57, 98, 109, 116, 118, 121], "fullwiki": 121, "fun": [40, 57, 101, 116], "fun_arg": 57, "fun_compon": [40, 90], "fun_expr": 57, "fun_kwarg": 57, "fun_nam": 57, "fun_to_compon": [40, 90], "func": [47, 56, 57, 112], "func_desc": [57, 112], "func_expr": 112, "func_nam": [57, 112], "func_output": 112, "func_paramet": [57, 112], "func_pars": 112, "func_tool": [58, 112], "funciton": 112, "funcnam": 112, "funcompon": 40, "function": [0, 6, 8, 14, 15, 16, 19, 23, 24, 26, 27, 29, 36, 38, 39, 40, 42, 46, 50, 52, 54, 56, 57, 58, 65, 77, 80, 81, 88, 90, 92, 93, 95, 96, 97, 98, 108, 109, 110, 111, 116, 121, 123], "function_arg": 112, "function_definit": [56, 112], "function_expr": [47, 112], "function_nam": [80, 112], "function_respons": 112, "function_to_cal": 112, "functiondefinit": [46, 56, 57, 112], "functionexpress": [46, 56, 57], "functionoutput": [46, 56, 57, 112], "functiontool": [0, 46, 56, 108, 118], "fundament": [98, 116, 118], "further": [8, 26, 29, 45, 88, 90, 93, 96, 101, 109, 111, 116], "futur": [8, 26, 29, 87, 93, 96, 98, 109, 111, 116], "fuzzi": [95, 109, 121], "fuzzy_match": [59, 121], "g": [8, 21, 24, 26, 29, 36, 71, 84, 99, 102, 111, 112, 121], "ga": [92, 109], "game": 92, "gap": [50, 98], "gase": [92, 109], "gather": [46, 106, 112], "gemma": 13, "genai": 98, "genear": 109, "gener": [0, 8, 14, 17, 26, 29, 34, 39, 40, 42, 47, 50, 51, 53, 54, 57, 61, 67, 68, 69, 71, 73, 74, 75, 78, 84, 87, 88, 90, 92, 93, 94, 95, 97, 98, 99, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "generate_function_call_expression_from_cal": [47, 112], "generate_readable_key_for_funct": 47, "generated_text": 95, "generativeai": [79, 115], "generator2": 101, "generator2_cal": 101, "generator_2": 101, "generator_2_cal": 101, "generator_cal": [73, 101], "generator_call_logg": [72, 73, 96, 101], "generator_evalu": 121, "generator_nam": 75, "generator_names_to_fil": 74, "generator_state_logg": [72, 96], "generator_state_trac": [75, 101], "generatorcalllogg": [74, 96, 101], "generatorcallrecord": 74, "generatorlogg": 73, "generatoroutput": [21, 36, 48, 57, 73, 74, 92, 110], "generatorstatelogg": [75, 96, 101], "generatorstatesrecord": 75, "get": [8, 14, 19, 24, 26, 29, 36, 39, 40, 42, 47, 52, 53, 57, 61, 74, 80, 81, 88, 90, 92, 95, 102, 108, 109, 110, 111, 112, 121, 123], "get_al": 81, "get_all_messages_cont": 14, "get_cal": 74, "get_chat_history_str": 57, "get_current_script_and_lin": 80, "get_current_weath": 112, "get_data_class_schema": [47, 123], "get_data_key_fun": 71, "get_dataclass_schema": 47, "get_default_log_config": 80, "get_dialog_turn": 57, "get_first_message_cont": 14, "get_fun_schema": [46, 47, 112], "get_jinja2_environ": 52, "get_log_loc": [74, 75], "get_logg": 80, "get_model_arg": 57, "get_next_ord": 57, "get_prob": 14, "get_prompt_vari": 52, "get_string_token": 55, "get_subcompon": 40, "get_supporting_sent": 121, "get_top_k_indices_scor": 47, "get_transformed_data": 42, "get_transformer_kei": 42, "get_type_schema": 47, "getenv": 102, "git": [84, 116], "github": [84, 113, 120], "give": [90, 92, 98, 109, 112], "given": [19, 36, 40, 47, 53, 68, 75, 77, 96, 97, 99, 108, 109, 110, 112, 121], "go": [96, 98, 101, 108, 109, 116, 118], "goal": [96, 108, 111, 112, 118], "goe": 98, "good": [19, 36, 88, 90, 92, 95, 110, 112], "googl": [61, 62, 63, 69, 79, 84, 94, 95, 102, 106, 115], "google_api_kei": 115, "google_cli": 102, "google_generativeai": 79, "googlegenaicli": [79, 102], "got": 109, "gpt": [40, 47, 48, 90, 92, 95, 96, 99, 102, 109, 110, 112], "gpt3": 18, "gpt_model_kwarg": 110, "graesser": 87, "graph": 110, "gre": 95, "great": [8, 26, 29, 88, 94, 95, 97, 98, 101, 110], "green": 80, "greenhous": [92, 109], "greet": 57, "groq": [13, 57, 79, 96, 102, 115], "groq_api_kei": 115, "groq_client": 102, "groqapicli": [13, 40, 96, 102, 108, 110, 118], "ground": [59, 61, 62, 63, 69, 92, 95, 109, 116, 121], "group": 57, "grow": 110, "growth": [92, 109], "gt": [69, 109], "gt_answer": [59, 61], "gt_context": [62, 63, 95], "gt_context_sentence_list": 121, "gte": [15, 93, 102], "gu": 111, "guarante": [17, 84], "guid": [14, 84, 86, 108, 110, 112], "guidelin": [85, 95], "guo": 95, "ha": [18, 23, 36, 39, 42, 47, 53, 62, 63, 71, 73, 75, 80, 82, 88, 89, 92, 95, 109, 110, 111, 112, 115, 116, 118, 121, 123], "had": [94, 110], "halluci": 109, "hand": [95, 109], "handi": 106, "handl": [11, 13, 15, 21, 36, 39, 40, 47, 50, 88, 92, 93, 96, 97, 101, 102, 108, 109, 112, 123], "happen": 96, "hard": 98, "harri": 123, "hash": 69, "hashcod": 95, "have": [11, 14, 17, 18, 19, 24, 34, 36, 39, 40, 45, 50, 57, 71, 73, 84, 88, 90, 92, 93, 94, 95, 96, 97, 99, 106, 108, 109, 110, 112, 115, 116, 118, 121], "hazard": [92, 109], "he": [18, 123], "headach": 90, "heavi": 98, "hello": [8, 19, 26, 29, 36, 42, 51, 57, 80, 99, 110, 111], "helm": 95, "help": [6, 8, 17, 18, 26, 27, 29, 34, 39, 46, 52, 79, 88, 90, 92, 96, 97, 98, 99, 101, 106, 109, 111, 112, 118, 121], "helper": [6, 16, 27, 33, 40, 52, 77, 90, 109], "henc": [108, 123], "hendryck": 95, "here": [8, 11, 13, 15, 24, 26, 29, 50, 57, 71, 88, 90, 92, 95, 96, 99, 101, 102, 106, 108, 109, 110, 111, 112, 114, 115, 116, 119, 123], "hero": [98, 118], "hf_token": 115, "hi": [57, 123], "hierarchi": [97, 118], "high": [98, 109, 116], "higher": [58, 65, 69, 98, 109, 110], "highest": 110, "highli": [8, 29, 42, 98, 101, 102, 116], "hint": [24, 47, 88, 96, 112], "histor": 92, "histori": [24, 43, 57, 75, 92, 96, 101, 106, 108, 109], "hobbi": 110, "hold": 57, "homepag": [19, 36], "hook": 116, "hop": 108, "host": 109, "hotpot_qa": 121, "hotpotqa": [108, 121], "how": [8, 14, 15, 18, 19, 21, 26, 29, 36, 39, 48, 57, 61, 65, 88, 90, 92, 93, 96, 97, 99, 102, 106, 108, 109, 110, 112, 118, 121, 122, 123], "howev": [8, 29, 90, 92, 98, 99, 106, 109, 112], "html": [8, 26, 29, 84, 88, 109, 111], "http": [0, 10, 11, 13, 14, 15, 18, 19, 36, 69, 84, 87, 88, 93, 96, 106, 109, 112], "hub": [15, 95], "hug": 95, "hug_tran": 95, "huggingfac": [15, 88, 93, 102, 109], "huggingfaceh4": 15, "human": [88, 95, 96, 109], "humanev": 95, "humor": 101, "hundr": 109, "hydrat": 90, "hydro": [92, 109], "hypernetwork": 116, "hyperparmet": 109, "hypothesi": 108, "i": [0, 6, 8, 9, 10, 14, 15, 17, 18, 19, 21, 24, 26, 27, 29, 31, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 53, 55, 57, 59, 61, 62, 63, 68, 69, 71, 73, 74, 75, 77, 78, 79, 80, 84, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 106, 109, 110, 111, 112, 114, 115, 118, 119, 121, 123], "ibuprofen": 90, "icl": [67, 71, 98], "id": [8, 26, 29, 55, 57, 92, 94, 110, 111], "idea": 113, "ideal": [8, 26, 29, 106, 111], "identifi": [47, 75, 110], "idf": [19, 36, 92, 109, 110], "idf_vers": 95, "idx": [40, 110, 112], "igh": 111, "ik": [8, 26, 29], "illustr": [8, 26, 29, 108, 111], "imag": [93, 109], "immedi": 40, "impact": [8, 17, 19, 26, 29, 36, 71, 92, 108, 109, 110], "implement": [0, 8, 9, 11, 13, 15, 19, 26, 29, 31, 36, 50, 53, 93, 95, 102, 109, 110, 111, 121, 123], "implicitli": 51, "import": [8, 17, 19, 26, 29, 34, 36, 39, 40, 46, 47, 52, 79, 80, 88, 90, 92, 93, 94, 95, 96, 97, 99, 101, 102, 106, 108, 109, 110, 111, 112, 115, 116, 118, 121, 123], "import_path": 79, "importerror": 79, "impress": 95, "improv": [19, 36, 67, 95, 96, 101, 109, 110, 111], "inabl": 47, "inc": 84, "includ": [8, 9, 19, 26, 29, 31, 36, 39, 40, 42, 47, 53, 57, 77, 84, 90, 92, 97, 106, 108, 109, 110, 111, 112, 116, 121, 123], "includng": 116, "incomplet": 47, "incorpor": 95, "incorrect": [51, 96], "increa": 92, "increas": [19, 36, 92, 109, 110], "increasingli": 95, "incress": 112, "indent": [17, 34, 47], "index": [8, 15, 19, 21, 23, 24, 29, 36, 42, 52, 53, 57, 71, 84, 92, 93, 102, 106, 109, 110, 112, 121], "index_kei": [53, 109], "indexflatip": 110, "indic": [21, 36, 39, 47, 109, 110], "infanc": 98, "infer": [15, 51, 57, 93, 95], "infer_bge_reranker_bas": 15, "infer_gte_base_embed": [15, 102], "influenc": [19, 36, 95, 110], "info": 80, "inform": [39, 55, 58, 65, 90, 96, 108, 109, 110, 116, 120, 123], "infrastructur": [92, 109], "ingest": [8, 29, 116], "ingestionpipelin": 116, "inherit": [50, 92, 109, 116], "init": [67, 69, 80], "init_async_cli": [10, 11, 13, 14, 50, 102], "init_llm_cli": 15, "init_model": [15, 102], "init_reranker_cli": 15, "init_sync_cli": [10, 11, 13, 14, 15, 50, 102], "initi": [15, 19, 21, 23, 24, 36, 50, 52, 53, 67, 71, 80, 92, 96, 102, 106, 108, 109, 110, 112, 121, 123], "initvar": 57, "inmemoryfaissretriev": 109, "inner": 110, "input": [0, 6, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 27, 34, 36, 39, 40, 45, 47, 48, 50, 53, 54, 55, 57, 68, 88, 92, 93, 94, 95, 96, 97, 99, 101, 102, 106, 109, 110, 111, 112, 116, 123], "input_data_obj": 68, "input_str": [24, 40, 43, 73, 90, 92, 96, 101, 106, 109, 110, 112, 118], "input_text": 15, "insert": 42, "insid": [8, 24, 26, 29, 110, 111], "instal": [32, 79, 80, 84, 92, 93, 109, 114, 116], "install_messag": 79, "instanc": [14, 17, 18, 34, 39, 40, 47, 48, 52, 73, 82, 94, 95, 110, 112, 116, 121, 123], "instanti": [40, 77, 88, 96], "instead": [8, 14, 26, 29, 39, 40, 47, 61, 88, 90, 92, 93, 96, 98, 110, 111, 112, 116], "instruct": [17, 18, 21, 24, 34, 36, 39, 69, 88, 95, 96, 110, 112, 116, 123], "instructur": 112, "int": [0, 6, 8, 11, 15, 19, 21, 23, 26, 27, 29, 36, 39, 42, 45, 47, 51, 53, 55, 57, 67, 71, 80, 88, 92, 93, 108, 109, 112, 123], "int_param": 51, "integ": [17, 34, 51], "integr": [8, 10, 11, 13, 14, 15, 16, 26, 29, 32, 33, 65, 92, 93, 97, 98, 102, 108, 109, 116, 118], "intellig": [95, 96], "intend": 84, "intent": 95, "interact": [24, 38, 39, 57, 65, 88, 97, 98, 108, 112, 118, 123], "interchang": 112, "interest": [92, 95], "interfac": [17, 46, 47, 50, 90, 93, 94, 96, 97, 98, 102], "intergr": [98, 102, 109], "interleav": [99, 108], "intermedi": [92, 108], "intern": [39, 65, 79, 82, 95, 98, 102, 108, 112], "interpret": [8, 26, 29], "intial": 96, "intro": 10, "introduc": [8, 26, 29, 106, 111], "introduct": [14, 122], "intuit": [8, 26, 29, 111], "invalid_api_kei": 96, "invalid_request_error": 96, "invers": [19, 36, 110], "invest": [92, 109], "investig": [96, 123], "invok": [39, 47], "involv": [95, 110], "io": [40, 45, 53], "irrelev": 109, "is_dataclass_inst": 47, "is_key_in_templ": 52, "is_norm": [47, 57, 93], "is_pick": 90, "is_pickl": 40, "is_potential_dataclass": 47, "is_running_in_event_loop": 46, "isinst": 102, "issu": 84, "item": [42, 92, 112], "item1": 54, "item2": 54, "iter": [40, 51, 98, 108, 110, 118], "itertool": 110, "its": [8, 19, 26, 29, 36, 40, 47, 51, 53, 57, 73, 74, 75, 77, 87, 88, 90, 92, 96, 98, 106, 108, 109, 110, 111, 112, 116, 121], "itself": [9, 31, 40, 47, 52, 78, 98, 99, 106, 110], "jan": 18, "jinja": [106, 116], "jinja2": [52, 96, 97, 116, 123], "jinja2_template_exampl": 106, "job": [92, 109], "john": [24, 39, 123], "join": [24, 92, 108, 112, 113, 121], "joke": 123, "joke_exampl": 123, "jokeoutput": 123, "josh": 95, "json": [8, 17, 19, 24, 26, 29, 34, 36, 39, 47, 54, 56, 57, 73, 74, 75, 77, 78, 82, 88, 90, 96, 101, 108, 109, 111, 112, 116, 118, 121, 123], "json_definit": [56, 112], "json_obj": 54, "json_pars": 54, "json_signatur": 88, "json_signature_exclud": 88, "json_str": [39, 47, 54, 88], "jsonl": [73, 74, 78, 101], "jsonoutputpars": [17, 34, 112], "jsonpars": [0, 54, 96, 108, 121], "judg": [61, 95, 96, 121], "judgement": [61, 95, 121], "judgement_list": [61, 121], "judgement_queri": [61, 121], "jump": 116, "just": [15, 92, 96, 102, 112, 116], "k": [21, 23, 36, 110], "k1": [19, 36, 109, 110], "keep": [39, 42, 88, 90, 92, 99, 109, 110, 111, 123], "kei": [11, 14, 24, 39, 40, 42, 47, 52, 53, 54, 57, 87, 88, 90, 92, 93, 94, 96, 108, 109, 110, 112, 114, 116, 123], "kept": [8, 26, 29], "keyword": [24, 47, 52, 57, 106, 109, 112], "kind": 116, "kmp_duplicate_lib_ok": 110, "knock": [92, 109], "know": [14, 96, 98, 99, 101, 112], "knowledg": [98, 108, 109, 112, 121], "known": [87, 88, 109], "kw_onli": 69, "kwarg": [0, 10, 13, 14, 15, 17, 19, 21, 23, 24, 36, 40, 45, 46, 47, 48, 50, 52, 53, 57, 61, 70, 71, 102, 106, 108, 109, 112], "l": [15, 111], "label": [39, 47, 71, 88, 109, 116], "lack": [106, 109], "lambda": [40, 71, 92, 109], "land": [92, 109], "landscap": 109, "languag": [8, 19, 26, 29, 36, 84, 87, 95, 96, 99, 108, 116, 118], "larg": [45, 87, 92, 95, 96, 109, 110, 111, 118], "larger": [45, 110], "last": [8, 26, 29, 42, 92, 109, 112], "last_hidden_st": [15, 102], "later": [42, 48, 88, 92, 109, 110, 112], "latest": 108, "layer": 98, "lazi": 79, "lazy_import": [57, 115], "lazyimport": [57, 79], "lead": [21, 36, 69, 71, 92, 109], "leap": [62, 63, 95], "learn": [40, 90, 93, 95, 96, 97, 98, 102, 109, 111, 113, 116, 121], "least": 47, "left": [19, 36], "legal": 95, "len": [92, 110, 112, 121], "length": [8, 19, 26, 29, 36, 42, 57, 92, 93, 110, 111, 112], "lengthi": 116, "lengthier": [19, 36, 110], "less": [17, 19, 34, 36, 57, 88, 93, 109, 110, 112, 118], "let": [18, 32, 88, 90, 92, 101, 106, 108, 109, 110, 112, 121], "level": [58, 65, 80, 89, 108, 112, 116, 118], "leverag": [8, 29, 47, 53, 84, 88, 92, 108, 109, 110, 111, 112, 121], "leverg": [19, 36, 53], "li": [88, 92, 93, 102, 106, 109, 112, 117], "lib": 80, "librari": [8, 26, 29, 39, 42, 48, 61, 73, 79, 80, 88, 89, 90, 95, 97, 98, 99, 102, 109, 111, 116, 118], "lickabl": 110, "life": 95, "lifecyl": 112, "lifestyl": 90, "lift": 98, "light": [92, 109, 118], "light_rag": 116, "lightrag": [8, 14, 15, 17, 19, 26, 29, 36, 38, 39, 40, 42, 43, 50, 52, 57, 58, 65, 74, 79, 80, 84, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 102, 106, 109, 111, 113, 114, 118, 121, 123], "lightrag_default_prompt_arg": 106, "lightweight": 88, "like": [8, 26, 29, 39, 42, 47, 50, 57, 73, 80, 88, 90, 92, 93, 94, 96, 98, 99, 101, 102, 108, 109, 110, 111, 116, 118, 123], "limit": [84, 92, 95, 97, 109, 110, 111, 112], "line": [80, 84, 96, 97, 98, 101, 116], "line_numb": 80, "linear": 118, "link": 84, "list": [0, 6, 8, 11, 14, 15, 17, 19, 21, 23, 26, 27, 29, 34, 36, 39, 40, 42, 45, 47, 48, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 69, 71, 73, 74, 78, 88, 90, 92, 93, 95, 99, 102, 109, 110, 112, 115, 121], "list_output_format_templ": [17, 34], "list_pars": 54, "listoutputpars": [17, 34], "listpars": [21, 36, 54, 109, 110], "liter": [8, 26, 29, 47, 57, 80, 109], "liu": 95, "llama": [8, 29, 106], "llama3": [13, 40, 96, 99, 106, 108, 118], "llama_index": 116, "llamaindex": [8, 29, 116], "llm": [0, 9, 15, 21, 24, 31, 36, 39, 40, 46, 48, 54, 57, 61, 68, 69, 87, 90, 92, 96, 97, 101, 102, 108, 110, 111, 112, 116, 118, 121, 122, 123], "llm_as_judg": [64, 96], "llm_augment": 67, "llm_evalu": [61, 121], "llm_judg": [61, 121], "llm_kwarg": 92, "llm_model_kwarg": 108, "llm_optim": 96, "llm_query_indic": 110, "llm_query_output": 110, "llm_retriev": [96, 109, 110], "llm_tool": 108, "llmasjudg": [61, 95, 121], "llmasretriev": 109, "llmaugment": 68, "llmoptim": [69, 96], "llmretriev": [21, 36, 73, 96, 109, 110], "llmretrieveroutputtyp": [21, 36], "lo": 99, "load": [19, 36, 39, 40, 42, 53, 67, 69, 74, 75, 77, 78, 84, 92, 95, 102, 108, 109, 112, 114, 121, 123], "load_dataset": [95, 121], "load_dotenv": [94, 108, 110, 115], "load_from_fil": [19, 36, 53, 109], "load_from_pickl": 40, "load_index": 110, "load_json": 78, "load_jsonl": 78, "load_meta_data": 74, "load_metr": 95, "load_pickl": 78, "load_stat": [42, 92], "load_state_dict": [40, 90], "load_state_pickl": 40, "loaded_exampl": 123, "local": [9, 15, 31, 40, 50, 84, 97, 102, 109, 112], "local_db": 42, "local_db_load": 42, "local_embedd": 93, "local_embedder_256": 93, "local_item_db": 42, "localdb": [9, 31, 42, 57, 92], "locat": [84, 88, 109, 112], "lock": 116, "log": [19, 36, 73, 74, 75, 78, 80, 92, 96, 98, 102, 117], "log_cal": 74, "log_prompt": 75, "logger": [73, 101], "logger_metadata": 101, "logic": [11, 13, 15, 50, 95, 98, 110], "logprob": [57, 109], "long": [8, 26, 29, 92, 96, 97, 101, 109, 110, 111], "longest": 109, "look": [47, 88, 92, 93, 101, 106, 108, 109, 110, 117], "lookup": 108, "loop": [24, 46, 52, 95, 106, 109, 112], "lose": [96, 101, 116], "lost": [42, 109], "lot": [54, 95, 110], "love": 110, "lower": [98, 110, 112], "lru_cach": 102, "lstrip_block": 106, "luna": 110, "m": [57, 84, 101], "m1": 15, "macbook": 15, "made": [42, 88, 96, 97], "magenta": 80, "mai": [8, 29, 90, 99], "main": [42, 52, 71, 84, 90, 94, 109, 116], "mainli": [57, 79, 88, 92, 98, 110, 116], "maintain": [8, 26, 29, 39, 84, 88, 110], "major": 84, "make": [17, 34, 42, 50, 65, 84, 88, 90, 92, 95, 96, 101, 102, 106, 108, 109, 112, 115, 116, 123], "makefil": 84, "manag": [8, 29, 42, 43, 53, 56, 57, 68, 77, 90, 92, 94, 96, 102, 108, 110, 111, 112, 123], "mani": [18, 106, 109, 112], "manipul": [108, 116], "manner": 108, "manual": [40, 77, 84, 90, 98, 101, 116, 117], "manufactur": [92, 109], "map": [8, 23, 26, 29, 36, 40, 42, 47, 53, 78, 82, 88, 92, 109, 111, 112], "map_dialogturn_to_docu": 92, "map_fn": [42, 92], "map_to_docu": 92, "mapper_setup": [42, 92], "mappingproxi": 69, "mar": 0, "mark": [88, 95], "markdown": [8, 26, 29, 111], "marshmallow": [39, 88], "massiv": 95, "match": [19, 36, 40, 47, 59, 88, 95, 110, 121], "match_acc_list": 121, "materi": [92, 109], "mathemat": 95, "matrix": 88, "matter": [46, 88, 92], "max": [46, 108], "max_length": [15, 102], "max_step": [0, 108], "max_token": [99, 102], "maxim": [98, 106], "maximum": [0, 8, 24, 26, 29, 89, 99, 110, 111, 118], "mayb": 116, "md": [116, 117], "me": [106, 109], "mean": [8, 26, 29, 42, 71, 96, 98, 99, 108, 110, 111, 112], "meant": 84, "meanwhil": 110, "measur": [19, 36, 95, 110], "mechan": 102, "medata": 39, "medic": [90, 95], "member": [40, 113], "memo": 40, "memoi": 97, "memori": [42, 45, 57, 58, 92, 93, 97, 98, 110, 111, 112], "meng": 95, "mere": 110, "merg": [8, 26, 29, 111, 116], "messag": [10, 14, 24, 57, 79, 93, 96, 99, 102, 106], "meta": [99, 106, 110], "meta_data": [8, 26, 29, 57, 92, 94, 110, 111, 121], "metadata": [17, 24, 34, 39, 46, 47, 57, 69, 88, 92, 96, 101, 108, 109, 123], "methd": 53, "method": [8, 10, 11, 13, 14, 15, 17, 19, 26, 29, 34, 36, 39, 40, 42, 50, 52, 53, 55, 61, 71, 73, 82, 88, 90, 92, 93, 95, 96, 97, 101, 102, 106, 109, 112, 118], "metric": [59, 61, 62, 63, 95, 109, 121], "middl": 109, "might": [15, 18, 21, 36, 40, 42, 46, 88, 92, 93, 96, 109, 110, 112], "million": 109, "mimic": 18, "mimick": 88, "mind": [98, 101], "minim": [9, 31, 98], "minimum": [24, 89, 106, 118], "minut": 114, "mislead": [24, 39, 123], "miss": [39, 47, 68, 109, 112], "misunderstand": 110, "mixtral": 13, "mmlu": 95, "mode": [40, 97, 116], "modecli": 94, "model": [0, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21, 23, 26, 29, 31, 32, 33, 36, 40, 42, 45, 47, 48, 50, 57, 61, 68, 77, 87, 90, 94, 95, 97, 98, 99, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "model_cli": [0, 21, 23, 36, 38, 40, 45, 48, 58, 61, 68, 69, 73, 77, 79, 90, 92, 93, 94, 96, 97, 102, 108, 109, 110, 112, 118, 121], "model_kwarg": [0, 10, 11, 13, 14, 15, 21, 23, 36, 40, 45, 47, 48, 50, 57, 61, 68, 69, 74, 77, 90, 92, 93, 94, 96, 101, 102, 108, 109, 110, 112, 118, 121], "model_nam": [15, 77, 102], "model_typ": [10, 11, 13, 14, 15, 40, 45, 48, 50, 57, 90, 95, 96, 102], "modelcli": [0, 10, 11, 13, 14, 15, 21, 23, 36, 40, 45, 48, 50, 57, 61, 68, 69, 90, 93, 96, 97, 106, 109, 118], "modelclienttyp": [57, 92, 96, 109, 112], "modeltyp": [10, 11, 13, 14, 15, 40, 45, 48, 50, 57, 90, 96, 102, 109], "modif": [14, 90], "modifi": [6, 26, 27], "modoel": 92, "modubl": 40, "modul": [21, 39, 40, 47, 54, 57, 79, 82, 84, 88, 90, 92, 97, 109, 116, 118, 121], "modular": 118, "module_nam": 79, "moment": 98, "monitor": [92, 116], "month": [62, 63, 95], "monument": 101, "moon": 95, "more": [8, 10, 11, 13, 18, 19, 24, 26, 29, 36, 39, 40, 47, 54, 55, 56, 57, 61, 68, 84, 85, 88, 89, 90, 92, 93, 95, 96, 97, 98, 99, 101, 108, 109, 110, 111, 112, 116, 118, 120, 121, 123], "moreov": 108, "most": [17, 90, 96, 97, 99, 101, 106, 109, 110], "mostli": [39, 109], "move": [8, 26, 29, 97, 109, 111], "movi": [94, 110], "mp": 15, "much": [90, 96, 101, 109, 110], "mulitpl": [6, 27], "multi": [88, 93, 99, 108, 116], "multifacet": 95, "multilingu": 11, "multipl": [0, 42, 71, 74, 75, 77, 87, 92, 93, 96, 108, 109, 112, 116], "multipli": [108, 112], "multitask": 95, "multple_function_call_templ": 112, "must": [24, 40, 42, 102], "my_db": 42, "my_funct": 40, "my_function_compon": 40, "my_inst": [39, 123], "myfunctioncompon": 40, "myoutput": [39, 123], "mypi": 88, "n": [8, 14, 17, 19, 26, 29, 34, 36, 43, 54, 92, 101, 102, 110, 112], "n_________": 92, "nadd": 112, "name": [24, 39, 40, 42, 46, 47, 55, 57, 69, 73, 74, 75, 77, 78, 79, 80, 81, 82, 88, 90, 92, 95, 98, 101, 108, 109, 110, 112, 116, 121, 123], "named_children": 40, "named_compon": 40, "named_paramet": [40, 90], "nanswer": 101, "nativ": [88, 106], "natur": [8, 26, 29, 47, 95], "navig": 84, "nd": 109, "ndarrai": [47, 109, 112], "ndivid": 112, "necessari": [15, 84, 110, 112, 115, 116, 121], "need": [0, 8, 11, 13, 14, 15, 17, 19, 26, 29, 36, 39, 40, 45, 46, 50, 54, 56, 57, 79, 80, 88, 92, 93, 96, 98, 102, 106, 109, 110, 111, 112, 116, 121], "neg": [19, 36, 59, 110], "nest": [17, 34, 39, 40, 47, 57, 88, 97], "net": 118, "neutral": [59, 116], "new": [0, 8, 26, 29, 42, 47, 69, 84, 92, 93, 95, 108, 109, 110, 112, 116], "new_compon": [77, 96], "new_components_from_config": 77, "new_dim": 93, "new_embed": 93, "new_turn": 92, "next": [24, 40, 94, 95, 99, 102, 106, 108, 110, 112, 121], "nget": 112, "nkei": 54, "nlg": 95, "nlp": [8, 26, 29, 94, 98, 110, 111], "nlu": 95, "nmultipli": 112, "nn": [40, 90, 118], "nnew": 110, "nnone": 112, "nnow": 101, "node": 47, "nois": 110, "non": [8, 26, 29], "none": [0, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 26, 29, 31, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 56, 57, 61, 67, 68, 69, 71, 73, 74, 75, 78, 79, 80, 82, 88, 92, 94, 96, 102, 109, 110, 111, 112], "nonetyp": 57, "nonsens": [110, 111], "normal": [19, 36, 47, 57, 88, 93, 102, 110], "normalize_np_arrai": 47, "normalize_vector": [47, 93], "nosql": 109, "note": [15, 17, 18, 19, 36, 39, 40, 47, 53, 57, 80, 90, 92, 96, 97, 108, 109, 112, 116, 121], "notebook": [108, 109], "noth": 108, "notic": [96, 99], "notimplementederror": [102, 109], "now": [15, 18, 40, 73, 88, 92, 93, 94, 96, 101, 106, 108, 109, 110, 112, 116], "np": [109, 112], "nsearch": 112, "nsum": 112, "nthe": 101, "null": [92, 101], "num": 71, "num_class": 71, "num_doc": 121, "num_row": 95, "num_shot": [67, 71], "number": [0, 8, 19, 23, 26, 29, 36, 55, 62, 63, 80, 93, 94, 95, 108, 110, 111, 112, 121], "numer": [88, 94, 109, 110], "numpi": [93, 109, 112], "numpy_sum": 112, "nyou": 43, "nz": [19, 36], "o": [82, 84, 102, 110], "o200k_bas": 110, "obj": [40, 47, 78, 82], "object": [8, 15, 17, 26, 29, 34, 39, 40, 47, 48, 52, 54, 56, 57, 59, 61, 62, 63, 68, 69, 70, 73, 74, 75, 78, 79, 81, 82, 88, 94, 96, 108, 110, 111, 112], "objecttyp": [82, 112], "observ": [24, 57, 98, 108], "obtain": [94, 95], "occur": [19, 36, 93], "occurr": 110, "off": [102, 109], "offer": [92, 96, 102, 109, 116, 118, 123], "offici": 118, "often": [19, 36, 57, 92, 93, 96, 102, 106, 109, 111], "okapi": 110, "okapi_bm25": [19, 36, 109], "old_dim": 93, "old_embed": 93, "onc": [95, 109, 110], "one": [6, 15, 24, 27, 46, 47, 80, 93, 96, 99, 101, 106, 108, 109, 110, 112], "ones": [73, 96, 110, 111], "onli": [14, 17, 19, 24, 34, 36, 39, 40, 42, 45, 47, 48, 56, 57, 61, 73, 77, 79, 88, 90, 92, 93, 96, 98, 101, 102, 106, 108, 109, 110, 112, 116, 123], "open": [84, 95, 116, 121], "openai": [11, 13, 14, 15, 16, 33, 50, 57, 79, 92, 94, 96, 99, 102, 109, 110, 112, 115, 116, 123], "openai_api_kei": [93, 102, 115], "openai_cli": [79, 93, 102, 121], "openaicli": [11, 13, 14, 15, 40, 45, 48, 50, 73, 77, 79, 90, 92, 93, 94, 96, 102, 108, 109, 110, 121], "oper": [6, 26, 27, 39, 42, 45, 57, 58, 65, 88, 92, 109, 110, 123], "operand": 112, "opinion": 116, "opro": 69, "opt": 106, "optim": [19, 36, 51, 88, 90, 92, 96, 101, 109, 110, 116, 118], "option": [0, 8, 10, 13, 14, 15, 17, 19, 21, 23, 26, 29, 34, 36, 39, 40, 42, 45, 47, 48, 50, 51, 52, 53, 55, 57, 61, 73, 74, 75, 78, 79, 80, 88, 90, 92, 96, 102, 109, 111, 112, 114, 118, 123], "optional_packag": 79, "optionalpackag": [79, 115], "opu": 99, "orang": 110, "orchestr": [45, 46, 48, 67, 92, 93, 94, 97, 106], "ord_docu": 92, "order": [8, 26, 29, 39, 40, 52, 57, 88, 92, 93, 98, 110, 111], "ordereddict": [40, 57], "org": [0, 15, 18, 19, 36, 69, 87, 88, 109], "org_docu": 92, "organ": [84, 92, 110, 116], "origin": [8, 26, 29, 42, 88, 92, 94, 109, 110], "orpo": 69, "oss": 116, "otago": [19, 36], "other": [8, 17, 24, 26, 29, 34, 40, 47, 54, 57, 77, 82, 84, 88, 90, 93, 95, 96, 97, 98, 109, 112, 113, 116, 123], "othersi": 40, "otherwis": [40, 57, 111], "our": [32, 39, 40, 48, 61, 71, 84, 85, 88, 90, 92, 93, 96, 97, 99, 102, 106, 108, 109, 110, 112, 113, 114, 115, 116, 118, 119, 121], "ourselv": 116, "out": [88, 90, 95, 96, 98, 102, 108, 109, 110, 112, 116], "outcom": [8, 26, 29], "outer": 88, "outlin": [38, 65, 95, 108], "outperform": 108, "output": [8, 13, 14, 16, 19, 21, 24, 26, 29, 33, 34, 36, 39, 40, 43, 45, 46, 47, 48, 54, 57, 61, 67, 68, 71, 73, 74, 80, 88, 90, 92, 94, 97, 99, 101, 102, 106, 108, 109, 110, 111, 116, 121, 123], "output_1": 109, "output_2": 109, "output_3": 109, "output_data_class": 112, "output_data_obj": 68, "output_format": [43, 96, 101, 112, 123], "output_format_str": [17, 43, 96, 101, 106, 112], "output_pars": [38, 112], "output_processor": [0, 17, 21, 34, 36, 45, 48, 67, 93, 94, 97, 108, 109, 110, 112, 121], "output_str": 101, "outputformat": 88, "outputpars": [14, 17, 34, 112, 118], "outstand": 123, "over": [40, 46, 87, 90, 106, 110, 116, 118], "overal": [39, 95, 98, 108, 112], "overflow": 93, "overhead": 46, "overlap": [8, 26, 29, 88, 110, 111], "overpr": 110, "overrid": [94, 108, 110], "overview": [92, 95], "overwrit": 39, "own": [8, 14, 29, 39, 40, 47, 53, 74, 87, 88, 93, 95, 102, 109, 116, 121], "p": 102, "p1": 112, "p2": 112, "packag": [79, 84, 88, 94, 109, 110, 114, 116, 118], "pad": 102, "page": [8, 26, 29, 84, 108, 110, 111], "paid": 101, "pain": 90, "pair": 109, "paitesanshi": 87, "palletsproject": 106, "panel": [92, 109], "paper": [15, 19, 36, 95, 108, 109], "paragraph": 110, "parallel": 87, "param": [40, 47, 51, 62, 90, 96], "paramet": [8, 10, 13, 14, 15, 17, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 45, 47, 48, 50, 52, 53, 55, 57, 59, 61, 63, 67, 69, 73, 74, 75, 77, 78, 79, 80, 82, 88, 90, 97, 108, 110, 112, 116, 121], "parent": 110, "parent_doc_id": [8, 26, 29, 57, 92, 110, 111], "pari": [101, 102, 112], "pars": [10, 13, 14, 15, 16, 17, 33, 34, 46, 47, 48, 50, 54, 56, 57, 96, 97, 102, 108, 112], "parse_chat_complet": [10, 13, 14, 15, 50, 102], "parse_embedding_respons": [14, 15, 16, 32, 33, 50, 102], "parse_func_expr": [56, 112], "parse_function_call_expr": [47, 112], "parse_json_str_to_obj": 47, "parse_yaml_str_to_obj": 47, "parsed_input": [57, 112], "parser": [14, 17, 34, 97, 108, 110, 112], "part": [47, 87, 96, 97, 106, 109, 110, 122], "parti": [39, 80, 109], "particip": 113, "particl": [92, 109], "particulai": 95, "particular": [45, 50, 53, 90, 96, 97, 101, 118], "particularli": 110, "pass": [14, 19, 23, 36, 40, 45, 47, 48, 52, 57, 61, 88, 90, 93, 96, 99, 102, 106, 108, 109, 110, 112], "passag": [8, 26, 29, 110, 111], "past": [57, 106], "path": [19, 36, 53, 73, 75, 79, 95, 97, 121], "path_to_html_output": 84, "pattern": [16, 33, 40, 46, 47, 57], "pdf": [8, 19, 26, 29, 36, 111], "pdfminer": [8, 26, 29, 111], "per": 57, "percent": 106, "perform": [42, 61, 67, 68, 71, 92, 93, 95, 96, 98, 101, 106, 108, 109, 110, 111, 116, 121], "perhap": 101, "period": [8, 26, 29, 111], "perplex": 95, "persist": [9, 19, 31, 36, 42, 53, 57, 90, 92, 109], "persit": 92, "person": [39, 123], "pgvector": [79, 109, 115], "phase": 110, "philosophi": [89, 97], "phoenix": 116, "photon": [92, 109], "phrase": 109, "pickabl": 90, "pickl": [40, 42, 78, 92, 109], "picklabl": [40, 42], "pickle_to_fil": 40, "piec": [8, 26, 29, 110], "pip": [79, 80, 84, 115], "pipelin": [9, 15, 31, 40, 42, 77, 90, 93, 95, 96, 98, 109, 118, 122], "pkl": [42, 77, 92], "place": [51, 112, 115], "placehold": 106, "plai": [38, 50, 65, 92, 99, 106, 109, 110], "plain": 111, "plan": [97, 102, 108, 115], "plann": 87, "planner": 0, "platform": [14, 95, 96, 112, 113], "pleas": [8, 17, 26, 29, 34, 39, 46, 48, 61, 79, 80, 84, 85, 90, 93, 95, 96, 102, 108, 109, 110, 111, 112, 116, 120, 123], "plenti": 90, "plot": 89, "plug": [50, 116], "poetri": [84, 116], "point": [8, 26, 29, 73, 88, 111, 112, 121], "pollut": [92, 109], "pool": 109, "pop": [42, 92], "popular": [87, 95, 110], "posit": [24, 40, 47, 57, 59, 80, 92, 94, 109, 110, 112], "possibl": 88, "post": [21, 36, 109], "postgr": 109, "postgres_retriev": 36, "postgresql": 109, "postprocessor": 116, "potenti": [24, 47, 88, 99, 108, 111], "power": [92, 109, 118], "powershel": 80, "practic": [109, 110, 116], "practis": [90, 109], "pre": [92, 95, 116], "precis": [95, 109], "pred_answ": [59, 61], "predefin": 47, "predict": [39, 48, 57, 59, 61, 73, 88, 95, 96, 97, 99, 101, 106, 121], "prefer": [24, 109, 112], "prefix": [39, 40, 47, 106, 123], "prepar": [21, 36, 92, 94, 109, 110, 112], "prepend": 40, "preprint": 95, "preprocess": [8, 29, 55, 110], "prescript": 90, "presenc": [19, 36], "preserv": 88, "preset": [0, 48, 52, 106, 110], "preset_prompt_kwarg": [17, 34, 52, 73, 101, 108, 109, 110, 121], "pretti": 109, "prevent": [8, 26, 29, 110, 111], "previou": [24, 40, 69, 92, 96, 108, 110, 111, 121], "previous": [14, 40, 52, 109], "principl": 116, "print": [8, 17, 19, 26, 29, 34, 36, 39, 40, 46, 47, 52, 54, 57, 80, 88, 92, 93, 94, 95, 96, 102, 106, 108, 109, 110, 111, 112, 121, 123], "print_prompt": [48, 52, 92, 96], "print_prompt_templ": 52, "printc": 80, "printout": [90, 92, 106, 109, 112], "prior": 80, "priorit": 109, "pro": [92, 109], "prob": 109, "probab": 109, "probabl": [14, 109, 110], "problem": [108, 109, 112, 116], "procesor": 93, "process": [8, 18, 21, 24, 26, 29, 36, 42, 45, 54, 57, 84, 88, 90, 92, 93, 94, 95, 96, 97, 98, 101, 106, 108, 109, 110, 111, 112, 116, 121], "process_queri": 112, "processor": [17, 34, 45, 48, 57, 67, 96, 97], "produc": [92, 109, 121], "product": [8, 29, 92, 93, 95, 98, 109, 110], "production": 116, "profess": 109, "profil": [109, 110], "program": 88, "programmat": [97, 106], "prohibit": 84, "project": [14, 65, 74, 75, 84, 93, 101, 113, 114, 115, 119], "project_nam": [73, 74, 75], "prompt": [0, 14, 17, 21, 24, 34, 36, 39, 40, 43, 48, 52, 57, 68, 73, 75, 80, 88, 90, 92, 96, 97, 98, 99, 101, 102, 108, 109, 110, 112, 116, 117, 118, 121, 123], "prompt_build": [58, 96, 106, 112, 121, 123], "prompt_kwarg": [0, 48, 52, 74, 90, 92, 96, 101, 106, 112], "prompt_stat": [75, 101], "prompt_templ": 123, "prompt_token": [57, 102], "prompt_vari": [40, 90, 96, 101, 106, 109, 118], "promt_kwarg": 0, "properli": 123, "properti": [42, 47, 56, 57, 74, 75, 88, 93, 108, 112], "propetriari": 99, "propos": [67, 69], "proprietari": [106, 116], "protocol": [50, 95, 97, 109], "provid": [8, 21, 24, 26, 29, 32, 36, 38, 39, 40, 47, 50, 51, 52, 58, 65, 69, 73, 74, 80, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 112, 116, 118, 121, 123], "proxim": 109, "pt": 102, "publish": [0, 18], "pull": 84, "punchlin": 123, "punctuat": [8, 26, 29, 111], "pure": 96, "purpos": [8, 26, 29, 90, 92, 111, 121], "purposli": 40, "pursuit": 87, "push": 84, "put": [88, 90, 93, 98, 109, 116], "py": [57, 84, 115, 116, 121], "pydant": [39, 88], "pydata_sphinx_them": 84, "pypdf2": [8, 26, 29, 111], "python": [8, 17, 24, 26, 29, 34, 39, 47, 54, 57, 84, 88, 95, 106, 111, 115, 116], "pytorch": [39, 40, 71, 84, 88, 90, 98, 118, 123], "q": [18, 19, 36, 108], "q_i": [19, 36], "qa": 40, "qualiti": [84, 95, 96, 121], "qualnam": [39, 57, 79, 82], "quantit": 95, "queri": [0, 6, 11, 15, 17, 19, 21, 24, 27, 34, 36, 40, 57, 59, 61, 62, 63, 87, 90, 93, 95, 101, 102, 106, 108, 109, 110, 112, 118, 121], "query_1": 109, "query_1_short": 109, "query_1_token": 109, "query_1_word": 109, "query_2": 109, "query_2_short": 109, "query_or_queri": [21, 36, 110], "query_str": [57, 92], "question": [8, 17, 18, 26, 29, 34, 39, 47, 61, 88, 90, 95, 101, 108, 111, 113, 116, 121, 123], "quick": [56, 108, 110], "quickli": [92, 109, 116], "quit": [96, 106, 109], "quot": [24, 112], "r": [24, 40, 52, 84, 90, 96, 102, 106, 109, 112, 118, 121, 123], "rag": [87, 95, 108, 109, 110, 116, 118, 122], "rag_hotpotqa": 121, "raga": 95, "rais": [8, 26, 29, 39, 47, 79, 88, 93, 96, 102, 109], "random": [54, 71], "random_replac": [67, 71], "random_sampl": 71, "randomli": 71, "randomsampl": 71, "rang": [57, 61, 69, 71, 88, 95, 109, 110, 112, 121], "rank": [19, 23, 36, 110], "rank_bm25": [19, 36, 109], "rare": [19, 36], "rate": 112, "rather": [88, 93, 96], "ratio": [62, 63, 110, 121], "raw": [8, 19, 24, 29, 36, 57, 88, 96, 106, 112], "raw_respons": [21, 36, 57, 93, 96, 101, 102, 112], "re": [108, 109], "reach": [19, 36, 106, 108], "react": [24, 87], "reactag": [0, 87, 97, 108], "read": [24, 73, 99, 106, 108, 116, 123], "readabl": 84, "readi": [109, 110, 112], "readili": 95, "readm": [84, 116, 117], "real": [8, 26, 29, 92, 109, 111, 113, 118], "realiti": 106, "realli": [92, 96, 102, 108], "realtion": 109, "reason": [17, 19, 34, 36, 87, 88, 95, 97, 108, 109, 110], "reattach": [8, 26, 29], "rebuilt": 77, "recal": [62, 95, 109, 121], "recall_list": [62, 95, 121], "receiv": [94, 99, 110], "recogn": 116, "recognit": 98, "recommend": [95, 115], "recomnend": 71, "recomput": 109, "reconstruct": [77, 88], "reconstructed_from_json": 88, "reconstructed_from_yaml": 88, "record": [57, 73, 74, 92, 96, 110], "recreat": 77, "recurs": [40, 47, 90], "red": 80, "reduc": [92, 109], "refer": [0, 8, 11, 14, 15, 19, 26, 29, 36, 39, 40, 48, 61, 84, 95, 108, 110, 111, 123], "reference_text": 95, "reflect": [8, 26, 29, 111], "regardless": 112, "regex": 47, "regist": [42, 74, 81, 92, 102], "register_compon": 40, "register_gener": 74, "register_paramet": [40, 90], "register_transform": [42, 92], "regress": 106, "regular": 40, "reimplement": 109, "reiniti": [21, 36, 109], "rel": [19, 36], "relai": 96, "relat": [57, 109, 110], "relationship": 110, "relax": 90, "relev": [21, 36, 62, 63, 92, 93, 95, 96, 97, 99, 109, 110, 112, 121], "relevance_list": [63, 95, 121], "reli": [39, 98, 110, 112, 118], "relianc": [92, 109], "reliev": 90, "reload": 92, "reloaded_dialog_turn_db": 92, "relu": 90, "remain": [84, 94, 109], "rememb": 24, "remov": [42, 84, 92], "remove_dupl": 40, "remove_stop_word": 55, "remove_transform": [42, 92], "render": [52, 106], "renered_prompt": 112, "renew": [92, 109], "renewab": 92, "repeat": 111, "replac": [0, 71], "repo": 116, "reponse_embedder_output": 102, "report": 95, "repositori": [84, 116, 120], "repr": 69, "repr_str": 93, "repres": [39, 40, 47, 51, 88, 92, 106, 109, 110, 112, 118, 121], "represent": [39, 52, 57, 82, 94, 95, 110], "represent_ordereddict": 47, "request": 108, "requir": [17, 21, 32, 34, 36, 39, 42, 47, 48, 51, 54, 57, 59, 84, 88, 92, 99, 102, 106, 108, 109, 110, 112, 121, 123], "required_field": [39, 47, 88], "requires_opt": 51, "requr": 112, "rerank": [11, 15, 23, 36, 57, 116], "reranker_retriev": 109, "rerankerretriev": [23, 36, 109], "research": [92, 93, 95, 98, 106, 108, 109, 110, 116], "reserv": 96, "reset": [0, 19, 21, 23, 36, 42, 53, 67, 69, 92], "reset_index": [19, 21, 23, 36, 53, 110], "reset_paramet": [67, 69], "resolv": [47, 123], "resourc": [84, 108, 109], "respect": [47, 94], "respond": [96, 106, 112], "respons": [0, 14, 15, 16, 17, 21, 33, 36, 48, 50, 57, 69, 90, 92, 93, 96, 99, 102, 108, 109, 110, 112, 121], "response_format": 14, "response_str": [57, 92], "response_text": 102, "rest": [50, 90, 99, 106, 110], "restor": [19, 36, 39, 42, 53, 109], "restored_data": 39, "restored_dialog_turn_db": 92, "restructuredtext": 84, "result": [8, 19, 24, 29, 36, 40, 46, 47, 48, 57, 61, 80, 89, 94, 95, 96, 97, 98, 101, 109, 110, 111, 112, 118], "result1": 112, "result1someth": 112, "result2": 112, "result2someth": 112, "retri": [11, 13, 15, 50, 102], "retriev": [6, 8, 9, 26, 27, 29, 31, 40, 47, 57, 62, 63, 90, 92, 94, 95, 96, 97, 98, 102, 106, 111, 112, 116, 118, 121], "retrieved_context": [62, 63, 95], "retriever2": [19, 36], "retriever_1": 109, "retriever_evalu": 121, "retriever_output": [6, 27], "retriever_output_to_context_str": [6, 26, 27], "retriever_recal": [64, 95], "retriever_relev": [64, 95], "retrieverdocumentstyp": [23, 36, 109], "retrieverdocumenttyp": [19, 21, 23, 36, 53, 57, 109], "retrieverevalu": 121, "retrieveroutput": [6, 19, 21, 23, 27, 36, 53, 57, 92, 109, 110], "retrieveroutputtocontextstr": [6, 26, 27], "retrieveroutputtyp": [21, 36, 109], "retrieverqueriestyp": 109, "retrieverquerytyp": [53, 57, 109], "retrieverrecal": [62, 95], "retrieverrelev": [63, 95], "retrieverstrqueriestyp": [21, 36, 109], "retrieverstrquerytyp": 109, "return": [8, 17, 19, 21, 26, 29, 34, 36, 39, 40, 42, 45, 46, 47, 55, 57, 59, 61, 62, 63, 77, 78, 80, 82, 88, 90, 92, 93, 96, 97, 102, 106, 108, 109, 110, 111, 112, 118], "return_logg": 80, "return_tensor": 102, "review": [84, 94, 95, 110], "right": [19, 36, 47, 96, 98, 101, 109], "rigid": 116, "robust": [24, 95, 118], "roger": 18, "role": [24, 38, 39, 65, 92, 99, 102, 106, 108, 109, 116, 123], "root": [80, 115], "roug": 95, "row": 57, "rst": 84, "rule": [8, 26, 29, 98, 111], "run": [0, 15, 46, 84, 90, 92, 93, 94, 101, 108, 112, 115, 116, 123], "run_async_function_cal": 112, "run_sync_and_async_mix": 46, "run_sync_and_async_mix_without_wait": 46, "runtim": [52, 115], "safe": [47, 79], "safe_import": 79, "safe_load": 121, "sai": [88, 101, 109], "same": [21, 36, 40, 42, 55, 57, 59, 71, 80, 88, 92, 93, 96, 102, 106, 108, 109, 110, 116, 118], "sampl": [67, 71, 121], "sampler": 67, "san": 112, "sandbox": [46, 47, 56, 112], "sandbox_exec": [46, 47], "sandbox_execut": 112, "sat": 95, "satur": [19, 36, 110], "save": [19, 36, 39, 42, 53, 57, 73, 74, 75, 78, 80, 90, 92, 93, 96, 101, 109], "save_dir": [73, 74, 75, 80], "save_index": 110, "save_json": [78, 90], "save_meta_data": 74, "save_pickl": 78, "save_st": [42, 92], "save_to_fil": [19, 36, 53, 109], "scale": [109, 110], "scarecrow": 123, "scene": 99, "schema": [17, 34, 39, 47, 57, 88, 112, 123], "schmea": 88, "scope": [8, 29], "score": [8, 19, 21, 26, 29, 36, 47, 57, 61, 69, 92, 94, 95, 110, 111], "script": [80, 121], "script_nam": 80, "sdk": [15, 32, 57, 109, 115, 118], "seamless": 108, "seamlessli": 109, "search": [94, 95, 108, 109, 110, 112], "search_reranking_with_cross": 109, "second": [46, 47, 62, 63, 95, 101, 102, 109, 110, 111, 112], "secret": 99, "section": [38, 58, 65, 84, 92, 99, 106, 108, 112], "sector": [92, 109], "see": [8, 11, 13, 15, 18, 26, 29, 50, 73, 85, 88, 89, 90, 92, 94, 99, 106, 108, 109, 110, 111, 112, 116, 118], "seek": [106, 116], "seen": 92, "segment": [8, 26, 29, 111], "select": [71, 95, 121, 123], "self": [17, 34, 40, 47, 73, 88, 90, 93, 101, 102, 109, 112, 118], "semant": [92, 94, 109], "send": [106, 109], "sens": [87, 95, 101], "sensit": [39, 88, 98, 109, 118], "sensor": 109, "sent": 106, "sentenc": [8, 26, 29, 96, 108, 110, 111, 121], "sentiment": [8, 26, 29, 94, 95, 110, 111], "separ": [8, 26, 29, 50, 84, 106, 111, 116], "seq": [40, 90], "sequenc": [6, 19, 21, 23, 26, 27, 36, 45, 53, 71, 90, 92, 97, 102, 108, 109], "sequenti": [0, 40, 48, 55, 87, 92, 93, 96, 97, 108, 121], "seral": [88, 98], "sercur": 112, "seri": [8, 15, 26, 29, 99, 110, 111], "serial": [14, 39, 40, 52, 78, 88, 90, 97, 106, 109, 123], "serializ": 42, "serv": [58, 65, 90], "server": 84, "servic": 110, "session": 57, "session_id": [57, 92], "set": [0, 8, 15, 19, 21, 26, 29, 36, 40, 47, 48, 52, 61, 80, 84, 92, 93, 94, 97, 102, 108, 109, 110, 111, 114, 117, 121, 123], "set_assistant_respons": 57, "set_user_queri": 57, "setup": [42, 92, 93, 94, 96, 101, 109, 115, 116, 123], "setup_env": [93, 102, 115], "seven": 106, "sever": [90, 95], "shallow": 40, "shape": 98, "share": [8, 29, 113, 116], "shell": 116, "shift": [8, 26, 29, 110, 111], "shorten": 84, "shorter": [109, 110, 111], "shorthair": 110, "shot": [18, 39, 67, 71, 106, 108, 109, 117, 123], "should": [8, 11, 13, 14, 15, 17, 21, 26, 29, 34, 36, 39, 40, 42, 45, 50, 57, 69, 75, 90, 93, 96, 101, 106, 109, 110, 111, 112, 116, 123], "show": [17, 34, 57, 84, 90, 94, 96, 108, 109, 110, 112, 116, 121, 123], "showcas": 109, "shown": 112, "signal": 110, "signatur": [39, 88, 112, 123], "signature_json": [17, 34, 39, 88], "signature_yaml": [17, 34, 39, 88], "signific": [92, 109, 110], "significantli": [19, 36, 92, 109], "signitur": 123, "similar": [47, 57, 93, 94, 95, 106, 108, 109, 110, 118], "similaritypostprocessor": 116, "similarli": [88, 96, 101, 116], "simpl": [17, 24, 34, 71, 92, 93, 94, 96, 106, 109], "simple_prompt": 106, "simpleqa": [101, 118], "simpler": 123, "simplest": 112, "simpli": [47, 67, 87, 88, 93, 96, 109], "simplifi": [14, 92, 93, 96, 98, 101, 108, 109, 112], "simplili": 112, "simul": [46, 108, 109, 110], "singl": [42, 45, 48, 57, 61, 77, 92, 93, 95, 96, 99, 101, 106, 108, 109, 112, 123], "site": 84, "situat": [87, 93], "size": [8, 26, 29, 45, 93, 109, 110, 111], "skim": 109, "skip": 71, "skip_special_token": 15, "sleep": [46, 110, 112], "slide": [8, 26, 29, 110, 111], "slightli": 112, "small": [45, 77, 92, 93, 94, 102, 109, 110], "small_tool_manag": 112, "smaller": [8, 26, 29, 93, 97, 109, 110, 111], "smallest": [8, 26, 29, 111], "smell": 110, "smooth": 118, "snippet": [57, 84, 95, 112, 121], "so": [47, 55, 57, 87, 88, 92, 98, 99, 102, 108, 109, 111], "softwar": 98, "solar": [92, 109], "solut": [98, 110, 116, 118], "solv": [24, 108, 116, 123], "some": [21, 36, 54, 71, 88, 92, 95, 96, 101, 106, 109, 116], "someth": 112, "sometim": [61, 88, 116], "soon": 96, "sort": 52, "sort_kei": [39, 47], "sourc": [0, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 26, 27, 29, 31, 33, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 92, 108, 109, 110, 116], "space": [8, 17, 26, 29, 34, 94, 108, 110, 111], "span": 95, "speak": [112, 116], "spec": 57, "speciaf": 121, "special": [38, 65, 99, 106], "specif": [10, 13, 14, 15, 23, 24, 36, 38, 46, 48, 50, 51, 53, 56, 57, 61, 65, 88, 95, 102, 106, 108, 109, 121], "specifc": 57, "specifi": [8, 14, 26, 29, 39, 51, 57, 88, 106, 109, 110, 111, 112], "spectrum": 95, "speed": [109, 110], "spend": 98, "sphinx": 84, "split": [6, 8, 19, 26, 27, 29, 36, 84, 92, 94, 97, 109, 111, 117], "split_and_emb": 92, "split_bi": [8, 26, 29, 77, 92, 94, 110, 111], "split_funct": 110, "split_length": [77, 92, 94, 110], "split_overlap": [77, 92, 94, 110], "split_text": [8, 26, 29], "split_text_by_token_fn": 110, "split_text_by_word_fn": [19, 36, 109], "split_text_by_word_fn_then_lower_token": [19, 36, 109], "split_text_token": 19, "splitted_doc": [8, 26, 29, 94, 110, 111], "splitter": [8, 26, 29, 92, 94, 97, 109], "splitter_config": 92, "splitter_set": 110, "sql": [54, 92, 109], "sqlalchemi": [79, 92, 109, 115], "staff": 110, "stage": [93, 108, 109, 116], "stai": [90, 116], "stand": 96, "standar": [90, 98], "standard": [10, 13, 14, 15, 17, 34, 39, 46, 50, 57, 93, 96, 97, 102, 109, 112, 116, 123], "star": 95, "start": [0, 18, 24, 39, 57, 79, 82, 93, 110, 112, 121], "start_header_id": [99, 106], "start_tim": [46, 112], "starter": 69, "state": [19, 21, 23, 36, 39, 40, 42, 53, 73, 75, 77, 90, 92, 96, 97, 98, 101, 109, 110, 112], "state_dict": [40, 70, 90], "static": [39, 88], "statu": 88, "step": [0, 8, 18, 24, 26, 29, 43, 57, 69, 70, 87, 93, 96, 101, 106, 108, 109, 110, 111, 121], "step_histori": 24, "stepoutput": [57, 108], "steps_str": [43, 96, 101, 106], "stick": 96, "still": [84, 92, 96, 98, 109, 110, 111, 112], "stop": [96, 106], "storag": [8, 9, 29, 31, 42, 77, 92, 109], "store": [8, 29, 40, 42, 48, 74, 75, 88, 92, 94, 96, 101, 109, 110], "str": [0, 6, 8, 10, 11, 13, 14, 15, 17, 19, 21, 23, 24, 26, 27, 29, 34, 36, 39, 40, 42, 45, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 68, 69, 73, 74, 75, 77, 78, 79, 80, 81, 82, 88, 90, 92, 93, 96, 102, 109, 110, 111, 112, 123], "str_param": 51, "straightforward": [96, 108], "strateg": 108, "streamlin": [39, 97, 112, 123], "stress": 90, "strict": 40, "string": [0, 13, 17, 21, 24, 34, 36, 39, 47, 48, 51, 52, 54, 55, 57, 59, 61, 62, 63, 82, 84, 96, 97, 99, 106, 108, 109, 110, 112, 116, 121], "string_pars": [17, 58, 96, 110, 121], "structu": 88, "structur": [8, 14, 15, 24, 26, 29, 39, 40, 47, 50, 57, 71, 88, 92, 93, 96, 97, 101, 102, 109, 111, 112, 118, 123], "stuck": 111, "style": 84, "subclass": [11, 13, 15, 17, 19, 36, 39, 40, 50, 53, 57, 88, 89, 90, 93, 96, 97, 102, 106, 109, 112, 118], "subcompon": [40, 90, 96], "subcomponn": 90, "subject": 95, "submit": 110, "subqueri": [24, 108], "subquest": 24, "subsequ": 108, "subset": 121, "substanti": [92, 109], "substitut": 106, "subtract": 108, "success": [96, 112], "successfulli": 112, "sudden": [8, 26, 29, 110, 111], "suggest": [14, 19, 36, 108, 110], "suitabl": [8, 29], "sum": 112, "sum_": [19, 36], "summar": [95, 98, 116], "summari": [96, 123], "sunlight": [92, 109], "super": [40, 88, 90, 93, 101, 102, 118], "support": [8, 14, 18, 26, 29, 39, 46, 47, 48, 56, 57, 80, 82, 88, 93, 96, 99, 102, 109, 110, 111, 112, 115, 118, 121, 123], "support_model": 15, "support_model_list": 102, "supporting_fact": 121, "suppos": 109, "sure": [17, 34, 88, 109, 112, 115, 123], "survei": [87, 95], "sustain": [92, 109], "switch": [21, 36, 93, 102, 109, 116, 118], "sy": [24, 40, 43, 90, 92, 96, 106, 109, 112, 118], "sylphai": 84, "sync": [11, 13, 15, 40, 46, 50, 56, 57, 102, 112], "sync_client": 102, "sync_function_1": 46, "sync_function_2": 46, "sync_tool_1": 46, "sync_tool_2": 46, "syncapicli": 15, "synchron": [46, 90], "syntax": [96, 106], "system": [24, 43, 50, 52, 57, 58, 65, 87, 92, 95, 99, 102, 106, 108, 110, 116], "system_input": 14, "system_prompt": 40, "system_tim": 92, "t": [8, 14, 17, 19, 26, 29, 36, 40, 42, 47, 51, 52, 57, 99, 106, 108, 110, 111, 116], "t0": 108, "t2d": [109, 110], "t_co": [57, 71], "tabl": [92, 109, 110], "take": [0, 8, 24, 26, 29, 46, 87, 94, 96, 99, 106, 108, 109, 111, 112, 116, 118], "taken": 112, "target": 73, "task": [0, 8, 18, 24, 26, 29, 40, 43, 46, 48, 61, 69, 73, 77, 78, 90, 92, 93, 95, 96, 97, 98, 101, 106, 108, 109, 110, 112, 117, 121, 123], "task_context_str": 68, "task_desc_str": [17, 34, 43, 52, 96, 101, 106, 110, 121], "task_input_dataclass": 67, "task_output_dataclass": 67, "team": 118, "technic": [84, 95, 112], "techniqu": [90, 109], "technologi": [92, 95, 109], "temperatur": [47, 48, 102, 108, 110, 112], "templat": [17, 34, 40, 43, 48, 52, 61, 73, 84, 90, 108, 109, 110, 112, 118, 123], "template_doc": [40, 90], "tenni": 18, "tensor": [15, 39, 40, 88, 90, 123], "term": [19, 36, 110], "termin": [96, 108], "terribl": 110, "test": [11, 13, 15, 17, 40, 42, 95, 96, 109, 115, 116, 117, 118], "test_input_4": 54, "testcod": 84, "testgener": 73, "testgenerator_generator_trac": 73, "text": [8, 14, 19, 26, 29, 36, 42, 45, 47, 52, 54, 55, 57, 69, 77, 80, 88, 92, 93, 94, 95, 96, 97, 98, 102, 106, 108, 109, 116, 121], "text_splitt": [26, 94, 110, 111], "text_splitter_set": [94, 110], "textsearch": 109, "textsplitt": [8, 26, 29, 92, 109], "than": [17, 24, 34, 39, 40, 45, 69, 88, 89, 90, 93, 98, 108, 109, 111, 112, 118, 123], "thank": 57, "theater": 110, "thei": [14, 40, 42, 51, 92, 96, 98, 99, 108, 109, 110, 123], "them": [19, 36, 39, 40, 53, 54, 57, 62, 63, 84, 90, 92, 94, 95, 98, 99, 106, 109, 112, 116, 118, 121, 123], "theme": 84, "themselv": 87, "thenlper": [15, 93, 102], "therefor": 108, "thi": [8, 9, 11, 13, 14, 15, 17, 18, 21, 24, 26, 29, 31, 36, 39, 40, 42, 43, 45, 46, 47, 50, 52, 54, 57, 59, 61, 62, 63, 65, 73, 77, 80, 81, 84, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 115, 116, 118, 121, 123], "thing": [50, 98, 102], "think": [18, 116], "third": [80, 109], "those": 99, "though": [17, 102, 106, 109], "thought": [17, 18, 24, 34, 57, 88, 108, 112], "thoughtact": [17, 34], "three": [48, 93, 94, 96, 97, 98, 99, 101, 112, 116], "through": [57, 84, 92, 94, 95, 96, 101, 108, 109, 110, 116, 121], "thu": [57, 93, 106, 121], "tiktoken": [8, 26, 29, 55], "time": [24, 46, 71, 87, 94, 98, 106, 108, 109, 110, 112, 113], "time_stamp": [74, 75, 101], "timeout": 47, "timestamp": [57, 80], "titl": [57, 92, 109, 110, 121], "to_dict": [14, 19, 36, 39, 40, 51, 52, 53, 71, 82, 88, 90, 106, 109, 112], "to_dict_class": [39, 82], "to_embed": [77, 94], "to_json": [39, 57, 88, 112, 123], "to_json_exampl": 39, "to_json_obj": [39, 88], "to_json_signatur": [39, 88, 112, 123], "to_schema": [39, 88], "to_schema_str": [39, 88], "to_thread": 46, "to_yaml": [39, 57, 88, 92, 112, 123], "to_yaml_exampl": 39, "to_yaml_obj": [39, 88], "to_yaml_signatur": [39, 88, 123], "toctre": 84, "todai": [19, 36], "todo": [24, 99], "toembed": [6, 26, 27, 77, 92, 94, 110], "toembedderrespons": [94, 110], "togeth": [90, 92, 93, 94, 97, 106, 116], "token": [8, 14, 17, 19, 26, 29, 34, 36, 39, 57, 58, 63, 92, 97, 99, 102, 106, 109, 110, 111, 112, 121, 123], "tokenlogprob": [14, 57], "tokyo": 112, "tol": 47, "tolist": [15, 102], "too": [90, 92, 109, 110, 118], "took": 24, "tool": [0, 14, 24, 43, 46, 54, 56, 57, 87, 95, 96, 97, 98, 99, 101, 106, 108, 112, 116, 118], "tool_1": 46, "tool_cal": 112, "tool_choic": 14, "tool_help": 108, "tool_manag": 112, "toolmanag": [56, 118], "toolnam": [24, 108], "tools_str": [43, 96, 101, 106], "top": [19, 21, 23, 36, 40, 88, 90, 98, 108, 109, 110, 118], "top_k": [19, 21, 23, 36, 47, 53, 77, 92, 110], "top_k_docu": 92, "top_n": 11, "topic": 118, "torch": [15, 71, 79, 90, 118], "torchmetr": 95, "total": [19, 36, 62, 63, 95, 109, 112, 121], "total_docu": 109, "total_token": [57, 102], "tower": 101, "trace": [108, 117], "trace_gener": 73, "trace_generator_cal": [73, 78, 96, 101], "trace_generator_error": 101, "trace_generator_st": [73, 96, 101], "track": [57, 75, 90, 92, 96, 101, 109, 116], "tradit": 110, "trag": 111, "train": [40, 48, 71, 90, 95, 97, 99, 101, 106, 117, 121], "trainabl": 48, "trainable_param": 48, "trainer": 98, "transact": 95, "transfom": 92, "transform": [6, 15, 19, 26, 27, 36, 42, 57, 79, 92, 93, 94, 97, 102, 109, 110, 111, 115, 116], "transformed_item": [42, 92], "transformer_setup": [42, 92], "transformercli": 102, "transformerembedd": [15, 102], "transformerllm": 15, "transformerrerank": 15, "transformers_cli": [93, 102, 109], "transformerscli": [15, 23, 36, 93, 102, 109], "transit": 118, "translat": [95, 98], "transpar": [39, 88, 90, 98, 116], "treat": [110, 112], "treatment": 90, "trec": 117, "trec_data": 39, "trec_data_dict": 47, "trec_data_list": [39, 47], "trecdata": [39, 47, 88], "trecdata2": 88, "trecdatalist": [39, 47], "tredatalist": 39, "tree": 40, "trend": 110, "trim_block": 106, "tripl": [17, 34, 47, 112], "true": [0, 15, 17, 19, 34, 36, 40, 42, 47, 51, 54, 57, 61, 69, 71, 73, 80, 88, 92, 93, 94, 95, 102, 106, 108, 109, 110, 112, 121, 123], "truli": 96, "truncat": 102, "truth": [59, 61, 62, 63, 69, 92, 95, 109, 121], "try": [98, 102, 112], "tuna": 110, "tune": 110, "tupl": [40, 47, 59, 61, 62, 63, 71, 79, 80], "turbo": [40, 47, 48, 90, 92, 96, 99, 102, 109, 110, 112], "turn": [57, 92, 94, 96, 108], "turn_db": [9, 31], "tutori": [84, 90, 108, 110, 111, 121, 123], "two": [15, 17, 18, 24, 42, 71, 78, 80, 89, 92, 93, 96, 101, 102, 108, 109, 112, 118], "txt": 84, "type": [8, 10, 13, 14, 15, 17, 19, 21, 23, 24, 26, 29, 34, 36, 39, 40, 42, 45, 46, 47, 50, 51, 53, 58, 59, 61, 62, 63, 69, 71, 74, 77, 79, 80, 81, 82, 84, 88, 90, 92, 93, 94, 96, 101, 102, 108, 110, 112, 121, 123], "type_hint": 47, "type_obj": 47, "typeerror": [8, 26, 29, 39, 51], "typevar": 109, "typic": [88, 90, 95, 96, 101, 102, 116], "u": [42, 88, 92, 94, 106, 109, 112], "ultim": 98, "unabl": 108, "unbias": 95, "uncas": 95, "uncased_l5_no": 95, "uncontrol": 116, "undefin": [10, 11, 13, 14, 15, 50, 57, 102], "underli": 90, "understand": [14, 15, 50, 65, 92, 95, 97, 102, 108, 109, 110, 112, 116], "unexpect": 95, "unifi": [39, 90, 92, 96], "union": [15, 19, 36, 47, 57, 62, 63, 102, 109], "uniqu": [40, 57, 75, 90, 98, 108, 116], "unit": [8, 26, 29, 57, 93, 110, 111, 112], "unknown": 112, "unless": 42, "unlik": [108, 110], "unmodifi": 94, "unsupport": [47, 112], "until": 106, "up": [0, 21, 36, 47, 57, 65, 84, 88, 93, 94, 96, 97, 98, 108, 109, 110, 114, 116, 117, 118, 123], "upcom": 90, "updat": [51, 52, 67, 73, 75, 84, 108, 112], "update_default_model_kwarg": 45, "update_dialog_turn": 57, "update_paramet": [67, 69], "update_prompt_kwarg": 52, "update_valu": 51, "us": [0, 6, 8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 23, 24, 26, 27, 29, 31, 34, 36, 39, 40, 42, 43, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 61, 67, 68, 69, 71, 73, 75, 77, 78, 79, 80, 81, 84, 87, 88, 90, 92, 94, 95, 97, 98, 99, 106, 108, 110, 112, 115, 116, 117, 118, 121, 123], "usag": [8, 17, 24, 26, 29, 34, 57, 84, 92, 94, 96, 102, 108, 109], "use_cas": [116, 117, 121], "use_llm_as_fallback": 0, "use_token": [19, 36, 109], "user": [0, 9, 14, 17, 19, 21, 24, 31, 32, 34, 36, 40, 43, 45, 47, 48, 57, 69, 84, 87, 88, 90, 92, 93, 96, 97, 98, 99, 101, 102, 106, 108, 109, 110, 112, 118], "user_id": [57, 92], "user_queri": [57, 92], "user_query_timestamp": [57, 92], "user_tim": 92, "userqueri": [57, 92], "usual": 101, "util": [8, 26, 29, 32, 57, 71, 90, 93, 95, 96, 97, 102, 108, 110, 111, 115], "uuid": 57, "uuid4": 57, "v": [24, 47, 98], "v2": 11, "v3": [11, 109], "valid": [17, 24, 34, 47, 54, 112], "validate_data": 47, "valu": [17, 19, 36, 39, 47, 51, 54, 57, 59, 62, 63, 68, 79, 82, 88, 112], "valueerror": [8, 26, 29, 47, 102], "varaibl": 106, "vari": [18, 99], "variabl": [47, 48, 52, 57, 93, 96, 102, 106, 112, 114, 116], "varieti": 95, "variou": [38, 47, 65, 84, 90, 96, 108, 109, 113, 121, 122], "vast": 96, "ve": 123, "vector": [8, 26, 29, 57, 77, 92, 93, 94, 109, 110, 111], "vectorizer_set": [94, 110], "vectorstor": 110, "vendor": 116, "verbos": 88, "veri": [19, 36, 111, 116], "verif": 108, "version": [42, 78, 80, 84, 108, 109, 115], "via": [45, 46, 48, 50, 51, 56, 73, 87, 88, 90, 93, 94, 95, 96, 97, 98, 102, 110, 112], "video": 109, "view": [84, 112], "visit": [10, 11, 13, 101, 108], "visual": [90, 93, 106, 118], "vote": 95, "vouch": 116, "wa": [39, 99, 110, 123], "wai": [15, 18, 39, 42, 56, 88, 90, 92, 93, 102, 109, 110, 111, 112, 116], "walk": 121, "wand": 110, "want": [17, 34, 39, 45, 57, 73, 88, 93, 96, 98, 106, 109, 112, 116, 118, 123], "warn": [48, 80, 84], "wast": [92, 109], "watch": [94, 110], "water": [90, 96, 98], "we": [8, 14, 24, 26, 29, 32, 39, 40, 42, 47, 48, 50, 52, 54, 55, 57, 75, 78, 84, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 101, 102, 106, 108, 109, 110, 111, 112, 116, 118, 121, 123], "weather": 112, "web": [84, 95], "weight": [19, 36, 40, 67, 90], "weights_per_class": [67, 71], "welcom": [65, 110], "well": [17, 40, 42, 87, 89, 92, 98, 106, 108, 109, 123], "what": [14, 21, 24, 36, 39, 47, 87, 88, 90, 92, 93, 94, 96, 101, 102, 106, 109, 110, 111, 112, 123], "when": [6, 14, 19, 24, 27, 36, 39, 42, 45, 51, 52, 57, 67, 79, 92, 93, 94, 95, 96, 99, 101, 106, 108, 109, 110, 111, 112, 116, 123], "whenev": [96, 102], "where": [8, 26, 29, 57, 73, 80, 92, 96, 98, 99, 101, 106, 109, 110, 112, 116], "whether": [0, 19, 36, 42, 47, 53, 93, 96], "which": [0, 8, 11, 13, 15, 19, 21, 26, 29, 36, 39, 42, 45, 46, 50, 57, 69, 71, 80, 87, 88, 90, 92, 93, 95, 96, 97, 99, 101, 106, 108, 109, 110, 111, 112, 116, 121], "while": [47, 88, 92, 97, 98, 109], "white": 80, "who": [17, 34, 53, 96, 97, 99, 109, 118], "whole": [40, 57, 97, 109, 121], "why": [24, 57, 90, 92, 93, 97, 102, 109, 116, 123], "wide": [88, 95, 98, 109, 110], "wider": 118, "wiki": [19, 36, 108, 109], "wikidata": 106, "wikipedia": [19, 36, 106, 108, 109], "win": 123, "wind": [92, 109], "window": [8, 26, 29, 80, 109, 110, 111], "within": [39, 40, 47, 84, 87, 97, 110, 118], "without": [18, 21, 36, 39, 46, 47, 54, 57, 80, 92, 96, 99, 106, 109, 110, 112, 116, 118], "won": [57, 99, 111], "word": [8, 19, 26, 29, 36, 55, 77, 92, 94, 95, 99, 109, 110, 111], "work": [8, 26, 29, 40, 42, 46, 47, 90, 92, 94, 96, 97, 101, 106, 109, 110, 123], "workabl": 96, "workflow": [97, 108], "world": [8, 19, 26, 29, 36, 42, 57, 73, 92, 98, 99, 101, 110, 111, 112, 116, 118], "world2": 42, "world3": 42, "world4": 42, "wors": [96, 101], "would": [80, 90, 94, 101, 106, 108, 109, 110], "wrap": [6, 26, 27, 40, 46, 47, 55, 88, 112], "wrapper": [10, 11, 13, 14, 73, 112], "write": [15, 47, 78, 80, 85, 86, 90, 95, 102, 106, 112, 116], "write_list_to_jsonl": 78, "written": 78, "wrong": 96, "www": [19, 36, 109], "x": [19, 36, 40, 47, 71, 90, 106, 109, 110, 112, 118], "x0c": 110, "xb": 110, "xiaoyi": 111, "xq": 110, "xx": 112, "y": [47, 112], "yaml": [17, 34, 39, 47, 54, 56, 57, 88, 90, 112, 121, 123], "yaml_definit": [56, 112], "yaml_format_instruct": [17, 34], "yaml_obj": 54, "yaml_output_format": [17, 34], "yaml_output_format_templ": [17, 34], "yaml_pars": [17, 34, 54], "yaml_signatur": 88, "yaml_str": [17, 34, 39, 47, 54, 88], "yamloutputpars": [17, 34], "yamlpars": [17, 34, 54], "yang": 95, "ye": [61, 109, 116], "year": [62, 63, 95], "yellow": 80, "yet": [15, 48], "yield": [19, 36, 40, 110], "yin": [88, 92, 93, 102, 106, 109, 112], "yml": 47, "you": [6, 8, 11, 13, 15, 17, 18, 19, 21, 24, 26, 27, 29, 34, 36, 39, 40, 42, 45, 46, 47, 48, 50, 52, 53, 55, 56, 57, 61, 73, 77, 80, 84, 88, 90, 92, 93, 94, 95, 96, 97, 99, 101, 102, 106, 109, 110, 111, 112, 113, 115, 116, 118, 121, 123], "your": [8, 14, 17, 19, 24, 29, 34, 36, 39, 40, 48, 57, 61, 65, 77, 80, 84, 88, 90, 92, 93, 94, 95, 96, 98, 101, 102, 109, 110, 111, 112, 115, 116, 121, 123], "your_api_kei": 77, "your_api_key_if_you_use_anthrop": 115, "your_api_key_if_you_use_coher": 115, "your_api_key_if_you_use_googl": 115, "your_api_key_if_you_use_groq": 115, "your_api_key_if_you_use_hf": 115, "your_api_key_if_you_use_openai": 115, "yourself": [77, 102, 109, 115], "yupeng": 95, "zephyr": 15, "zero": [19, 36, 109, 117], "zip": 110, "zishan": 95}, "titles": ["components.agent.react", "\ufeffcomponents.api_client.anthropic_client", "\ufeffcomponents.api_client.google_client", "\ufeffcomponents.api_client.groq_client", "\ufeffcomponents.api_client.openai_client", "\ufeffcomponents.api_client.transformers_client", "components.data_process.data_components", "\ufeffcomponents.data_process.document_splitter", "components.data_process.text_splitter", "components.memory.memory", "components.model_client.anthropic_client", "components.model_client.cohere_client", "\ufeffcomponents.model_client.google_client", "components.model_client.groq_client", "components.model_client.openai_client", "components.model_client.transformers_client", "components.model_client.utils", "components.output_parsers.outputs", "components.reasoning.chain_of_thought", "components.retriever.bm25_retriever", "\ufeffcomponents.retriever.faiss_retriever", "components.retriever.llm_retriever", "\ufeffcomponents.retriever.postgres_retriever", "components.retriever.reranker_retriever", "DEFAULT_REACT_AGENT_SYSTEM_PROMPT", "components.agent", "components.data_process", "components.data_process.data_components", "components.data_process.document_splitter", "components.data_process.text_splitter", "components.memory", "components.memory.memory", "components.model_client", "components.model_client.utils", "components.output_parsers", "components.reasoning", "components.retriever", "components.retriever.postgres_retriever", "Components", "core.base_data_class", "core.component", "core.data_components", "core.db", "core.default_prompt_template", "core.document_splitter", "core.embedder", "core.func_tool", "core.functional", "core.generator", "core.memory", "core.model_client", "core.parameter", "core.prompt_builder", "core.retriever", "core.string_parser", "core.tokenizer", "core.tool_manager", "core.types", "Core", "eval.answer_match_acc", "eval.evaluators", "eval.llm_as_judge", "eval.retriever_recall", "eval.retriever_relevance", "Evaluation", "API Reference", "Optimizer", "optim.few_shot_optimizer", "optim.llm_augment", "optim.llm_optimizer", "optim.optimizer", "optim.sampler", "Tracing", "tracing.decorators", "tracing.generator_call_logger", "tracing.generator_state_logger", "Utils", "utils.config", "utils.file_io", "utils.lazy_import", "utils.logger", "utils.registry", "utils.serialization", "utils.setup_env", "Contribute to Document", "LightRAG Contribution Guide", "For Contributors", "Agent", "DataClass", "Class Hierarchy", "Component", "Data Pipeline", "Data & RAG", "Embedder", "Embedder", "LLM Evaluation", "Generator", "Tutorials", "Design Philosophy", "Introduction", "Logging", "Logging & Tracing", "ModelClient", "Optimizer", "Parser", "Parameter", "Prompt", "RAG application", "ReAct Agent", "Retriever", "Retriever", "Text Splitter", "Function calls", "Community", "Get Started", "Installation", "Introduction", "LightRAG in 10 minutes", "Introduction", "Resources", "Resources", "Evaluating a RAG Pipeline", "Use Cases", "Introduction to BaseDataClass", "<no title>"], "titleterms": {"": 108, "1": [98, 110, 112, 115], "10": 117, "2": [98, 110, 112, 115], "3": [98, 110, 112, 115], "For": 86, "In": [96, 109], "With": 109, "across": 96, "action": [88, 90, 93, 96, 109, 112], "ad": 84, "agent": [0, 25, 38, 87, 97, 108], "an": [96, 108], "answer_match_acc": 59, "anthropic_cli": [1, 10], "api": [65, 87, 88, 90, 92, 93, 96, 102, 106, 109, 112, 115], "api_cli": [1, 2, 3, 4, 5], "applat": 99, "applic": [106, 107, 116], "author": [88, 92, 93, 95, 102, 106, 109, 111, 112], "base": [97, 109], "base_data_class": 39, "basedataclass": 123, "batchembedd": 93, "bm25_retriev": 19, "bm25retriev": 109, "both": 118, "build": [84, 97, 98], "call": 112, "case": 122, "chain_of_thought": 18, "chang": 84, "chat": 99, "chunk": 111, "class": [89, 97, 106, 109], "client": [38, 58, 96], "cloud": 92, "code": 84, "cohere_cli": 11, "commit": 84, "commun": 113, "complet": 99, "compon": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 58, 65, 90, 97], "config": [77, 96], "configur": [90, 97], "context": [106, 109], "contribut": [84, 85], "contributor": 86, "control": 118, "core": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 65], "creat": 96, "custom": 111, "data": [38, 58, 88, 91, 92, 97, 99, 106, 109], "data_compon": [6, 27, 41], "data_process": [6, 7, 8, 26, 27, 28, 29], "databas": [92, 109], "dataclass": 88, "dataset": [88, 97], "db": 42, "decor": [72, 73], "deep": [98, 108], "default": 106, "default_prompt_templ": 43, "default_react_agent_system_prompt": 24, "describ": 88, "deseri": 90, "design": [88, 90, 96, 98, 106, 109, 112], "detail": 111, "dialogturn": 92, "directli": 102, "dive": 108, "do": 99, "docstr": 84, "document": [84, 92, 110, 111], "document_splitt": [7, 28, 44], "doe": 111, "embed": 58, "embedd": [45, 93, 94, 110], "embedderoutput": 93, "end": [112, 116], "environ": 115, "error": 96, "essenti": 97, "eval": [59, 60, 61, 62, 63], "evalu": [60, 64, 65, 95, 121], "evaul": 97, "exampl": [88, 96, 111], "experiment": 96, "faiss_retriev": 20, "faissretriev": 109, "few_shot_optim": 67, "file": [90, 92], "file_io": 78, "flow": [99, 106], "format": [88, 112], "foundat": 116, "from": [88, 90, 96], "func_tool": 46, "funcompon": 90, "function": [47, 112], "functionexpress": 112, "functiontool": 112, "gener": [48, 58, 96], "generator_call_logg": 74, "generator_state_logg": 75, "generatoroutput": 96, "get": [96, 114], "google_cli": [2, 12], "graph": 92, "groq_client": [3, 13], "guid": 85, "handl": 58, "hierarchi": 89, "how": [95, 111, 116], "i": [108, 116], "implement": 108, "infer": 102, "instal": 115, "instanc": 88, "instead": [99, 109], "integr": 111, "introduct": [99, 108, 116, 118, 123], "jinja2": 106, "kei": 115, "lazy_import": 79, "librari": 96, "lightrag": [85, 99, 108, 110, 112, 115, 116, 117], "llm": [88, 95, 98, 99, 106, 109], "llm_as_judg": 61, "llm_augment": 68, "llm_optim": 69, "llm_retriev": 21, "load": [88, 115], "local": [92, 93], "localdb": 109, "log": [97, 100, 101], "logger": [72, 76, 80], "memori": [9, 30, 31, 49, 109], "minimum": 96, "minut": 117, "model": [38, 58, 92, 93, 96, 102], "model_cli": [10, 11, 12, 13, 14, 15, 16, 32, 33, 50], "modelcli": 102, "need": [99, 108], "openai": 93, "openai_cli": [4, 14], "optim": [65, 66, 67, 68, 69, 70, 71, 97, 98, 103], "option": [110, 115], "orchestr": 96, "other": 111, "our": 98, "output": [17, 38, 93, 96, 112], "output_pars": [17, 34], "output_processor": 96, "over": 98, "overview": [38, 58, 64, 72, 76, 111], "packag": 115, "parallel": 112, "paramet": [51, 58, 105], "pars": 88, "parser": [38, 104], "part": 116, "pattern": 109, "philosophi": 98, "pipelin": [91, 92, 97, 121], "postgres_retriev": [22, 37], "postgresretriev": 109, "practic": 98, "previou": 99, "principl": 98, "print": 90, "process": 38, "processor": 93, "product": 118, "prompt": [58, 106], "prompt_build": 52, "protocol": 102, "qualiti": 98, "quantiti": 98, "quick": 112, "rag": [92, 97, 107, 121], "react": [0, 108], "read": 92, "reason": [18, 35], "refer": [65, 87, 88, 90, 92, 93, 96, 102, 106, 109, 112], "registri": 81, "rerank": 109, "reranker_retriev": 23, "research": 118, "resourc": [99, 119, 120], "retriev": [19, 20, 21, 22, 23, 36, 37, 38, 53, 58, 109, 110], "retriever_recal": 62, "retriever_relev": 63, "sampler": 71, "scope": 112, "score": 109, "sdk": 102, "searal": 90, "sequenti": 90, "serial": [76, 82], "set": 115, "setup": 84, "setup_env": [76, 83], "show": 88, "showmanship": 98, "simplic": 118, "souc": 84, "split": 110, "splitter": [110, 111], "standard": 84, "start": [114, 116], "storag": 97, "string": 88, "string_pars": 54, "structur": [90, 99, 116], "submodul": [25, 26, 30, 32, 34, 35, 36], "suggest": 92, "switch": 96, "templat": [58, 96, 106], "test": 84, "text": [99, 110, 111], "text_splitt": [8, 29], "textsplitt": 111, "threshold": 109, "tip": 111, "togeth": 109, "token": 55, "tool_manag": 56, "toolmanag": 112, "top_k": 109, "trace": [65, 72, 73, 74, 75, 96, 97, 101], "train": 96, "trainer": 97, "transformers_cli": [5, 15], "tutori": 97, "type": [57, 109, 111], "understand": 98, "unit": 118, "up": 115, "us": [93, 96, 102, 109, 111, 122], "util": [16, 33, 58, 65, 76, 77, 78, 79, 80, 81, 82, 83], "variabl": 115, "walkthrough": 112, "we": 99, "what": [95, 108, 116], "where": 95, "why": [99, 106, 108], "work": [88, 111], "workflow": 98, "write": [84, 92], "you": 108}}) \ No newline at end of file

    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 delta 268811 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%0AStF7W_#D}KX0|R_$rhildy z;{!fAmPeZd{j5AHENHa~ayZk~734^!!4+j6rb8>rVNAcSC?_-RSV<0Gy2nk6RFol&eXpODhKGuDsphRS_p~nh&zl6z6v1|sAd&eh7MPeMd)aph%V{fz|Fh3Q6IuO zL0h3m@JX|>GL~FbW#hm+$c?I)Ya{2B^Z}J< zB1=!DyC(6D;4AIRsLRH`pCz%8h+WWU!}vUW)dd^bsf!3`8RtbrT|%`*+qb3LHM zhKjt|P=P*;R4hXq$)S*a*+_wjjpc-BwGvj@g<|0gis&x?|A3A)_T*FIo%OV~s07(f zWPIdFo!z@SyY*;K8(EFkwUoig^GSNtM0SOGho-U<$Qw;%8pzG2G99E@vSe4Qli~Oz zJxrEeK-#3pZXj=@paf3RA1SgINXKTfH^{bT82(Pu^JdDRXLIFjYjfrLadRmk>(WAL z?rfn{f?G-%&H>tmHz5gMyv{DwCtrYiuD`{!N+q+?i z3$33I!jm zl@RnHS}PFrA^JneuHo#$ekniJYjL5ET57$@^tzP6(Msqa2q9k(N;H<4;b51PZFCH= zRLGJ^e7?lFL1^j2ESV6(3(_d8_YqaU{+OfRUlbSN$9t~7w`3ZtR_ZB5m|C_j6b65V z!f5m)REDbqG0(YLC?SaMei9eOia++0l4)Wuna*@kFWHspH8)M{t$CN5Ug|B=!eUJ@#wOjwhl(Oynn?IH2wY5X$X3@{j_$7EE1sXwvo?J^cr6d!KkWIZsPMdH5@AI z75-bN9jnr|Gw`c}{Wr}SitgcW`go}95#;$bg06j1x(L-BCd-E~gm}yELBr!axqG;* zj(Bg-wqa;oHz?f3h=j)^8zJ4G&up~Y8x%hrL*@;7eKEBkin}JJQi{vOdKZ?-uQApQm?6qpLqp|Bi;$c^WWAkf-LxAy;>dnVDHHErCF0}M$?M%G70*K zO7M9u@4ti&ti=S(Jj0)fK;JQYXv75BlqK6I$j(fkO_1Hf)h{?xC&C*p>V7Y~l7Xes ziLwIgY@LW|3mP#AbsscylJ#bH(izqVE{25aM!zKod!fvwJaHj#i8eZRDXud-~)12 zyXk*3WG3^2vSfdzC$cdA1}!%e&Ou!>G0z5lJW~#jQE90y;Cw+zjlxe|>~-2K*(pyX zw`R%e0s7Z4y0$?Uq8b}z7&U!GMujkn_`X7XS*x)ov2L~uMr_yo==E1*I~>|WKfEGa zGL4_D`Qfu=d**Xz%hpVv&&J&YO`C%npc1*u`@nJ0EiGj>%A&@rGBi44)P$kqMvoab zko}{a2J^P>!E32Nj;z87=V!G7VM?a9gkN4ui&r^hp&_HkWRA)hrs7-js%*vSUU*fe zFfBe;w%4|6H^A@O4fN4$*mjyLLxP8m8k9L%S?!!F8?*LpXfsWEO}5ikXEwv?%;puG z;PcmHgf4}XuX(&K+Y0%ztvXsLL>9toNhTJtRlH5MLD~dwO>v=I(j2 z1E=-hJd6pTU0j-f%Oz7)EH2rNX|ws7u9&Y&`r3Tig7NYTG(UEMwmY&ww$?GP--lG! z@6)L^S}2R^8*uOtU|i_jdfZarQNixL=4^HN?^QTy7^9 z$pW1CrA0dET8m{D?Y-LnpoWX~4!y`C)yGcE#C`}}6l&KtF6Q+h3OvA)TtsccLz!DQDrivVcvYLIShlou zF24N?UcdcJPX+R*htY@GGJ-R8CR-*mjaVYvFcnL59e)#4d&xZuFS%!RS*Y~lm&#z) zt+G_#jY&%}_=5j@DSANA63fubsC@1C8n!#WRyFDVGEYtVV41FQfjP2+*4uj-dV4QZ za&HXQDpF`i(#jki2fNy zQaiO*>OSDTm9jaP!QU%&n{2X5(>beTM_p;^{f$I%(X#-R*|jUNidlbFl_GxJ-Benw zT~1i7oAZIyo`#q46s8$Zbv3!QT84yqH&4T`;~SWpgVGxqRY32)q3=txHL@A=bJpmX zPp*;ebSxu-@H09t{A^a4p0AOi)Zh=3SX-W&srVz&u!Uh*dOHirhpM)PiVexP+remO;*2xyy;(j4m z;KGkhmFfQ5GCW||Aax%vuG85pzaH~`Rn3YPg)S}*?`%MqdQ{_Ih2Zy-^>`dpx>uv2 ziwjSri@56=>)z?yJv3Z5+nU9oQnMImumN4}QLPY1_QBh_^+&#g2_pC*@5t^1qd{X-O4qS9!sZJGq+d(ne`sHV%NNI=SUyp<<3?FAn9qa55OnN4nz2!qV|e36 zERcd;-6$I}jol<0G2OKVL&^9}vRV+^*mEl2q`A22_yWo%ECoT{Y^y9w#Wu^D%yif+ z+r%rq+7{=Drfk8ACg@9Buq+FT zq?^BxYQe3t8jFx>C#FcS9OZ76C7JndD;5&Y((ZS$(A8s`tPsiDO_0kc@2LrMJG#3S z+Pk;O^3XcJO%94v`%%<}a=xJSs5(Ma=>Cd+wD25iU)uE%5d;|~sK_AMp zkw^92*`V)E3N`x}!)mDy(Yx>dP?kcaK1wq_L^WnT{mucucz{I8Vha|8cRoZlRu237 zJfw9;@S6?q&_cG}+e`P4VDaT4H9m@JgtrooV%6^TLtQz;PrthT&{I+J0QN%j2!k zC+OC&SO4Bg^rVA6k@2CtkqoY{qSPqr6RatZ`CLZO(NAO$>wW$S#x&3(ConpL_CJAf z5p?GX4Dg^2PhdO%?eMAAqfaqK1^@G>m|TK3_)PW;Q+w4`&Ot~k=TOEmWa``rBp?47 z61wu4jAX_8pJ5gS+Wd3vXz}M*>Hz=y=NM=}Tbz`gVw5BGS^-~>&u1&(6w+-cF;fOb zwi@Hm@v5ir8y6qviHwEpQyngTGs&tOO~q=+P$(=qh2{5>^xuK9WkiSmjK78*-N6w-e+Go(wf3FL) zyiPZbGQQwycm@-@3TH7Gq#S4&fYBKyf1Z(jV_93j?!fOnAWO5~L7EC3OP$W(!Sl7V zxMezpNdf9Dfikq`JNzox{|i|=m;vOn?ml|s3p6miQxI@Y&SL61CucGZ{ZdY4`r4Or z2GhW=&;UWFeI*w%4f$HmVVeCle!BsU{6@}YO5ey=n3nif)3x8?w;%AuzLV2pyl*S; zD+>twO|04Q5ve=AlP~3ovh#V|NW4w(?s?falD8Hj+Mc>>@N?`1nTf)Hc-95^Dys#3 zkJLaHelI66_5VS>#&ppSa&DN~nK&I|x;_0viaLifSXaJY6rK42KkCo_QHHVN${*#+ zOp9EUFPHSbx4z{cu0+J`WFHU&QDQeZ+@{#Y?hF&?FsQ9Cf}Vi{>7= zB;$O2vFkDFnk+{DT#==M`IQFbV&y(6brths$ogN!^vCg?(Eld|w*3jSS+=*gVLuvQsK6cc>z%HnWqt9JEC7pZKgq7qN@oS8W;S0C)!RSg z{|nUqXW0rm2uAW*wS8~mH|U^WWZ4kj#fjW~jG+3n#~Q!M+PFv1nf;6G#kyC2!Kwsk z@~>E>0A2qpx_Hp=->|*|I_@_u|MEAiiGr_jL(@e!u-XCs{tc`?f_C{GZ65TU-({B= zwRu#%(7+eOc^-sQ4ZEqe5MdXbrn~#5Y!HcEq#Wa~`c9?Lo?m656}J)WXzGD=vU}9% z78Zc+(d=7TN54lGZ=uZYQT%QE25^t+-ImQj;HWq)y)Ekp=)I>j_AVU!dRrz0GXVFG z_EFRwbS!wop~oFGbI=`k@NiMsf5lzdBSx92R~`6*h^t|PDvl$ik$3Uai__`3yXds> zV#1X_u~b#(9)7dq4XsEaWWVa1TF{qwWm!tOFH51Mp}6ZFN*XlmJ{~PVN8HDt3i{c7 zgaI1=2f_dy{|CBR#{a;x4```BWtTX$S@u(GJhb_OxSnFeq>gel-ZYcfV>FO&kBj zVmk~Fkrkv~eHe$p*MDEH5Ow=YmJ4PG@s;0Cv;LCJ;=C_M@Ea0v`2~nNZPo7PvHR;U zS?dK?$q(@86^_?|{z1pL<$#|N0bKo<27l?Qa%Lo989-hPOmoA97J`3t=hq8(k#5OpGE~+Re-Jz zwi<(+54IYC%nGw&s7i=c5&wS}W|g4PAyy^)|6iCDOJNaKL3$o+1=86ND+=h95UUSJ zlTbzOheIbf)QSgmA=GLBQZUS_57Iu&ss{q+oCf?RgTQ492z$;Z|AT z@Yc%rD=aBTSc#!u=`6(`K#5=Jgc6UBvchRqgcZdqN23tvi3qC>GfyL|G^QOQtqx4z zECB!eBCUGN+>W$5Gi@4WHDx*@%1UMm5AB%3xD-_?U{z)Y9!k)d0#+4f;HD$f+Xb{+ zcqmRerBEOUC5Uzxv;xD*Wa3*kgVd|~&uC^rt3l{99d|0?UJ+y!*1A^N-KVM(hz zJ&jTJwTfAN0c96cZhk6erGl$j+^P)HtGH5MRUCEx1Nx>oYJ`fRB-JiqRmJ}Zq$3Do zNT9PCLLjXHA%^1AJJza={}D(TE{6h~-(Wf&YZZMVE}xPpOchr;$dZzl1%i+&QQxScuzP@XOT~Wl@_F88~6$~v0iCWJ{ZH-=vOd&6{NWdRs(H|z)vJtwKap- zo+sd5sMv~Ar_xphEkJJZEfiY#9)9V=^DTDEaE#h0^Y1u4bOb1-)MwyZ>7m9zS3`M+~0sk~LoZ(%xi zD^;-YN=kXFn$~VG4|D34>6PhOd6cLlC43yVg4NmSzcO8`V0C*Tk<5x#uRMv+ql#9K z7kp<`vT6lh;#@qLPq~$>#7Jh4i}+kMuW3R{s-S}?UfGJ*YK2|Ytg^K@NZCZs_ouZ} zTXvw*Rjg)O-eW$!Tn$YjyNXpsBY)1PkE>V>O)7p>txir~fas34pUfrr5#tb4(;fR;*PAgul;Rrkc4jVN@e;)yQ{_clD`lFatj7rr& zzqGl!RUnAJn_#b6gmSLfxd?q*-KreQ5S+DzGu`h(yJVnJT(XFg<1id0-)<2}3pDb^Gw46%TwCV>l1JCKX)Tbsgr(`0Vp4CD}c%&w(u|jf|(X*PU zJ&HNBoOahnd&#P0RW{Cc*Fwc}Sa)_B#?si@C?AJ)hl2lcE}tz&Aq00CGhx`sVN+>L zU9_^4uUbV0vk*~@$)$C5(N=*4Q|~%fSfJaAM%S^L7TnD)8m)kf04&0e$I&b_CK!X# zkB3@BEE_W{Aea^4W^yk5Q3s{q)~9lHk*`14c=8I$tc%f@87R(F=~XH0mT_!mb(dx( zS_vx>t)Rf2Ykhr6Lnd#$E5^{n!yuit^{rMfrW2loeoT2oI*pT17M^sbC0VUrNayDyt9lTBpTqWl z6G>O;T!^YQu;PLlLcaI8?~vWVD)NHb>IPO~;6b+hYa@Nvz-kc53~UbTM%g`3KV6TV;bYTFQQIcy6%?e?C`p@| zpwsw)Gcx0Sy3oX`9mNbXa#?4je2rzb>|zw(%z4+9{)8>mwkcYiVyqpsxT%$@ndaN+ zT2rfQkdk!Sf#bP9Y!gG>lC2~SeR}{qp{J)u)3#)c3rZ_sH{DG}C#9Hg_E5_dD^)B1 zybm2-YTIJ;N?D$grC<{LO^Q`eYYsa=cT%hlnt9~_B{#GBX|pp(}A}Uqne|vM>RmC84H;hDQt|%q9K+mnjI)|~e49E-F{JDiy z=Y?$6Yl;3r+39S?)AE++T@-@6o@i;cc_FXWTUj-=T;~wW?5#XO>ueUIQ?0CKFXXjx zYfol$Ufl(QY<|%i0~&vH#`gc5V%lJ~%M5OF-Gk_L*EhA|=vd`;fi%4h`dFoR@guyp zvM4wW=3(TcW!OtzA97m72U# ztyG@iq+lA=sht(;bQnk3?a)HL;ZP5MMJL-?4MUkhsA(K(%}(etpLejrD7(FtpX#-@ ziWXcR;yznceIdl2f6||tY-*1!DDBbwm8Sw<($4mXTrq9GT+zYmAEf@@_mw|=**LNi zKJRKZ(&Fu3(Up#v_TA}#5?4xyqjaj(L0cH_i&N3%IlRa4#JB)G>tIE!=x9Yc(ken# zI$Et?Nbv2BRy}8esexZ`p8NbpwbL-EX9jtmzbm5E#W)}_>tAoal%``%CVtShD!Ii0MU+QTcC(dGTr zp%9O`wY7(!D-_e&>Z+OFexk9Rtv*`$SNiU17o#@RK z)Z;gb?SVu-?ScVGA;`|tF35Y{nEQ4`VJk?-EHtBI?D#@>gS(;rDP@HBW;aa36r;l{ zL($!>#1~>5)!l0TLW~!?qbevn9b@aj{5(0#|gjh}#bH8ZGlPmKCe(uxSp zQJ<-S?Z*e{emeXr_2a+OWr-)iwgQ<{Ncc_45|}h9Cg&#Z(Ws6I^q)Xasi1({)J&qM zRZPTf%8^zJr>}NSH^r%~Wi@!g*ES2K@9&GrQ47 zx~ib;Kd^xVHBB+E{7EZ&BY%oP1Q&awzf=s8EYZg!(MdMd5~Q}F4<2%q8dAI72i=ci zOls}>dZN*(m819iT9vc~lDyv6>K6DNXZqY<^hG~3m!AEs3c-vZ=Y#RIK+FKC1evf=_y zv(XRvsKy|xVsU1mo_2_zS?tUF)mJ5-jdyznp*DG#jf1SdLHtEB`*cu#itE)WfvRR& zwIdmVy;SxKTj6L196M(-Jkj3HiSDk=7GAjImC;(3x;DZV5 zia1LEz%vh^(r_PA0C6EL_QjjoTHg)iXW#%k_&{p}c>v`AClq9vBMMXkVIH}?NgG5m zz^4w_?QwVjLMZ3~ln3_-1P~``aZ!)h0~BL`k0G$X*BY@NKsm^ApGg4uaV?Mc$UQ(A z2GkJ)Lvi{5LMZP6ln2L=1X^6#BeuI~pc(^LxfK4^Kur%YG%*YQYI|7wqrxhIx(4W3 zQ~~u2uq;{uNd|DcY{Y;%h+r$uCxFwY9zX@@KC}QKti$_~5I1*=QT{pFpcNy0I)Pmu z-`IpoTMwW-wD)j!FuuMCajF5D;7gnU(hSfAU*!bQ*#K^j-5B7*3+%!8C>J!+cVxK{ zm4-C(R#la}rvcmseHeJcMad^2!9#x!pd1YFaCTO8B_3pe;F<~;Y=8^}WZ6Rva!9M# z2FR|ZY(^MhXrcl}8Gygyg($`tz#Z0j2JUj4d?ph#CV2oA=VT9OXRT?Vek9; zodL$RSHRl_;7^SqiVX&Ehqal3T^uK$YXyyM9zeyp-NR+sQJs~1rw6fr*1&E9+~}e- z-ZMaKHwEl7z(%Qn0|xj{0|yPz!%`aW8=z`W1!NsINSR&=Ibwj<`Y7O-0sQ+Z;9~>4 z*+XmZxbk7X+PIRl&@tbnf!uwbYHzA?a? z!xZqH0ovFKxL|;h!xiv@0m_e5z(v*mRa{A<6mr?9T-U%=1K4Af#&rW6AFF_$4e;GK z1^jA&nd233!vNDJDBz|6vc8?9klO|sI9UOA4e+A|?i+wlv_Ose(*O%J@W22+Y2a@I zygyZ$JTgG5X$p9v+Mn~r{KqPMrUg#9P%8QGPPPJ6#r5@Y_7yGmH-K9|kb#fb0UyMM zI72*uauDX>Y`-}Wqy0q~B=l8f5M_XD4HPuM#JNhNumS#Cpn#$VShH9GF$TE$x&n$D zfIq&5uwoUE#ewok89?HUO85!|#2X-q6j0g#A8Mei0r>C?_$Y6Hq*V&2Xn+qjP}u-n zK0N+bV`MuA!iUoVsObSziPiRS9&sWA=D0fOCwTy+-_XO^Z@j78H8w!@TMB4ufLF8D zDkQ}qQ`ae=xdCQxQ$R}t+|)p819aY@G};;4=#Iq0Og>shr{L=CGKwkpTi7f*#itR zR3Y{t1Mo-X;Bv45+-VGBfRFRAe?6`=MtA^~=uLp?gSd8jXCHPj#v``B)cWHY;KM!a zEIu?4Dw8~j@-W%M*^N&q@l*p0KC6If2H+3Y!NCjzJUyp?nFeqtF`EH(+{gB>mBw5E zSqf2!I?e~t@?9X>;3W+#G#=c*>kPQh2T?AUdI04y$HUo8zE$FOAX>l9HwsvlWmMeA z8Uwg()-rID?{GUD<$;{O?EzF88$6udOp7-gpaD)?g#K0o47sX+cMUM&I=L1Mp!Zh{Ao?2%;FLO->k%B^vmg0e$MoU1f6G1E@sLdN|KKJnKtF)Da@(@HKd( z@r?&i2H$x&yZL=3zF+|U5-#+AFaRGv0>F9vhypGf4R;dP7}&vu`EC}L7h&_W2T_Us z>f!8nw0IYYHdyjpxx8gG+`wG}xJ~|G;73k_Pc%gm4?KWM;%_&H=MO%o1af^&2^$pE zz!Q&w$HRXNsB=gz;LH)2DDs9B@G-$fI2ID&$ zswI>`E2H5C+8V%Z(t&~ZIE^426M{6-Jb+50vxl?uX>m6L%#O=a20aY2sG- zFavaItAODKIG}-%2H>w{qBuqyfDc^(FxCJ?vT(i%5a;#{l1HfDFKAuOLx<+zLl=SVf&>uQ4j_xYioL9mv}Ta0jx{0PaAx7{DFKy9RIv zveN+WK=v^3fWKI8^QpfGZJ$QmQ?COa&OWNe2Mus0UFpAXfL1~QhYj$d296jYQ7VmN z2H2s2k5&77z~xZ~A4o+M$BoL0UJ5v2fDijA;4=f{8>E1f2KXgY0jCWxV2A?F8i2oM zid4>dfGm6Q2!(v*LF{6q6!47!c8yWMcLr!RUI7;jFmjRtelWndlNE5$03BXdz-0sE zo1uWLs|NXQrb4b8V9p!`{A_@Lc?$T|0DM3Va-$EZ;X>@E@6}DC;l8(b7{KmteTFkk z?z;i^^Y@=d-gJR-`M?10E>ghX1}L{!0gnt2{kj647+{75{x!gXY^Cwc0E?C=Am45t z|5RKvmny^;=ay(-M2-Ud4e--)1q2wN9w{Km0F_oMAjAOcS1TaQ09)25Ai@AyXVxhs z${=IcE1;kOQr=cTVFPS_M*&3*5V27KF$Unnc2LO04Nz&b0%8qtSp#ud23fX6sl*%L zwRaUz+5mhK54@H&KpGC{22kDr&krb|q5;0kRX}9}Y(J=gsvaQA9`b=gs(TRikyd#9 z2cK!xccOr<619y6p92n!L{_f;>I4a2T0z{<4-Po;KRe= zvN@|TpggqnaQ03uZf$_;CzO6$1AO(V0@@p3+Gh$#H2|Lgge1}o(Ep^5dj9Tg5dJ_c zRJs~~zX=PVy8#YrAl(2*&nOLPfDPvq(9-}t&MTm|0sgz7fW8c5soanKK_UH(%7RM@ z7+?TCTL^&+GC<-_3K(pFkY5xq)Bs~OfbWL8%edLEN@K!rxUnkPaYuc!*y|{x;=T=I z8F-)X3m@AKjR_t=-Iqxo&c3b1Z~P9IO8=+^rWy^mgXs+1W{*KQk_aAWY5?Ppa_K&( z2=c$+3-UR}zzw{{z$x}HS$ml80hEJ<9?o8_#fuH__@45ZZGd<0D_|*rEbX$~9}3Aa zDwi~{!T|iyTZFaJ05>(T+5o>lR2pjxz~>;rt>ch-Zm=kylrIQ z5UZ4Vt~9oI0F~Ko9!?#E#4Zi6PwVeAKw*DhPIR{c_)H`K?`+#s)OK;yy+_{t5S|KSsr5Xm=2<&p-zGr+lMrE$Rk zUlv!u4+i)oRsk0caIBO9E*s!_83kN5z_s!WWZBmZa=5Zm`Pl&Xt1IAF1Mrbd2=#^m zX4F!^O#`&3t$^DG*i=UWcMWhWQ33Zg!1KS|^%U}_QQ*JG=lsOvd2}stV2LI)e4zd^o%&Po?r>KpnZnpLc*wfCo^u zEXc#z=e0P*0AF-a`e6p(v!37}!T?V-5aj`~>=9{7rJx7FL!1H%8=zAc1>En3$W>U| zbhB9+paRziL$SE67MI?`KR~AUj-x?piw^s^GofViY29Tu?mA7moAE@O^4e-G%WsqY4K3NMM zRv4h+90ja20DplQ8gcjrvre>_cDlxBs3_1wt!3m}F7oA2hRxd^K!vrz!`bg>@g@Vb zb}9WW253580ox4FYJmc_8z6O|0(N=;8tk%)WxeNNJt6F8;5o;{pPNBU2R(p_>3t7p zAJF2%2Dr9V=^rt`=4A>vW`L173i#Lnb+VQ#%uKDu_r25s;$ql$oQx_xL_CXMS_$%$eEQ z-Pv-_BB0nU_^lkM@-6KINT_coq}=}D+$~I z;N|gn?tLP6MWxaz0`~;;gP>v1?gIfBMGU}00r)*>0FMP=95DcY3Bb@{0LnmQ7;d)F z|GY%}g+#9Vb(9^qvNURVHO$J8l2zYxJ zfp`JK(c`0`v|0L#*+XI00tj}I*mo;7Y0oQV7M{R zcv`@Qg9KU#c=<4aRstfvBG5*_Q%4E36X3=0V_>y|kfmP}=qTXJV+1-2c=kAfE&`f; zL!g@gj7tVadkA=Nl0Z)ZpZ`GMd9M(RQ3iE-3Ha$efj$B-I2mZ93E2A+ffoc|bTZHw zAmGkr0)qss{EdKJ124oUBjVJ=#7|9w5x0OA*9g2QV8C?(g9WU*K_FAW%9{kT1ti@j zFigNo23}Lh-8-a`D*!(?4UUWyFyJnMQ3AUCK_FiM20w!;g#t3~6BsSvg$D%2C;l982$Tr01reAfpnWibIRY?v8rYa8AUcG=d;#AvSik@;lV*mJ%G;uX(bT}mI|81B z5m+o>R22eC1YkHdsIpAJ+NuOr2uO$^uu=dp4$)9& z^xX({;_9VMB31cJ13JThp>yVI2~_OeFJudoLjo=__)0*H`c&tb0Eo+mZha$Q3xg8^ z{Mn0B0x(1yR8djc@HOGtu|&>^it_v?0m|2l0+g%23Q(?I5ujYXE&8pZIPF%8G_pnJk9{!@5DB zH>wk)0kxq*yg~8J6e48ju%>I%l@$;v}ySi~|Q1{u2idL5gT7 zlT8pv3^>quS_5jMh0d9mAw(P$w-SIs-~ezCIJ$y<7WO|N?L-B`$^m!=!DH-4-{%Q* z)_~gRqH|_A7k3wcA>qJ)3IhiQdiEsnyl5zky$L}3@D4iHNfQ-q1ObMJGY>k*$RG{K z3%kylRvHz%1U%_S;6(vj`V$x;;KzXkyxBsUr4z{!u$LRn6`;Jx6QJ777ogfL5}?{0 zBS5t~UIEzuRl5^KMYTH_0S2Zs$GOR~X&O-PAAxsV{DA#@O&4qZHxTF$cDPYWG#~@B zFz2Q6yWGGWU2g6iLM_e{@Jl9v`2yN!5m+D~dnkdo1ysl(@Q#4(CV|BQAoLww|ESn^ z(9`|w$TCrZ;Ctx#dkA*pTq&PRV3h{cmDM_D*5l$e0xU^vLwXsF#%+p-FRY1l|r2naa@O%P01boS0mw;aiNMjG}|I}!B5s}YC zCF*4YUkDh*V4r~R85|IR(e}V`j<$zAd4*j)A{we|Un9U^dR`Mhyb5)WYeJp8De}vaxNT|_^QoftZF9}GV zKou?vSjFIqfY^zoaZSKV1~&wJ$j7={0?bJPber;ykPj!5k-GwZoJ!!H01WO2o<9)K z_jLjf1;kA!@L0g;5(0k-7(bgp8Hnj+dTBiF%_HKEgu#5SvjFyS0z-L30!2d&VFd&f z(=T=*RjH@}4QZ&(nOokb;>rRp5%8K-gw z0m^7S1gCIH;>UWSl|%-x|B<6fQoe-ClLcV7K&bGqaDlARSTvN$W(YWL;7Y2}LIY}| zmCl(>xVQ}fFIPx=pDMHymE=_fItU2-fIvq9lNfXsP<}OObP-VaKLXtZ;Jet+lO6(^ zuH!k`Q%LLer1HFg^&1KF5-=2gqyk3z2#DQGAWZ-UDg+G`s1Sy{EcbVSXy6x-K_mTR z-2W(aAbtfIh!a&1(1^Kp&aA`5FA8|XV6cGid}JU~fNLv(Yyst9Sq@DM6M*pz@ilc* z$SGFI6>xDE)fp)OqZ>k%e@8bYkS`jlCq)Rp!3o##bJ7^20d;Mh%0d5E!>=g8RX{5ST_E8$AjTKkcwID9qca4kR%Qv{R=nn1A*z}A0#q{=0*bk~k=uPo z1M13RoiiuzBQKT+!0?RVmI}`ZV=*=zM?v-HJ~=u=$u&wE(E~j zS^<^eMGXM!1;oPd>j7*OaQ!<1n*}68L!j|7053N>{4|j*qJps=L1n9eGv^3=Dgc8# zf(8e9M905j$9IW_>d9UNw@?GW*bP;_&;Ysy*T4I8)@;G$2Lz=3N)-+XIK<$HfXce!9_yU>CKvxDpe6kDAN0#W z)IB!P8&);|`~_gxN&qTsC3G~KZ3KRT_doyLXa%f8aV7C1>`0w+S`syqkD zb!^}YtmvSDTn(tgNS)KgFCq8>^#`{g{Xz{$f3(h-lM<I3_)e1hkHvM`2K zXmb#-v&kt^r)m?b^QwRzPZM}uKpI!chJ=kq!__M^GgCB_pK}CE@^ZUx3Q?{t5THC; zC_s6(Sb*|usQ~5K3IWQq_YuHR5PtE~k~~{Y`#%yIu{Hm9`8ou@V}%19slrALNPn}= zndjP4@h1ZIwI{Guz^--#whMTbG`!|6A-lNFUIAA-P@OLX>|rnV3s7zy5}+LUN`P|Y zm;iR9DAD`|k(YYMzL+QeQDRq42~e(_6`))>kKiDV&{Lhr*`GC_5xS^zy7*TFaOi}) zOKGU@HLqww6|U)=IjbAlyD1>AD}g%#USo|v1bozs#}%*io~b0OeVb0OeVT0OeVj0OeV@0OeVvSBP@0x&Y-_Edk227zD?0$ger6 zdv!FR5scS4bN&D-t}mdYoj{U+V}s!M1AAyAA@$M;G#1c`>ogN^ksECxKzY$xfNHm$ z0M+g@0*(!$RyuFN;}3O3wcAxxRJ%O{sCEqmu*!gSyN8VQ(tvv3N9S~LKLj76ex+fg zKR^T0_YTrobLLjbC)*hu@|zX#wWQBec1MSvQBZ35H)>=2*^V7CA@0G|m^1MnpR z4A$y}NU}5}2Q;B+c}VBX?ttC>qM~Uj-;vuLw}CUKgNTy(PfsWnX_6qI|t4K>7No z0Ojgq0m{|C5x_MdMw%tx{UI760UFY>I%mE=m5R$D@KObcIE$SP5|zgcLIgmRS=0y< zpxOu*psYp;P)4f@P)2JB0Hd`2k3sSSdj4=aHB(0e@;qMW%&KotaeV<0Sr*+&640MP zBLR09G!~$mXvP5Ve=DmkL`7L`EkIdqCqP+!2EikA9D~P#Bb_xM$Ghm9F7A%tOVo#G zvZ&wFs|i(jUgylYT;5xNs*ol?Y4k@xaa{MlMJ5MnKo;#fXAYc0#V!H!-vj{H|1S#J z#ukPMP$shlC?h!n$Ox>|1t=SN2%cb1F`_K=G+zU9t5D~>y8LA%aIcT!$3lg18c>B- zbdJKyLNN{8ZPXvLfEt*B8VE>#n$GFsVgzt=5tinQNq;&4y#GKIN~FBCMdh;v3|vTH zo&byx3og7Rpf_v0Ex_>(X)F=|VPdh$5&_B!?{Xok-IW4VyB`Qp?XD4^+Fd6=wYyP( zYWE`q`?2>BG!`A%qJa9D+SdQOd^-ZTgNdFWqw7SMSufvW-_P%QTCh5!f?i{Q3^z>Ng%3ix&tf%^>b_yf^mvCczL z$zdZ;1WaL21_EnxS0GX>RtXR=n)?TeYRs=pBeRDYuc zsQ%Uzp!!=|fa-6Y0M*@i0(AdR^|!vLsQxAiQ2lKrK=rq=0M*}S2;c@IO!R{^L@hL+ zdD}|oOb8W=Bj{}_r0ZuyItX}tfIue!%48P-%1Czs%0^EC%7zUA+!x09uw=B40&4$D zlX3{vihlJMP`Q-AAOSrXI0QgESghg}u$DoF0M%%w0M*LSt+@Urzf?1(sHkQ}2vE(8 z5}=wXK=3v8&GjoeGFk%~@-aGRLiktobG(2XXZZX-QOL~;q%v6m1boFh(*%@1PoP-9 zuUuui00{evRb~o+psxt#2#;7$i>fd@j?OP7;Mq{+Q2phvCuvS ziY1dfhyWmyyL3($??nK&%sE~xjKvokkp4cMGrwSS2L*&&A^S%JK!{iz%&)iN^)HzW zyhh}>s9;Q5Q29=PvU*a0vU)~0p zQiYDFf`BS?);S1IOT}FgV9Z$zLyH@^hX$nIQ|ENC4Z#uAKh64mG$4HpK>M7IKuh*s z(B6QIoWNsR z%)yg=OpbB_Zzy06-`9i$o@HVZ#YXY9L&(+TTy0L`IoZu+e{cei`A`#Ikbxu`a$ZPJ zakds0R^tTU1c0*YoP+1jn8Sy{kiZj3OsaBOMNT3)3E>1E`+!Oi=kOT~4CM z61hl}ki#36kl=ktNbr6WBvn`i??6Bfum2&zt7%B^A{i3Au!RIK zBq71eLrCx<4-&kXg9NW?Ai?Vh7cA#-r4LzL0z!gI8%S_<0tuc!A&KP#&pVLA1280b z_=5zGYLMVj1QI+HK!UqGB)BI-g1aLm@FoEyMMXs=fjJ}K18@cNOM(lm>ATY#;b+vg z?M|-^-|9Mv$#(1h?(`V=$WXOC>9zes%UUh>KoD$ne@;n+)#q{7h>-cPYbOSlDKmS1 zq6y*4_oUbKKOJB#*^^$QMbvIM1k}VoarmbS{)xapwee3S{1Xp<<_s<=mzkTLlM9ZR zLA!l7_M|^-<3Dh>b>&fdElkTlPEWwJ@#FOP*nv>PxNocNS3JL@Qd(B0A%&gr6Lu*> zAOQS)6SN9J3$@>QoSy1MZJXg|>y7FG8JU@=0;sQ_tv{l`%$(6VnebtGq67VG4x$BF z8TmtoDeCgGWdJRj06lyiB3E;W>-Qi)HA~ehDXGZZ6kMiE;rx>NL-Iz9${U$A(z5UN zi}ekAlKx&LbSWgn9!DKfX}=IVxjHt)-m@ZgY=n^qUd3B}q4sF&T8O;@s^1T>H^VeJ z)ZR7{4>aafh{4Qp|tS;|JrR&g>-?(-kAH;#AptEO0+U;0pV6-S3ot?8s@RL<>IzR zPbjWtby^fq9ZL>*cu;P6>`mL_;oNN582*qnTckk{2btOSW?EVYk&l^mYlV`}^P)Yx z3J*lAkyLDTydMxBLYvx1HX1{#an`7Z0d)d!NJ{hVt+4sv0(&f`jS6^M^(nBYcEHmK zTyVi3lD-!y8NwVhJNt~5rb3)zVnybbHZ)*!mz7QMT_~`BL$hG(RC^M(aB-@=A*Pk5 z*;9Ea+8dp~sU)lN+&&G-sd3ZnwNd4rY4#XQw@Vao7vr||2L()Q#26xl!%N|b=>e&G<*XT%2HQzR~)PDDX2SRHP5GAtL@Es+@~9>imkYcfe}GG?yHTR#qhPV zz(}+ipAZyid9syshiAs(u#S#uASt6EMU{2JV_x2Fbf*jspUp=17?4Sz_A zh7iasH6N~}w?x`HQnRL`v@}no0R@_+LAYYJ@-BoaX6cDY6~=0oF}9Hww+WmAF^9Rz z-{ZCP=LC{`J#X5bWvkKz3^ZyM&o7t&%Zo`+7UTQ$cl)6xJO}$51EJTk*7DV1b@Z%s z0I6)fG`2!G6PMuuQqfwT;0U*F)pOM0sW{76QEcr!Q9e;k#g)bv#a82kVby6@%Smt~ z^7KDs9D(V-v1?dWYeRygJ`U%}1P2{2gX%kIUrDL&pk3Hr-_eb?N0^^29JfcjmC>#; z9ZOHtchtqYkLo+RvQ8~OTV2$tWo=4yRJD#IID$}NWTJyM^81Mns`yo+qoo&@rRJbl z;SWivuW9LBlyLEAR+*`#MG()JS@}6yvd`Djeh6jErOg*;=~akT%*+Wvidi~@61Dc~ z!s=RdLik~VMdq?;bkt~4E-1nGSpx^3qjzOGTJW&dH5$UO#XhM(`*Bnjk5s!X2hI2) zSq?laz&9s2zdegb=SP(=fjKj4ELK$=D!Z}Mp!lk^qVwq-}Ax1Hm210ORmd0<;(zcCSS`UGVq0~2L zsN9xIV_~ArHWnK=igqxJVk`B#iZ!U`3sm{uS&k-2WcDox?90YJKc=NJ z5Qvvpk=g7JpPzSCt>$Ys+tGxMN!cfPq-UIDXV;u`(7ELBNgmhhP@Y61ALD0hfb+9* zmyE)UXLB2eDaqR8v5CqTcsyq?)Ez62*e%_IK{@tpJJnnPdR9Xv-=cp z=1ZrziPTze@E7&{?0tjTXx%NM=vy9;f$lL7q5ZL4iE?s zA`^nN3nBor)OfI#YC?!VW=pfRG&)C16(N`(m-ZN;rADK)^m)FPnnS=o)_Zr1mYy09 z5iS{ypP;2V5R{MEz^PjL?KLf>yso7kZ=mE0IP1vWfZcg%hLcX_b7wef(rlUGtbysF z8BUr-zs+#c!6l@`spi|4#sM0kjM`~DLXHwv9S15{by%^G5jFBK?c4$7mjQkn+5FI>6Q@033_3Zq0MjQqnhvJAZl(xAk}qcRqfuvo+fE z%;iCtK9>h=qe@Sx^zmG-A2W~Zcbeyn;X(K;z_t(Ds?;y*r6Rb<$jQk4=Q?BZJSUxM z_kcP!^V2+Tw!)jvHhkT2Kfo4SR$Vw`Lwr0Aop&B$C9>2FVj{A1NTmJ{1(8_~h#iE!~EYhs@?I)ROnZMOsW)s-^A_#gG-tL-<0L@*r*@OD9%p=?a7{ zWOjR%mR3P*LS~NDS}I+mrF!eNG-xwPxIP{YkqEiU5{Nj+QXzyIWa(Rxeu7|w%cun!#FAT@hNPhn%rIgTwu75peq1R8XsKEFbl%`PpjXt`MRt-`iZiA)4b=!^JocKuA()jfGatr#f>8oRp;GkEp`qhd9+AOUopd?1_$r&- zan;$VJ>I1<@81E3NZJG8@>tppaq?I?b6-n69%yO7W0ZUe*PIvVpb;G9qN80(l#8x9 z+)*w%fKG^V(E;||C>I^gc1OABfO;XyMMuNn>aNzgbaaDFTAhw=1!G4J@njc`98#E* zH_`*2)TZK^ezs^V4$Js&c~eymC(5}0Pjy{f*UwfDi|bmqi)z>9E2ZzNyW*cA<8A$H zJ)o3sCm0Y^k7N3s6)E;92tI^2^30`yT3TEVC10BwF3+oYtXZ_wRXv(EQad9JH`3^g z+?>pe!YmK`$)KrOy3|!Ch*Xvu@591u&c52b(5=4AMdyeP%UpHx$fK%$wi@Vfe7`mvu zq?`y|&YLc2Id7_7%X!m{TJE9~*P`Vvx}&jexr+|6r`dV(I2c zrxmWa+SHxT{cQ)Jq@-d&#>mXUd1E|TW3q$;E5sZAC1vjLkjcqRe4~5EfmY6tjeci zqj&~1e9uKYn(IBDr4v;8u1a^l=c1G9#rIsv+{GmUw)en_^|w2Y_tlmwU3K}?vNgbV z7K&&R9fzQK94xPUkd|U9YH5*3ks+FeRnpP|k@{EGtZKNHdQ{cY_y{d|e-rUcH4T5L zp{3GVS~?t~rRxyqkR801pr!puT6&zKr8o#>$a-%y(NeFbTH4f%q&~1?+-t7kjuu*~ z(Mn5?+Gy!4gd}8x%iC#bXnQR!>Ohij_4}@FbX>W0%%!d=^Na%6dJ)!7&(?|Ht=F>D z)sQa&=EG$q-my5}dmvruyk5#jqyLri6#lxDr|PXz7cK899(U1lufcIw!v=Uu-i+u4 z4U=?Eq-uRN8`}>h--P3?rj>DD-*mx6YqT>LTn*~e4&B&jhI7xBmzkCOY;MlK?|#Cu zxw+A<*b2K}Cqms}>0opQ?L=$&lRC5p9DC8#h))Cq4M(x%_iWunIuV?{$n($d7Z;J;L;&Z>a8g|Er2j-;#;2B9BAZ{Q_>jr7*1-q7fPAvs^v~-#z-}YZzM=M~jX53Ue zveDFNiQ~E8^}12)R%@d}u{G+=x)J2oy_>YV_#$t)%F%en1i5KE+XcC4tK|f_>+_c3 z>;9Tn>F;%G@>bg(%ym6D%Tn4gn1I?K1XqPt#29*#zM z8xJP2-@;&hx2>_!6i~bsx3nUi5u>WR=?vMfx;vf@o-CAjIv+WG``<}l=AsG`$wLB&exa8gng<#HvizB{P_ zJmP|HRzXNW4(#U-k^Wd3EYh`Ck@*ViyI(GcbM$%&Z|IOzH?1d9Q+b2iR60DBM{jnj z8?VBATT|T)BKVwJ-)N6#yCMBzXcC8Xb<;lFva36p=U;c@xngTidIFcv>graPeEkh4 zbR*iDJ0gKjc;~yioAc%zYP)oH8wqs%-LspUPUd;t+zp?`$9CrNx1bXw zeYikNlOXOMvw?4GDFwpt0P`K~=B|*9y*;(oZD5+Pj(zQ;(sAqDi;+jIcMl^^Y%lrQ zX5z`*Z&X60wPL-yBNks=@9uzU{01JZZX4XxfuS4RWBJN$g1>Dlo>t?m$(>(_;~g}7 zqq{TK8o1HjfY;v#{cVTf3bNz)Ms;cEHf`kH{M<%2-9W0e$xT;^9aK7Ele@7OpH!OF zAOaspMEe!u=&@ApJuS6drKJfF?T$;QZr0L4hzQ4Q4+L#v>CJswI&(-%OCe4gmtKe1 zW-NVw0%tY35PM2Xzd}4QW=9~P7fZJuXlcTqTFQWUSX|oG4}OwNR=QQu(zb9dMO784 zmX+|Ld z5mvz+cSIyUb2g*8Lp79&%+xLcctAO}yh%;pwma^es^#gp5N0G=apgVmMehj%EAyVz z(0B%>VWjoalO~a&>R8_iE{gDA`O?IJbW>qrIgdKurx|uAft8$hARXqfmGjU9tXbZZ zjGjJM-qW}TKIAsHXM!^%g=c9gWvG_U57W|AQ%hGw>N}j6Z*O_eH5#f7RXuc3bF``_ zIT9b9n-}vy1*Iah%Sh^L#@42hzJv%*rEqklWuk}9O9K-GEiDyk&=}2jlVmk&;5mm)g(P`sEE*(v8bso=e6#g9 zP$lUHmVCpKJWJ^$Q=zYiHhSB>9y-~0`g-WRIiatI7Eo4S4;|Bw_4Uv}@?l?3{W`Sm zMj9`J-&N9J9iKO%U&e@0x&OKhwVqA$&{Uk9=Anhnx-^ek2y8KKLcJQ+kIkN@mi|iP zk*VF!lgeQ`awmej6rSUVNb!?28!}l-r6L8tuGw#IXsL0DmX?ULYo2Di=8LpINky=* zJJQed1}(4#j`74cpneW9eo|}sH48x#UxP6FEmcyH+2CE++Sc4*&EtG~$9N7^!7VUz zhDY5qZf&$Jwq9DfFY&6CvQjxKPeXf;0HJVE7OfF~)KuV%$u zY959*x0ZOwv2!IJ^(bVxF%kB;+xweGS_v~f5o!2lhS_*Ect%orc)^7wzx7(00*~sL zrNZM$mM)8Q6K-QObALjTZ{|!-cop8ms~I(*wI<0es#~8g_0Zz()>4mp@YBWU3fnZ^ z>N~FmUjf2W*HMf)x4xf~IXxVV0)RUS-o~9ca%2PMI_rl>IT3ypp_ZuYn zQjdE+rOA8s9viB3-xJBx>O*+l=!6f{L@Q(MjbonnW6~lXK=1t#%`<^NO*u5GL`8eJBp@(itIUjl&#o`M|W<59@ za)g2k@NybUk67}3_|UUCv^#lI6(4rO8!%bf8AZA3eu+`r=nb$!K~_H8bB0?JYJ#NE z>M%GHZb1I4z*9OS?o`0Pid@`y1Z7 pW9c}&UI&s@H|WLbyh1N)JjD-ZXFxA020?-O35bR8M$zDu{{zCRwKf0% diff --git a/_sources/developer_notes/index.rst.txt b/_sources/developer_notes/index.rst.txt index bd92915a2..b53249c89 100644 --- a/_sources/developer_notes/index.rst.txt +++ b/_sources/developer_notes/index.rst.txt @@ -76,6 +76,7 @@ Code path: :ref:`lightrag.core `. RAG Essentials ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RAG components ^^^^^^^^^^^^^^^^^^^ @@ -98,7 +99,6 @@ Code path: :ref:`lightrag.core`. For abstract classes: - ``ModelClient`` is the protocol and base class for LightRAG to **integrate all models**, either APIs or local, LLMs or Embedding models or any others. * - :doc:`generator` - The orchestrator for LLM prediction. It streamlines three components: `ModelClient`, `Prompt`, and `output_processors` and works with optimizer for prompt optimization. - - The **center component** that orchestrates the model client(LLMs in particular), prompt, and output processors for format parsing or any post processing. * - :doc:`output_parsers` - The component that parses the output string to structured data. * - :doc:`embedder` @@ -106,6 +106,7 @@ Code path: :ref:`lightrag.core`. For abstract classes: * - :doc:`retriever` - The base class for all retrievers who in particular retrieve relevant documents from a given database to add **context** to the generator. + Data Pipeline and Storage ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/developer_notes/index.html b/developer_notes/index.html index d18c5a195..812ff6329 100644 --- a/developer_notes/index.html +++ b/developer_notes/index.html @@ -511,6 +511,38 @@