From 2570e11501c84d570803f34790d8a401310588eb Mon Sep 17 00:00:00 2001 From: "Tuan Anh Nguyen Dang (Tadashi_Cin)" Date: Mon, 26 Aug 2024 08:50:37 +0700 Subject: [PATCH] feat: merge develop (#123) * Support hybrid vector retrieval * Enable figures and table reading in Azure DI * Retrieve with multi-modal * Fix mixing up table * Add txt loader * Add Anthropic Chat * Raising error when retrieving help file * Allow same filename for different people if private is True * Allow declaring extra LLM vendors * Show chunks on the File page * Allow elasticsearch to get more docs * Fix Cohere response (#86) * Fix Cohere response * Remove Adobe pdfservice from dependency kotaemon doesn't rely more pdfservice for its core functionality, and pdfservice uses very out-dated dependency that causes conflict. --------- Co-authored-by: trducng * Add confidence score (#87) * Save question answering data as a log file * Save the original information besides the rewritten info * Export Cohere relevance score as confidence score * Fix style check * Upgrade the confidence score appearance (#90) * Highlight the relevance score * Round relevance score. Get key from config instead of env * Cohere return all scores * Display relevance score for image * Remove columns and rows in Excel loader which contains all NaN (#91) * remove columns and rows which contains all NaN * back to multiple joiner options * Fix style --------- Co-authored-by: linhnguyen-cinnamon Co-authored-by: trducng * Track retriever state * Bump llama-index version 0.10 * feat/save-azuredi-mhtml-to-markdown (#93) * feat/save-azuredi-mhtml-to-markdown * fix: replace os.path to pathlib change theflow.settings * refactor: base on pre-commit * chore: move the func of saving content markdown above removed_spans --------- Co-authored-by: jacky0218 * fix: losing first chunk (#94) * fix: losing first chunk. * fix: update the method of preventing losing chunks --------- Co-authored-by: jacky0218 * fix: adding the base64 image in markdown (#95) * feat: more chunk info on UI * fix: error when reindexing files * refactor: allow more information exception trace when using gpt4v * feat: add excel reader that treats each worksheet as a document * Persist loader information when indexing file * feat: allow hiding unneeded setting panels * feat: allow specific timezone when creating conversation * feat: add more confidence score (#96) * Allow a list of rerankers * Export llm reranking score instead of filter with boolean * Get logprobs from LLMs * Rename cohere reranking score * Call 2 rerankers at once * Run QA pipeline for each chunk to get qa_score * Display more relevance scores * Define another LLMScoring instead of editing the original one * Export logprobs instead of probs * Call LLMScoring * Get qa_score only in the final answer * feat: replace text length with token in file list * ui: show index name instead of id in the settings * feat(ai): restrict the vision temperature * fix(ui): remove the misleading message about non-retrieved evidences * feat(ui): show the reasoning name and description in the reasoning setting page * feat(ui): show version on the main windows * feat(ui): show default llm name in the setting page * fix(conf): append the result of doc in llm_scoring (#97) * fix: constraint maximum number of images * feat(ui): allow filter file by name in file list page * Fix exceeding token length error for OpenAI embeddings by chunking then averaging (#99) * Average embeddings in case the text exceeds max size * Add docstring * fix: Allow empty string when calling embedding * fix: update trulens LLM ranking score for retrieval confidence, improve citation (#98) * Round when displaying not by default * Add LLMTrulens reranking model * Use llmtrulensscoring in pipeline * fix: update UI display for trulen score --------- Co-authored-by: taprosoft * feat: add question decomposition & few-shot rewrite pipeline (#89) * Create few-shot query-rewriting. Run and display the result in info_panel * Fix style check * Put the functions to separate modules * Add zero-shot question decomposition * Fix fewshot rewriting * Add default few-shot examples * Fix decompose question * Fix importing rewriting pipelines * fix: update decompose logic in fullQA pipeline --------- Co-authored-by: taprosoft * fix: add encoding utf-8 when save temporal markdown in vectorIndex (#101) * fix: improve retrieval pipeline and relevant score display (#102) * fix: improve retrieval pipeline by extending first round top_k with multiplier * fix: minor fix * feat: improve UI default settings and add quick switch option for pipeline * fix: improve agent logics (#103) * fix: improve agent progres display * fix: update retrieval logic * fix: UI display * fix: less verbose debug log * feat: add warning message for low confidence * fix: LLM scoring enabled by default * fix: minor update logics * fix: hotfix image citation * feat: update docx loader for handle merged table cells + handle zip file upload (#104) * feat: update docx loader for handle merged table cells * feat: handle zip file * refactor: pre-commit * fix: escape text in download UI * feat: optimize vector store query db (#105) * feat: optimize vector store query db * feat: add file_id to chroma metadatas * feat: remove unnecessary logs and update migrate script * feat: iterate through file index * fix: remove unused code --------- Co-authored-by: taprosoft * fix: add openai embedidng exponential back-off * fix: update import download_loader * refactor: codespell * fix: update some default settings * fix: update installation instruction * fix: default chunk length in simple QA * feat: add share converstation feature and enable retrieval history (#108) * feat: add share converstation feature and enable retrieval history * fix: update share conversation UI --------- Co-authored-by: taprosoft * fix: allow exponential backoff for failed OCR call (#109) * fix: update default prompt when no retrieval is used * fix: create embedding for long image chunks * fix: add exception handling for additional table retriever * fix: clean conversation & file selection UI * fix: elastic search with empty doc_ids * feat: add thumbnail PDF reader for quick multimodal QA * feat: add thumbnail handling logic in indexing * fix: UI text update * fix: PDF thumb loader page number logic * feat: add quick indexing pipeline and update UI * feat: add conv name suggestion * fix: minor UI change * feat: citation in thread * fix: add conv name suggestion in regen * chore: add assets for usage doc * chore: update usage doc * feat: pdf viewer (#110) * feat: update pdfviewer * feat: update missing files * fix: update rendering logic of infor panel * fix: improve thumbnail retrieval logic * fix: update PDF evidence rendering logic * fix: remove pdfjs built dist * fix: reduce thumbnail evidence count * chore: update gitignore * fix: add js event on chat msg select * fix: update css for viewer * fix: add env var for PDFJS prebuilt * fix: move language setting to reasoning utils --------- Co-authored-by: phv2312 Co-authored-by: trducng * feat: graph rag (#116) * fix: reload server when add/delete index * fix: rework indexing pipeline to be able to disable vectorstore and splitter if needed * feat: add graphRAG index with plot view * fix: update requirement for graphRAG and lighten unnecessary packages * feat: add knowledge network index (#118) * feat: add Knowledge Network index * fix: update reader mode setting for knet * fix: update init knet * fix: update collection name to index pipeline * fix: missing req --------- Co-authored-by: jeff52415 * fix: update info panel return for graphrag * fix: retriever setting graphrag * feat: local llm settings (#122) * feat: expose context length as reasoning setting to better fit local models * fix: update context length setting for agents * fix: rework threadpool llm call * fix: fix improve indexing logic * fix: fix improve UI * feat: add lancedb * fix: improve lancedb logic * feat: add lancedb vectorstore * fix: lighten requirement * fix: improve lanceDB vs * fix: improve UI * fix: openai retry * fix: update reqs * fix: update launch command * feat: update Dockerfile * feat: add plot history * fix: update default config * fix: remove verbose print * fix: update default setting * fix: update gradio plot return * fix: default gradio tmp * fix: improve lancedb docstore * fix: fix question decompose pipeline * feat: add multimodal reader in UI * fix: udpate docs * fix: update default settings & docker build * fix: update app startup * chore: update documentation * chore: update README * chore: update README --------- Co-authored-by: trducng * chore: update README * chore: update README --------- Co-authored-by: trducng Co-authored-by: cin-ace Co-authored-by: Linh Nguyen <70562198+linhnguyen-cinnamon@users.noreply.github.com> Co-authored-by: linhnguyen-cinnamon Co-authored-by: cin-jacky <101088014+jacky0218@users.noreply.github.com> Co-authored-by: jacky0218 Co-authored-by: kan_cin Co-authored-by: phv2312 Co-authored-by: jeff52415 --- .dockerignore | 13 + .env | 25 +- .gitignore | 1 + Dockerfile | 37 + README.md | 206 +- app.py | 23 +- docs/about.md | 3 + docs/images/info-panel-scores.png | Bin 0 -> 558176 bytes docs/images/models.png | Bin 0 -> 139496 bytes docs/images/pdf-viewer-setup.png | Bin 0 -> 38947 bytes docs/images/preview-graph.png | Bin 0 -> 295424 bytes docs/images/preview.png | Bin 0 -> 579582 bytes docs/pages/app/index/file.md | 12 +- docs/usage.md | 30 +- flowsettings.py | 169 +- libs/kotaemon/kotaemon/agents/react/agent.py | 33 +- libs/kotaemon/kotaemon/agents/rewoo/agent.py | 39 +- libs/kotaemon/kotaemon/agents/tools/google.py | 2 +- libs/kotaemon/kotaemon/agents/tools/llm.py | 8 +- libs/kotaemon/kotaemon/base/schema.py | 7 +- .../kotaemon/contribs/promptui/ui/chat.py | 4 +- .../kotaemon/contribs/promptui/ui/pipeline.py | 4 +- libs/kotaemon/kotaemon/embeddings/openai.py | 89 +- libs/kotaemon/kotaemon/indices/base.py | 4 +- .../indices/extractors/doc_parsers.py | 4 +- .../kotaemon/indices/ingests/files.py | 21 +- libs/kotaemon/kotaemon/indices/qa/citation.py | 4 +- .../kotaemon/indices/rankings/__init__.py | 10 +- .../kotaemon/indices/rankings/cohere.py | 18 +- .../kotaemon/indices/rankings/llm_scoring.py | 54 + .../kotaemon/indices/rankings/llm_trulens.py | 182 + .../kotaemon/indices/splitters/__init__.py | 4 +- libs/kotaemon/kotaemon/indices/vectorindex.py | 226 +- libs/kotaemon/kotaemon/llms/__init__.py | 2 + libs/kotaemon/kotaemon/llms/chats/__init__.py | 8 +- .../kotaemon/llms/chats/langchain_based.py | 24 + libs/kotaemon/kotaemon/llms/chats/openai.py | 31 +- libs/kotaemon/kotaemon/loaders/__init__.py | 7 +- .../kotaemon/kotaemon/loaders/adobe_loader.py | 4 +- .../azureai_document_intelligence_loader.py | 175 +- libs/kotaemon/kotaemon/loaders/base.py | 4 +- .../kotaemon/loaders/composite_loader.py | 4 +- libs/kotaemon/kotaemon/loaders/docx_loader.py | 27 +- .../kotaemon/kotaemon/loaders/excel_loader.py | 93 +- libs/kotaemon/kotaemon/loaders/html_loader.py | 15 +- .../kotaemon/loaders/mathpix_loader.py | 2 +- libs/kotaemon/kotaemon/loaders/ocr_loader.py | 63 +- libs/kotaemon/kotaemon/loaders/pdf_loader.py | 114 + libs/kotaemon/kotaemon/loaders/txt_loader.py | 22 + .../kotaemon/loaders/unstructured_loader.py | 2 +- libs/kotaemon/kotaemon/loaders/utils/gpt4v.py | 63 +- libs/kotaemon/kotaemon/storages/__init__.py | 4 + .../kotaemon/storages/docstores/__init__.py | 2 + .../kotaemon/storages/docstores/base.py | 7 + .../storages/docstores/elasticsearch.py | 14 +- .../kotaemon/storages/docstores/in_memory.py | 6 + .../kotaemon/storages/docstores/lancedb.py | 153 + .../storages/vectorstores/__init__.py | 2 + .../kotaemon/storages/vectorstores/base.py | 8 +- .../storages/vectorstores/in_memory.py | 4 +- .../kotaemon/storages/vectorstores/lancedb.py | 87 + .../storages/vectorstores/simple_file.py | 4 +- libs/kotaemon/pyproject.toml | 19 +- libs/kotaemon/tests/test_reader.py | 2 +- libs/kotaemon/tests/test_splitter.py | 2 +- libs/ktem/.gitignore | 1 + libs/ktem/ktem/app.py | 18 +- libs/ktem/ktem/assets/__init__.py | 6 + libs/ktem/ktem/assets/css/main.css | 65 + libs/ktem/ktem/assets/icons/delete.svg | 1 + libs/ktem/ktem/assets/icons/new.svg | 1 + libs/ktem/ktem/assets/icons/rename.svg | 1 + libs/ktem/ktem/assets/icons/sidebar.svg | 1 + libs/ktem/ktem/assets/js/main.js | 57 +- libs/ktem/ktem/assets/js/pdf_viewer.js | 99 + libs/ktem/ktem/assets/md/about.md | 3 + libs/ktem/ktem/assets/md/usage.md | 2 +- libs/ktem/ktem/db/base_models.py | 8 +- libs/ktem/ktem/embeddings/manager.py | 2 +- libs/ktem/ktem/embeddings/ui.py | 12 +- libs/ktem/ktem/index/file/base.py | 10 +- libs/ktem/ktem/index/file/graph/__init__.py | 3 + .../ktem/ktem/index/file/graph/graph_index.py | 36 + libs/ktem/ktem/index/file/graph/pipelines.py | 359 + libs/ktem/ktem/index/file/graph/visualize.py | 102 + libs/ktem/ktem/index/file/index.py | 84 +- libs/ktem/ktem/index/file/knet/__init__.py | 3 + libs/ktem/ktem/index/file/knet/knet_index.py | 47 + libs/ktem/ktem/index/file/knet/pipelines.py | 169 + libs/ktem/ktem/index/file/pipelines.py | 425 +- libs/ktem/ktem/index/file/ui.py | 389 +- libs/ktem/ktem/index/manager.py | 7 +- libs/ktem/ktem/index/ui.py | 45 +- libs/ktem/ktem/llms/manager.py | 16 +- libs/ktem/ktem/llms/ui.py | 14 +- libs/ktem/ktem/main.py | 6 +- libs/ktem/ktem/pages/chat/__init__.py | 601 +- libs/ktem/ktem/pages/chat/control.py | 170 +- libs/ktem/ktem/pages/chat/report.py | 2 +- libs/ktem/ktem/pages/help.py | 1 + libs/ktem/ktem/pages/login.py | 6 +- libs/ktem/ktem/pages/resources/__init__.py | 12 +- libs/ktem/ktem/pages/resources/user.py | 44 +- libs/ktem/ktem/pages/settings.py | 89 +- .../reasoning/prompt_optimization/__init__.py | 9 + .../prompt_optimization/decompose_question.py | 79 + .../fewshot_rewrite_question.py | 100 + .../rephrase_question_train.json | 9090 +++++++++++++++++ .../prompt_optimization/rewrite_question.py | 37 + .../suggest_conversation_name.py | 36 + libs/ktem/ktem/reasoning/react.py | 27 +- libs/ktem/ktem/reasoning/rewoo.py | 66 +- libs/ktem/ktem/reasoning/simple.py | 848 +- libs/ktem/ktem/settings.py | 4 + libs/ktem/ktem/utils/__init__.py | 3 + libs/ktem/ktem/utils/conversation.py | 20 + libs/ktem/ktem/utils/lang.py | 1 + libs/ktem/ktem/utils/render.py | 175 + libs/ktem/pyproject.toml | 2 +- scripts/migrate/__init__.py | 0 scripts/migrate/migrate_chroma_db.py | 191 + 121 files changed, 14748 insertions(+), 1063 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docs/images/info-panel-scores.png create mode 100644 docs/images/models.png create mode 100644 docs/images/pdf-viewer-setup.png create mode 100644 docs/images/preview-graph.png create mode 100644 docs/images/preview.png create mode 100644 libs/kotaemon/kotaemon/indices/rankings/llm_scoring.py create mode 100644 libs/kotaemon/kotaemon/indices/rankings/llm_trulens.py create mode 100644 libs/kotaemon/kotaemon/loaders/pdf_loader.py create mode 100644 libs/kotaemon/kotaemon/loaders/txt_loader.py create mode 100644 libs/kotaemon/kotaemon/storages/docstores/lancedb.py create mode 100644 libs/kotaemon/kotaemon/storages/vectorstores/lancedb.py create mode 100644 libs/ktem/ktem/assets/__init__.py create mode 100644 libs/ktem/ktem/assets/icons/delete.svg create mode 100644 libs/ktem/ktem/assets/icons/new.svg create mode 100644 libs/ktem/ktem/assets/icons/rename.svg create mode 100644 libs/ktem/ktem/assets/icons/sidebar.svg create mode 100644 libs/ktem/ktem/assets/js/pdf_viewer.js create mode 100644 libs/ktem/ktem/index/file/graph/__init__.py create mode 100644 libs/ktem/ktem/index/file/graph/graph_index.py create mode 100644 libs/ktem/ktem/index/file/graph/pipelines.py create mode 100644 libs/ktem/ktem/index/file/graph/visualize.py create mode 100644 libs/ktem/ktem/index/file/knet/__init__.py create mode 100644 libs/ktem/ktem/index/file/knet/knet_index.py create mode 100644 libs/ktem/ktem/index/file/knet/pipelines.py create mode 100644 libs/ktem/ktem/reasoning/prompt_optimization/__init__.py create mode 100644 libs/ktem/ktem/reasoning/prompt_optimization/decompose_question.py create mode 100644 libs/ktem/ktem/reasoning/prompt_optimization/fewshot_rewrite_question.py create mode 100644 libs/ktem/ktem/reasoning/prompt_optimization/rephrase_question_train.json create mode 100644 libs/ktem/ktem/reasoning/prompt_optimization/rewrite_question.py create mode 100644 libs/ktem/ktem/reasoning/prompt_optimization/suggest_conversation_name.py create mode 100644 libs/ktem/ktem/utils/conversation.py create mode 100644 libs/ktem/ktem/utils/lang.py create mode 100644 scripts/migrate/__init__.py create mode 100644 scripts/migrate/migrate_chroma_db.py diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0a57312 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,13 @@ +.github/ +.git/ +.mypy_cache/ +__pycache__/ +ktem_app_data/ +env/ +.pre-commit-config.yaml +.commitlintrc +.gitignore +.gitattributes +README.md +*.zip +*.sh diff --git a/.env b/.env index e033553..526100a 100644 --- a/.env +++ b/.env @@ -1,8 +1,8 @@ # settings for OpenAI OPENAI_API_BASE=https://api.openai.com/v1 -OPENAI_API_KEY= -OPENAI_CHAT_MODEL=gpt-3.5-turbo -OPENAI_EMBEDDINGS_MODEL=text-embedding-ada-002 +OPENAI_API_KEY=openai_key +OPENAI_CHAT_MODEL=gpt-4o +OPENAI_EMBEDDINGS_MODEL=text-embedding-3-small # settings for Azure OpenAI AZURE_OPENAI_ENDPOINT= @@ -15,4 +15,21 @@ AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=text-embedding-ada-002 COHERE_API_KEY= # settings for local models -LOCAL_MODEL= +LOCAL_MODEL=llama3.1:8b +LOCAL_MODEL_EMBEDDINGS=nomic-embed-text + +# settings for GraphRAG +GRAPHRAG_API_KEY=openai_key +GRAPHRAG_LLM_MODEL=gpt-4o-mini +GRAPHRAG_EMBEDDING_MODEL=text-embedding-3-small + +# settings for Azure DI +AZURE_DI_ENDPOINT= +AZURE_DI_CREDENTIAL= + +# settings for Adobe API +PDF_SERVICES_CLIENT_ID= +PDF_SERVICES_CLIENT_SECRET= + +# settings for PDF.js +PDFJS_VERSION_DIST="pdfjs-4.0.379-dist" diff --git a/.gitignore b/.gitignore index 789304e..ef2704a 100644 --- a/.gitignore +++ b/.gitignore @@ -471,3 +471,4 @@ doc_env/ # application data ktem_app_data/ +gradio_tmp/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..497a0ad --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +# syntax=docker/dockerfile:1.0.0-experimental +FROM python:3.10-slim as base_image + +# for additional file parsers + +# tesseract-ocr \ +# tesseract-ocr-jpn \ +# libsm6 \ +# libxext6 \ +# ffmpeg \ + +RUN apt update -qqy \ + && apt install -y \ + ssh git \ + gcc g++ \ + poppler-utils \ + libpoppler-dev \ + && \ + apt-get clean && \ + apt-get autoremove + +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +ENV PYTHONIOENCODING=UTF-8 + +WORKDIR /app + + +FROM base_image as dev + +COPY . /app +RUN --mount=type=ssh pip install -e "libs/kotaemon[all]" +RUN --mount=type=ssh pip install -e "libs/ktem" +RUN pip install graphrag future +RUN pip install "pdfservices-sdk@git+https://github.com/niallcm/pdfservices-python-sdk.git@bump-and-unfreeze-requirements" + +ENTRYPOINT ["gradio", "app.py"] diff --git a/README.md b/README.md index b7e124f..295875f 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # kotaemon -An open-source tool for chatting with your documents. Built with both end users and +An open-source clean & customizable RAG UI for chatting with your documents. Built with both end users and developers in mind. -https://github.com/Cinnamon/kotaemon/assets/25688648/815ecf68-3a02-4914-a0dd-3f8ec7e75cd9 +![Preview](docs/images/preview-graph.png) -[Source Code](https://github.com/Cinnamon/kotaemon) | -[Live Demo](https://huggingface.co/spaces/cin-model/kotaemon-public) +[Live Demo](https://huggingface.co/spaces/taprosoft/kotaemon) | +[Source Code](https://github.com/Cinnamon/kotaemon) [User Guide](https://cinnamon.github.io/kotaemon/) | [Developer Guide](https://cinnamon.github.io/kotaemon/development/) | @@ -14,20 +14,23 @@ https://github.com/Cinnamon/kotaemon/assets/25688648/815ecf68-3a02-4914-a0dd-3f8 [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/release/python-31013/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) + +docker pull taprosoft/kotaemon:v1.0 [![built with Codeium](https://codeium.com/badges/main)](https://codeium.com) -This project would like to appeal to both end users who want to do QA on their -documents and developers who want to build their own QA pipeline. +## Introduction + +This project serves as a functional RAG UI for both end users who want to do QA on their +documents and developers who want to build their own RAG pipeline. - For end users: - - A local Question Answering UI for RAG-based QA. + - A clean & minimalistic UI for RAG-based QA. - Supports LLM API providers (OpenAI, AzureOpenAI, Cohere, etc) and local LLMs - (currently only GGUF format is supported via `llama-cpp-python`). - - Easy installation scripts, no environment setup required. + (via `ollama` and `llama-cpp-python`). + - Easy installation scripts. - For developers: - - A framework for building your own RAG-based QA pipeline. - - See your RAG pipeline in action with the provided UI (built with Gradio). - - Share your pipeline so that others can use it. + - A framework for building your own RAG-based document QA pipeline. + - Customize and see your RAG pipeline in action with the provided UI (built with Gradio). ```yml +----------------------------------------------------------------------------+ @@ -45,78 +48,128 @@ documents and developers who want to build their own QA pipeline. ``` This repository is under active development. Feedback, issues, and PRs are highly -appreciated. Your input is valuable as it helps us persuade our business guys to support -open source. +appreciated. + +## Key Features + +- **Host your own document QA (RAG) web-UI**. Support multi-user login, organize your files in private / public collections, collaborate and share your favorite chat with others. + +- **Organize your LLM & Embedding models**. Support both local LLMs & popular API providers (OpenAI, Azure, Ollama, Groq). + +- **Hybrid RAG pipeline**. Sane default RAG pipeline with hybrid (full-text & vector) retriever + re-ranking to ensure best retrieval quality. + +- **Multi-modal QA support**. Perform Question Answering on multiple documents with figures & tables support. Support multi-modal document parsing (selectable options on UI). + +- **Advance citations with document preview**. By default the system will provide detailed citations to ensure the correctness of LLM answers. View your citations (incl. relevant score) directly in the _in-browser PDF viewer_ with highlights. Warning when retrieval pipeline return low relevant articles. + +- **Support complex reasoning methods**. Use question decomposition to answer your complex / multi-hop question. Support agent-based reasoning with ReAct, ReWOO and other agents. + +- **Configurable settings UI**. You can adjust most important aspects of retrieval & generation process on the UI (incl. prompts). + +- **Extensible**. Being built on Gradio, you are free to customize / add any UI elements as you like. Also, we aim to support multiple strategies for document indexing & retrieval. `GraphRAG` indexing pipeline is provided as an example. + +![Preview](docs/images/preview.png) ## Installation ### For end users This document is intended for developers. If you just want to install and use the app as -it, please follow the [User Guide](https://cinnamon.github.io/kotaemon/). +it is, please follow the non-technical [User Guide](https://cinnamon.github.io/kotaemon/) (WIP). ### For developers -```shell -# Create a environment -python -m venv kotaemon-env +#### With Docker (recommended) -# Activate the environment -source kotaemon-env/bin/activate +- Use this command to launch the server -# Install the package -pip install git+https://github.com/Cinnamon/kotaemon.git +``` +docker run \ +-e GRADIO_SERVER_NAME=0.0.0.0 \ +-e GRADIO_SERVER_PORT=7860 \ +-p 7860:7860 -it --rm \ +taprosoft/kotaemon:v1.0 ``` -### For Contributors +Navigate to `http://localhost:7860/` to access the web UI. + +#### Without Docker + +- Clone and install required packages on a fresh python environment. ```shell -# Clone the repo -git clone git@github.com:Cinnamon/kotaemon.git +# optional (setup env) +conda create -n kotaemon python=3.10 +conda activate kotaemon -# Create a environment -python -m venv kotaemon-env - -# Activate the environment -source kotaemon-env/bin/activate +# clone this repo +git clone https://github.com/Cinnamon/kotaemon cd kotaemon -# Install the package in editable mode pip install -e "libs/kotaemon[all]" pip install -e "libs/ktem" -pip install -e "." - -# Setup pre-commit -pre-commit install ``` -## Creating your application +- View and edit your environment variables (API keys, end-points) in `.env`. -In order to create your own application, you need to prepare these files: +- (Optional) To enable in-browser PDF_JS viewer, download [PDF_JS_DIST](https://github.com/mozilla/pdf.js/releases/download/v4.0.379/pdfjs-4.0.379-dist.zip) and extract it to `libs/ktem/ktem/assets/prebuilt` + +pdf-setup + +- Start the web server: + +```shell +python app.py +``` + +The app will be automatically launched in your browser. + +Default username / password are: `admin` / `admin`. You can setup additional users directly on the UI. + +![Chat tab](https://raw.githubusercontent.com/Cinnamon/kotaemon/main/docs/images/chat-tab.png) + +## Customize your application + +By default, all application data are stored in `./ktem_app_data` folder. You can backup or copy this folder to move your installation to a new machine. + +For advance users or specific use-cases, you can customize those files: - `flowsettings.py` -- `app.py` -- `.env` (Optional) +- `.env` ### `flowsettings.py` This file contains the configuration of your application. You can use the example -[here](https://github.com/Cinnamon/kotaemon/blob/main/libs/ktem/flowsettings.py) as the +[here](flowsettings.py) as the starting point. -### `app.py` +
-This file is where you create your Gradio app object. This can be as simple as: +Notable settings -```python -from ktem.main import App +``` +# setup your preferred document store (with full-text search capabilities) +KH_DOCSTORE=(Elasticsearch | LanceDB | SimpleFileDocumentStore) -app = App() -demo = app.make() -demo.launch() +# setup your preferred vectorstore (for vector-based search) +KH_VECTORSTORE=(ChromaDB | LanceDB + +# Enable / disable multimodal QA +KH_REASONINGS_USE_MULTIMODAL=True + +# Setup your new reasoning pipeline or modify existing one. +KH_REASONINGS = [ + "ktem.reasoning.simple.FullQAPipeline", + "ktem.reasoning.simple.FullDecomposeQAPipeline", + "ktem.reasoning.react.ReactAgentPipeline", + "ktem.reasoning.rewoo.RewooAgentPipeline", +] +) ``` -### `.env` (Optional) +
+ +### `.env` This file provides another way to configure your models and credentials. @@ -159,18 +212,22 @@ AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=text-embedding-ada-002 #### Local models -- Pros: -- Privacy. Your documents will be stored and process locally. -- Choices. There are a wide range of LLMs in terms of size, domain, language to choose - from. -- Cost. It's free. -- Cons: -- Quality. Local models are much smaller and thus have lower generative quality than - paid APIs. -- Speed. Local models are deployed using your machine so the processing speed is - limited by your hardware. +##### Using ollama OpenAI compatible server -##### Find and download a LLM +Install [ollama](https://github.com/ollama/ollama) and start the application. + +Pull your model (e.g): + +``` +ollama pull llama3.1:8b +ollama pull nomic-embed-text +``` + +Set the model names on web UI and make it as default. + +![Models](docs/images/models.png) + +##### Using GGUF with llama-cpp-python You can search and download a LLM to be ran locally from the [Hugging Face Hub](https://huggingface.co/models). Currently, these model formats are supported: @@ -187,33 +244,26 @@ Here are some recommendations and their size in memory: - [Qwen1.5-1.8B-Chat-GGUF](https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat-GGUF/resolve/main/qwen1_5-1_8b-chat-q8_0.gguf?download=true): around 2 GB -##### Enable local models +Add a new LlamaCpp model with the provided model name on the web uI. -To add a local model to the model pool, set the `LOCAL_MODEL` variable in the `.env` -file to the path of the model file. - -```shell -LOCAL_MODEL= -``` - -Here is how to get the full path of your model file: - -- On Windows 11: right click the file and select `Copy as Path`. -## Start your application +## Adding your own RAG pipeline -Simply run the following command: +#### Custom reasoning pipeline -```shell -python app.py -``` +First, check the default pipeline implementation in +[here](libs/ktem/ktem/reasoning/simple.py). You can make quick adjustment to how the default QA pipeline work. -The app will be automatically launched in your browser. +Next, if you feel comfortable adding new pipeline, add new `.py` implementation in `libs/ktem/ktem/reasoning/` and later include it in `flowssettings` to enable it on the UI. -![Chat tab](https://raw.githubusercontent.com/Cinnamon/kotaemon/main/docs/images/chat-tab.png) +#### Custom indexing pipeline -## Customize your application +Check sample implementation in `libs/ktem/ktem/index/file/graph` + +(more instruction WIP). + +## Developer guide Please refer to the [Developer Guide](https://cinnamon.github.io/kotaemon/development/) for more details. diff --git a/app.py b/app.py index 2ac7a1a..a432d17 100644 --- a/app.py +++ b/app.py @@ -1,5 +1,24 @@ -from ktem.main import App +import os + +from theflow.settings import settings as flowsettings + +KH_APP_DATA_DIR = getattr(flowsettings, "KH_APP_DATA_DIR", ".") +GRADIO_TEMP_DIR = os.getenv("GRADIO_TEMP_DIR", None) +# override GRADIO_TEMP_DIR if it's not set +if GRADIO_TEMP_DIR is None: + GRADIO_TEMP_DIR = os.path.join(KH_APP_DATA_DIR, "gradio_tmp") + os.environ["GRADIO_TEMP_DIR"] = GRADIO_TEMP_DIR + + +from ktem.main import App # noqa app = App() demo = app.make() -demo.queue().launch(favicon_path=app._favicon, inbrowser=True) +demo.queue().launch( + favicon_path=app._favicon, + inbrowser=True, + allowed_paths=[ + "libs/ktem/ktem/assets", + GRADIO_TEMP_DIR, + ], +) diff --git a/docs/about.md b/docs/about.md index 4792b87..fca0067 100644 --- a/docs/about.md +++ b/docs/about.md @@ -9,3 +9,6 @@ developers in mind. [User Guide](https://cinnamon.github.io/kotaemon/) | [Developer Guide](https://cinnamon.github.io/kotaemon/development/) | [Feedback](https://github.com/Cinnamon/kotaemon/issues) + +[Dark Mode](?__theme=dark) | +[Light Mode](?__theme=light) diff --git a/docs/images/info-panel-scores.png b/docs/images/info-panel-scores.png new file mode 100644 index 0000000000000000000000000000000000000000..274ca4995aba5a3f3fcb234e714d7284040ee1d0 GIT binary patch literal 558176 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 z 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�Pjprf69PjDXZ1&zb_*o_QZC2&=Ouk@! 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�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

udOI+mzDXz{BiPf2#F~XWp(xszH(_LFs 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/@Dgu^?^A-5&@p`N4^?-BR&>sJDog3Em)cZBpoizdU(s8v z{dNjz;hL3q#pwOMQzF>BD?6k~7QzvO;5iOt_RFD(lvAPy2 zb5_9z`r*DSL7vg@*P2fpsD;u$>W!UBu-$!bIRWQank$YF|0)!EokFW8{&8&)k~DBFn)+ z{}GKJSLD3$5&DYzc0Pykae@~Rx|3pn*glnLHiYT8&j5!;LUUAaza`h+)~pf~V#{@O zy$xz_G#y}a^L{r(qkPx3O!`Wajxr(*uE_mCFFG#Q%lBPRMd@oz{GG3sEW?^l(urA3 zaw{9+OKtAgEs^(qt{Q)sk^A-j)~q2Uos+Y678-;V_<4V_zqWIm;a}0Mwt%I|B1R#M z_4j*DmxJ0%<`lKb&;$R`Gy9`EAnKWuB;Fm--#VF(lnSEWKUorRj0ST5c)FUYB{Cjs zwbtUvbmxQfM6>ObAFb%N^~#!|OJ3i9zOyP2O7s)*(QJRddo``hy9@^?rBNgeHgY~( zg1ENnWIyM*jxbDUwh394*R&TSH$^QcbCcbsv4d}!MN-k4bBB&M9A2Ai@8|Q>iUtWs z=H;Z1Kj`mL@?XC|j&_=pj_Ryp1S>o2c=246@!v=q`|Lh&Jmox3JTpSg5hNT?39ig& zpd`oQ3sCvuXU3u*>E!AFGy0nUuaLnYh{bT*Ij^A)GZfoFZnaCm_|`kr_)Nt;jQ+N@ zA|Lb~FXqP%3eU?U2ZC}Dfrx^Y$Ls5wB!aeOhDHJR_a5W)yzO0bw$4|_6Y^{!Z~Qj* zyrDe*BnrP9`E+D_^1Z390K>LPlh!Fg5$HoF?N_g0jrr}4h0YshAYoy3dB zjPwEW^xW;6RC-|A&+|WcD;Nw*g?W<#1QD#;EMUV6>2TjL$(8iti<s=Q);=@=Bzg z8@&v|FKah~iRfSeA)xXyU`TYpV3W}0mq_R?Pwmt#jD5kz?RqrwqRvi1TPO(RdQ-PW z=d zA#)nL_Hz^Oedgg>F6wcGVr-pk?J$s*$R zni89$YQ*jJ#o>=)o{*N`Wb0p7i7k4yLY_p*J$es)tSo^fhF0NL(p6^$C-7dI4ReoU zP#Ql;Y@K`99zpez(isLM8)_r}X~LzMt8wLb`utS>1p&2HC_@>UfaR7?GY#=w^iH$> zL$~)rh~>2#OpD$wFU1nLMLt+9~Wc^cJ4`??YNGt&Wiq9wkuxt6KB zWrvg^J@@-(ez|IE?ECXRbgq@8xiwd9kz_NW8xNJI6b@{WsB5c6Y(&zyxkU~b{1Iv| zrQ?N@@6(*t9Zipzpe$iuY2xdhjJJ$=Tv6-v7Ys*MDV)fy3=^^=YyY7@>_Y|kx8cfwbu$x z#~x0u`!IBwWI~~SdDQ+nwPlK|wj|3)* z;%Zgz_dTAjiWI{p1#OLfvs!VkdA>Ue#nVJMwey{RpLY(h6FHN|%5z(=(a#W={;b@Xn(6cx7N#=?^(P|93|3JF@ zaU>aEpKJydxf_rsX9}eh{$CDr%Tj=cUPNDOy ztz+^5%=uhzmUG8P1bwb_`-)P z$uN=y{(!Q^df_XgSzm&_LFN>@$vY%}c>GDR-T#*nAml%Bdkm_}2Ib z@$k>R#$3oKXqr{r(!=767p3hu&!CnFZ}uV+D0ZdcU%UQH{Jp7xi9E9IBG!j|=-u}h z8DE}+;a?fDK02oc-%zB~8XyCB1UL1|S(DmnXIahdXZ@W~X`yIVp$fy9oT_`DZS-Js zTwkDlhlT`eZG75wVZBraQ90|ty2&EWIY%%2{<_3gdw*~812KC@N|T$F$uOeSIM-H? zF0L`YFfIP<;bTqMJJ-+u!A;6uCi_CtrEw*7oPggBs9x@BrEuwxjV#=PL!%oF4AefV zd~;i-7hHb{I$F@bp8>M+LoDLd32fn`N)A6Q*!%Hv0O-0g-vZ><+pM(f1!f&~pC^aU z*7FF+_^kaB-;MkS)_ef^p<LWdXZle50!0o(ywphWK$j~FRQKnG}1{sej~ul4s0lughRTS965rByxHGWD!YRD9tKW?m=)=sPs9a9wylQVsbDVkeCrz`)lJ;49EMzbLOG1=Ixq>90l8{?qZy@d)m~X zrD9NeSJze}W{ockrBtgd5a=R_MtJ~<{1%V4P%9WPqA4NL@O@^nHJ@Y-6E@RjJAG<( zB@RXLT=aYQKkD_LyF5yKi%z=e>X^F4_^44cU5uOdreu71cr$WpXZN8HiVi~~1p?;1 zgzY1mrz`z60MQDj*|;MrApxV@uuZ%B;r?ui`txU;WO@}m_OvY6)`8bQ7Cr!=jm4;4 zS3FVey($=g5Y-lGlqY=Yt#k}2@F<@|G zLpm_AM9afobB$IaENLgNio0A}D;DHnAtnI(-dN*06MO>mdKsQGL`wzm+5rH_exNjM z@$qthw%qJk6aeC}-;5Dk9$7UA%z!;8E?IZwL{$IxaX&D(4@`ew22nG0-3C7#;hHXc# zm9-d~bHu|o>V*eKUw94tK{1j7WAM2wlr2e@^>@Z)UL2o&R{);v>MrN9oH!FZ`}9te zj_ce-o6`Z(e+R~{4?m$kV?JyO8cO5F|Fl2lKmULKorO^Mzk2~59oql803Iu?*b+q+ z-0EHDGtW=3ePenegvtGT-pzhwEJTYJE^;V@8X3jwoACyART}*8Sp9$V@yI;zpX>mY z5&5;T+g<^lg|r&DcBqDc|G%$Yx@RH(=OR!?8J-0l`>wVt1|^|;XT>@_kn; zhnmfp-N^;hK&65lxJRIe-ZL^mI97w!pexvD$CH~cf*w$=RpBZzPFqqnTl!lc9Atu2 zCL!rgbG{wUN6I!UwF5g%=_Yl8|2=VFEdD=(^MBotDI^-+_WyZ1SEDBZ2f*!2wPLDn zkzUg`o_7RPfLRBvcDUTgUXT?QNxBm_-j^MZt3LKy4v#=WFZg7_>bVGNwnRx?x7(Ou zEPNr#J#8~)lYVy@&JaRJWRg`^2zN*#LAkeag^#b;>M!FWfquv;gMv}zIc!#q|?DaPLmY@s^OW>Ps(u0YB_3KjKeheq~J69ban*BRPGvH%nv$Vv- z7LHQF0~imb+C32W`W4po?TfnwKt2H;*Sj6sax4|5Bmdi|{h#4WC0c$VWk*!k;q*qv zVozH9}cKv%H)o}tp?XyVvIgd2ZOBjCUn=}m3WQ?f9 z7Q*KnftbO%xcr%NYAa4K!!KA839}C~t5biJPjB%>2j_cM15*KJRy+QZsVkUP!eESF zQ~VL%JHa#a?&QDZR)VF41=#)W5!c%vrwejF7P#Fn4N_PQiGXUNM5O6}TDz=R3d>gr zr7W-AzkwoVo4+4)xr$&9pTTc_f~tN)e1XWjG@Xh^C5vBe{cM&=FbK!^Q&__#kZH_Uf3>ua7s_20{nNwJ9B z09*RMCb$2Y?%MhJzj+4eu5n>g_-{!O#F1I z#nL&f9X+5jsgd_kIC(qJBp83R=EoJsm#5R`VtiXSezY1#IN%dE*Kp|F##DaGv+zA% z`tS3UV!(Rm2SQHJWBz4|t<`QFwvvxq(MXJt6~8mvua`?1t}Y2HZf2;rL-G)SQBF|3 zPxEzLI7s__Xqsu8_bVJ}xc4+-Gkjiv%rIg-nsDGECH)ND9gd)cN)L0tc92Rh^FB8fVS@08p@iuzS-n* zT8U08OerpF;3zCozGSChiBSuabs9tXYVl}+Pl4%h9y2;qI!knvRCIw`@hHLO5^^AQ z2c}>vF88=y@clb!wfR>WmaJ7M@Ot~|&ev+d#Hp;3K(eZ&*L8l)f2Jrnrvy~TqP zUWc>!kZUc*V(Wj11nA%MJGeg%TITs$BvLr$f9!hI02A`VK#CEIef#wxS5DszlSc=Q zVur4~%~D@#_MU0S_<^S@Mdc_zYf8GWVCKbO+2+*w-=hVvWkVU8#M*=}xc2O#uJKv# z<*@6rOGoNqYA!C_B3qZ%not)eqCrRi(h2?G>y(%_@rf8`|IaI?{Ynvizp-6z4cWwV zZl}Plx}^t+AMxz_m7sY0_3sEKH?eDq`;|PzU-;QlRNiw_&7;;7`6l1W8&x*{iWWiC zzxwfgy)zCwCB=`>3C|v~9QEYF#Z;fuG1M5F;-!O8LY4AK`H3ASt^{?h)j;^vc&PaN zsVzFGsFA$3bwYAt5;->-;)I|b-}R3T{!J0bNIW5U+GY^)bB-K(tb~SwoPC*Y#Cn=%Ob;wFG5Q@$C!~tvZ0W3O4J%?dqFffrzdN{2M4Kjmw{g9& zaw+Mjxu1AfVaO!Tx~Z*5F#;RkF|Te!0Mf^U$?3~nvn!}ZLg=H+b}}0yg+&jg<#t~> z5Xw{Sw=5;jcpiL%^_QM*$RbSs8tlbM>(J2TER*0ac(+O0@U0-BP?Qz2MLcA`Ytf<` zTGhYij`K`vBm+o?G6zUns%7S|pIJ1>QlrvD{{@ArRcLx@vZ&#?mMsisKwe;S{((M> zvk#sSyQmSaM)u3ugk}EY`R%&-*OO2jHiZ}1cFXsi&x>4u>eB2mC`-5Pmh4i*(BJze3WMf<=`ssUQ)IKFsZC)Iug6RN7|Pl00in^_rq5CLyk6%dKtDO- z5PK3afW_~Y?`*jx;{cY^q7t$2OwSy?39 zj|wqg^FG-ME_~s%JNBc}Un_Z>dhl6IKfbWuui04_wrm^NtC8U3YdnxzQ8~IMY6`Hc z*isRp|I_O%O^5rDGZ7Je;CYA%){Sc2sN#HnVPa_qwq`%Q$)JAQobkauZ$Hm5!Mu49 zG_rml6J;x%z9Ee?uknTt; zd~A-jTDN2rgsV(=E1U>U>@tBMdN2qw{Ukp98>H?+-az(7Zzulak)2ZABah6CJAdm* z$!ga7U$9P8OG5p~4I4s&G9_5e{Z#q-)r!-M?bj4<#32`YL5n@iFR+yCQ)w7>6SYoo z0mBgoRu{`^U|w3D*jPaF6@qZ+V$a{uJB(fGeU#O(9I-XNQjZBfk4dQp^uwjh`m9T{x$o*IHHp%-6zh%uk6r+v3VgDV>(noUeV3k7&Py4kHBIk z*vRN&ro>TWB_25-t5OHh9Ah@fp}QM$avrmzpXb%dVIX0=lz0~X&RZR zp!0e-$3A$Tg2EB;_B0B(k`e}c9uT4fyY`aNlh*olo4ZK5SCz%n{gNJs(>?)l=5~2o zW!Fdg#gZ+fR%!WhsU7m!>qXPb2gtKq_yM=(&eXQ&W9bm6znV;|NEFiWXbM;F6A0Kr zZTf=V2u2Y9AaYg&`)rn|nO!gF=o!`W>Edq0?T=_gUTpivAMgJe8u^>&7YJn2t#-DZ z#_NO=MCBy04_-t8C&jf}uYl>`LWemDfB_pAdZzqMeVFVnvl>&vr?FtGe`2>_#_q~m zF{cil>yW&ged{6vrxjmBc_WAevTY#C%yif&Cc8nS@><^oVXpVV%%IzjQWz?oWUyQ+ ze7}>1`_#oSB(ctI_#QjRjoSPfQxSO!eJeDaz1JT86^{&O_P0x!YRuglV=ir1$VH#Z zTq6?VoXIi~CHG6*RtVuO+IILq{SX&Q6H~P4`wvWt_!+)^ic_Tx+FWuaOA^t#%<%r( zqLwWaME3>L2etZNz9^|LA(RTKo4`v6*VpTwf3!PiB?U!uhq4;7qM)Bdrasxje4dR# zK_lLNlpXB8tmhG)TN64+g<04xc8oa7z0EH8owT3rY-#`svam5B0b+kF9o5sxFH+pI zQ!MdyMUBFqEQMJI*Y_n>rn?_hBixNV_NSq@b;Y*kr;*Hg#vGY`(3P617gI^-(Rcm81jJqOU^pPCsJ~V})=aIV+LzUUx$) zOmeEZ^WoDbj^h9W+TeUQNM_d!4I})l=!DBR8nq47XSwsKeBBHGc4@Qc+Bx1~e_X;w zz=OQ&qAh$w=5lWy6kq)VGmJCeVAAzzHTUxS*Rfg~EQ zO0r1$Qv%a{TbLyrVhjqQ@IYFH_e_zDfBUtx`t#(TJ)Lsc_V#mzfIG+TkV=f*#)~Pa zv*_vkwkna^mY;8maR2*e0=XXv-4qH^ZaA=Tb@vtJcqHn|%^4dT`jR4Gbd>6cD@9rt zgXZGuj`!3m(iY2XQWf_oy&nvo&Th1RD}jxEbN}cz1thrTrVk3gXA2^LM{607JtL&h zBqzegUp+`-I=0XjPAAHL$KJsP%{>v($F4vuH%@#(xHoZ4}nymv5C zdiyNok>;%Vwo9$_%N=k*e%YT)o`TrU1{JOSzK;&rsNC=_nyv_${bSH_%Rfxdzrhg? z=^K}3+-Sqc4)i&<{9RN#axCt;^+==|z{JA?k}3(C-Gx8&26yJVW$RcPfIWZ%!Y6%C z0^buszZ?rOPqp;9Vg)wvS)^BsQY^Whr9g^7!^ zRxgi1liF09v2PBnvEOs768hdqMziY~E0cD)>A2z4Y~$aP_OcK1%2RORVWRt{9R00q z97#)2YSv;hAm(qcKO@iL*TWuKI@tV?P5e424+x}GLLZ*{+w$&rZ@KQ-EiWoN>&iOL z4Q1EQ^?NgKY%!B?)@#2m-|mJpx#EX8|HyuchNx*gq7q#l7dvDUb~xiD@B40tj~;Do zvoD?8*;RNO(J-vx&kd)z8nY5j9kNbv*+%+CZzDd}*=1_5ZC6iROGNGCJ`740f1vs% z2lJhkH)67Hsqp(zXa?U0g%3UnR?u(NISS32U(uIli$#x5u>_Y*&|F940V+>^iU_OJ zMl^v6RMYJroH#$pVmRL0rY&EkDGkCVm*XIl{Ux%*m_v_`Ilgx!a4Uh|kfwUd61o7= zIi;r>jBNTe!hBwyXIjongW1?_Ni+uQa zK3h!#mMyQ|4k>*_vRT5Oy*ATpO)Lt->cKAjw2AY$)H!{V9jhi@v4Cj}v%Oqz-L^e4 zv|Nt>kt*Rqz>v5%^a1#<4lb_u^ZfUDT=Rx~|CV)G4+$wEc10?AgL>>|J}G8;BXi-c z_wQE|6CC(M_r2PEdwI1cSt63iBzawk7N-RV@uRxul>hs zk22%N)r#%%9_zTnN~$Xx8w$C_c_)Y3^y(QbK%te>1DFtlpb)WdjI3eHjd0IUUI*i= zv_nn{{pz|T=@m=*l8?Q4JEu!uN-b$*^M$*>tn_htyq_S7T9ky^rsr<8f4+vNvc{r$pg z?*(u=^$#j##e!gRcx={V+MkgKe61?0I;OT;mvQEqQrAhf5Z|Wfp z7%_&Pg2%rs&B`xISMr*;=hP zXF_Kluqfz}vUR8MHv$BTdHd;Mx{v;uQQB6mj?yYp@MJlCm9o0xv3(IRPBg&brV3|5Yiy( z^x3br!_q30K3I$-!KPQe#!d-?*P9n>1iHhI5#P;9MHsY4p zU(-2X*2p0tdj?x*3?@JP)XvikAL1@_KA^Fr1bAfLKKg7PUHq_*p2wd>BKOwMM~(QW zs6m}zVdY$Y>X3#ceXMk+87BtK5(YFfev(Lt9l@bJn08j<&M=@ooA3B>?mW2c!+mmZ z;GLZ5#-DA-F^xTGl5dqt=wZTD{cZQF<-9-rLRv|jj1aldn7@MU*6Ctd{Dpv9=HPoY zI+qn7q&>7#R%gI;NRDBoxS$W{Xj$gh>hM~-8`8i?u5gpKx*geQV`lL8H$SP=hn*zs5Hi|3oShceHny~By$LYe(DskDZ6S|_ z{Wl88Ua-y?J2~ywu)-7>2B-PVP>}UYhbYuO`>D!C_~H07$1TQJgl9+1sQr&CkvQ!@ z`fW@vxY$8k$;3a@2_1*%R?oKvC|}*MHg6~UoG(2+!t%oL$J&ukxn2d^`=;csk#s^L zmJAM1cll%v;IEN{VD0sj?ivG!b~wQ7e{6Wkf5ON*IIshSZ6E=zj@rMooFPGk`Q~UW zZg)T-U*XXtL)eXX5!R)fX=^bGB6ABkHY9AWrQ(Nqavz>g>?bU*Nwa=|k`KBLwG|wiceXOeh$ZX_K zTeFj4XsuIa<$EXi3i_Pag&hCgE9T1@sK~UD$d8 zsPgij^S>US|JS{;!1Tci_~lt@%|`+yF#oF7r6KvJa_m{EC($Xz<%P$k`B1!aRUjq+ z2Ob%P@4A%LEIB?o2pG-`DZpPS%m(9kE@$w_Duk|AEUhgX+9B4AhPlkgLk=hOd-{qh zYEI{0YZak>s}`8nnx>aU&;4l#c74$^@Rf7;3q&u%~ zv&BE%eUcCKp&=B1ea`dI~SYuAh&LS1*f=rssZp%0M&$PFsbH67!LytlU%x`_4=lplM5dNZC-e zNZR(d;y>*>F3sU;6KaS3VMonMO;o))Kl&~<-DX{J2ZZU2FIl$tMMCE|YqAc?zV37^ zSP0wqi~1v1fT2R|pSl*L6$3i$)}!hlMNh_)Sw^89*Ljmsl|VGW?N~Ez>=*iIL#avd z{X4+Sg5&t&?MBgPvx4Tubo|b$n$Mm@Z`oYy@w6LVWu902*I-%ag+OFwTHHDIf4Bf) zKz;?41f0w_*-%QkK>5@%xepFSTnigGx8^*4SEBh!4V61a_se$KR3=>I9O0kC(ccgc zx-H#L=W#8@v_*IO?Wvp(t75O{B*IYo29>&`PQ8W0y+nS@;#{*b85QDmPWXlqo?UL_!wJ=Tp(@LeU3}SK`YmQKR?4s?dOWpTR2P8>ih+7^KFU&O<%yBP;LPS`! zUK-+vu9xdd+78%Ow3!27tE-f*R3OOpF2gs8CbCojpLkj!^sU8vN*IMqP*ad{URSfA z5Ez(r1slJ(e?~rv$i{#EF&kBGu)+wH@|tt;H|Kbbb~jE#9Z~V&%h^WQ09}{V(;*7XmKgjUa?pI?*6Y zi0ArjD>iZQ!)?`mOaQzXT^B%mWq3{f%2 zi>Pq=AJ`jsk8lak06=y!hc$c>cGUZ9nCtN}ED%qOxh9%ba4=F+=e$G)Z6M^hTfeMF zX7+Kye{$V(tpbWWK9v2E-WeMd8YOFdLlm}H_!sdg6;yi^BUx_6*ZKTiJ%!B}kyOAf z(Rs`3>{D>S?^mllM)*~wxFy?ThER8B7mWF1PmTdnc>7t3bKiwh;0A94}#{0NJP zpq5RfN?p#g+whLcG0XXqp$N7A6sZ9R*}JvnC(sfivgiA+Ej#O+hB30zrNpo;H|81& zHd=BtxIp6POeKp!y<|Jv4{TXKhs!@ha@Sb2SC?&|0_%lS2HonCWyB3`C7&CwQ^}lG z)Zd1sY*fJ?t8S`cnVh~%w}khqClOQ~KbH7J&Ys6@kooNA%e8b|qJ2%%>Mq$<3;A8o zq7`}Ff6Haz{hiA0bLYfc5bS-f6Axu_Lc5^3=xY2jKM~O7q`HUEWeC4NX#jL`$(P|GSABgeRo57E*Q`dP z-N4Ll$rOinzw3c?(=Gs@8at|0nknA@??e4g{aHPt^NB&LwS2iSCKJaqn^ViWxn%)M zK)cz2W33QHihD#bo9@$k=@OQ}IG=E0g3H5^bM}o0r7iMM+vU$U@`#V{66ktt8m_M4 z@^|Cwjq|grTBLuYo}p%POJJ!_moN4a@-B+^< z7L{|OX+(h|*WShHhh>f?Az)>ezOYVJ%U9(~VL1rnv|uXI&KWFO%O@?>c9;3b>8e)l zftzXBHI|5Kx4_inZmtuebR1$KY_yEEN?7*&u~&YpQdhVb@i4Z8gdQOQnx4Gd|HQU@ z%@bH}*Lxhg&ImYf?O*qAd3^9UuuS)dek@)0&38F&KS{KN$&DM@Hi6!Qz0u!$L{#1} zRj}w3M4rLa>#euw@14&uJa!_OQ}H7OJhY$FO7V?W|EHA;`8;+GW_%7S>6XXK7Y24} zC`gK##u$Di3CPshPFCsczZ44RFdt^Hv+z z6uq;?Ita@>>94M5JUjg(8qGe>r8VM7#a|mvn?29sAif(MydPgf==ao zY}ryJV41BP7DCj-7X8}dgj#9P5%!FX2b|mXcma5HtzQ`eTx0b1<@^s}C@8y?R#LOU zIQI*a8#knKqYmZV8mnt{n|E8{%k>WXawl3VQPr4kaQibdEX1z-57=d9im07(g1GQp zQUD~B_<#|Rcgdx3`gWA36VgA!JkNL*iLKR~yVECw*!?fy3+_#^PpCW=o?^H(XRUxiMw6j7_u(>4;ZD)f)85Ie0Aw zFSkgYU}Z>RqL8&3v!?Z|H<=ZuhB~?p9NjEPc6MD%@}FKj!e9CV~A1aAHOE(-@Mys*c6~c+yzqwRw_FCOTHfSJ1BLm^f}U{W3Pg^ki5#m4Onx(G?^(ZKFv=3*)I_QLp8#Rm3poc zXA&2A4uv&@4Uynf5DwEJU-Ho|A|d_5(7BNh=EZ|dVoVkO;X;Jwaq%}|Aa@*TWAdB- z-k~iFTX+eIrKaWa94^I@c7NnJhQ4-&yi zNGy1G?{w5afH;MPtPzW$Hh zZP4Kc4aD#c-Qbq}HcV+l^ORxFsoh?ty&7$th077~R~yV2$5u!;8%_Bk4JP_*6SL+H z8sqYuYI`KxKFSLxhVYFga+Msi()mHIOKv9-{!i7YH5Ndw;;-DkgCEIz8*K$beP%-YL9XXJXp1cRk6bb;HNf;aX z8_7;GX~7E{+g&n?c4!6U#uqin@4lSh2Qi@(1w}g-|4| z+MUHq@p=5pwM912cHiT-?Y^Kj(K!*cp%A?sgA?&y$*T-(J8s0gHa;lCgQc z)x-K9CrYI*3DNv_uN6m_UJX}zE4H~IfH}a(<>|DcOUf<<8Jyyb5s%NRE{FwLIAjD8 zev_2;D!&5EP(zt{p$~yAV;&-tsP)hCXb&}2ASrvPILy@vfLTA>ytf+!1&geZN5g-g>F=y~!z*q?r~%@WIpL7>9lPjns9^9b|wclgrf+`RsJ@=^4dwW=iR`h&MZFT97GXWh}V6pw5>qPP=rHFEm z@1)-6tQztGLAvcWqBqr&74~NI>+q!v)p|1QxW=NRd^-{U&w1^LIlWZVev^px=pwO` zl);$ti9gvu-62M?0P0B;jUOl1@tud!}CgAdyBqV_&xr-3{NZ{qW(B+ zx#UvOhti4Sd}{Twb}6h{1jX_=K{98o1Uz0?+App>zx2p-FP8Ay4&4VUJ#%Wl)I&Fh zHuSx0S6a>HQ%0qg1R|woAtS2SDr%)vEhEq>Xv^$S;i?u&;^Hu?;ql$>OKp5z;P6&- z4~Yc@;BuWn<3udYK%IE9-K%K=y{~^gi=qK%G5`knc|a3-@?J;C0@?JS=aGO-OC3 z{UwGI@bU0#_u;P371HFqhdx9g!W7)ufTZQ94Z#oHt zPQ}d!CJjntDwn13`6?+T85xS6R+kvpYokTe{>^a8iF14EXIMCtSG{&I*#zC4a+VIj zIVnSNykxAiy?7zOkkD0)TJ56|P{U3f@O<(&Pj1|%GG&pi(V$rFTTvRS=J^`P+cR(? z<-}}{gq+-%gx5p1TRbQqM&l@qP1JM^$+q&924e{STTu680B+R|pAX;Rs8}VO#RhP; z4hRmXN?^@_%JKNfmQEO7$IRyd}q~q1}6&L(pB%Dt9WULWhnM`i$yGonc|aiOq+?Ij8f)^5w~z0VkC#_ ze{jX5W~6Wl!2-w?v7b=u>*Tx+3ByWbCdbu@e-d<=;1PP*bKnENVFr$!ezA@el*_0Q zK`eX(iKq?}CGo=8%DQBZFhbc7neQM0+DjUuY+(;I*^#TkOnJ8ul%7m+?5_;!EB~AM zA7-v1Itthx`_eb#xRARjL2jTKg#cpG+}KA7j1l2ank5mzoplwLmr*RH1^5U&LGDni z_-u@#Nk%QoH$efKY4)`%F4VDiWe@L^1k%$nUD#IzHvg6k5GVF*@JHfug}j-&L1Xq; zO9#x{R7$}C#(RL`!HEZ`mS%oPkow_h>0T%M19u)b=m<%z&I28@eLc;7dyNI;G|E0c z-$(h3HZM@0F;Vv9jXptR;lemI&?6#S^v7e8Ff@_m+QXU`RSoZ_?Q73b7eW##J8;u)XkHim>QLD{^QGtVVkPl z`|W)*HM z&PlUP&vT6>#B-)@!CZhmAK|7OuHw=ew#{dYZA;vh9J5^i16kaLJHX_sUTNFlTO;W& z-aj3*(>9A!fLfJsCLK>mzjg9FXuBCCWt!|l&#RUNnI^1cI(*l6V#b zlU^@ypkk&T&^66ohkB&_>r~w{nWd9^-8M9A@9%HZg_roLDXS-qQ#_>}@jE1V-|r3P ztJSa}M{bvI06NUcn(`n3&SN6wN}hdw zl@Zr}Ejv<6aVU}s2#8{{N@3Tee^~sX{0yyJm4}#M^jR{DeQ^UDQ z{|z*`mu_pGYn>(NrSvHOmP{?n8fSMjYrzU6=4R^hS*rWyGF^k+&(AA4>J#?yz0%v| zj@#P^Or?zELiDz}&|j6Owtl`n6d6Cd&Xz6&woGLe{dD0D82p;>NZ_zlJS z^+ckP!E2NBCf+B!n3se(AXsXkz(Tg^gR&dV9m4NbXGt`9&0;c^MGj;Qxf!Cwy6U@Y z2(q0zu%a$K&+2^WWg0_W)zlf;gZZ;+C)$U2nygDU)qU4}RhU#X>rLh!x$5h_LJ-!E z*lln_+K#0s_E&NZnRwzcBnf)e{pkYyXVN+=@Gs*6BW`P-wRnQ)XIc}ytFY;_O2XPE zX6Z9K;)%RB&gr8z!d{)=JiD`B(6_7iuCF!k8jl{{nC!QLa40HpC{}h!B&4!of!3`T zA)vO+FHiAI96D%;%U}qUgB!D;U&`EsQNEQBtp9YN4{nAIP-|3YgFbMX#93~AJ3A`EDQX{CB`f=1xh^xs{V#e0IWzVjYGt|) z8%G3@wMTVEH;4ZSxtuvgA85E%y;5@dSEZuTZzjs$l+`7#_{YuJblgaV#qY6&9aG&8 zW;>LgZb{*B*G0PrY=1FpG;jqXYe?)3r0J-?ci>?d%jE-u#K7jB$gHXj{6I&El}SSE zO}HAyvi@wDPx2935f1ZSKlR@#dNkR4o2`+?wT)f%71xJ$rzbKXcsx@ zoaN)q(<%%(VYyC#oMHwq&ba)JtUO^D4AJ$}SbV6)+*jC28f;xGic)HcYo*NQAr3SJ z%=0O)T#doE`z;D;5WmLxlEixK^Q}Z7vW6@qX%tfLN&S-i&uf+N!7Z+)9Oj9{? zlj*V=w??EVa|CB43H03~&#nkqIfdcmuq_&G;oBhOc%VF|=s=iG3DV0?v{l~Sgf3Fv zWY*ii+3TyFPXzM_Xd)Z1f0nfKfHwE`*s|azH4Ghs2J#Crt?;Bu*j*5B{0)fD`t8ot zTYrCFrgt95m8eh+iOoCx8VzTFJgQo!d$CfL)cp5V0U?uLwRvI8UB5n8x6%H7YtoeH zvl-^J?#Qa1?u&IYpOa$w;#}a+kXnhA(_C2AR#<&xnGX;tV7gp<0ZpOrN3aT`6K8$3 z8>A3#d!UQBZbkpzEs5=L$@bMW+pEnaY|`Vlu@2JeeiP@tA=;gB(TEBuJT{Ub?S@_K&QUW;%h1QcjN;|LEu-?{(PJLc%PQn_CS5RL|_R z(J>0%>}w8N`rM))V&#&tz7)Qg@0T{akW+k4E=9kMDzLdbZ8gazBRB4k z;)^~a!K)GaTBwxbh24Nb{uThtUZ)M0FVjebre)(VfKD~>EqT8{w|$&%z9(UH7+Ek) zfoa(dl*vJDp$acxggLtt3;XuRe?6kS049u>O^mHyYY-iq-;xLUl}rz61KE!zA^ zjSo3PBiG3EqNCWdS!t{{9cDv!rC#4>iG%hC7$t_w{)vw(#t1V|9GJ3*k|QIp6|DmNsiwmPZIN;4g8ezP)>_2h!g#*hvRm+OK^tl4*61lwZq2X z{vHn$5BL#{`fogY+cxg%>TI2AFcw+u(I+B6H6*AQv7KTOd?;^M&;{G*oPYVG`ONY^ zY`qIel3Bhw*Bcj>Rf*H8F@9_~cqL|EN37J+&SoI+P$CZ|dr~)%Yc*ituglCG-hb(N zIymCrYigWff0S5~3yu^5Pz}1D%hiI_X+Q%XsS~WozFi}bSyKP5UAZ`iQooVb=y4P# zj%pOxPihK?kDO5elQIuDq(O8#3G&@$NGK*9H$4`1+hJ-f)kt~gGjRmp&z_t=I_x$( z913aG%Av93h0nof^j0zxza@&M)M!PrIo>E_9!?UCsh{hNRnN(;Nt!_kl6MA1=VZ^^ zP9?F_o$X{Y<5k_N81DYDrJ-uz9$awA($9P-{}zQd^pYBoumVEulJx|HhY7)B)aAXO zeoxEQP(g3JLuc}ku73#B<|l0fDuv{X_2glr)SlyRJ=`@9cHs0o(tzDo+3uI83#iaO z0r!~*y4oVDgyItG4V=Uf9CC?tA!sTzkw_LxoUp)G0p5^O%VEwZn6O ze_Z<)LrTvG0w({ipsPH&T;YLiK4Ocx?~&Od3SFB-UX_$NEb9MgK$Gx5Ro7cL4v1tA zqi*~lD&@h%qEFAn+rx3hzuw_XEo_>qv@4<1{FntKaiu!GU99g3ioKtgJNac1(?tOji$) zFom4_`kWK?^*z`bTiRIR2bsADGB)OyakinyplrL#n?rZ7mSTDl+?Y+O3U}cs^ULC3!>YR)*C0IUXoy{n6B2rGp&_J5su<%<3>-+& zb+J`AUh0N|I381?dEjLD8g()9;R=czTYE(7;+qLn4ZgO$6$mdppf0?QbeM$}w-Vn= zvsOw9VnV|0FBtBj>RghSf0P73J* z0Pb3qxqkYY)MmJ0cZ2e!1X3*SpI>LleHJm`zbL54k~V0H!R)0Or(!Gw;Dl)c2Ua3# z8|B~_Q(7^<4_y0wU3NoByPmI6Ixav}|6%FInIcmU?)r36P$DP%v8+7-nsXOgt&6m4 z$GqQ^Zn|23b{DKi%T22~XJv+jkCy(yUb;5HaEA~(igQ!6Q$GMEZ6^kcS}j!Ime0xe zHe@R?2uAQEY1`$VwQwIxBQ8S&w%WT1J<`R7UOW*I$#kSLlVge=EV(yW@;LN!JVj7) zjN!EUh0E)Oq(f}ibe-R%o&Qdj=IL90a?A0=Z@U>DWclbhrn%ST$_@u48g#;(K9Qrc zC#&@ia@5O&o>;m+BThRn-`}_!{&5r|V}b{s%esL{XTywhM3o_wanGAgyC${t9X-E( ztu|U3*R{hIN>Rp_T?FjhM5e)5RoY=eT6K*rMKLCAjMx`MfW!xz6$3NzP`Gaeq?u7= zD=*2jr*1TkT#-nj$H^%@je3Be6Zj`zN}d7=D(aH3WTVq1|13NiU&Q~y=8bwn-RMuc zvq1kMpZ_3ag>rL#1vnDyhP~XwCp`S&kgU?Czt52&yY#&TMI?tq^1UOo*|ios9@4Lt z5P7jD7p_#7E^~6e;}*fKT)U?Z0ycsv#+d$EDvelrG^LoL6j2TR3k`0i(uE~By-gLclH%af-{l2uP;2Zf~ z1RqG5bF3gBF{b&zzdG{P+8}1#@>o8VZ%$sB_L$Z5282zSQFCH{BBMEc*Q#Ah!vFe* z>v2`vylCxNS#mRYo5TuZ$>Dw<*q8+&_%-M5*+kx)vqY;gFI2`xb9$8b`~SKe2rVK6 zJVzWTZhVbp-pDtN;1xq#_Ls?b-$s)W0bdXX=+YFAJn;unxabz2QOEY$x~MI@AUcE^ z4skHj8;6(Dd_@a7Zj9`?ONwa}XexPbJ$+DzL^&KCYL0|cicYcUso9_yk80-qW~79FB`K;Qzmx$&I; z)dC11$EG1pbgd0Ob<6m=24+fR2o#R9LdDXbPGxTNrpBw@T&Ir&u;AaLNte05#Fps! ze7hy{M-U0l*NfpOn)BiYPKz))vB%s63NdaXcG4SnMezW?HmImGhqj_FJYbHP=rbp7 zd3Mf+45-wg2qB-1Y;uX&-$px(j|p2FadO&gy3CD*e^s~Lpw za*eX9NFJ)_r>7}UjaK*XBocDfY^Vb@|ABVV7o4L6U8*4)N-p-*JMqZ*oZ$?ZB^cAW zucb@OAmaswLfoZW(Z6rB^HpAW_he!!NSEs+^?SX= zS|fLADa3hy#H;!4rhIE-w}gqU+-vk#3m}t^r%NDkq}!ZkTj^K+DKnfLE=@V#wdIMW zk%hsi3?ntl!0ulXi|4BPM->kbJdBS%xBwfNMQJ|v#>zzbklBIdCqU`|31U(?nXmH- z2^8B9^<#FoO$BM1`&LR1a!MZW3llAVmG)r0KAi%_Xx-)vA{3a}O1_q5ecueUJdxEp z&mvtEJN!%J-6F-G{a~@EG*;;PF*O6wz}qZKjB6IwGauC_0Iu=++zTEce})St5~gfW zW)FCRb4Ln1YC(G>!6p-oi~>NdY88Q!4_^yp z@_OXqQD@!r$H+yE5+!^iNrgH=!c%(ydQdj2gA2P!^Z6RsB@Q+^9^h#Eu9~+WIsmjo6rzK0 zn2B6OCnHxy-~DAm)F*ED$aub`vZa1qmFbT|iD3z9(OAtXpr;JO5^j!xz2+s!;z~Vt zUDY%04q{S}8>ao}$ zy5B(0fQn2g-Gn0d_i0I4J|COa1mF~>x%qPEy;R|6mN}SufurRqiLDi)LQPpNV(-|R zD2roSP)18MA~5>{c46-J+@Db_>=wpu2MaKqt0R@pQ;1i6%k~pSdsb;)qMANwlC$?s zv=JguTN(>_>e#V8Y7oElIM*Em6y->N_J2il{hX<3e4>TJcL+Ma;|);Hb9*y|F1mbZ ziqwoq&&1D(pVR$M-JaCarBY>zbm*)T*rgaSUNcq>op%U}#W59@jFLWPtJ*HgkFT3^ zAH~#M*&~z9PYVfrhGNN`#cag`Z7MlSY>M3f)aG#7QCflaq;&b8nsc!)i%((_RB}%+ zxBsl^BgH;PA>=sEsX#>s2o!zLWrpR40W&d-_S4zNjE)y5jw4K#VZR!BEWARjH`YlP zTZhmyNy~1Q1R&SgApMOTJCE##hm9Q`|Lb$E?L;1fb}7TBWajAjU!SP-S9NVmv{A&+ zAK`Pq1{-`e5GqZbz}Jx!GTIY%_jT;E>AYUw_a`#$H&~VvQy>urZ+YKiWu20a7q#&n z&fQ2y9kQsDSm1EmTKWs}r02;BDZ|Aa1XtLtYVMr{)xKs{x@yxiXHJ5zWYna_a~kA* z8y3lg8)8B*PG~~fcDs5bQZctbWbc8^KKKu1YOaJ39VwGJtmrigr}4xQ|1Q9h;T4u~++g%^w?5B;TPJ$c-ZL9F z#C?7VfEy2Egv0lt|B|l}gB`m4xfy*Si6Krf#%b$~itcvX1^fmVHv&`Y&@69qzL3s6 z;R}|)1y929enWjjKp!)bBPt6uiM)HObirF!(S_i;0BnQBJorz3RK4$hu_)OoO8N`+ zu0U{*u;oHGdRIQ>HZ&)z{*=rWd2=~k;uC6K2ppG`dK>jzdr~*s9rU_eSrFM<@eq3` zpt4vHw?^}SalH?XqsX!s0RY2REzT4w0UoFkl3yf(s8seEGm;IG!JK&^l;TKaM?X>A z+n%4FqwENqWkrP1))N9jF3}GC?OEB=f2NSc^Gr)zQZq!v+t!M<{xGp;`ex9H%Y`5C z@(g^$fJd7@^7d4@`wWUfX0@y5G=9bL!* z^~dMs|GFp~S*B+DBZ{Qnr(H}t$+4!8QNT4>HBW!g_jiVCCLHZ%)(3AUCef`*dw-uq z{!`HDUIq^i+$EtHm3}9pn|hpfhP-J{Uv&#(n2LAu$I#U`l8nA`1)jh7Es5q~iYAPV z%a5UqrO$khB3@(+&2Ppl{(Q+3!$t0Doz+0`ytMj+YBsls5IZPDpdAi5mQFF9DEm)4 z98P00YR+{4Diu?i)zu@H(Jn9mItmX<`gf#6Z%HTKXNS+GGMPIza%H!BEa1WXR!tDg z^BG+V0brAGT&GIQKVDmuT{jh9eH5Wo-VYORT*85rT>NK%+Wj_$bA`CiVMov3>Au@G z-ZZu>zx$YGo7Pc??u1K7XtZCL^`^}D4cABlha$3Z>@^U6F9MmpM4shVWjJgb-Q^rb zd~p!+Lq%Puh$b18h%4;hw29WvSn;QOw#+qYQ1e6(keK%!92l57>v4$f^0YT-jN$h& zFF9=O!TbI^PLeERFEeLv)eEuG{YLO%x#Jp@1BYUnR&Qz-)LGk2x@{(q{8r$Qb+8oc>_y*erTfb^FX#&^hI>WAuq@E7PzQ>K(0SMVGV7HUpB zXo{Hal)ZrO@PqJZF&Vbt)660IZRQx4qA#HRg$Gdj_DG0>k~S1V2ZcMuebQiU9PK8n zLsofV2cZ#`0(tr14wF#36Z!n?e>Ck-j|MkiG6CHfR0n7s^+?1=Fqcb~=Ve+?N6UjK zy1g-L-eXfZO0pRs7* z4;QdAKC2*)UCn6udbY@}j%nP@-tfkk935RQiB@OUL*$Cbg@W9aRv8eHkTJ<+!3F}BYuNWvz*Bc8Qi%0}BIwlI(lh{X5iklKEyK8;1e zqz@Y3_pO56!b=Y&AY`;JUTdq;_&dQ5&2i-B6u0&Dq0{;5 zWt8TW4`7px#7a%hegcR7>;9h3m+>kskLj`%!deSn$$#2WU#iWFzX5Hf>9Q$I*k(5a zqJ*3TmQvRrd7mS{<%|-rEIj&R9V`s=icgWCy2&1}OsL*S=Ehu22|w31|FMsEFGoYCMg~ zDk&L6_yTYhUmuCdIm1j@ZmgEKZ;p<+pkWRH0RsFZ_lJTDf+*dE!fuZWFz>(00^G0-%JjN3+719zlW#eVJ%B6WgIiKPb?G~# z)6A92tpMipE+@6Qow>D^bHsyRZ(LB(q-#fTVW!#AkkrLcqK2b?(d{eu`Oiy<}*#;HR74|-?PraC{n6YDge6f=1Ghf{oz zpnVV26OysAXW_Gt{p5AWIOP`?T7f|Ha44Tt7`8>d^#SKj!D>*1r>O>Kzw%~iNY)cz z=3a8{2lUm&>Myz`lByAK7*0Vs6gOSy19tURKjiT}fZ%TKAJgBQr(f^4um|L zOd3hgbf^z~V>A)mjRiYX^=mM&$CRLs`TONTMcbsSVw~;6qdztvCRjxWej*HV(PT*N z^qjA+xIFqP33wQF9FO@Mq1c9{zcSlxrgj# zo!lHOtx>k4CY+19o_~?-u!Y$EY=5>NOZ7NirGv?4@lc{Z3mH|GICtm{j%si}X_}|s zrJ`_EUZJq1r&uXWI^Ul#z9=fvDnW0vn)oDan|htHC$Fo*1_VY>Z^Lv-`lr-dmgq`9 zToK@&$5PNA70TkfyjGJ7#(+e;)bA1bOXW}B`Mf@Tu5`H;H^>wmNfaQ#KIvr5*o#NE z`sGBWoaO2Ix(RPF_u2*Bd%PjWz6=SHzK%#KuW%q}y~Sk^0ATl8&2ZH6a2ziGx@BX~ zz=7+$C(-C1dq~&dVgMb6q_KaR;2YAQm3xtHo2Qz+h{~AD*(%dUOapAz+<34>#j4Uk zZ%5GQlqe?&$wc`-_0~(QR~_TVG=;9v_*CB1f{YWT)4AKe;@W)t3l=&S8tN0~C-@pnGM!TCUq@M&tBb z12bDOF`H<-aIXuR;q{wzr`rB5t5p>drYX0Nj!VG0;cTI~ zaR{svKS-E70MsSJ)v1(^_mLF24^L-oXq-VoS5iX#G@B$>c^@No1SD5xZ>tmz?2UAw zhgho2+gte&7CnPiw`|zrYtno6wA(y)ik}fS7xPZmZ75pt4@9~J zzVOmCP0*bzSDTM*Y;7@_U^@lOxp^>cCJVIPM_yhYQVPmRrtk((hPY+9&Cc^aY37?* zQOfyvyf#bVCM<6*a*Ivz&xH>}f8S^Ep}t5<_~0<>g8gpzou4Ubxe&L3JK!8G+9UE; zjY`RRt{?894)|4i(0T#6s#vS^T>kN4h#Nw+*WFB46?AgwzG`N;@++M=uHfj7yj32l zv^pH7a_80HzNF53Z(>%)w?@Z}C{xlVZ>E$K=)aM?zaxnVUg^(in}d2zdAv(kLi%_k z8lm#I#BpEq^6mO!C5%$XrrYa=)U~t`_HL%WAQsaOr4 z^P;JnN__PNIMo2Cp5NO4FaohCz!cDR6qPOrx)?ZBTxB9II1cpHba3B(K0qg3z}jXVw5Z6~QXtglEhXC+3Oo^t#~adpOh$hS z4k@WPl69x|Fh;LnMSDzU%7^Y)4EOrq2nmFr!YO_s*dTL4VU+zaYiUhTq&_R83*$)z zqZ43$0kJx#LB|7gDiLUJJnd3y5b$nXXc!%r-A`T=e`T)sKQL^gGt5y|e(bwhz zp0t9;U)cCurI=e0!=n%TmF(8b(g6d8m-=|aYpZlF4u=JYk3!(q<$r&H(B=n9b{Q=W zXMP;nqk1`0lRtOsL2l2Ym7|F?B(1{q-m5J@In?3TT-t*+{h+lST^pN7Ow6Vz(F$Sr;cT;ap zEm%;7KEp~TqV(r?H`pOoT#eef8y!H_Kdl+%c*N*oOJ%~*N^k{pa?r!MpswZ5qB!7u zkzH^ZrJobJiesk_nw1JBq^>BL1BqzMc^?Rv<)SB?tC;90=wxMWOHQAQ#%IxB$!qU# zAB-L;pFPv@%PYTIL;+tiqLLp)hNV^-4fAV}ADKc4-J??-?19n1U@VX6e^RH6vi?|1 zONHNUE^nYp4LA>{V|Od5A|{1x#g*I?Oprcy+57c9^FxL!!*iiU%9ku!{Wh>F+nIS8 z%Arb&D`T$En1e8l`pDIwQ_ps%-4-n-8$Nc{sL)ogH`@D1LH%i`4`SZ38F_OaLy3O^ zm!}0%peXY8K)H6i`Y!h%ma<40LLdsF_-D&SxFfawGMB>>!XUCJzJ(Cz`;7Mkx z*u^l4P_nWhw1McIp8j1lt2KMzup7gt^Mg&ePJW^{_r0D!h(lB#3=&0v3AsJC`|0=w^*hhg*{R*{T@{*P1>|r$ z0_HR&PV>Jj>Qv&4u1mF>92;Y$Yt|AqR$Jgn9Mjk9F9|DxB0i_)^4$FFUb0G6)3%Kj`1lRlsI1zG*AUWuj;hcF8kQB+w%#C(`V&=@E zrr~ueV|8aP)g@xSId2m6dL))_Z!{y4Q4-_Q4Jx6Y__Q)}Bz07qWxR-3CO`_FRtx2E z-OrlXz*4{XLs63(c{UnN z-5&xAE>sbYdk^a5k+a=@OVZi%qaoz@d?pIzY@+%^*f9>RfEPX>$2gZno+9lgsE67~ z=ZIr3rQL1b<;r0W2)w|EE#hww*c;i=w>w^jkchoSB;wR*ysSPiJg1}!bbr2ez zYbmimUS{L>*%8&VpA&}*F$T^H=&l2{Rk8(mn|X2Z(#H|00rk#Qc73-R5e?xXN9}D8 zDgYIHf0N;dzm=SS()F@W;!a8mX3be0r%1HmMacFT?L1c#%bn{J+I+~Bi(RtSaT-?g z4P3p*2$#Xc7d(z^W?$_z|}5K zF#yI#hYdi81#qx_Z|oqWa*ZHqJL}JH5ULaNhNz$$(ArmT%xZ?oFU&=Y>z`q1g4t^ zzKSc8y34jtUP+wQxR@4xTXWJGwO5^ES~#*K**Qt=?i97I9X;7{W=RR1h0HfjIW5j5 zx&31hUr;F=X(}pHyF0pi_k+9L=cUP~^)zG0bk?vf1}Y*@7L>X%npS<{$RZRS;@hUh z23eXpFQ0gEs7o^w2_rKTMt7hwj2^j+-YPhX-r^c7SujgCwQi@owVVr!Pb#K1?o+tG zd8MY75EA*-U@YPltYDaxmcEYeGunOlcdKRT>G!eM{TNyGG0B{EsqK%jEn$mtDlW>? zQZd79F%DA4$riew*_LG|Mv-z0GP14X4&<+k4pu&yCs`$J0*8JNd|_^xF#DamlPfG~Id3UTNxBwM_SW>=xx&*3H-95!+Q^5r+t-X4n(i@>SC6Ld7|far zrJ29}%ej%uj3FId!yWZPW@@j807&4Yis*K4eoP9#z47Izf(_85*@8e#H5Nstx}HP` zyoXBuu;cVTH~61>jBNgD!i47#g5x{&EJ|i;%hR0h@am!!b7WBqVFbkx*8cgwDeIND zK-b{|SlYv{A;bbBw!{{rDV$Y8V*?NHm|`!(j&_@`u^gl{X1`5WLMz$c;Xh$EUg1f0 zcJ;>6>w9mrd;wnWNOk(dkM}w-?2e_zM4kwhka_?cp_u=2xt=`ESe@nSV)$0J_w8d_?wO1GKeM&gAgGn|~PXL|=4 zC6@>md#wnV&NJ$R$Z(#<)iZz7n+I)#7&TpO9w!_=U&%EYH(o&SSfXv&=-u8ekV{AV(w@HHvsw^w9ON%C%?Z7eXaXs2WwhF4_NQ`X?od=N(ENr*Z6-J1@2 z1dQ8V$p0^VdZ28$qPfO6M4qgqd@Ea?w5<1Gtmd6dK8#cwQ2p7wDuuY&;^hrBLiXH` zH;jy$jw4DqK7MO28&;dteQM|yE0?1E=(tL9DH%X;-DH4-dCLCF9L5KAwZRVM0cE~> zlmBimNf#0|r^U)>5*Od-eb$0AGjlWQU`7_=kP$aStA`WEN_0iW#hWMVFpa0-HCr{8 z4IB~YhtA1`R}EdTSvSH*9BE4~$p=T*>iXmpEfxX?nG>j3J-WE4Q&JeX?qVEl?-E{v z3)#vXb>|LH@nv@3XVwUF+PkeZML;3n-S(vqMvWcN|C);0WT9NSb|r*WTem9RW$x@8 zwv=$B?Jdu|=RS=hs(j&$>2FlhxOAE2(U@y^pDlu`tVxu9jdlQD)BO4lecGvJPIQO{7S&sFm6UbdPe&0eYF|1z(YVnj2F6uNHtg38q!51Fr_+{@%&M zBj4c+!&VZsUBIDgH@Jn za+d_%{pNuLM85`(XSD&-hA_kdHCKcs5%HG%SeOf~?Fe1?a4MrB0)m&N(7On$phm`WS=z8X9HpSB201 zKZyFXAoOPfVe!?PmNG~)eV@M28}HL)UH?tpBM^PK>tm3LM5kaD=}gyI8^Y<{Y)G-% zk4==;`q%PxP_#XQw^1mWGCP$mAS~n$8>;c|gmIZ#=Cv6wAKBHoN**5<(Y4g3EyzLdQmnGc z(`DOXSjp=LRmq_B>wP1POguH`d#?(=4Lsn;MnAeg3ZVws^P++#`_5W0DNbO^a(0e0 zp{qXc+erD*Sbmqu3bjuGO2DsJ6uI@|ZZ}qr+8#P`n0Gw&mTR-?9>r zR-DN4+uOlowe=g7kNAS+d2<6!096fSk9;};i|sg=47=U34HL!)Hp#j(G8xr^OLN$j zt zb6b8K@xt^ZFMv6Yf%x)d-0mZGe03Jl`s!6-?#6bky{Lx$$3|}&Z@AD=wqsgJldB&M zG$j}8*s*+Okz+I5W&6}bh<>_=O-os!UaIK_4E|cG>ugqEaN33Maqh@r#eRB*waWVR z?_~IF&Od1Id%xmYuRY<+`MiEDTk?7S<*Dw~*?u@)CFHmt`_Z>0|G!!q)^>(58I_sT zwcQCI!{)t?9lg2Op*mf%f`m$*pG?!c@6Yyqjqe#q^CmbtYifD(yt7I# zPqUGeBdL?ITDvBH|GV#NFK>AGp!5@tLA!?gQzFCLEH6dnYT}2fA)m<5*8r1|R5WC4 znj~Qjv-3W|QtDz!gE*M)wcFg${-Je+qRdql|Ws*J~3fNgdI2}=8#AH26EhehZ6YwZ?N5l@$#rA-mrD=|?0 z`fxmKkH|TvaDi@Mh8S{e(G^S@*BSwl1Flpb$;UW>J=uZ8d?fo_mSE4IaQW!k-~R*+ zdM9h=cg4^w_iFmn1xPDq=Fl>{UvKq#5zbl)Ljkq#a&2{jspTDU~So5*}aj7 z!eJ@9E5uw0Z{gAV$lmRZ&Rw{iut_ zBQJ1)3wlG(A;H_qMfvJ#RXDcJ-*#6f9XC=61eMHYAG)BdrglfR9I<1nKfFy7psYtd zx>bIfE!7PVhgg&Q%9)K#LpV3jT|qEyHvHHbi13230)^ zFaBHhuXCu&e;JB^k~^Z229zU%x+YaT{E)Ehby_3@%NrxgN?46L{0$UPG^27+)N{0A zDxoVr*n&})GJ78=_qU(&slRlnF3b?)W)OOatRMoCPP{X3s;FU zuadMXe?F1Ax}%BvuDw5ABMgVU22@&Ge=bd1d8b3*)VCXyS?Nbvxm({iN_#rrSR>^8 zaMQ=y-ZpQ(9W-9|0>rtg-vwZiK=22ibp|7**duPLHe|929RG$m;0S^sW- zv4KK+jwKql`L&T|KUnzn83z%aL>wS0@&1^nkRE6Tnz|pqTtB!hhq!1lbOUK3lv1Tz zC*(l%2dHHO8XG6UY^uVI=3q;mNLMv=+igE?}r5GqRL)ozb9 z>D%MsHCjbivHk>Jr{D^w3*F0_x(n$t(jh9vL)6Ph<$aa(>4P{{E18JcP=6jv;2FPU zYXHl!;{T4X_&-4aNdH|{8EC{km2z&daX?ka;6>K<&^j6kbzSjh-(e_$qaqf?CcOQM zjQ_IqUTnsGO*l>H(3J#RY!;KZ@6*7-`Fk#m?iQ(a4kx_D(UqX+&(V1f9q>J4bV z(i5hR#X2Tx^d^RF$PH(Y^SjuyCWFA zEGtsV^7rQXA`yR!H*a)BX=V`l+(=KS+SdwtTU1^)vPhn*CZp5X@`+k4qM9N#RI%g7 zz4#oV1d3}ox7X)JwN-yq@3$8hrni0}K_HTZN?bPp*zQ^093-k5+shr{GiK2zF5Ak$zxh;0gE44_m3?m>TAd%<)4mrh4=$d2{ zvxcN+zA##z2!9E(rIvmXj7JNI%lX3T$}A;mjI*8>V^WX;FM-^#41&;6#Lc>J`B9s0 zu6^t#B@D@C%Ib0NML|~T5b-N$U=gdqH9UvIQxFzb&CkOrsw^ zfHqs9w3qmQ{g@w^ay1X$+d3SDjOYC0uP}w3eL|NxAK{&^DnhG!tm~&cbDrOxdMA`p z2P`Y}`T8mXbhxMvj1oE9`}F|?F_MM#m~P@{JKHGo+hEqtGI8=B5DtPhwzTNl)h#Se za|U&VBeb=P(^Ro4wBP8^P(w&@zRl7*s9HU)wwDT~>}^>LHn>NybZgBXK-t4nh0uzr z{+6x#={9cJ%MI7U@AuK=&iJ;MMf34ombs;sfM<~xi^_Oo?CDFpjz>>S77Uq#Y_9&g z0^%6DyOrEN^O9xX$U+>ywJJC9G8&5YF?JUPMEhgvc`MTw{REC|?<@FE-^v)yw6cwf zwW4^tu2#oa$rEBqyXHg$1!Iv)1Gds!8Q}Dtj&ep#tAd`X?7AO!s{g)TYX!0oW(kqw zzqDZd5-Sf+l%HZ4BP0qTb5O@qAO5I6VlSU9S{f3O9HN`@fmpTh9wxy@JL-2pODuyk z_QU8T1lUZGVvF9sTK)e&{Env*AS=d*boQbSDV7U*=%9dvNhfL33bcNhh02jI@qHA1 zQ{`d}0Ab*z9|QI_@A9*9{?^FNe#1V6An^Cjge7eNpbdhsrhhrpWdQB@dtr6P%Wmp* z;brxoes@_Ju9wd-43y&dj|e%?KY~SS<*;xY7L}ysz#CgZymwk%y6P-HQgdF8?_G`cNwzzTnYa z7lqiZSQuNI5hJ>qE)qre@UghLAB5C#n5)R z3L3=z-SP9YPOlJ+%1;_7=Qz&a{%am#air5JuE0Rq$@{@LekIjE8E3?IR~@Ae#6ipy zAjzEU9)vJN^E}@<=@@*pZa!9-qc|`4b5oIBObF^&61Rjs@(k_X56Y&WBI1G4{8jIw z9-FAO2*ETwbfm~1yG5;m{rp#8I@O1+iwgZPBl_gF&puoxcwicxvX)ej?@XW6UVsM{ zkNqS2C6=RKk@1Bqf#R6>Y==kw#~hGgDREjz5EVI0N06m4N0ZPNxkeru?6o4D3_S6m z4tE`S!vD{Rm-RO_L|`)mmc04t$SZca=OfwKZ3?;UOw*uM{ zOC2SW{xwrHp*UDnZW7y1mhlAAp;+!7fvbVd|Bkv@?ga%AAyRuCCAKInsCP*z8)UX1 zGN!T4?l)%7K$tKvMy%MIG;~1l`cMEt;x(hvWeTBGhZ~oYOWWvV8UKE@nP>K&Wx!0e zj#2k>@_bznPV=+u##0b1yN{emJuqKZ(zo}%oePFTFO zTafDi?BvIk#hhk%71^sK5k3N;r2>}><6??3AK>yB}8I)>>pM$Bgv!>%X7ypn$nujiL!A?3|3(#a%^YW$4! zV<@xzXY}NHLBU?j5D(vHLjT~_mB8`Aw+UI90k+^wi${pY^ue;~0Hu3lEFmR`^K8gD zvG_JEa4*mEeub}9uyfd)L_6j*!YDg2;T%FEs_CjY3+#6}F6ORoF?d?Gk-#^R+L-)h zqRX6CwcVq!ve-RrUg|n>o)ssQoO|KRIw|(wc7h4uX&=R=|33nzTGswcm;%lcn-G`- zJjZwcyrT0?HgTZ!+qjD?A`#Bsd*h>L!h)p@zUZ$h<90iyj;JmE=n@(e6YBdb04XAu zuM781t=LtrF^sju8pwA+XbRMoO^LPKH~Q>*iseWIj2k;GcibEyZs>Zi=9TR4kYiEy z$_$qlS?*VD@YP4p#m}$RCEWpy3|7gWV@LYJNrjyRVp50agKKFP9}G(HO#gNk9!Hsu zK;+3Ia-YlJ&`P}|_A;i=rjZxVsK%|u2D4I65@CjkHwPwJmCNBASjfu z)dL>?rHcHD)uuZ!TYYP)ygjx;C%fJvGO1k2a3l*)vWmH-nqW$)RO(jvp@3{JR#noM z1UVZf&5<7$xQbIK)$psc3|S1$c(ze7)yImy?Q}s!Sn_|aOt0Ah37%t%LcO#>Wi@61cj#$ta_;WW7qc@} zjXzS%Dk4h%a|2z!siOe26gEFFn3sqJgzhy=EP>kwfVfcJ{&5Ov^bIrjjnW; zUENh4frnv_+wRBJ$>bLt4k{T_w6YAw@N^oB_3re%{98R+FL6D}i>qRG!ds8qhc4ls z%7r`Im|`mKE~$^3uaTbEM7lsa3qBW=qbuIQDdl-|YrWNl?Hhf+92#6b30O(jqAd%Z z*Za~|8l26@%YH5g9Tfuexy{1XBU{HccaoKQP>4%;ciUe}TLYmno6ZC35WAgcr{xxBau;jSuFQ-WyQ4?y z)XDRTfxiy=#)7U7OG*LqzR3aJ1v>c$-+dVA==elW~Axq=PBuYTd+f2 zX^?x&>DD=@Q1je*37GT9znS-zBjk#6P4m1zpg(^*;n$Ab52LY5pp=LV9QesY|2tDR zWMe5gP(JmQ4o+?vY8OJ`5?}$LW&zK^)HAjsGsJ!dJ+jNFYEBK1O zV^JalkctXS5!AC8?@5XuePf$wQbs_)ATxN|3WoyjS01`}G^KIaq1Zqi69@IN43;8EMWL_A2{29H=8WnUgW^xxe`EcipqA?0tUd(zXm%|F&M z|JDwPQNs>fx1H2t!P;%ni7(a=_1?A&+Wdx27*YM-JqK@}>i>EUg3tQ@4_jvy)Mnd- zYpl3aibH^4#a)BDOItipoZ{|orMSC8X^XqNJB1b}Kyi1s{eJ(;Y&03tYsoQ7 z^cf%~ z9T_3@@kjYpMgo(PJDSbFL;7QIF7~WigO7+q2&&?CW;eVKB!p@gC9#TMW!pmdZfFdRt{4b+!`)zQ6S;{xbb&k(Mk@yto%pFW9sF%J1_#oYWsgPWf zQA9ACsLchTq$76NXmaX}d}a0N_TilLI#uZaH=XJCqr~wJtNU6;jeD&GvdGx2NKM6n zy>p4eP)h2Gp_`O*_5k;{yh}WICX7lq2J$&v9iG1Bp6(w|aiLvL`)YSHWfh?qMMJ3D zy*5vjRH@ZEVBi0p1u!-MuFDRu89-$A+gJyf-JXpw5U$z8y<44+CaKHUYardYx~>{I zw|gtfzv%yAj7bFYQ=^V=rr7Hds)V$zYx#4Ast5=UZ266+*BFk<1(lwbM!&GiRCu*v z{ydCzF3C1+)gee-SzB%If0|#wJWv8;E7P5R3;=@TkoQLXT5TD+6nBs}Ute*5tCR;r zc~m0#Sbj&c)NuH9Jfp5-eoCvXT@_j5R{!5?15h{uZ}GAqvF-??r*SAxyC|*4tV-xnH;)ytd&NyXU=oyJJK1YfX{Eo`RhfVJq*A=GuHA!MA`rYcJrc z5nJmfN~9ThFOp5dky5;z0JkqT?8 zTI7)g(WvM+>WcKZQ0Z@?r6YN05y1n(q14sCnykKtdE8K2z68sfxa~-c82 zU-krHk4_G^iw@=~Tz@JCRgpBV-?!3#_;WYyMH=~mOu>HCHEK6 zTECB%R9Jwsfp;>e%L;M(tw8Ax-S_C-vMN%LRQPy8YLSa@fVt=*pGTB4Luc8&=jt8o z17!k9TnpvszutkdyV{re3sIW5Abz{7O^ck)s5BEGn|}doclp#nMWK-Ny_twG$dsn^1Ui9C{0V{!&T&ZM0zmh-fjk zb6OYH>Nn*!-yR}ncR8Z1w%%gSQ!co%R!&sPNOgD{ZS1yn4eNc9-Zk>!Yp;~P5nb(E zed!EOkHqu3?~Hu0TD&<~#pzmUi;GID%(q*{4rh%%N{31B($2mP51*ZmZdC24qZWgEs`d zA$j}ek`CAu*zdLGvLzSZ-Zx`@>J*CP;w@uB7}|j^j7;YAL6{y25W??Q{_&7X*X9YN zZ<!_P*hsMEkBnuPd|>MwAZN3 zVf}hyO**A0WnCA>sl;My@P<#DLWtRuzgmFgw(ND-*+@1d4Oiia_A*MH4J`W{nmrY1U6H4K@whRhF}R;WraD6 zUl6N$DSsL!mTNta{B3*g3l}hkc*~Vk&aP8!JJJm zqPCnA@qF4M(W|$z8~*LZq8Ga(wtYZKF{ls_yV8DepU&g;zSZM&8;<%wJfj@EZ&ei8Aj6{~wd zZigK3ga#1`~8oWNWw$jL#}cxFT+WSig}9;$6ORvejilfd6>;j1M%Dq<7pakK-sHaUJ7)n z$_tWC&OF|3CEVn`ip*oTv@)<1w{3FFT%EgyMJ9?5D44Z&?fSnRp3AZACe+zyNf=dV z*CU2>lF^)Q4k!_`-S=Ml`!la^|DE_z1^9)Uov(#7i$Anl+~P*=E#i9l{5o_x>2je; z5lN=pcjI*EY{JFG!{c_RaIL@od|aj*aAY&xf)mTf_dR~R6$d!s_?BF92`t-;{lhc( zsTs5ImkX*U-3MDlcN?sl945J3lN&nuZ6WUZR`z4({%$8Kb`JfusIT`HUC8gL9nRNO4zZ~m^P3$To}i(9-1<3Z#A7QUI%MQpA=j%O)*#b@oaa3Y_a0ixCxf_4Wv@d`x zy%tmZZFdl2v)^OmpU213uFa7o24|c@Vec!($sA#ZYbr5+^8d`>K>B@){BQ%(o;yGz z`_eX~G=>O1h>WQj*vUbfBRcAoiCwFY&;xs7dx(~_ASUV zC|Ew{0x_amAI!G!VoU~)&#cF?PwSF`)FBcwrO%6BMbMZaqVNS1x*M`TG{-d4tz5it z;TvC#HsJNa?jWRid7TouY#F$OAn3YI?V)LuYGELC2!+%({KC-fD?U?>RrRW# z8n>QtjVGGhAO(6x63#yy%eCSv2^Sf@r4XMN(TP7-9-l$%6`j4P{jx<|fT7k%&#NV% zUmoH3fZh*I?-rXoP~+;M_YSw3)(^2X3RuO}u7Xt`|CpB!L=eSiPz}#+xgcJz>xg?Q zsuGWCcG@JPWB|S_J+V1$D)Ya@?n$`JBp$9ZYy)nNL&NPOToReJp@8hOAFjwVH^i;-XHih914&=JtK1Z_kw3D zjoy5(##L5GV+(;#Z9$ez76EXCpi9XXtBhZQQ6vS>^zFgRNPIe{_`{k_hJK$xLUdvQII4KKEsVqR?gHrnYMt}`ys98|ufGlpFnr)a`H12$l5jRaU?VY(Ox-gI&&?TyQnZielik?}m%&M4DK zezAZTbAq|YUON%2K;K$EUnfT%;=CEu)Y zsNG>rg2w^YtFyKtmQ=XW-6I8%$$}B#ov)X$zzT&&knQhw*||8Z0l7sn>a`!esowo? z=e_-%K&RwhtWq}jop!@~UTu>3`s+?oI@wy1hAiz4wn(xSTxh4}2xvAf1JtY+> zjp1C@dDM$G4`t?F#^se&(OGnn)Ci|4p0diM9rC_o8P4m9kD2}*DosA9!*^oYMKMJ9 za(S#`mcVTZH8l+`TT?dZio`Fo>{zAjcdSNfHH74CEFyNC+$pP1g%Mxq2X~e5+!veo zdyC$Iijw>f*3dp*tG@bA+k{+>ST@y~ZzT1+It&25>pq~TBLtf$P>9U}Tt&;FPIu*M z9?|++F+*{bB=ajRE+_=_%HrzkxWLwEwQ&yuHKU}I6mX+M$D|N?YdM*n&>9>P!Wr=5 zTdvoDK9E1L5G}9Hq1>8b*P)5bvwO0;)JrW9Vybh-o1i zr^)Bd@2rd(h4m|H_ZpNdcvGUVPCueH_u~|AUbxZKWdO$9^L;{}u6}Ntd7i_1<^#3O z74|Hh(lgT2?7FBCq@#5N`^0QSYqavqB+6-r`}6nEZyFabND(+x1B-QvvVecXjU-p; zP`qr;4lAQJ_XOe%aL?(i{xn;MdMEHZ_#^u6+5i;lEpm9l19$=tN>S%O<^Uyu&-Bsd z2{WdzRbi)E9i|6_4_R2?L?WAJEhk4jQ7}J1m0Wh%x>vj~r0Fr?`)=-Y&}ZMNpq6($ zVxxK%2c6Yy(lZ)%F-V%CDu5fjHW*J!!^mqk}}&I0NDA9QHlp|BEFs#LS}^NPAP_R-8Sf; z+P(j5KAvW&0*07az|YIMiabt#kr9qJznsSZa3`kzF$5q3kVoS6CUor-Wywel`ef?e zBBxCYXO$66^J3OYUD(*=_=bATjHM0Vjm7EqB; zs%qg+&p9o|1u_u#U;iGS?fo-{E4a!n$W6T3emZ~pYs0V6@WpM}U|~MIQHn|HyKMI; zs3q6M`Qi^rGLx3-5z}ta=4Z$g^iZ<~Cu;L7!BmzECK|=z+t2u$VTq#hja`?Zwvd@7 zto^=U_TW4zl=0)QXce)Ky*`yFhU3)fOAV*suzj(TWqQCOBXIQLgfIp@tg}IndkWK4YMw0xbe2%CSPX1uf0OO~Tm0y1xl=AU6EL|=vqmQ$FYa~mV~swtdfXu_yNI>W zb_F6b08Pj*9{)L3AF|wd{8q4TjoV^^FX-xbf`F6B-2+?7{cK}y7X=T~)A`VLzk992 zpO2NV1}({UIESpi=J2lRX>>8k1&G)D_}|W2jwgDzi2C1cZ~)cDhI$qBw!{0DFst;q z^MER(v$p3C=`u(@-#g8-suEOx5Cwl6^I71##R+$*Jk`SLVIfY=<)F3 zqH;%NzRi3W+w622-&zh!vP5*%>1IW6lhoTGK0BSu939XeM^Zw(jnDrLSgmzJ=+$zg zfr94WXbQ9E-5K>#gH1%I-(w-LLn)~fO$i|t6&02Ak0#^CR!UC}qd-8})1133mpwHb z>iZt2YPBmU(}!AcD=T?ig78x)nCV7A@cf8TtLT?!QS}z9=3B#^n8D%Wv1yz84`_8C z>+G~rvIgclx37UI*Z*1`Wbki;-}`nM_egq)v*`X~;C$Jikm!zVGw{k4HoLccTx!Uw zEi-ye0H8+TlhrnMV~B?i{+<8LGKQ=BW&CBd_4CEwybFfhfbrSlk6`Q`aePGIDT+9x zE@Eg@zQzrCODJ4306f^LhbM11{L>dj)TPu+ancPIa6ei=+yBp6_U4D@)!k1{%HVHc z5gqoPPgpZzUJqG;Lq|5V7Hj`TW-a$-wc%00YB#51jA6o&EwssSZ{qBhJ!tIPk+7-7 z!Q@&icU*iF7S^k+r`r#}Lv_S{fksBOe_%`-DSFH61RoNx!3FJnKm-~fQU#JS8i0xt zDEo+DqUf%)KP0<@*OTD-Yh56u^lBOOfuuc!CIjD0XTMi)86hd7@?DZ5Os%9S2PU`? ztkA$&BKz}l^on4yL)(*ypR+>%Q5kCfsMM5Evv&=2Ka4)Z-{%DZK%L@NmroL1Bbk*@ z#%}@Kw16uO1rh&?w*XxuHK+DZDWIED(8sLlx4GCFi8!2hK#!LNB??z%$S+zJRAo~^ zyt56|5`Q^w|B_r1@w}7&%9%TrB20Di>`g`G|3Olept=2Z9q-FrIql`z&$_m&HmRXW z=iKg3#_H9G={$ae%J8B0xuGkwYq=QBie3Q*sm04^wk!3E@<{gB^E7Y3DG;PVQvD9REPL@nU) z5{&y5i5UflBz%`0`mb*4*9fubeQ{x6EO{OB4x{A(+%-^n(;&b!rcftcEcrdG*1BHh z=hO$4b)|8>{3$oL(Sq;%gTv1+#hK`B?(LzR%) zvJBxtLD|M4c=si|9a+%AQoe*~LI+IOu8O(U6P7LLgKaZ!k2~}A_WrS|ze3+5UPMOG zY$RLd;O{!usY9I8CE2bP25+K=;?8HFfGq}uquF3e{l&if;(3_2B ze}rA?bXatZ)42u0sIr;q=@|Cq)X10Qmk48XxO4#Xv;Eo&Nd}i?&9zDdSX0JFy54#j zdn&IB7nJ5+A^#i4>1x5rcCALM^7EQPHU2oX*|BE9;vh7!$TX*(tbV^TNBdayi3?N z@c4s>Rj+Xng{qjS_hjI-N*cwB;?e8rjw!?FScB920JHspKr%NGypu@_nzSUxNuKr`ll-0-DeFW*^xn*4XQt!p$KBe&GAn39kkI!fns_4?_*{0@w-c^p@WB|*iYqROq3z5SsN zael(B<3wn;(P+N3i#d+}o*b4=LyM#R?4M(hJ=GDzDJT7{`2qI#aX6a4osV`lE#Tku zaki)ra-PSnw8gEvm6$iu39Q4$ps)JFTEHvh>G?SfseoVJ*f`(Q8^{Nv{&w1*p=36Jp;8TUrc$N*HM9Qn1g*J~W z&wzMPhNxdFF6|ZQp26IV;&keNL5hF)@(i33|AMFsiJc=`#O`uGm$?=?V1mZce zsBj3+VA7e=-TSxlxf~_9aG1Bn?Oe6;lUU)AwLUp!5=%TJVCzQ}{ z<6;94##FQYr&wWAwA4e2R9{xj`gD;$JbOyw>Ty9O78Of(+i8#TX>1*EBS&S(bZ$m1 z%qjU%aMs7dXpZ@k)<36Zed)wyIcBmE`$2&Ja_F3(RDEMs(U}$gTm1B2>}Rlm+r|uG zORAe=DT_xavm<|MjZc=bO3COqd1_pFb`tJtPKzT?T3;-TpsE6?h-J|s-1vygzb$ob zzXNtSf43kWxl{#uH*)&+TSauHvgqmsl8(~QbmX&Wm8ddz)2$sgZ#(^C%>M!Soe+k# z%bz92S;p$JY(hKTTdj3F_0rV+~L|->2&yTHmuE>;PG3wkF^_ z0t@d>=(L+HY4!Ir=MynkVY_h@p`Pwsxi_K(or)1%3R*Q&_d+UNh~V zehsK{E;Mn_puyWq7zttdeDlRG24!%kD5~L%san_~)u2;CF8RD|eBN zr+wb@PWEWVx5xb5pZ$`Kw!R0B>(-(L$!T`>mJ(9Tfn3Or7mMa}fJgF{V5x+M9lN!h zJe%KRg?D(Ve1c}+9iZbB7)NtUwu@(+p+599)Lg#&bS3Joe6-Y|eKolvd^nR0_s*(})#CNr=8^G!39j2^3m|hvA>e=CTn7YNo5pe5)v!iMJ658YyFTPM`85cN_Jl2K~mmwvIxSQ}Z@1C5o zt0`wTC=k+tw}8^vLylh=_+d0tkRG_BnQawKN6!r;>xak9P>|T>JC$UAHLkWl`=MNg8^F+HgIyjI|@`)VD zsV)m;XXsTaK6ck%G=tWXh=2ZWu}wBaR1NFIYZWx2i+%PR?i> zjv5zg2=^h}6O=wFIUTnVhI&#%d1CRj4XcvXd5h(U4sU|!DH}r>C8w4l zV2jxy9iL+?`}fOxGv%X&^O*FF_E<1-*KVcy&8`+1iNv(?zNQ#$Kf1^7x`5UyB%Q@~ z63MPqX1G(qxMYFlBj}wDFLqHJg5u<;@kyo8(+bOtr-_clzEvI>Gs5A4OcGKzIe~^T zq`WFMa~}n05YkCqw46Tn@0+gd;r(w@`T33<%rB zSiN(5j9FbJB7DOqIDk|DU5&lDF9nI%<2ey-np)}uTcVCUu2_NR;2sC`hMW|A{Cfn3 zN4yQmUgNyO9VM+?Ou{YrJ1X1$`99LF&=4v>q8;ZR%WSg~Y(i(8pmQ0k!H+JrS0BuF zkva&D3;5OjKT!8Oyk(L%;R#utxQv!0FLJO8@X?B z)6~RGD1IrgrO}wbU(8TZOLFM61{;Hu#?)6+If9rqK_TT1L=AV=9W zQ?hZNyr~%M5u{*L{yGMz?BTwf_Wqsh2F+hXUiJ&;`8<-7TxT02oYyOz51LeuRN0Ad zy40yIw;3k#+SmC}Bq4_M|ftMrT_UTG7Lik@MHL=<%XBEx?T-Bz%hc*)GF`-+U z_|9;Gsd{1Yl3?Ws89t9;D z4c;+f#2Q5e(cmdSb}#>Jjc`jYI6*Y*k$f9`uUo+y!|Ix?Sl;TteWU^`L`f-*8 z6_DQf^Y_Y*ep&X~9Arh)FSbL8WWWzZ`iAD}l55T0U^ss%ZjwrgnoV1&d%!YO;~Q3M z2{u+B-}n0cOvPY5CNSFFdr&2k25mS1j!IWr1i@bUKCPUAk zh@oErGw2R1#?zMlIgz36<{)jR<6_cJTe=oNXNl?n^7_aAZ-Sr^* zFj#GDAuP2lLG!QZA01Yfklh2OX}g|7Gv%Iw+@srV+M~&A_Wb-;yduotOf!0Z|McC6 z#!Po9F-zjiD86srYKEE{V=z^=mfMd1)_L$2r4S3jxXoq0bLG0VQaK|jXqj9;FXF^r zz8)_(nI6tnBqnDR_@qw-=C#ab=aHD~P8UcyuMNhKIRWc_23`J!fx2@OLh1Dx!v9E? zA{6q`w(2NPyt^DXf^p%M$tPA1+H;LLB-V0-J^n4!m}*ij(^ijNwx?BbTTUh$p0boj z9NR9{D^za!J-rI~ruVQRz3=SEEH=s+yDd;s9&c z6-^Q`X*=S6yy(Lb8@>f==%DmiCsMZOapjk{XyrYd8b0OT6720<1FqX-rwd`q@`&pi z9N*Pi^Qf&vV|?4jiI#Q2NtCK>W^+5$?H`rLs3IkeNL$vy|y zY+S6zM$jU-EEDtd37R)#8YAc#;(J$JKp?ci-&N#+=%QJDCIp*uXEf@x3=s4WekBi~ z*F$|sD&An02$*Evjd(63LNc#FBl1?BX71IUdQ}42eynnbcc+vU{$~% zn-Dja@AS$hxzv26STh=+i2SO6(2uOQFSdl#ibk`a(>Ts8fgp{D2wX+`lNh>2*bJd# zxQa+uIy?&sYH%knf5g96W+8o@gzt6Kz{Ke@EJh+DK@Y3KY)KMO;6lTZpb5_pM;78y zf7*<@WtaPbgJ6t`Yyqv6tt;p0^3H}M|)wR7>!g!>G`sj6J10gIy+W=QZNR3K?jAfdv0 zO$x&Egfk@?pl>r1Ka3u_vUtR?KV>0MzOYL8dvZsvCDSORS+XV)LjaJNEbc_4-va(sB*eXdT4c`So3L4b`kO@SIe z7>k5@*_a+F82*JCUJ{4kc{MH~&SW~jhfzn}YkX^@!WLb^*uPS9+vPVMgaHX24Vnc> za}5C6maMs=-mnH`z`zv@$X+q_Mss#Cc}odUgqM{&8uw*nI1RVZ0~oZ()^jW@}vb$u1^daS1U>NSQ0hdA@bS>hdEcf%gyf z7clQ}t~5I1H3uFD=w@>V8qe9`f=qef3wMGF>H)u`)QW~>{V|sC%O1AOsq`-C!*!1o ztu*y+w<>0Ncz}3(2nwo;-oo{KjVc{cTcsfIZnyo&qY`4DEE%gW_!!!})w)yZ(N~$K z<(}iR{R;vK@6K0`t~)N~Cjb@6#&M$JdOJ;rA6O!pS6#iKs|l-2BqVfHqZLVC%&?CC9hsmBDCk6Bo6_o{}r4%?70h*&v;UcPl} zx&1PrtoK+-Qd@qTXaq)^xXGg){D9hSl{h6WHbj9I@B9sJ#Fjz)hyISYRa*lQ2!hoB z{i5&S53O-H!su&0*9Dfh1T7d#r6Z3Dj)5=)SFJHNr*~||<3NM>x^F z`TMyjXRX$}?K~@t8fl`7V6Q;7t#UUW_6<`>VJ6~X_-XXxq7+kv8G^;kVv-THaRWa9vccD zWVge+?ggC^B6;_9{v5g^ZQOxWlQEvrg1zwWlujJhV56;^BlNLy!w1H1F;0wz)$e_u z(Sq0Nc1S-`a-Va8B85}|?a&+SHo!b8MGmD!FOsg6+5MEyGFN59eqCKPUeWDT{Q~4z z6uKU6PaU>wjk^|z{HG4(G0*hEc}$kUWUitpFg4vX(b4Gn+E>gJX}CPDo3pccAqDAp z<9u5I|GA0B1%|mI^S=9{@&*f1;Pb?K9J;qK%+?;w3njuyWCZKMt|bumKMEB5eNnWk8eX}j|J*ljr!y3A`CnK< z1E*4N`#CXai$Wm*Gz$- z>6a4E1=`QMC+^|8Gp6c+i)r|s!RMzfHXj1is$X70BJh)7E84-dD>CD^D;g@*x?z1a z5gW$j&I-Yl8mKJ##I*EGIUEwl@8`suhS!&{sKwK>wr+BaqAAY2S&)A17ZmpO;0Bte z6Td-aQjh45g{82r|4B4Q{whg=2R2joa9PX9lQ^wyh_KW&#@M}RI}Hb}r+~q{w(L^` zY5__Na|eiXu$^OtNjX0X%5{(_FlcWU4nk)~dY7bnn6u!`rdcdc2Zz;1wU5g*?ov2t ziK9`}moc8xCN5cIHLc9xyB%xL$q=Y|#sx5lw5{vyj*Y1 z03`zNjUypMN>?r~xpg|$261Ax&D4I>|LtLk5bAvZs5uBK2%ao{00%wTO94S^-l|Ui zg3~qs1SQCm;$Z@6@-^n8SBNWW`C{Uugpm}P)G0y-vq4;5L3%QDAN==*oL@xEBogXV zq1WV;j=1EQXr!!IxxCQzieiej(D(M|L-su8wfFG!XL=u~QMb$U(=-xl2WHtPt;R5< zuTYGgcu8+Vxww;s+yc3xq4kw}C0Ti9h=R#0;3^bk`^1zm|9@t;?r9oKnXzg8<__GxMOc*BfNMb=zPxB zIYnAMM=a?D=lg4r*L3qd4;Feuth0KHw<=L_Rd5qR3sLa4%_wQ-|Axo`DuCS}8|8?r z*=u#n3@Mq4svAl066764-y1H6nb@3f!%_B`%m;Qr=&g4TZ=`K_RMICf9Sv8T5@Zov zVp#>d$O@c7%1Qe69~zM>?`DG32~)F|93hI&Z5a1Ddv*#q86w#dKR@N(M0u5w=TdN* zY#c3OqzkEd#Z4n73Pz3d<(d{%Y-eAPBn!Eb76m+ENs|5S7^+8^ezo~;AbrPN@KaJ! z63LUnSVcS�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 Of}E7HWSO{e!2bcX!qVjc literal 0 HcmV?d00001 diff --git a/docs/images/models.png b/docs/images/models.png new file mode 100644 index 0000000000000000000000000000000000000000..91b14df446ca9267e654f7b7026b04d4f9e44da5 GIT binary patch literal 139496 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%0AaUb&0S&CM+#<)W&nDEI5vukLD3S3dnM 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%0D~C-JpNmE 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 HtS|pJi%!t< literal 0 HcmV?d00001 diff --git a/docs/images/preview-graph.png b/docs/images/preview-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..53c13c241656e215a13e4d468e27dccf9de699c9 GIT binary patch literal 295424 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ⅇ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ði^QVNa_avHl9o*{6ls*7tM#y9ti*lDN7{2a>FQ>701;1_c%$_@^9AAw>d6D zCb~oX(tDAGq_dhq%w9>ZO4-IkKA;~by@CA5-p3~rf8zoUJa5n*wFyKJ3el%A>m3@E(wE>XtuLsw8EUc||?^lDETK1)~Pl3jr2 zmSf`GV$h1(+~zQ%NwhjSZWlZT2vh}cCx=eUywCdmeAp+3`t|$8%Qsp_^<^LQe^~gS zMc6xab6I5viAS2s9nnFEGmR!rdXw*%yzCpEb6OFf|KPL=hwD!Nn2FUBYs3bzDl4FT z+8(C}Wd|8lCJ>ASoT4S{MP}0}n!Ir#l=U!F(&%*AI_jdAtHi+At4T<}K&-L?ydD{0 zI5yKUY5AN|!r3M0GGXesBPgWfM@De;vUV@(&9j*8r3w{yo;?Cg-52Q^UzGrK<6m{7 zNj8ORSpT_l)!FFJyM}3b3p;lP(NNe=KNvWvEMvNKr2j06oP7LQpo=47{3$J&Z9h9< zFmpMAI1uiV2f@sGNj5h2XHAU90R%u43Z>R{kq9mLmW@d|Q~1T{U=3l+3T2s?WMg2S zzxUfad;am9T*;=_d_hnL85u9Zb0(}7|8RtT5n@slnwd7*y`I4>I(Q`HLZjm+Q*cCn zrWcrq7dOt00N(%`O)6F8gO;dt-n=-JXao}tnKp8q|8}OnBB#!}U{k5SS?c|Ob@6L7 z6h0&TRl(>$5X`eGgjOk|tBoac+hmwx(O`w;=(;LAEfQOxZ(_)A-6jdQJiFtK2Os>-Svn8-fZM4ikkQ{KX8 zgZ~EP-_G@G^thOkPjh~XZ3S@7Md2@^_8Ew*8bi$d`|KqG6mmdru{52VL@h}@3^7YJm4XycV zpjJRMAzSh#!{lNl03K(COa$onYk&3~JG5hBam=}gjr2evy0D8(g#;>E8@%$^$NAdd< zrn-z2V*%%@Lbq{7AI6I%H`jpmbh3rW>=)pS(Ue;QKJM|@dq%sP(Hz^C z{SuC1+I&^ajDpcv*2$nR-g3N^S8RF;!+IZ67osEm3F`V~&c&t39Zo-LuBuGv8aUKf z+B@*H4{1l0RO)d_X1RWzX-bN(-}; zyOPx9rn%%!Y3!SHZr)_(&n2jP`MmJ6>Xqe>5&>=I9D*ZMqqsXGpQHu-x2b`XrL^i+ z^vwzmgN&|k^^JnDkA8kKoho@zF)UhU;QDEENMA?xgJt0siOAc~kEQx^BIFvHsPP2J zS8^C@CuN2|N zmSr7mF%c?f(&uv!c_^ck*l{aSX+b|O>CiLIU{q3pZ9Ykubo!uKt*|$NzVh z;xa<=3(?tKeb>lv=-rocR&~ei&-=KNHf<$O(+i{{(Xr!_ zXW7|KLVQ9bxDQ-~r^QRS{NA&x@11m?f*?Pte5OO~);0XoTKdI@erfO1?T|G&hwuBt zUpUe>ZD0OXqWjGAif?Z!%}eMXbYk~v-b0Xp?3*3dst@VfoyTW3Q{x>ESWce>iD8sj zT*^sN*i0g3*b_X$wujUL9q_;44`MoS)BXRU9RA`5Ku?$ocy@Y_M2`B{69NK0oPW57 zf3S@wyu#m#o(_L)_wV|@g{1yB%mjSce*qx>fm%FW46n-JcaH)IV2sn`Z`YmWv$3J;SToc{%QjxN?^U z=>VGd8j+q~R5NWaXrtcwo!#UK@<^=Y_?Jit)!b-F~`hFDwSos`55Ei&h$XqzfVV75!adQ zjL44Lje^fb=Qt?I4 zfI=D@zgb0bC-%fRPgo{WNh3sxD&?E_87&ZY;;1|S{w7W=LLVx&w-^z!uy1Wz%_QZf zT;xvivxw#ZeH>3j@6|$WYvV8H18v>7GxR*F^w>ab|Zx!C*ge(o3@QFzOZgAK?ixtWF#;??T zmF+*hvq*3`_FfYD^(A_|;F;7{Wi7!+cE>RfG~IJwItZG?%jjiVNPfPM+}ZHmDGLY3 z^fOtflx_Pzlkcf3f#2VM%Z)}iPXq+jzk-_?b3AZ&$>_GsEfdJ1>#LgI=y}mxq<1WE zS-e&^uQxS0viG__>Qa?faX|5dI2=KvQ6sZH!kxMHD$2J%V(g%WA8TBh@c;$tD~f4yCKG!)$5_p~6&jIvYKK?qqJ*$uMCAY{olBI1e2I!O%K8InlGHgA00Bzm2x`G#;s`QUgfaQ0{+@2{Z1h|aH5eekGjwJpq}D~A92m|37wUC75b z;W$9#i6?9<%{w#w>RU4W>I|Ynpskt~xX_Ubjb}@NUsdN5egTN?;$?RbWO!d$#>YGw zS>nV#U8hbi7mG*p{VXHi5!XWwcA+0$)V1D+eLC3RjQBgk%6e0pxztAsaK*|zqfFE-3|$2YOd%+o98#t4DY70H^d z#rnX6NG_SZY+2zw^7XIyAgWA)l{ht}ZBiF{fxjmxL63_rxr4O^%wkO3ap21y(%3JJ zAjoG?(w#52ac)s|=B9jIoKz5N!p++w_I&T-|;tArvwq+b?@Q z{k(^vHmk_{M9dxKwP1!mi1!PB{#Z$?d3(lQT3nNQ4iJQE8W60=nbCJ|SD|dj#aUiy zxlx^+WTL2`8O0y|2x$^J(iCMo~1Ce9D8h*u5L3qlaqnB z9QfqS;+PsIbfRVsFZV^|I#d43I_ zTaoPuKG}bhwX&1V0pwAic6e0x?P+NP7LXB30%8(u@{I=;D4;O&L{z>qL(MgIuFgac2kyR2 z_C2xs2t>uv7dGHU(=a~CwMr_>=9rFNsS(Mw%tqVcKfdBwbPjyX5o#~$mmSFkT}Nb> zX=DI=)A+E5KmdAhXI1yy#4`qtN+pE3@bu!(PC-JGG?;=OleT$T$}0-C+`SjQn$fi8 z%Oehrn*O+GU`LTHg`YEmcKX4J&Zs>=!Adk>wvBZ#fCu4#1fJ3u9jAF^hV6wKhwW0q{`mF9OsG+rG8r$CYpSc}euWe&gFWi#PO! zC7dij4eHs*|3X;#lvLg4IAI1T@T`T-err-9%aGi)F`j=fEN`@bdQue#Vl3?^NZN=; z4y`8UyytS~+93cu-=>5&?-9&>A_a{-?pQ?XXL19#P!4mABNzyC*W~< z!vemB>f5nFl8gCrI5{peK^dz}6&D8<33tBc92Ihev(Cogq!e9%oVdf(-=~V}nXuZ2 zb!_(p*;yE-xIL2XHsU~I};Tgjy ztG(d!?NI97Fkwy8=H}YC-Fo$*@KH%{l3f&yR+PN!nB%kPx3A<}3m|pRwPBfxjEe(T zc^&PhXGv}s&!c94g5KvyHDC&>TVkJe$sx+04fM$^@}h0s3l8e;%^ZtGq_e<$;= z&I+Q-_wEiCu=cz6r1T|H)}kd}lC}EK?BoB8`?m3`)VsbF0s6hn&r!8KNw1N;2Y`gY zdPoNr(%$(NJ)iB;VZQ`;;#+&&f`*8&=_H=;8n0-{(p;vIzIW_<@Sw^af!|y=li@Vm)tg@MX9~eFYU}16`)?u-;UStFhX}w+ByZ%IZ&e zO0qbg7r3f>vp{NZ0{uv2v=d!szHdAveoQN=tb1E*X3kN{U4L{VnYQlhFx3{`yQMFa z%ckMTY;y2Vb?xpY2(H^%^URet)D%UC@^{m0jU4c9hhC64QpdY)QRfmGxe3gQMhC~m z(3iE}I){wU$W)E2yHh=*-jQ$CIp_xcIw08o1j|AvGS!`M zC7~=2H}9HL6Pu+cEQlqn;X#TWuf0YBy{q1JZYz2UX^2^mA zlo{e2_RgqHqmp)RDceV%$&c^AyT<{}d= z9I5_`TUBE2^FU#47+`WzJ`3JE;o`y<-)#UA0LH6T_MU52TKi`s>!(w`3{Zo)A!INX zOOBR|d(*Zg(Qv*sgc5?Z)w9!(2XeX_YjG8N`ie^<8BsG!W5ER^V(Ireu+6n7aelYK z#9SP1Kh$YP0;v4DA}a9qOI&@2 z_cq+k0s+_qK<-gGCLRpL@C7^&s>mlkP-L2Bw`lh-+)xKz;wpdob|en(mhu%N1Hb6p z5*FJNjkZI$);fwD*{XfoUbYG~o4d5Cuu{MYM*m%MYe}I>#=5e~Mw4Zx_W~Zuh?+j% zY{_X)20%!a{Eo{*&O%bzEw|D;GM}ofUy}tW*@Vlp6f8H4^D(I##6(M8S2=7LP7WyD zU&ZgF(UiZQ{SxGNXgZB7G9hjrxQ9JyE?p~Bn+{*~J}ikw|2U3*Sn9w^)M=s>YXP5D zY;uQLGol_#{PtrGNt~zNvM?B-O8$0lwr}5Tz+{BoWrc*MlP0Hw?Fnz@a6C6);jOCz z?d@hR*45#;*==*USB|({D0rVkZ^8{OQIa8NDHPg)jHz4 ziP{sgL+`GK9~5}TsNz@%Ci+V}M(*uV-s7Wra&nWKWC#C}=vWcpCCBH|XZOk4-3*Fvr@~^nc3-ltgnF~BMO4m6Q!S=01YDr$zQn}&M;DLDe2xzAf8cR}KHN^U&uQ{!!16w)c5NX##-8V7u7| z6O{ss{7EZ32L%`ylun9Mmtwgv$TTFE%<1FMH%7{!}yyc!RDODf|{;g(Q&aO(mHN z7&}}UzyNgl5Z#HY;+bOLY!8<)76yhb{z)H@kz&FL_`C6(<{oORFG2y#4i^lxr0bCd zC=T>KN18VN+_J7fbe42k`{X0ZqS_%-)Oft`l*zcNw@6#aP^G%iRZ~th& z6Ziy0$lIT4)>dt%oIP)_WcdFEL`8eCaf~x2rBrmr%Y%WzU3uKEc5@O>-wF&y`sR=t I-3KrJ2f8z;>;M1& literal 0 HcmV?d00001 diff --git a/docs/images/preview.png b/docs/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..76f212501c1eeaf7b1089c03097ee1ffaa42b9fd GIT binary patch literal 579582 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

Brfbz4 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

~jALrc=uYpAEfJh(%bY7DL9Z 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⪻39?lIy)zJT!is7bYDp3}> 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%0A

d+fro=?Mg}zQTV5QfQqza6%Hr-m~V@; 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 Tm6~@lPhLIHG1jiqbdLHT`Z%{t literal 0 HcmV?d00001 diff --git a/docs/pages/app/index/file.md b/docs/pages/app/index/file.md index 2d479c5..e3bb344 100644 --- a/docs/pages/app/index/file.md +++ b/docs/pages/app/index/file.md @@ -107,9 +107,9 @@ string rather than a string. ## Software infrastructure -| Infra | Access | Schema | Ref | -| ---------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | -| SQL table Source | self.\_Source | - id (int): id of the source (auto)
- name (str): the name of the file
- path (str): the path of the file
- size (int): the file size in bytes
- text_length (int): the number of characters in the file (default 0)
- date_created (datetime): the time the file is created (auto) | This is SQLALchemy ORM class. Can consult | -| SQL table Index | self.\_Index | - id (int): id of the index entry (auto)
- source_id (int): the id of a file in the Source table
- target_id: the id of the segment in docstore or vector store
- relation_type (str): if the link is "document" or "vector" | This is SQLAlchemy ORM class | -| Vector store | self.\_VS | - self.\_VS.add: add the list of embeddings to the vector store (optionally associate metadata and ids)
- self.\_VS.delete: delete vector entries based on ids
- self.\_VS.query: get embeddings based on embeddings. | kotaemon > storages > vectorstores > BaseVectorStore | -| Doc store | self.\_DS | - self.\_DS.add: add the segments to document stores
- self.\_DS.get: get the segments based on id
- self.\_DS.get_all: get all segments
- self.\_DS.delete: delete segments based on id | kotaemon > storages > docstores > base > BaseDocumentStore | +| Infra | Access | Schema | Ref | +| ---------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| SQL table Source | self.\_Source | - id (int): id of the source (auto)
- name (str): the name of the file
- path (str): the path of the file
- size (int): the file size in bytes
- note (dict): allow extra optional information about the file
- date_created (datetime): the time the file is created (auto) | This is SQLALchemy ORM class. Can consult | +| SQL table Index | self.\_Index | - id (int): id of the index entry (auto)
- source_id (int): the id of a file in the Source table
- target_id: the id of the segment in docstore or vector store
- relation_type (str): if the link is "document" or "vector" | This is SQLAlchemy ORM class | +| Vector store | self.\_VS | - self.\_VS.add: add the list of embeddings to the vector store (optionally associate metadata and ids)
- self.\_VS.delete: delete vector entries based on ids
- self.\_VS.query: get embeddings based on embeddings. | kotaemon > storages > vectorstores > BaseVectorStore | +| Doc store | self.\_DS | - self.\_DS.add: add the segments to document stores
- self.\_DS.get: get the segments based on id
- self.\_DS.get_all: get all segments
- self.\_DS.delete: delete segments based on id | kotaemon > storages > docstores > base > BaseDocumentStore | diff --git a/docs/usage.md b/docs/usage.md index 348e414..f4e9f22 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,5 +1,3 @@ -# Basic Usage - ## 1. Add your AI models ![resources tab](https://raw.githubusercontent.com/Cinnamon/kotaemon/main/docs/images/resources-tab.png) @@ -63,12 +61,15 @@ AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=text-embedding-ada-002 # change to your deplo ### Local models -- Pros: +Pros: + - Privacy. Your documents will be stored and process locally. - Choices. There are a wide range of LLMs in terms of size, domain, language to choose from. - Cost. It's free. -- Cons: + +Cons: + - Quality. Local models are much smaller and thus have lower generative quality than paid APIs. - Speed. Local models are deployed using your machine so the processing speed is @@ -136,6 +137,21 @@ Now navigate back to the `Chat` tab. The chat tab is divided into 3 regions: files will be considered during chat. 2. Chat Panel - This is where you can chat with the chatbot. -3. Information panel - - Supporting information such as the retrieved evidence and reference will be - displayed here. +3. Information Panel + +![information panel](https://raw.githubusercontent.com/Cinnamon/kotaemon/develop/docs/images/info-panel-scores.png) + +- Supporting information such as the retrieved evidence and reference will be + displayed here. +- Direct citation for the answer produced by the LLM is highlighted. +- The confidence score of the answer and relevant scores of evidences are displayed to quickly assess the quality of the answer and retrieved content. + +- Meaning of the score displayed: + - **Answer confidence**: answer confidence level from the LLM model. + - **Relevance score**: overall relevant score between evidence and user question. + - **Vectorstore score**: relevant score from vector embedding similarity calculation (show `full-text search` if retrieved from full-text search DB). + - **LLM relevant score**: relevant score from LLM model (which judge relevancy between question and evidence using specific prompt). + - **Reranking score**: relevant score from Cohere [reranking model](https://cohere.com/rerank). + +Generally, the score quality is `LLM relevant score` > `Reranking score` > `Vectorscore`. +By default, overall relevance score is taken directly from LLM relevant score. Evidences are sorted based on their overall relevance score and whether they have citation or not. diff --git a/flowsettings.py b/flowsettings.py index 8d7f3cc..aa3489c 100644 --- a/flowsettings.py +++ b/flowsettings.py @@ -15,7 +15,7 @@ this_dir = Path(this_file).parent # change this if your app use a different name KH_PACKAGE_NAME = "kotaemon_app" -KH_APP_VERSION = os.environ.get("KH_APP_VERSION", None) +KH_APP_VERSION = config("KH_APP_VERSION", "local") if not KH_APP_VERSION: try: # Caution: This might produce the wrong version @@ -33,8 +33,21 @@ KH_APP_DATA_DIR.mkdir(parents=True, exist_ok=True) KH_USER_DATA_DIR = KH_APP_DATA_DIR / "user_data" KH_USER_DATA_DIR.mkdir(parents=True, exist_ok=True) -# doc directory -KH_DOC_DIR = this_dir / "docs" +# markdown output directory +KH_MARKDOWN_OUTPUT_DIR = KH_APP_DATA_DIR / "markdown_cache_dir" +KH_MARKDOWN_OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + +# chunks output directory +KH_CHUNKS_OUTPUT_DIR = KH_APP_DATA_DIR / "chunks_cache_dir" +KH_CHUNKS_OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + +# zip output directory +KH_ZIP_OUTPUT_DIR = KH_APP_DATA_DIR / "zip_cache_dir" +KH_ZIP_OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + +# zip input directory +KH_ZIP_INPUT_DIR = KH_APP_DATA_DIR / "zip_cache_dir_in" +KH_ZIP_INPUT_DIR.mkdir(parents=True, exist_ok=True) # HF models can be big, let's store them in the app data directory so that it's easier # for users to manage their storage. @@ -42,24 +55,30 @@ KH_DOC_DIR = this_dir / "docs" os.environ["HF_HOME"] = str(KH_APP_DATA_DIR / "huggingface") os.environ["HF_HUB_CACHE"] = str(KH_APP_DATA_DIR / "huggingface") -COHERE_API_KEY = config("COHERE_API_KEY", default="") +# doc directory +KH_DOC_DIR = this_dir / "docs" + KH_MODE = "dev" -KH_FEATURE_USER_MANAGEMENT = False +KH_FEATURE_USER_MANAGEMENT = True +KH_USER_CAN_SEE_PUBLIC = None KH_FEATURE_USER_MANAGEMENT_ADMIN = str( config("KH_FEATURE_USER_MANAGEMENT_ADMIN", default="admin") ) KH_FEATURE_USER_MANAGEMENT_PASSWORD = str( - config("KH_FEATURE_USER_MANAGEMENT_PASSWORD", default="XsdMbe8zKP8KdeE@") + config("KH_FEATURE_USER_MANAGEMENT_PASSWORD", default="admin") ) KH_ENABLE_ALEMBIC = False KH_DATABASE = f"sqlite:///{KH_USER_DATA_DIR / 'sql.db'}" KH_FILESTORAGE_PATH = str(KH_USER_DATA_DIR / "files") KH_DOCSTORE = { - "__type__": "kotaemon.storages.SimpleFileDocumentStore", + # "__type__": "kotaemon.storages.ElasticsearchDocumentStore", + # "__type__": "kotaemon.storages.SimpleFileDocumentStore", + "__type__": "kotaemon.storages.LanceDBDocumentStore", "path": str(KH_USER_DATA_DIR / "docstore"), } KH_VECTORSTORE = { + # "__type__": "kotaemon.storages.LanceDBVectorStore", "__type__": "kotaemon.storages.ChromaVectorStore", "path": str(KH_USER_DATA_DIR / "vectorstore"), } @@ -83,8 +102,6 @@ if config("AZURE_OPENAI_API_KEY", default="") and config( "timeout": 20, }, "default": False, - "accuracy": 5, - "cost": 5, } if config("AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT", default=""): KH_EMBEDDINGS["azure"] = { @@ -110,71 +127,66 @@ if config("OPENAI_API_KEY", default=""): "base_url": config("OPENAI_API_BASE", default="") or "https://api.openai.com/v1", "api_key": config("OPENAI_API_KEY", default=""), - "model": config("OPENAI_CHAT_MODEL", default="") or "gpt-3.5-turbo", + "model": config("OPENAI_CHAT_MODEL", default="gpt-3.5-turbo"), + "timeout": 20, + }, + "default": True, + } + KH_EMBEDDINGS["openai"] = { + "spec": { + "__type__": "kotaemon.embeddings.OpenAIEmbeddings", + "base_url": config("OPENAI_API_BASE", default="https://api.openai.com/v1"), + "api_key": config("OPENAI_API_KEY", default=""), + "model": config( + "OPENAI_EMBEDDINGS_MODEL", default="text-embedding-ada-002" + ), "timeout": 10, - }, - "default": False, - } - if len(KH_EMBEDDINGS) < 1: - KH_EMBEDDINGS["openai"] = { - "spec": { - "__type__": "kotaemon.embeddings.OpenAIEmbeddings", - "base_url": config("OPENAI_API_BASE", default="") - or "https://api.openai.com/v1", - "api_key": config("OPENAI_API_KEY", default=""), - "model": config( - "OPENAI_EMBEDDINGS_MODEL", default="text-embedding-ada-002" - ) - or "text-embedding-ada-002", - "timeout": 10, - }, - "default": False, - } - -if config("LOCAL_MODEL", default=""): - KH_LLMS["local"] = { - "spec": { - "__type__": "kotaemon.llms.EndpointChatLLM", - "endpoint_url": "http://localhost:31415/v1/chat/completions", - }, - "default": False, - "cost": 0, - } - if len(KH_EMBEDDINGS) < 1: - KH_EMBEDDINGS["local"] = { - "spec": { - "__type__": "kotaemon.embeddings.EndpointEmbeddings", - "endpoint_url": "http://localhost:31415/v1/embeddings", - }, - "default": False, - "cost": 0, - } - -if len(KH_EMBEDDINGS) < 1: - KH_EMBEDDINGS["local-bge-base-en-v1.5"] = { - "spec": { - "__type__": "kotaemon.embeddings.FastEmbedEmbeddings", - "model_name": "BAAI/bge-base-en-v1.5", + "context_length": 8191, }, "default": True, } -KH_REASONINGS = ["ktem.reasoning.simple.FullQAPipeline"] +if config("LOCAL_MODEL", default=""): + KH_LLMS["ollama"] = { + "spec": { + "__type__": "kotaemon.llms.ChatOpenAI", + "base_url": "http://localhost:11434/v1/", + "model": config("LOCAL_MODEL", default="llama3.1:8b"), + }, + "default": False, + } + KH_EMBEDDINGS["ollama"] = { + "spec": { + "__type__": "kotaemon.embeddings.OpenAIEmbeddings", + "base_url": "http://localhost:11434/v1/", + "model": config("LOCAL_MODEL_EMBEDDINGS", default="nomic-embed-text"), + }, + "default": False, + } + + KH_EMBEDDINGS["local-bge-en"] = { + "spec": { + "__type__": "kotaemon.embeddings.FastEmbedEmbeddings", + "model_name": "BAAI/bge-base-en-v1.5", + }, + "default": False, + } + +KH_REASONINGS = [ + "ktem.reasoning.simple.FullQAPipeline", + "ktem.reasoning.simple.FullDecomposeQAPipeline", + "ktem.reasoning.react.ReactAgentPipeline", + "ktem.reasoning.rewoo.RewooAgentPipeline", +] +KH_REASONINGS_USE_MULTIMODAL = False KH_VLM_ENDPOINT = "{0}/openai/deployments/{1}/chat/completions?api-version={2}".format( config("AZURE_OPENAI_ENDPOINT", default=""), - config("OPENAI_VISION_DEPLOYMENT_NAME", default="gpt-4-vision"), + config("OPENAI_VISION_DEPLOYMENT_NAME", default="gpt-4o"), config("OPENAI_API_VERSION", default=""), ) -SETTINGS_APP = { - "lang": { - "name": "Language", - "value": "en", - "choices": [("English", "en"), ("Japanese", "ja")], - "component": "dropdown", - } -} +SETTINGS_APP: dict[str, dict] = {} SETTINGS_REASONING = { @@ -187,17 +199,42 @@ SETTINGS_REASONING = { "lang": { "name": "Language", "value": "en", - "choices": [("English", "en"), ("Japanese", "ja")], + "choices": [("English", "en"), ("Japanese", "ja"), ("Vietnamese", "vi")], "component": "dropdown", }, + "max_context_length": { + "name": "Max context length (LLM)", + "value": 32000, + "component": "number", + }, } -KH_INDEX_TYPES = ["ktem.index.file.FileIndex"] +KH_INDEX_TYPES = [ + "ktem.index.file.FileIndex", + "ktem.index.file.graph.GraphRAGIndex", +] KH_INDICES = [ { "name": "File", - "config": {}, + "config": { + "supported_file_types": ( + ".png, .jpeg, .jpg, .tiff, .tif, .pdf, .xls, .xlsx, .doc, .docx, " + ".pptx, .csv, .html, .mhtml, .txt, .zip" + ), + "private": False, + }, "index_type": "ktem.index.file.FileIndex", }, + { + "name": "GraphRAG", + "config": { + "supported_file_types": ( + ".png, .jpeg, .jpg, .tiff, .tif, .pdf, .xls, .xlsx, .doc, .docx, " + ".pptx, .csv, .html, .mhtml, .txt, .zip" + ), + "private": False, + }, + "index_type": "ktem.index.file.graph.GraphRAGIndex", + }, ] diff --git a/libs/kotaemon/kotaemon/agents/react/agent.py b/libs/kotaemon/kotaemon/agents/react/agent.py index dffcf6b..73d2d21 100644 --- a/libs/kotaemon/kotaemon/agents/react/agent.py +++ b/libs/kotaemon/kotaemon/agents/react/agent.py @@ -39,16 +39,11 @@ class ReactAgent(BaseAgent): ) max_iterations: int = 5 strict_decode: bool = False - trim_func: TokenSplitter = TokenSplitter.withx( - chunk_size=800, - chunk_overlap=0, - separator=" ", - tokenizer=partial( - tiktoken.encoding_for_model("gpt-3.5-turbo").encode, - allowed_special=set(), - disallowed_special="all", - ), + max_context_length: int = Param( + default=3000, + help="Max context length for each tool output.", ) + trim_func: TokenSplitter | None = None def _compose_plugin_description(self) -> str: """ @@ -149,14 +144,28 @@ class ReactAgent(BaseAgent): function_map[plugin.name] = plugin return function_map - def _trim(self, text: str) -> str: + def _trim(self, text: str | Document) -> str: """ Trim the text to the maximum token length. """ + evidence_trim_func = ( + self.trim_func + if self.trim_func + else TokenSplitter( + chunk_size=self.max_context_length, + chunk_overlap=0, + separator=" ", + tokenizer=partial( + tiktoken.encoding_for_model("gpt-3.5-turbo").encode, + allowed_special=set(), + disallowed_special="all", + ), + ) + ) if isinstance(text, str): - texts = self.trim_func([Document(text=text)]) + texts = evidence_trim_func([Document(text=text)]) elif isinstance(text, Document): - texts = self.trim_func([text]) + texts = evidence_trim_func([text]) else: raise ValueError("Invalid text type to trim") trim_text = texts[0].text diff --git a/libs/kotaemon/kotaemon/agents/rewoo/agent.py b/libs/kotaemon/kotaemon/agents/rewoo/agent.py index 3ec1950..076595b 100644 --- a/libs/kotaemon/kotaemon/agents/rewoo/agent.py +++ b/libs/kotaemon/kotaemon/agents/rewoo/agent.py @@ -39,16 +39,11 @@ class RewooAgent(BaseAgent): examples: dict[str, str | list[str]] = Param( default_callback=lambda _: {}, help="Examples to be used in the agent." ) - trim_func: TokenSplitter = TokenSplitter.withx( - chunk_size=3000, - chunk_overlap=0, - separator=" ", - tokenizer=partial( - tiktoken.encoding_for_model("gpt-3.5-turbo").encode, - allowed_special=set(), - disallowed_special="all", - ), + max_context_length: int = Param( + default=3000, + help="Max context length for each tool output.", ) + trim_func: TokenSplitter | None = None @Node.auto(depends_on=["planner_llm", "plugins", "prompt_template", "examples"]) def planner(self): @@ -248,8 +243,22 @@ class RewooAgent(BaseAgent): return p def _trim_evidence(self, evidence: str): + evidence_trim_func = ( + self.trim_func + if self.trim_func + else TokenSplitter( + chunk_size=self.max_context_length, + chunk_overlap=0, + separator=" ", + tokenizer=partial( + tiktoken.encoding_for_model("gpt-3.5-turbo").encode, + allowed_special=set(), + disallowed_special="all", + ), + ) + ) if evidence: - texts = self.trim_func([Document(text=evidence)]) + texts = evidence_trim_func([Document(text=evidence)]) evidence = texts[0].text logging.info(f"len (trimmed): {len(evidence)}") return evidence @@ -317,6 +326,14 @@ class RewooAgent(BaseAgent): ) print("Planner output:", planner_text_output) + # output planner to info panel + yield AgentOutput( + text="", + agent_type=self.agent_type, + status="thinking", + intermediate_steps=[{"planner_log": planner_text_output}], + ) + # Work worker_evidences, plugin_cost, plugin_token = self._get_worker_evidence( planner_evidences, evidence_level @@ -326,7 +343,9 @@ class RewooAgent(BaseAgent): worker_log += f"{plan}: {plans[plan]}\n" current_progress = f"{plan}: {plans[plan]}\n" for e in plan_to_es[plan]: + worker_log += f"#Action: {planner_evidences.get(e, None)}\n" worker_log += f"{e}: {worker_evidences[e]}\n" + current_progress += f"#Action: {planner_evidences.get(e, None)}\n" current_progress += f"{e}: {worker_evidences[e]}\n" yield AgentOutput( diff --git a/libs/kotaemon/kotaemon/agents/tools/google.py b/libs/kotaemon/kotaemon/agents/tools/google.py index 80009e2..98c5eaf 100644 --- a/libs/kotaemon/kotaemon/agents/tools/google.py +++ b/libs/kotaemon/kotaemon/agents/tools/google.py @@ -1,7 +1,7 @@ from typing import AnyStr, Optional, Type from urllib.error import HTTPError -from langchain.utilities import SerpAPIWrapper +from langchain_community.utilities import SerpAPIWrapper from pydantic import BaseModel, Field from .base import BaseTool diff --git a/libs/kotaemon/kotaemon/agents/tools/llm.py b/libs/kotaemon/kotaemon/agents/tools/llm.py index ae2dd2e..d7cf748 100644 --- a/libs/kotaemon/kotaemon/agents/tools/llm.py +++ b/libs/kotaemon/kotaemon/agents/tools/llm.py @@ -22,12 +22,16 @@ class LLMTool(BaseTool): ) llm: BaseLLM args_schema: Optional[Type[BaseModel]] = LLMArgs + dummy_mode: bool = True def _run_tool(self, query: AnyStr) -> str: output = None try: - response = self.llm(query) + if not self.dummy_mode: + response = self.llm(query) + else: + response = None except ValueError: raise ToolException("LLM Tool call failed") - output = response.text + output = response.text if response else "<->" return output diff --git a/libs/kotaemon/kotaemon/base/schema.py b/libs/kotaemon/kotaemon/base/schema.py index a153ed3..ea26032 100644 --- a/libs/kotaemon/kotaemon/base/schema.py +++ b/libs/kotaemon/kotaemon/base/schema.py @@ -5,8 +5,8 @@ from typing import TYPE_CHECKING, Any, Literal, Optional, TypeVar from langchain.schema.messages import AIMessage as LCAIMessage from langchain.schema.messages import HumanMessage as LCHumanMessage from langchain.schema.messages import SystemMessage as LCSystemMessage -from llama_index.bridge.pydantic import Field -from llama_index.schema import Document as BaseDocument +from llama_index.core.bridge.pydantic import Field +from llama_index.core.schema import Document as BaseDocument if TYPE_CHECKING: from haystack.schema import Document as HaystackDocument @@ -38,7 +38,7 @@ class Document(BaseDocument): content: Any = None source: Optional[str] = None - channel: Optional[Literal["chat", "info", "index", "debug"]] = None + channel: Optional[Literal["chat", "info", "index", "debug", "plot"]] = None def __init__(self, content: Optional[Any] = None, *args, **kwargs): if content is None: @@ -140,6 +140,7 @@ class LLMInterface(AIMessage): total_cost: float = 0 logits: list[list[float]] = Field(default_factory=list) messages: list[AIMessage] = Field(default_factory=list) + logprobs: list[float] = [] class ExtractorOutput(Document): diff --git a/libs/kotaemon/kotaemon/contribs/promptui/ui/chat.py b/libs/kotaemon/kotaemon/contribs/promptui/ui/chat.py index 78eecb5..b3ef356 100644 --- a/libs/kotaemon/kotaemon/contribs/promptui/ui/chat.py +++ b/libs/kotaemon/kotaemon/contribs/promptui/ui/chat.py @@ -133,9 +133,7 @@ def construct_chat_ui( label="Output file", show_label=True, height=100 ) export_btn = gr.Button("Export") - export_btn.click( - func_export_to_excel, inputs=None, outputs=exported_file - ) + export_btn.click(func_export_to_excel, inputs=[], outputs=exported_file) with gr.Row(): with gr.Column(): diff --git a/libs/kotaemon/kotaemon/contribs/promptui/ui/pipeline.py b/libs/kotaemon/kotaemon/contribs/promptui/ui/pipeline.py index 725893d..978a751 100644 --- a/libs/kotaemon/kotaemon/contribs/promptui/ui/pipeline.py +++ b/libs/kotaemon/kotaemon/contribs/promptui/ui/pipeline.py @@ -91,7 +91,7 @@ def construct_pipeline_ui( save_btn.click(func_save, inputs=params, outputs=history_dataframe) load_params_btn = gr.Button("Reload params") load_params_btn.click( - func_load_params, inputs=None, outputs=history_dataframe + func_load_params, inputs=[], outputs=history_dataframe ) history_dataframe.render() history_dataframe.select( @@ -103,7 +103,7 @@ def construct_pipeline_ui( export_btn = gr.Button( "Export (Result will be in Exported file next to Output)" ) - export_btn.click(func_export, inputs=None, outputs=exported_file) + export_btn.click(func_export, inputs=[], outputs=exported_file) with gr.Row(): with gr.Column(): if params: diff --git a/libs/kotaemon/kotaemon/embeddings/openai.py b/libs/kotaemon/kotaemon/embeddings/openai.py index 74655dc..604540d 100644 --- a/libs/kotaemon/kotaemon/embeddings/openai.py +++ b/libs/kotaemon/kotaemon/embeddings/openai.py @@ -1,5 +1,15 @@ +from itertools import islice from typing import Optional +import numpy as np +import openai +import tiktoken +from tenacity import ( + retry, + retry_if_not_exception_type, + stop_after_attempt, + wait_random_exponential, +) from theflow.utils.modules import import_dotted_string from kotaemon.base import Param @@ -7,6 +17,24 @@ from kotaemon.base import Param from .base import BaseEmbeddings, Document, DocumentWithEmbedding +def split_text_by_chunk_size(text: str, chunk_size: int) -> list[list[int]]: + """Split the text into chunks of a given size + + Args: + text: text to split + chunk_size: size of each chunk + + Returns: + list of chunks (as tokens) + """ + encoding = tiktoken.get_encoding("cl100k_base") + tokens = iter(encoding.encode(text)) + result = [] + while chunk := list(islice(tokens, chunk_size)): + result.append(chunk) + return result + + class BaseOpenAIEmbeddings(BaseEmbeddings): """Base interface for OpenAI embedding model, using the openai library. @@ -32,6 +60,9 @@ class BaseOpenAIEmbeddings(BaseEmbeddings): "Only supported in `text-embedding-3` and later models." ), ) + context_length: Optional[int] = Param( + None, help="The maximum context length of the embedding model" + ) @Param.auto(depends_on=["max_retries"]) def max_retries_(self): @@ -56,16 +87,42 @@ class BaseOpenAIEmbeddings(BaseEmbeddings): def invoke( self, text: str | list[str] | Document | list[Document], *args, **kwargs ) -> list[DocumentWithEmbedding]: - input_ = self.prepare_input(text) + input_doc = self.prepare_input(text) client = self.prepare_client(async_version=False) - resp = self.openai_response( - client, input=[_.text if _.text else " " for _ in input_], **kwargs - ).dict() - output_ = sorted(resp["data"], key=lambda x: x["index"]) - return [ - DocumentWithEmbedding(embedding=o["embedding"], content=i) - for i, o in zip(input_, output_) - ] + + input_: list[str | list[int]] = [] + splitted_indices = {} + for idx, text in enumerate(input_doc): + if self.context_length: + chunks = split_text_by_chunk_size(text.text or " ", self.context_length) + splitted_indices[idx] = (len(input_), len(input_) + len(chunks)) + input_.extend(chunks) + else: + splitted_indices[idx] = (len(input_), len(input_) + 1) + input_.append(text.text) + + resp = self.openai_response(client, input=input_, **kwargs).dict() + output_ = list(sorted(resp["data"], key=lambda x: x["index"])) + + output = [] + for idx, doc in enumerate(input_doc): + embs = output_[splitted_indices[idx][0] : splitted_indices[idx][1]] + if len(embs) == 1: + output.append( + DocumentWithEmbedding(embedding=embs[0]["embedding"], content=doc) + ) + continue + + chunk_lens = [ + len(_) + for _ in input_[splitted_indices[idx][0] : splitted_indices[idx][1]] + ] + vs: list[list[float]] = [_["embedding"] for _ in embs] + emb = np.average(vs, axis=0, weights=chunk_lens) + emb = emb / np.linalg.norm(emb) + output.append(DocumentWithEmbedding(embedding=emb.tolist(), content=doc)) + + return output async def ainvoke( self, text: str | list[str] | Document | list[Document], *args, **kwargs @@ -118,6 +175,13 @@ class OpenAIEmbeddings(BaseOpenAIEmbeddings): return OpenAI(**params) + @retry( + retry=retry_if_not_exception_type( + (openai.NotFoundError, openai.BadRequestError) + ), + wait=wait_random_exponential(min=1, max=40), + stop=stop_after_attempt(6), + ) def openai_response(self, client, **kwargs): """Get the openai response""" params: dict = { @@ -174,6 +238,13 @@ class AzureOpenAIEmbeddings(BaseOpenAIEmbeddings): return AzureOpenAI(**params) + @retry( + retry=retry_if_not_exception_type( + (openai.NotFoundError, openai.BadRequestError) + ), + wait=wait_random_exponential(min=1, max=40), + stop=stop_after_attempt(6), + ) def openai_response(self, client, **kwargs): """Get the openai response""" params: dict = { diff --git a/libs/kotaemon/kotaemon/indices/base.py b/libs/kotaemon/kotaemon/indices/base.py index 938be66..a20ca6b 100644 --- a/libs/kotaemon/kotaemon/indices/base.py +++ b/libs/kotaemon/kotaemon/indices/base.py @@ -3,7 +3,7 @@ from __future__ import annotations from abc import abstractmethod from typing import Any, Type -from llama_index.node_parser.interface import NodeParser +from llama_index.core.node_parser.interface import NodeParser from kotaemon.base import BaseComponent, Document, RetrievedDocument @@ -32,7 +32,7 @@ class LlamaIndexDocTransformerMixin: Example: class TokenSplitter(LlamaIndexMixin, BaseSplitter): def _get_li_class(self): - from llama_index.text_splitter import TokenTextSplitter + from llama_index.core.text_splitter import TokenTextSplitter return TokenTextSplitter To use this mixin, please: diff --git a/libs/kotaemon/kotaemon/indices/extractors/doc_parsers.py b/libs/kotaemon/kotaemon/indices/extractors/doc_parsers.py index 7dad528..a57743b 100644 --- a/libs/kotaemon/kotaemon/indices/extractors/doc_parsers.py +++ b/libs/kotaemon/kotaemon/indices/extractors/doc_parsers.py @@ -15,7 +15,7 @@ class TitleExtractor(LlamaIndexDocTransformerMixin, BaseDocParser): super().__init__(llm=llm, nodes=nodes, **params) def _get_li_class(self): - from llama_index.extractors import TitleExtractor + from llama_index.core.extractors import TitleExtractor return TitleExtractor @@ -30,6 +30,6 @@ class SummaryExtractor(LlamaIndexDocTransformerMixin, BaseDocParser): super().__init__(llm=llm, summaries=summaries, **params) def _get_li_class(self): - from llama_index.extractors import SummaryExtractor + from llama_index.core.extractors import SummaryExtractor return SummaryExtractor diff --git a/libs/kotaemon/kotaemon/indices/ingests/files.py b/libs/kotaemon/kotaemon/indices/ingests/files.py index 3eb5361..7da3713 100644 --- a/libs/kotaemon/kotaemon/indices/ingests/files.py +++ b/libs/kotaemon/kotaemon/indices/ingests/files.py @@ -1,27 +1,42 @@ from pathlib import Path from typing import Type -from llama_index.readers import PDFReader -from llama_index.readers.base import BaseReader +from decouple import config +from llama_index.core.readers.base import BaseReader +from theflow.settings import settings as flowsettings from kotaemon.base import BaseComponent, Document, Param from kotaemon.indices.extractors import BaseDocParser from kotaemon.indices.splitters import BaseSplitter, TokenSplitter from kotaemon.loaders import ( AdobeReader, + AzureAIDocumentIntelligenceLoader, DirectoryReader, HtmlReader, MathpixPDFReader, MhtmlReader, OCRReader, PandasExcelReader, + PDFThumbnailReader, UnstructuredReader, ) unstructured = UnstructuredReader() +adobe_reader = AdobeReader() +azure_reader = AzureAIDocumentIntelligenceLoader( + endpoint=str(config("AZURE_DI_ENDPOINT", default="")), + credential=str(config("AZURE_DI_CREDENTIAL", default="")), + cache_dir=getattr(flowsettings, "KH_MARKDOWN_OUTPUT_DIR", None), +) +adobe_reader.vlm_endpoint = azure_reader.vlm_endpoint = getattr( + flowsettings, "KH_VLM_ENDPOINT", "" +) + + KH_DEFAULT_FILE_EXTRACTORS: dict[str, BaseReader] = { ".xlsx": PandasExcelReader(), ".docx": unstructured, + ".pptx": unstructured, ".xls": unstructured, ".doc": unstructured, ".html": HtmlReader(), @@ -31,7 +46,7 @@ KH_DEFAULT_FILE_EXTRACTORS: dict[str, BaseReader] = { ".jpg": unstructured, ".tiff": unstructured, ".tif": unstructured, - ".pdf": PDFReader(), + ".pdf": PDFThumbnailReader(), } diff --git a/libs/kotaemon/kotaemon/indices/qa/citation.py b/libs/kotaemon/kotaemon/indices/qa/citation.py index bf8def0..30eceaa 100644 --- a/libs/kotaemon/kotaemon/indices/qa/citation.py +++ b/libs/kotaemon/kotaemon/indices/qa/citation.py @@ -103,7 +103,9 @@ class CitationPipeline(BaseComponent): print("CitationPipeline: invoking LLM") llm_output = self.get_from_path("llm").invoke(messages, **llm_kwargs) print("CitationPipeline: finish invoking LLM") - if not llm_output.messages: + if not llm_output.messages or not llm_output.additional_kwargs.get( + "tool_calls" + ): return None function_output = llm_output.additional_kwargs["tool_calls"][0]["function"][ "arguments" diff --git a/libs/kotaemon/kotaemon/indices/rankings/__init__.py b/libs/kotaemon/kotaemon/indices/rankings/__init__.py index ccd99bb..84b8765 100644 --- a/libs/kotaemon/kotaemon/indices/rankings/__init__.py +++ b/libs/kotaemon/kotaemon/indices/rankings/__init__.py @@ -1,5 +1,13 @@ from .base import BaseReranking from .cohere import CohereReranking from .llm import LLMReranking +from .llm_scoring import LLMScoring +from .llm_trulens import LLMTrulensScoring -__all__ = ["CohereReranking", "LLMReranking", "BaseReranking"] +__all__ = [ + "CohereReranking", + "LLMReranking", + "LLMScoring", + "BaseReranking", + "LLMTrulensScoring", +] diff --git a/libs/kotaemon/kotaemon/indices/rankings/cohere.py b/libs/kotaemon/kotaemon/indices/rankings/cohere.py index d102efd..e759d6c 100644 --- a/libs/kotaemon/kotaemon/indices/rankings/cohere.py +++ b/libs/kotaemon/kotaemon/indices/rankings/cohere.py @@ -1,6 +1,6 @@ from __future__ import annotations -import os +from decouple import config from kotaemon.base import Document @@ -9,8 +9,7 @@ from .base import BaseReranking class CohereReranking(BaseReranking): model_name: str = "rerank-multilingual-v2.0" - cohere_api_key: str = os.environ.get("COHERE_API_KEY", "") - top_k: int = 1 + cohere_api_key: str = config("COHERE_API_KEY", "") def run(self, documents: list[Document], query: str) -> list[Document]: """Use Cohere Reranker model to re-order documents @@ -22,6 +21,10 @@ class CohereReranking(BaseReranking): "Please install Cohere " "`pip install cohere` to use Cohere Reranking" ) + if not self.cohere_api_key: + print("Cohere API key not found. Skipping reranking.") + return documents + cohere_client = cohere.Client(self.cohere_api_key) compressed_docs: list[Document] = [] @@ -29,12 +32,13 @@ class CohereReranking(BaseReranking): return compressed_docs _docs = [d.content for d in documents] - results = cohere_client.rerank( - model=self.model_name, query=query, documents=_docs, top_n=self.top_k + response = cohere_client.rerank( + model=self.model_name, query=query, documents=_docs ) - for r in results: + print("Cohere score", [r.relevance_score for r in response.results]) + for r in response.results: doc = documents[r.index] - doc.metadata["relevance_score"] = r.relevance_score + doc.metadata["cohere_reranking_score"] = r.relevance_score compressed_docs.append(doc) return compressed_docs diff --git a/libs/kotaemon/kotaemon/indices/rankings/llm_scoring.py b/libs/kotaemon/kotaemon/indices/rankings/llm_scoring.py new file mode 100644 index 0000000..b4f5105 --- /dev/null +++ b/libs/kotaemon/kotaemon/indices/rankings/llm_scoring.py @@ -0,0 +1,54 @@ +from __future__ import annotations + +from concurrent.futures import ThreadPoolExecutor + +import numpy as np +from langchain.output_parsers.boolean import BooleanOutputParser + +from kotaemon.base import Document + +from .llm import LLMReranking + + +class LLMScoring(LLMReranking): + def run( + self, + documents: list[Document], + query: str, + ) -> list[Document]: + """Filter down documents based on their relevance to the query.""" + filtered_docs: list[Document] = [] + output_parser = BooleanOutputParser() + + if self.concurrent: + with ThreadPoolExecutor() as executor: + futures = [] + for doc in documents: + _prompt = self.prompt_template.populate( + question=query, context=doc.get_content() + ) + futures.append(executor.submit(lambda: self.llm(_prompt))) + + results = [future.result() for future in futures] + else: + results = [] + for doc in documents: + _prompt = self.prompt_template.populate( + question=query, context=doc.get_content() + ) + results.append(self.llm(_prompt)) + + for result, doc in zip(results, documents): + score = np.exp(np.average(result.logprobs)) + include_doc = output_parser.parse(result.text) + if include_doc: + doc.metadata["llm_reranking_score"] = score + else: + doc.metadata["llm_reranking_score"] = 1 - score + filtered_docs.append(doc) + + # prevent returning empty result + if len(filtered_docs) == 0: + filtered_docs = documents[: self.top_k] + + return filtered_docs diff --git a/libs/kotaemon/kotaemon/indices/rankings/llm_trulens.py b/libs/kotaemon/kotaemon/indices/rankings/llm_trulens.py new file mode 100644 index 0000000..046998f --- /dev/null +++ b/libs/kotaemon/kotaemon/indices/rankings/llm_trulens.py @@ -0,0 +1,182 @@ +from __future__ import annotations + +import re +from concurrent.futures import ThreadPoolExecutor +from functools import partial + +import tiktoken + +from kotaemon.base import Document, HumanMessage, SystemMessage +from kotaemon.indices.splitters import TokenSplitter +from kotaemon.llms import BaseLLM, PromptTemplate + +from .llm import LLMReranking + +SYSTEM_PROMPT_TEMPLATE = PromptTemplate( + """You are a RELEVANCE grader; providing the relevance of the given CONTEXT to the given QUESTION. + Respond only as a number from 0 to 10 where 0 is the least relevant and 10 is the most relevant. + + A few additional scoring guidelines: + + - Long CONTEXTS should score equally well as short CONTEXTS. + + - RELEVANCE score should increase as the CONTEXTS provides more RELEVANT context to the QUESTION. + + - RELEVANCE score should increase as the CONTEXTS provides RELEVANT context to more parts of the QUESTION. + + - CONTEXT that is RELEVANT to some of the QUESTION should score of 2, 3 or 4. Higher score indicates more RELEVANCE. + + - CONTEXT that is RELEVANT to most of the QUESTION should get a score of 5, 6, 7 or 8. Higher score indicates more RELEVANCE. + + - CONTEXT that is RELEVANT to the entire QUESTION should get a score of 9 or 10. Higher score indicates more RELEVANCE. + + - CONTEXT must be relevant and helpful for answering the entire QUESTION to get a score of 10. + + - Never elaborate.""" # noqa: E501 +) + +USER_PROMPT_TEMPLATE = PromptTemplate( + """QUESTION: {question} + + CONTEXT: {context} + + RELEVANCE: """ +) # noqa + +PATTERN_INTEGER: re.Pattern = re.compile(r"([+-]?[1-9][0-9]*|0)") +"""Regex that matches integers.""" + +MAX_CONTEXT_LEN = 7500 + + +def validate_rating(rating) -> int: + """Validate a rating is between 0 and 10.""" + + if not 0 <= rating <= 10: + raise ValueError("Rating must be between 0 and 10") + + return rating + + +def re_0_10_rating(s: str) -> int: + """Extract a 0-10 rating from a string. + + If the string does not match an integer or matches an integer outside the + 0-10 range, raises an error instead. If multiple numbers are found within + the expected 0-10 range, the smallest is returned. + + Args: + s: String to extract rating from. + + Returns: + int: Extracted rating. + + Raises: + ParseError: If no integers between 0 and 10 are found in the string. + """ + + matches = PATTERN_INTEGER.findall(s) + if not matches: + raise AssertionError + + vals = set() + for match in matches: + try: + vals.add(validate_rating(int(match))) + except ValueError: + pass + + if not vals: + raise AssertionError + + # Min to handle cases like "The rating is 8 out of 10." + return min(vals) + + +class LLMTrulensScoring(LLMReranking): + llm: BaseLLM + system_prompt_template: PromptTemplate = SYSTEM_PROMPT_TEMPLATE + user_prompt_template: PromptTemplate = USER_PROMPT_TEMPLATE + concurrent: bool = True + normalize: float = 10 + trim_func: TokenSplitter = TokenSplitter.withx( + chunk_size=MAX_CONTEXT_LEN, + chunk_overlap=0, + separator=" ", + tokenizer=partial( + tiktoken.encoding_for_model("gpt-3.5-turbo").encode, + allowed_special=set(), + disallowed_special="all", + ), + ) + + def run( + self, + documents: list[Document], + query: str, + ) -> list[Document]: + """Filter down documents based on their relevance to the query.""" + filtered_docs = [] + + documents = sorted(documents, key=lambda doc: doc.get_content()) + if self.concurrent: + with ThreadPoolExecutor() as executor: + futures = [] + for doc in documents: + chunked_doc_content = self.trim_func( + [ + Document(content=doc.get_content()) + # skip metadata which cause troubles + ] + )[0].text + + messages = [] + messages.append( + SystemMessage(self.system_prompt_template.populate()) + ) + messages.append( + HumanMessage( + self.user_prompt_template.populate( + question=query, context=chunked_doc_content + ) + ) + ) + + def llm_call(): + return self.llm(messages).text + + futures.append(executor.submit(llm_call)) + + results = [future.result() for future in futures] + else: + results = [] + for doc in documents: + messages = [] + messages.append(SystemMessage(self.system_prompt_template.populate())) + messages.append( + SystemMessage( + self.user_prompt_template.populate( + question=query, context=doc.get_content() + ) + ) + ) + results.append(self.llm(messages).text) + + # use Boolean parser to extract relevancy output from LLM + results = [ + (r_idx, float(re_0_10_rating(result)) / self.normalize) + for r_idx, result in enumerate(results) + ] + results.sort(key=lambda x: x[1], reverse=True) + + for r_idx, score in results: + doc = documents[r_idx] + doc.metadata["llm_trulens_score"] = score + filtered_docs.append(doc) + + print( + "LLM rerank scores", + [doc.metadata["llm_trulens_score"] for doc in filtered_docs], + ) + + return filtered_docs diff --git a/libs/kotaemon/kotaemon/indices/splitters/__init__.py b/libs/kotaemon/kotaemon/indices/splitters/__init__.py index 16a31fe..d9eb65f 100644 --- a/libs/kotaemon/kotaemon/indices/splitters/__init__.py +++ b/libs/kotaemon/kotaemon/indices/splitters/__init__.py @@ -23,7 +23,7 @@ class TokenSplitter(LlamaIndexDocTransformerMixin, BaseSplitter): ) def _get_li_class(self): - from llama_index.text_splitter import TokenTextSplitter + from llama_index.core.text_splitter import TokenTextSplitter return TokenTextSplitter @@ -44,6 +44,6 @@ class SentenceWindowSplitter(LlamaIndexDocTransformerMixin, BaseSplitter): ) def _get_li_class(self): - from llama_index.node_parser import SentenceWindowNodeParser + from llama_index.core.node_parser import SentenceWindowNodeParser return SentenceWindowNodeParser diff --git a/libs/kotaemon/kotaemon/indices/vectorindex.py b/libs/kotaemon/kotaemon/indices/vectorindex.py index 8902528..e2984c7 100644 --- a/libs/kotaemon/kotaemon/indices/vectorindex.py +++ b/libs/kotaemon/kotaemon/indices/vectorindex.py @@ -1,14 +1,18 @@ from __future__ import annotations +import threading import uuid +from pathlib import Path from typing import Optional, Sequence, cast +from theflow.settings import settings as flowsettings + from kotaemon.base import BaseComponent, Document, RetrievedDocument from kotaemon.embeddings import BaseEmbeddings from kotaemon.storages import BaseDocumentStore, BaseVectorStore from .base import BaseIndexing, BaseRetrieval -from .rankings import BaseReranking +from .rankings import BaseReranking, LLMReranking VECTOR_STORE_FNAME = "vectorstore" DOC_STORE_FNAME = "docstore" @@ -23,9 +27,11 @@ class VectorIndexing(BaseIndexing): - List of texts """ + cache_dir: Optional[str] = getattr(flowsettings, "KH_CHUNKS_OUTPUT_DIR", None) vector_store: BaseVectorStore doc_store: Optional[BaseDocumentStore] = None embedding: BaseEmbeddings + count_: int = 0 def to_retrieval_pipeline(self, *args, **kwargs): """Convert the indexing pipeline to a retrieval pipeline""" @@ -44,6 +50,52 @@ class VectorIndexing(BaseIndexing): qa_pipeline=CitationQAPipeline(**kwargs), ) + def write_chunk_to_file(self, docs: list[Document]): + # save the chunks content into markdown format + if self.cache_dir: + file_name = Path(docs[0].metadata["file_name"]) + for i in range(len(docs)): + markdown_content = "" + if "page_label" in docs[i].metadata: + page_label = str(docs[i].metadata["page_label"]) + markdown_content += f"Page label: {page_label}" + if "file_name" in docs[i].metadata: + filename = docs[i].metadata["file_name"] + markdown_content += f"\nFile name: {filename}" + if "section" in docs[i].metadata: + section = docs[i].metadata["section"] + markdown_content += f"\nSection: {section}" + if "type" in docs[i].metadata: + if docs[i].metadata["type"] == "image": + image_origin = docs[i].metadata["image_origin"] + image_origin = f'

' + markdown_content += f"\nImage origin: {image_origin}" + if docs[i].text: + markdown_content += f"\ntext:\n{docs[i].text}" + + with open( + Path(self.cache_dir) / f"{file_name.stem}_{self.count_+i}.md", + "w", + encoding="utf-8", + ) as f: + f.write(markdown_content) + + def add_to_docstore(self, docs: list[Document]): + if self.doc_store: + print("Adding documents to doc store") + self.doc_store.add(docs) + + def add_to_vectorstore(self, docs: list[Document]): + # in case we want to skip embedding + if self.vector_store: + print(f"Getting embeddings for {len(docs)} nodes") + embeddings = self.embedding(docs) + print("Adding embeddings to vector store") + self.vector_store.add( + embeddings=embeddings, + ids=[t.doc_id for t in docs], + ) + def run(self, text: str | list[str] | Document | list[Document]): input_: list[Document] = [] if not isinstance(text, list): @@ -59,16 +111,10 @@ class VectorIndexing(BaseIndexing): f"Invalid input type {type(item)}, should be str or Document" ) - print(f"Getting embeddings for {len(input_)} nodes") - embeddings = self.embedding(input_) - print("Adding embeddings to vector store") - self.vector_store.add( - embeddings=embeddings, - ids=[t.doc_id for t in input_], - ) - if self.doc_store: - print("Adding documents to doc store") - self.doc_store.add(input_) + self.add_to_vectorstore(input_) + self.add_to_docstore(input_) + self.write_chunk_to_file(input_) + self.count_ += len(input_) class VectorRetrieval(BaseRetrieval): @@ -78,7 +124,16 @@ class VectorRetrieval(BaseRetrieval): doc_store: Optional[BaseDocumentStore] = None embedding: BaseEmbeddings rerankers: Sequence[BaseReranking] = [] - top_k: int = 1 + top_k: int = 5 + first_round_top_k_mult: int = 10 + retrieval_mode: str = "hybrid" # vector, text, hybrid + + def _filter_docs( + self, documents: list[RetrievedDocument], top_k: int | None = None + ): + if top_k: + documents = documents[:top_k] + return documents def run( self, text: str | Document, top_k: Optional[int] = None, **kwargs @@ -95,24 +150,155 @@ class VectorRetrieval(BaseRetrieval): if top_k is None: top_k = self.top_k + do_extend = kwargs.pop("do_extend", False) + thumbnail_count = kwargs.pop("thumbnail_count", 3) + + if do_extend: + top_k_first_round = top_k * self.first_round_top_k_mult + else: + top_k_first_round = top_k + if self.doc_store is None: raise ValueError( "doc_store is not provided. Please provide a doc_store to " "retrieve the documents" ) - emb: list[float] = self.embedding(text)[0].embedding - _, scores, ids = self.vector_store.query(embedding=emb, top_k=top_k, **kwargs) - docs = self.doc_store.get(ids) - result = [ - RetrievedDocument(**doc.to_dict(), score=score) - for doc, score in zip(docs, scores) - ] + result: list[RetrievedDocument] = [] + # TODO: should declare scope directly in the run params + scope = kwargs.pop("scope", None) + emb: list[float] + + if self.retrieval_mode == "vector": + emb = self.embedding(text)[0].embedding + _, scores, ids = self.vector_store.query( + embedding=emb, top_k=top_k_first_round, **kwargs + ) + docs = self.doc_store.get(ids) + result = [ + RetrievedDocument(**doc.to_dict(), score=score) + for doc, score in zip(docs, scores) + ] + elif self.retrieval_mode == "text": + query = text.text if isinstance(text, Document) else text + docs = self.doc_store.query(query, top_k=top_k_first_round, doc_ids=scope) + result = [RetrievedDocument(**doc.to_dict(), score=-1.0) for doc in docs] + elif self.retrieval_mode == "hybrid": + # similarity search section + emb = self.embedding(text)[0].embedding + vs_docs: list[RetrievedDocument] = [] + vs_ids: list[str] = [] + vs_scores: list[float] = [] + + def query_vectorstore(): + nonlocal vs_docs + nonlocal vs_scores + nonlocal vs_ids + + assert self.doc_store is not None + _, vs_scores, vs_ids = self.vector_store.query( + embedding=emb, top_k=top_k_first_round, **kwargs + ) + if vs_ids: + vs_docs = self.doc_store.get(vs_ids) + + # full-text search section + ds_docs: list[RetrievedDocument] = [] + + def query_docstore(): + nonlocal ds_docs + + assert self.doc_store is not None + query = text.text if isinstance(text, Document) else text + ds_docs = self.doc_store.query( + query, top_k=top_k_first_round, doc_ids=scope + ) + + vs_query_thread = threading.Thread(target=query_vectorstore) + ds_query_thread = threading.Thread(target=query_docstore) + + vs_query_thread.start() + ds_query_thread.start() + + vs_query_thread.join() + ds_query_thread.join() + + result = [ + RetrievedDocument(**doc.to_dict(), score=-1.0) + for doc in ds_docs + if doc not in vs_ids + ] + result += [ + RetrievedDocument(**doc.to_dict(), score=score) + for doc, score in zip(vs_docs, vs_scores) + ] + print(f"Got {len(vs_docs)} from vectorstore") + print(f"Got {len(ds_docs)} from docstore") + # use additional reranker to re-order the document list - if self.rerankers: + if self.rerankers and text: for reranker in self.rerankers: + # if reranker is LLMReranking, limit the document with top_k items only + if isinstance(reranker, LLMReranking): + result = self._filter_docs(result, top_k=top_k) result = reranker(documents=result, query=text) + result = self._filter_docs(result, top_k=top_k) + print(f"Got raw {len(result)} retrieved documents") + + # add page thumbnails to the result if exists + thumbnail_doc_ids: set[str] = set() + # we should copy the text from retrieved text chunk + # to the thumbnail to get relevant LLM score correctly + text_thumbnail_docs: dict[str, RetrievedDocument] = {} + + non_thumbnail_docs = [] + raw_thumbnail_docs = [] + for doc in result: + if doc.metadata.get("type") == "thumbnail": + # change type to image to display on UI + doc.metadata["type"] = "image" + raw_thumbnail_docs.append(doc) + continue + if ( + "thumbnail_doc_id" in doc.metadata + and len(thumbnail_doc_ids) < thumbnail_count + ): + thumbnail_id = doc.metadata["thumbnail_doc_id"] + thumbnail_doc_ids.add(thumbnail_id) + text_thumbnail_docs[thumbnail_id] = doc + else: + non_thumbnail_docs.append(doc) + + linked_thumbnail_docs = self.doc_store.get(list(thumbnail_doc_ids)) + print( + "thumbnail docs", + len(linked_thumbnail_docs), + "non-thumbnail docs", + len(non_thumbnail_docs), + "raw-thumbnail docs", + len(raw_thumbnail_docs), + ) + additional_docs = [] + + for thumbnail_doc in linked_thumbnail_docs: + text_doc = text_thumbnail_docs[thumbnail_doc.doc_id] + doc_dict = thumbnail_doc.to_dict() + doc_dict["_id"] = text_doc.doc_id + doc_dict["content"] = text_doc.content + doc_dict["metadata"]["type"] = "image" + for key in text_doc.metadata: + if key not in doc_dict["metadata"]: + doc_dict["metadata"][key] = text_doc.metadata[key] + + additional_docs.append(RetrievedDocument(**doc_dict, score=text_doc.score)) + + result = additional_docs + non_thumbnail_docs + + if not result: + # return output from raw retrieved thumbnails + result = self._filter_docs(raw_thumbnail_docs, top_k=thumbnail_count) + return result diff --git a/libs/kotaemon/kotaemon/llms/__init__.py b/libs/kotaemon/kotaemon/llms/__init__.py index 266e391..6494fc9 100644 --- a/libs/kotaemon/kotaemon/llms/__init__.py +++ b/libs/kotaemon/kotaemon/llms/__init__.py @@ -7,6 +7,7 @@ from .chats import ( ChatLLM, ChatOpenAI, EndpointChatLLM, + LCAnthropicChat, LCAzureChatOpenAI, LCChatOpenAI, LlamaCppChat, @@ -27,6 +28,7 @@ __all__ = [ "SystemMessage", "AzureChatOpenAI", "ChatOpenAI", + "LCAnthropicChat", "LCAzureChatOpenAI", "LCChatOpenAI", "LlamaCppChat", diff --git a/libs/kotaemon/kotaemon/llms/chats/__init__.py b/libs/kotaemon/kotaemon/llms/chats/__init__.py index 7fc1c40..6e3d3d5 100644 --- a/libs/kotaemon/kotaemon/llms/chats/__init__.py +++ b/libs/kotaemon/kotaemon/llms/chats/__init__.py @@ -1,6 +1,11 @@ from .base import ChatLLM from .endpoint_based import EndpointChatLLM -from .langchain_based import LCAzureChatOpenAI, LCChatMixin, LCChatOpenAI +from .langchain_based import ( + LCAnthropicChat, + LCAzureChatOpenAI, + LCChatMixin, + LCChatOpenAI, +) from .llamacpp import LlamaCppChat from .openai import AzureChatOpenAI, ChatOpenAI @@ -10,6 +15,7 @@ __all__ = [ "ChatLLM", "EndpointChatLLM", "ChatOpenAI", + "LCAnthropicChat", "LCChatOpenAI", "LCAzureChatOpenAI", "LCChatMixin", diff --git a/libs/kotaemon/kotaemon/llms/chats/langchain_based.py b/libs/kotaemon/kotaemon/llms/chats/langchain_based.py index fca78dc..077c3f8 100644 --- a/libs/kotaemon/kotaemon/llms/chats/langchain_based.py +++ b/libs/kotaemon/kotaemon/llms/chats/langchain_based.py @@ -221,3 +221,27 @@ class LCAzureChatOpenAI(LCChatMixin, ChatLLM): # type: ignore from langchain.chat_models import AzureChatOpenAI return AzureChatOpenAI + + +class LCAnthropicChat(LCChatMixin, ChatLLM): # type: ignore + def __init__( + self, + api_key: str | None = None, + model_name: str | None = None, + temperature: float = 0.7, + **params, + ): + super().__init__( + api_key=api_key, + model_name=model_name, + temperature=temperature, + **params, + ) + + def _get_lc_class(self): + try: + from langchain_anthropic import ChatAnthropic + except ImportError: + raise ImportError("Please install langchain-anthropic") + + return ChatAnthropic diff --git a/libs/kotaemon/kotaemon/llms/chats/openai.py b/libs/kotaemon/kotaemon/llms/chats/openai.py index b12567d..6a605f6 100644 --- a/libs/kotaemon/kotaemon/llms/chats/openai.py +++ b/libs/kotaemon/kotaemon/llms/chats/openai.py @@ -159,6 +159,15 @@ class BaseChatOpenAI(ChatLLM): additional_kwargs["tool_calls"] = resp["choices"][0]["message"][ "tool_calls" ] + + if resp["choices"][0].get("logprobs") is None: + logprobs = [] + else: + all_logprobs = resp["choices"][0]["logprobs"].get("content") + logprobs = ( + [logprob["logprob"] for logprob in all_logprobs] if all_logprobs else [] + ) + output = LLMInterface( candidates=[(_["message"]["content"] or "") for _ in resp["choices"]], content=resp["choices"][0]["message"]["content"] or "", @@ -170,6 +179,7 @@ class BaseChatOpenAI(ChatLLM): AIMessage(content=(_["message"]["content"]) or "") for _ in resp["choices"] ], + logprobs=logprobs, ) return output @@ -216,11 +226,24 @@ class BaseChatOpenAI(ChatLLM): client, messages=input_messages, stream=True, **kwargs ) - for chunk in resp: - if not chunk.choices: + for c in resp: + chunk = c.dict() + if not chunk["choices"]: continue - if chunk.choices[0].delta.content is not None: - yield LLMInterface(content=chunk.choices[0].delta.content) + if chunk["choices"][0]["delta"]["content"] is not None: + if chunk["choices"][0].get("logprobs") is None: + logprobs = [] + else: + logprobs = [ + logprob["logprob"] + for logprob in chunk["choices"][0]["logprobs"].get( + "content", [] + ) + ] + + yield LLMInterface( + content=chunk["choices"][0]["delta"]["content"], logprobs=logprobs + ) async def astream( self, messages: str | BaseMessage | list[BaseMessage], *args, **kwargs diff --git a/libs/kotaemon/kotaemon/loaders/__init__.py b/libs/kotaemon/kotaemon/loaders/__init__.py index 6ccdbda..624a76b 100644 --- a/libs/kotaemon/kotaemon/loaders/__init__.py +++ b/libs/kotaemon/kotaemon/loaders/__init__.py @@ -3,10 +3,12 @@ from .azureai_document_intelligence_loader import AzureAIDocumentIntelligenceLoa from .base import AutoReader, BaseReader from .composite_loader import DirectoryReader from .docx_loader import DocxReader -from .excel_loader import PandasExcelReader +from .excel_loader import ExcelReader, PandasExcelReader from .html_loader import HtmlReader, MhtmlReader from .mathpix_loader import MathpixPDFReader from .ocr_loader import ImageReader, OCRReader +from .pdf_loader import PDFThumbnailReader +from .txt_loader import TxtReader from .unstructured_loader import UnstructuredReader __all__ = [ @@ -14,6 +16,7 @@ __all__ = [ "AzureAIDocumentIntelligenceLoader", "BaseReader", "PandasExcelReader", + "ExcelReader", "MathpixPDFReader", "ImageReader", "OCRReader", @@ -23,4 +26,6 @@ __all__ = [ "HtmlReader", "MhtmlReader", "AdobeReader", + "TxtReader", + "PDFThumbnailReader", ] diff --git a/libs/kotaemon/kotaemon/loaders/adobe_loader.py b/libs/kotaemon/kotaemon/loaders/adobe_loader.py index 09a802c..f1b0379 100644 --- a/libs/kotaemon/kotaemon/loaders/adobe_loader.py +++ b/libs/kotaemon/kotaemon/loaders/adobe_loader.py @@ -6,7 +6,7 @@ from pathlib import Path from typing import Any, Dict, List, Optional from decouple import config -from llama_index.readers.base import BaseReader +from llama_index.core.readers.base import BaseReader from kotaemon.base import Document @@ -154,7 +154,7 @@ class AdobeReader(BaseReader): for page_number, table_content, table_caption in tables: documents.append( Document( - text=table_caption, + text=table_content, metadata={ "table_origin": table_content, "type": "table", diff --git a/libs/kotaemon/kotaemon/loaders/azureai_document_intelligence_loader.py b/libs/kotaemon/kotaemon/loaders/azureai_document_intelligence_loader.py index 7e4c516..1e1d902 100644 --- a/libs/kotaemon/kotaemon/loaders/azureai_document_intelligence_loader.py +++ b/libs/kotaemon/kotaemon/loaders/azureai_document_intelligence_loader.py @@ -1,10 +1,56 @@ +import base64 import os +from io import BytesIO from pathlib import Path from typing import Optional +from PIL import Image + from kotaemon.base import Document, Param from .base import BaseReader +from .utils.adobe import generate_single_figure_caption + + +def crop_image(file_path: Path, bbox: list[float], page_number: int = 0) -> Image.Image: + """Crop the image based on the bounding box + + Args: + file_path (Path): path to the image file + bbox (list[float]): bounding box of the image (in percentage [x0, y0, x1, y1]) + page_number (int, optional): page number of the image. Defaults to 0. + + Returns: + Image.Image: cropped image + """ + left, upper, right, lower = bbox + + img: Image.Image + suffix = file_path.suffix.lower() + if suffix == ".pdf": + try: + import fitz + except ImportError: + raise ImportError("Please install PyMuPDF: 'pip install PyMuPDF'") + + doc = fitz.open(file_path) + page = doc.load_page(page_number) + pm = page.get_pixmap(dpi=150) + img = Image.frombytes("RGB", [pm.width, pm.height], pm.samples) + elif suffix in [".tif", ".tiff"]: + img = Image.open(file_path) + img.seek(page_number) + else: + img = Image.open(file_path) + + return img.crop( + ( + int(left * img.width), + int(upper * img.height), + int(right * img.width), + int(lower * img.height), + ) + ) class AzureAIDocumentIntelligenceLoader(BaseReader): @@ -14,7 +60,7 @@ class AzureAIDocumentIntelligenceLoader(BaseReader): heif, docx, xlsx, pptx and html. """ - _dependencies = ["azure-ai-documentintelligence"] + _dependencies = ["azure-ai-documentintelligence", "PyMuPDF", "Pillow"] endpoint: str = Param( os.environ.get("AZUREAI_DOCUMENT_INTELLIGENT_ENDPOINT", None), @@ -34,6 +80,29 @@ class AzureAIDocumentIntelligenceLoader(BaseReader): "#model-analysis-features)" ), ) + output_content_format: str = Param( + "markdown", + help="Output content format. Can be 'markdown' or 'text'.Default is markdown", + ) + vlm_endpoint: str = Param( + help=( + "Default VLM endpoint for figure captioning. If not provided, will not " + "caption the figures" + ) + ) + figure_friendly_filetypes: list[str] = Param( + [".pdf", ".jpeg", ".jpg", ".png", ".bmp", ".tiff", ".heif", ".tif"], + help=( + "File types that we can reliably open and extract figures. " + "For files like .docx or .html, the visual layout may be different " + "when viewed from different tools, hence we cannot use Azure DI " + "location to extract figures." + ), + ) + cache_dir: str = Param( + None, + help="Directory to cache the downloaded files. Default is None", + ) @Param.auto(depends_on=["endpoint", "credential"]) def client_(self): @@ -55,14 +124,114 @@ class AzureAIDocumentIntelligenceLoader(BaseReader): def load_data( self, file_path: Path, extra_info: Optional[dict] = None, **kwargs ) -> list[Document]: + """Extract the input file, allowing multi-modal extraction""" metadata = extra_info or {} + file_name = Path(file_path) with open(file_path, "rb") as fi: poller = self.client_.begin_analyze_document( self.model, analyze_request=fi, content_type="application/octet-stream", - output_content_format="markdown", + output_content_format=self.output_content_format, ) result = poller.result() - return [Document(content=result.content, metadata=metadata)] + # the total text content of the document in `output_content_format` format + text_content = result.content + removed_spans: list[dict] = [] + + # extract the figures + figures = [] + for figure_desc in result.get("figures", []): + if not self.vlm_endpoint: + continue + if file_path.suffix.lower() not in self.figure_friendly_filetypes: + continue + + # read & crop the image + page_number = figure_desc["boundingRegions"][0]["pageNumber"] + page_width = result.pages[page_number - 1]["width"] + page_height = result.pages[page_number - 1]["height"] + polygon = figure_desc["boundingRegions"][0]["polygon"] + xs = [polygon[i] for i in range(0, len(polygon), 2)] + ys = [polygon[i] for i in range(1, len(polygon), 2)] + bbox = [ + min(xs) / page_width, + min(ys) / page_height, + max(xs) / page_width, + max(ys) / page_height, + ] + img = crop_image(file_path, bbox, page_number - 1) + + # convert the image into base64 + img_bytes = BytesIO() + img.save(img_bytes, format="PNG") + img_base64 = base64.b64encode(img_bytes.getvalue()).decode("utf-8") + img_base64 = f"data:image/png;base64,{img_base64}" + + # caption the image + caption = generate_single_figure_caption( + figure=img_base64, vlm_endpoint=self.vlm_endpoint + ) + + # store the image into document + figure_metadata = { + "image_origin": img_base64, + "type": "image", + "page_label": page_number, + } + figure_metadata.update(metadata) + + figures.append( + Document( + text=caption, + metadata=figure_metadata, + ) + ) + removed_spans += figure_desc["spans"] + + # extract the tables + tables = [] + for table_desc in result.get("tables", []): + if not table_desc["spans"]: + continue + + # convert the tables into markdown format + boundingRegions = table_desc["boundingRegions"] + if boundingRegions: + page_number = boundingRegions[0]["pageNumber"] + else: + page_number = 1 + + # store the tables into document + offset = table_desc["spans"][0]["offset"] + length = table_desc["spans"][0]["length"] + table_metadata = { + "type": "table", + "page_label": page_number, + "table_origin": text_content[offset : offset + length], + } + table_metadata.update(metadata) + + tables.append( + Document( + text=text_content[offset : offset + length], + metadata=table_metadata, + ) + ) + removed_spans += table_desc["spans"] + # save the text content into markdown format + if self.cache_dir is not None: + with open( + Path(self.cache_dir) / f"{file_name.stem}.md", "w", encoding="utf-8" + ) as f: + f.write(text_content) + + removed_spans = sorted(removed_spans, key=lambda x: x["offset"], reverse=True) + for span in removed_spans: + text_content = ( + text_content[: span["offset"]] + + text_content[span["offset"] + span["length"] :] + ) + + return [Document(content=text_content, metadata=metadata)] + figures + tables diff --git a/libs/kotaemon/kotaemon/loaders/base.py b/libs/kotaemon/kotaemon/loaders/base.py index 52bef49..aebf919 100644 --- a/libs/kotaemon/kotaemon/loaders/base.py +++ b/libs/kotaemon/kotaemon/loaders/base.py @@ -4,7 +4,7 @@ from typing import TYPE_CHECKING, Any, List, Type, Union from kotaemon.base import BaseComponent, Document if TYPE_CHECKING: - from llama_index.readers.base import BaseReader as LIBaseReader + from llama_index.core.readers.base import BaseReader as LIBaseReader class BaseReader(BaseComponent): @@ -20,7 +20,7 @@ class AutoReader(BaseReader): """Init reader using string identifier or class name from llama-hub""" if isinstance(reader_type, str): - from llama_index import download_loader + from llama_index.core import download_loader self._reader = download_loader(reader_type)() else: diff --git a/libs/kotaemon/kotaemon/loaders/composite_loader.py b/libs/kotaemon/kotaemon/loaders/composite_loader.py index 9d35e26..ddf71fa 100644 --- a/libs/kotaemon/kotaemon/loaders/composite_loader.py +++ b/libs/kotaemon/kotaemon/loaders/composite_loader.py @@ -1,6 +1,6 @@ from typing import Callable, List, Optional, Type -from llama_index.readers.base import BaseReader as LIBaseReader +from llama_index.core.readers.base import BaseReader as LIBaseReader from .base import BaseReader, LIReaderMixin @@ -48,6 +48,6 @@ class DirectoryReader(LIReaderMixin, BaseReader): file_metadata: Optional[Callable[[str], dict]] = None def _get_wrapped_class(self) -> Type["LIBaseReader"]: - from llama_index import SimpleDirectoryReader + from llama_index.core import SimpleDirectoryReader return SimpleDirectoryReader diff --git a/libs/kotaemon/kotaemon/loaders/docx_loader.py b/libs/kotaemon/kotaemon/loaders/docx_loader.py index dcec539..463a8fa 100644 --- a/libs/kotaemon/kotaemon/loaders/docx_loader.py +++ b/libs/kotaemon/kotaemon/loaders/docx_loader.py @@ -3,7 +3,7 @@ from pathlib import Path from typing import List, Optional import pandas as pd -from llama_index.readers.base import BaseReader +from llama_index.core.readers.base import BaseReader from kotaemon.base import Document @@ -27,6 +27,21 @@ class DocxReader(BaseReader): "Please install it using `pip install python-docx`" ) + def _load_single_table(self, table) -> List[List[str]]: + """Extract content from tables. Return a list of columns: list[str] + Some merged cells will share duplicated content. + """ + n_row = len(table.rows) + n_col = len(table.columns) + + arrays = [["" for _ in range(n_row)] for _ in range(n_col)] + + for i, row in enumerate(table.rows): + for j, cell in enumerate(row.cells): + arrays[j][i] = cell.text + + return arrays + def load_data( self, file_path: Path, extra_info: Optional[dict] = None, **kwargs ) -> List[Document]: @@ -50,13 +65,9 @@ class DocxReader(BaseReader): tables = [] for t in doc.tables: - arrays = [ - [ - unicodedata.normalize("NFKC", t.cell(i, j).text) - for i in range(len(t.rows)) - ] - for j in range(len(t.columns)) - ] + # return list of columns: list of string + arrays = self._load_single_table(t) + tables.append(pd.DataFrame({a[0]: a[1:] for a in arrays})) extra_info = extra_info or {} diff --git a/libs/kotaemon/kotaemon/loaders/excel_loader.py b/libs/kotaemon/kotaemon/loaders/excel_loader.py index d903aea..67d0043 100644 --- a/libs/kotaemon/kotaemon/loaders/excel_loader.py +++ b/libs/kotaemon/kotaemon/loaders/excel_loader.py @@ -6,7 +6,7 @@ Pandas parser for .xlsx files. from pathlib import Path from typing import Any, List, Optional, Union -from llama_index.readers.base import BaseReader +from llama_index.core.readers.base import BaseReader from kotaemon.base import Document @@ -82,6 +82,9 @@ class PandasExcelReader(BaseReader): sheet = [] if include_sheetname: sheet.append([key]) + dfs[key] = dfs[key].dropna(axis=0, how="all") + dfs[key] = dfs[key].dropna(axis=0, how="all") + dfs[key].fillna("", inplace=True) sheet.extend(dfs[key].values.astype(str).tolist()) df_sheets.append(sheet) @@ -99,3 +102,91 @@ class PandasExcelReader(BaseReader): ] return output + + +class ExcelReader(BaseReader): + r"""Spreadsheet exporter respecting multiple worksheets + + Parses CSVs using the separator detection from Pandas `read_csv` function. + If special parameters are required, use the `pandas_config` dict. + + Args: + + pandas_config (dict): Options for the `pandas.read_excel` function call. + Refer to https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html + for more information. Set to empty dict by default, + this means defaults will be used. + + """ + + def __init__( + self, + *args: Any, + pandas_config: Optional[dict] = None, + row_joiner: str = "\n", + col_joiner: str = " ", + **kwargs: Any, + ) -> None: + """Init params.""" + super().__init__(*args, **kwargs) + self._pandas_config = pandas_config or {} + self._row_joiner = row_joiner if row_joiner else "\n" + self._col_joiner = col_joiner if col_joiner else " " + + def load_data( + self, + file: Path, + include_sheetname: bool = True, + sheet_name: Optional[Union[str, int, list]] = None, + extra_info: Optional[dict] = None, + **kwargs, + ) -> List[Document]: + """Parse file and extract values from a specific column. + + Args: + file (Path): The path to the Excel file to read. + include_sheetname (bool): Whether to include the sheet name in the output. + sheet_name (Union[str, int, None]): The specific sheet to read from, + default is None which reads all sheets. + + Returns: + List[Document]: A list of`Document objects containing the + values from the specified column in the Excel file. + """ + + try: + import pandas as pd + except ImportError: + raise ImportError( + "install pandas using `pip3 install pandas` to use this loader" + ) + + if sheet_name is not None: + sheet_name = ( + [sheet_name] if not isinstance(sheet_name, list) else sheet_name + ) + + # clean up input + file = Path(file) + extra_info = extra_info or {} + + dfs = pd.read_excel(file, sheet_name=sheet_name, **self._pandas_config) + sheet_names = dfs.keys() + output = [] + + for idx, key in enumerate(sheet_names): + dfs[key] = dfs[key].dropna(axis=0, how="all") + dfs[key] = dfs[key].dropna(axis=0, how="all") + dfs[key] = dfs[key].astype("object") + dfs[key].fillna("", inplace=True) + + rows = dfs[key].values.astype(str).tolist() + content = self._row_joiner.join( + self._col_joiner.join(row).strip() for row in rows + ).strip() + if include_sheetname: + content = f"(Sheet {key} of file {file.name})\n{content}" + metadata = {"page_label": idx + 1, "sheet_name": key, **extra_info} + output.append(Document(text=content, metadata=metadata)) + + return output diff --git a/libs/kotaemon/kotaemon/loaders/html_loader.py b/libs/kotaemon/kotaemon/loaders/html_loader.py index c939c8a..555efe5 100644 --- a/libs/kotaemon/kotaemon/loaders/html_loader.py +++ b/libs/kotaemon/kotaemon/loaders/html_loader.py @@ -2,7 +2,8 @@ import email from pathlib import Path from typing import Optional -from llama_index.readers.base import BaseReader +from llama_index.core.readers.base import BaseReader +from theflow.settings import settings as flowsettings from kotaemon.base import Document @@ -78,6 +79,9 @@ class MhtmlReader(BaseReader): def __init__( self, + cache_dir: Optional[str] = getattr( + flowsettings, "KH_MARKDOWN_OUTPUT_DIR", None + ), open_encoding: Optional[str] = None, bs_kwargs: Optional[dict] = None, get_text_separator: str = "", @@ -86,6 +90,7 @@ class MhtmlReader(BaseReader): to pass to the BeautifulSoup object. Args: + cache_dir: Path for markdwon format. file_path: Path to file to load. open_encoding: The encoding to use when opening the file. bs_kwargs: Any kwargs to pass to the BeautifulSoup object. @@ -100,6 +105,7 @@ class MhtmlReader(BaseReader): "`pip install beautifulsoup4`" ) + self.cache_dir = cache_dir self.open_encoding = open_encoding if bs_kwargs is None: bs_kwargs = {"features": "lxml"} @@ -116,6 +122,7 @@ class MhtmlReader(BaseReader): extra_info = extra_info or {} metadata: dict = extra_info page = [] + file_name = Path(file_path) with open(file_path, "r", encoding=self.open_encoding) as f: message = email.message_from_string(f.read()) parts = message.get_payload() @@ -144,5 +151,11 @@ class MhtmlReader(BaseReader): text = "\n\n".join(lines) if text: page.append(text) + # save the page into markdown format + print(self.cache_dir) + if self.cache_dir is not None: + print(Path(self.cache_dir) / f"{file_name.stem}.md") + with open(Path(self.cache_dir) / f"{file_name.stem}.md", "w") as f: + f.write(page[0]) return [Document(text="\n\n".join(page), metadata=metadata)] diff --git a/libs/kotaemon/kotaemon/loaders/mathpix_loader.py b/libs/kotaemon/kotaemon/loaders/mathpix_loader.py index 19f1001..d07b069 100644 --- a/libs/kotaemon/kotaemon/loaders/mathpix_loader.py +++ b/libs/kotaemon/kotaemon/loaders/mathpix_loader.py @@ -6,7 +6,7 @@ from typing import Any, Dict, List, Optional import requests from langchain.utils import get_from_dict_or_env -from llama_index.readers.base import BaseReader +from llama_index.core.readers.base import BaseReader from kotaemon.base import Document diff --git a/libs/kotaemon/kotaemon/loaders/ocr_loader.py b/libs/kotaemon/kotaemon/loaders/ocr_loader.py index bb1ac5d..4e009de 100644 --- a/libs/kotaemon/kotaemon/loaders/ocr_loader.py +++ b/libs/kotaemon/kotaemon/loaders/ocr_loader.py @@ -5,8 +5,8 @@ from typing import List, Optional from uuid import uuid4 import requests -from llama_index.readers.base import BaseReader -from tenacity import after_log, retry, stop_after_attempt, wait_fixed, wait_random +from llama_index.core.readers.base import BaseReader +from tenacity import after_log, retry, stop_after_attempt, wait_exponential from kotaemon.base import Document @@ -19,13 +19,16 @@ DEFAULT_OCR_ENDPOINT = "http://127.0.0.1:8000/v2/ai/infer/" @retry( - stop=stop_after_attempt(3), - wait=wait_fixed(5) + wait_random(0, 2), - after=after_log(logger, logging.DEBUG), + stop=stop_after_attempt(6), + wait=wait_exponential(multiplier=20, exp_base=2, min=1, max=1000), + after=after_log(logger, logging.WARNING), ) -def tenacious_api_post(url, **kwargs): - resp = requests.post(url=url, **kwargs) - resp.raise_for_status() +def tenacious_api_post(url, file_path, table_only, **kwargs): + with file_path.open("rb") as content: + files = {"input": content} + data = {"job_id": uuid4(), "table_only": table_only} + resp = requests.post(url=url, files=files, data=data, **kwargs) + resp.raise_for_status() return resp @@ -71,18 +74,16 @@ class OCRReader(BaseReader): """ file_path = Path(file_path).resolve() - with file_path.open("rb") as content: - files = {"input": content} - data = {"job_id": uuid4(), "table_only": not self.use_ocr} - - # call the API from FullOCR endpoint - if "response_content" in kwargs: - # overriding response content if specified - ocr_results = kwargs["response_content"] - else: - # call original API - resp = tenacious_api_post(url=self.ocr_endpoint, files=files, data=data) - ocr_results = resp.json()["result"] + # call the API from FullOCR endpoint + if "response_content" in kwargs: + # overriding response content if specified + ocr_results = kwargs["response_content"] + else: + # call original API + resp = tenacious_api_post( + url=self.ocr_endpoint, file_path=file_path, table_only=not self.use_ocr + ) + ocr_results = resp.json()["result"] debug_path = kwargs.pop("debug_path", None) artifact_path = kwargs.pop("artifact_path", None) @@ -168,18 +169,16 @@ class ImageReader(BaseReader): """ file_path = Path(file_path).resolve() - with file_path.open("rb") as content: - files = {"input": content} - data = {"job_id": uuid4(), "table_only": False} - - # call the API from FullOCR endpoint - if "response_content" in kwargs: - # overriding response content if specified - ocr_results = kwargs["response_content"] - else: - # call original API - resp = tenacious_api_post(url=self.ocr_endpoint, files=files, data=data) - ocr_results = resp.json()["result"] + # call the API from FullOCR endpoint + if "response_content" in kwargs: + # overriding response content if specified + ocr_results = kwargs["response_content"] + else: + # call original API + resp = tenacious_api_post( + url=self.ocr_endpoint, file_path=file_path, table_only=False + ) + ocr_results = resp.json()["result"] extra_info = extra_info or {} result = [] diff --git a/libs/kotaemon/kotaemon/loaders/pdf_loader.py b/libs/kotaemon/kotaemon/loaders/pdf_loader.py new file mode 100644 index 0000000..ecba89d --- /dev/null +++ b/libs/kotaemon/kotaemon/loaders/pdf_loader.py @@ -0,0 +1,114 @@ +import base64 +from io import BytesIO +from pathlib import Path +from typing import Dict, List, Optional + +from fsspec import AbstractFileSystem +from llama_index.readers.file import PDFReader +from PIL import Image + +from kotaemon.base import Document + + +def get_page_thumbnails( + file_path: Path, pages: list[int], dpi: int = 80 +) -> List[Image.Image]: + """Get image thumbnails of the pages in the PDF file. + + Args: + file_path (Path): path to the image file + page_number (list[int]): list of page numbers to extract + + Returns: + list[Image.Image]: list of page thumbnails + """ + + img: Image.Image + suffix = file_path.suffix.lower() + assert suffix == ".pdf", "This function only supports PDF files." + try: + import fitz + except ImportError: + raise ImportError("Please install PyMuPDF: 'pip install PyMuPDF'") + + doc = fitz.open(file_path) + + output_imgs = [] + for page_number in pages: + page = doc.load_page(page_number) + pm = page.get_pixmap(dpi=dpi) + img = Image.frombytes("RGB", [pm.width, pm.height], pm.samples) + output_imgs.append(convert_image_to_base64(img)) + + return output_imgs + + +def convert_image_to_base64(img: Image.Image) -> str: + # convert the image into base64 + img_bytes = BytesIO() + img.save(img_bytes, format="PNG") + img_base64 = base64.b64encode(img_bytes.getvalue()).decode("utf-8") + img_base64 = f"data:image/png;base64,{img_base64}" + + return img_base64 + + +class PDFThumbnailReader(PDFReader): + """PDF parser with thumbnail for each page.""" + + def __init__(self) -> None: + """ + Initialize PDFReader. + """ + super().__init__(return_full_document=False) + + def load_data( + self, + file: Path, + extra_info: Optional[Dict] = None, + fs: Optional[AbstractFileSystem] = None, + ) -> List[Document]: + """Parse file.""" + documents = super().load_data(file, extra_info, fs) + + page_numbers_str = [] + filtered_docs = [] + is_int_page_number: dict[str, bool] = {} + + for doc in documents: + if "page_label" in doc.metadata: + page_num_str = doc.metadata["page_label"] + page_numbers_str.append(page_num_str) + try: + _ = int(page_num_str) + is_int_page_number[page_num_str] = True + filtered_docs.append(doc) + except ValueError: + is_int_page_number[page_num_str] = False + continue + + documents = filtered_docs + page_numbers = list(range(len(page_numbers_str))) + + print("Page numbers:", len(page_numbers)) + page_thumbnails = get_page_thumbnails(file, page_numbers) + + documents.extend( + [ + Document( + text="Page thumbnail", + metadata={ + "image_origin": page_thumbnail, + "type": "thumbnail", + "page_label": page_number, + **(extra_info if extra_info is not None else {}), + }, + ) + for (page_thumbnail, page_number) in zip( + page_thumbnails, page_numbers_str + ) + if is_int_page_number[page_number] + ] + ) + + return documents diff --git a/libs/kotaemon/kotaemon/loaders/txt_loader.py b/libs/kotaemon/kotaemon/loaders/txt_loader.py new file mode 100644 index 0000000..6484029 --- /dev/null +++ b/libs/kotaemon/kotaemon/loaders/txt_loader.py @@ -0,0 +1,22 @@ +from pathlib import Path +from typing import Optional + +from kotaemon.base import Document + +from .base import BaseReader + + +class TxtReader(BaseReader): + def run( + self, file_path: str | Path, extra_info: Optional[dict] = None, **kwargs + ) -> list[Document]: + return self.load_data(Path(file_path), extra_info=extra_info, **kwargs) + + def load_data( + self, file_path: Path, extra_info: Optional[dict] = None, **kwargs + ) -> list[Document]: + with open(file_path, "r") as f: + text = f.read() + + metadata = extra_info or {} + return [Document(text=text, metadata=metadata)] diff --git a/libs/kotaemon/kotaemon/loaders/unstructured_loader.py b/libs/kotaemon/kotaemon/loaders/unstructured_loader.py index 82f3255..e8f8e30 100644 --- a/libs/kotaemon/kotaemon/loaders/unstructured_loader.py +++ b/libs/kotaemon/kotaemon/loaders/unstructured_loader.py @@ -12,7 +12,7 @@ pip install xlrd from pathlib import Path from typing import Any, Dict, List, Optional -from llama_index.readers.base import BaseReader +from llama_index.core.readers.base import BaseReader from kotaemon.base import Document diff --git a/libs/kotaemon/kotaemon/loaders/utils/gpt4v.py b/libs/kotaemon/kotaemon/loaders/utils/gpt4v.py index 1e219d6..e43059c 100644 --- a/libs/kotaemon/kotaemon/loaders/utils/gpt4v.py +++ b/libs/kotaemon/kotaemon/loaders/utils/gpt4v.py @@ -1,12 +1,19 @@ import json +import logging from typing import Any, List import requests from decouple import config +logger = logging.getLogger(__name__) + def generate_gpt4v( - endpoint: str, images: str | List[str], prompt: str, max_tokens: int = 512 + endpoint: str, + images: str | List[str], + prompt: str, + max_tokens: int = 512, + max_images: int = 10, ) -> str: # OpenAI API Key api_key = config("AZURE_OPENAI_API_KEY", default="") @@ -27,24 +34,36 @@ def generate_gpt4v( "type": "image_url", "image_url": {"url": image}, } - for image in images + for image in images[:max_images] ], } ], "max_tokens": max_tokens, + "temperature": 0, } + if len(images) > max_images: + print(f"Truncated to {max_images} images (original {len(images)} images") + + response = requests.post(endpoint, headers=headers, json=payload) + try: - response = requests.post(endpoint, headers=headers, json=payload) - output = response.json() - output = output["choices"][0]["message"]["content"] - except Exception: - output = "" + response.raise_for_status() + except Exception as e: + logger.exception(f"Error generating gpt4v: {response.text}; error {e}") + return "" + + output = response.json() + output = output["choices"][0]["message"]["content"] return output def stream_gpt4v( - endpoint: str, images: str | List[str], prompt: str, max_tokens: int = 512 + endpoint: str, + images: str | List[str], + prompt: str, + max_tokens: int = 512, + max_images: int = 10, ) -> Any: # OpenAI API Key api_key = config("AZURE_OPENAI_API_KEY", default="") @@ -65,17 +84,22 @@ def stream_gpt4v( "type": "image_url", "image_url": {"url": image}, } - for image in images + for image in images[:max_images] ], } ], "max_tokens": max_tokens, "stream": True, + "logprobs": True, + "temperature": 0, } + if len(images) > max_images: + print(f"Truncated to {max_images} images (original {len(images)} images") try: response = requests.post(endpoint, headers=headers, json=payload, stream=True) assert response.status_code == 200, str(response.content) output = "" + logprobs = [] for line in response.iter_lines(): if line: if line.startswith(b"\xef\xbb\xbf"): @@ -89,8 +113,23 @@ def stream_gpt4v( except Exception: break if len(line["choices"]): + if line["choices"][0].get("logprobs") is None: + _logprobs = [] + else: + _logprobs = [ + logprob["logprob"] + for logprob in line["choices"][0]["logprobs"].get( + "content", [] + ) + ] + output += line["choices"][0]["delta"].get("content", "") - yield line["choices"][0]["delta"].get("content", "") - except Exception: + logprobs += _logprobs + yield line["choices"][0]["delta"].get("content", ""), _logprobs + + except Exception as e: + logger.error(f"Error streaming gpt4v {e}") + logprobs = [] output = "" - return output + + return output, logprobs diff --git a/libs/kotaemon/kotaemon/storages/__init__.py b/libs/kotaemon/kotaemon/storages/__init__.py index 63cc6f6..d5f5c94 100644 --- a/libs/kotaemon/kotaemon/storages/__init__.py +++ b/libs/kotaemon/kotaemon/storages/__init__.py @@ -2,12 +2,14 @@ from .docstores import ( BaseDocumentStore, ElasticsearchDocumentStore, InMemoryDocumentStore, + LanceDBDocumentStore, SimpleFileDocumentStore, ) from .vectorstores import ( BaseVectorStore, ChromaVectorStore, InMemoryVectorStore, + LanceDBVectorStore, SimpleFileVectorStore, ) @@ -17,9 +19,11 @@ __all__ = [ "InMemoryDocumentStore", "ElasticsearchDocumentStore", "SimpleFileDocumentStore", + "LanceDBDocumentStore", # Vector stores "BaseVectorStore", "ChromaVectorStore", "InMemoryVectorStore", "SimpleFileVectorStore", + "LanceDBVectorStore", ] diff --git a/libs/kotaemon/kotaemon/storages/docstores/__init__.py b/libs/kotaemon/kotaemon/storages/docstores/__init__.py index 8c1da98..8bd0788 100644 --- a/libs/kotaemon/kotaemon/storages/docstores/__init__.py +++ b/libs/kotaemon/kotaemon/storages/docstores/__init__.py @@ -1,6 +1,7 @@ from .base import BaseDocumentStore from .elasticsearch import ElasticsearchDocumentStore from .in_memory import InMemoryDocumentStore +from .lancedb import LanceDBDocumentStore from .simple_file import SimpleFileDocumentStore __all__ = [ @@ -8,4 +9,5 @@ __all__ = [ "InMemoryDocumentStore", "ElasticsearchDocumentStore", "SimpleFileDocumentStore", + "LanceDBDocumentStore", ] diff --git a/libs/kotaemon/kotaemon/storages/docstores/base.py b/libs/kotaemon/kotaemon/storages/docstores/base.py index 243584b..4b6f397 100644 --- a/libs/kotaemon/kotaemon/storages/docstores/base.py +++ b/libs/kotaemon/kotaemon/storages/docstores/base.py @@ -41,6 +41,13 @@ class BaseDocumentStore(ABC): """Count number of documents""" ... + @abstractmethod + def query( + self, query: str, top_k: int = 10, doc_ids: Optional[list] = None + ) -> List[Document]: + """Search document store using search query""" + ... + @abstractmethod def delete(self, ids: Union[List[str], str]): """Delete document by id""" diff --git a/libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py b/libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py index b58b211..27045cf 100644 --- a/libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py +++ b/libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py @@ -92,7 +92,10 @@ class ElasticsearchDocumentStore(BaseDocumentStore): "_id": doc_id, } requests.append(request) - self.es_bulk(self.client, requests) + + success, failed = self.es_bulk(self.client, requests) + print("Added/Updated documents to index", success) + print("Failed documents to index", failed) if refresh_indices: self.client.indices.refresh(index=self.index_name) @@ -131,16 +134,17 @@ class ElasticsearchDocumentStore(BaseDocumentStore): Returns: List[Document]: List of result documents """ - query_dict: dict = {"query": {"match": {"content": query}}, "size": top_k} - if doc_ids: - query_dict["query"]["match"]["_id"] = {"values": doc_ids} + query_dict: dict = {"match": {"content": query}} + if doc_ids is not None: + query_dict = {"bool": {"must": [query_dict, {"terms": {"_id": doc_ids}}]}} + query_dict = {"query": query_dict, "size": top_k} return self.query_raw(query_dict) def get(self, ids: Union[List[str], str]) -> List[Document]: """Get document by id""" if not isinstance(ids, list): ids = [ids] - query_dict = {"query": {"terms": {"_id": ids}}} + query_dict = {"query": {"terms": {"_id": ids}}, "size": 10000} return self.query_raw(query_dict) def count(self) -> int: diff --git a/libs/kotaemon/kotaemon/storages/docstores/in_memory.py b/libs/kotaemon/kotaemon/storages/docstores/in_memory.py index 3e2ee01..0df7a3e 100644 --- a/libs/kotaemon/kotaemon/storages/docstores/in_memory.py +++ b/libs/kotaemon/kotaemon/storages/docstores/in_memory.py @@ -81,6 +81,12 @@ class InMemoryDocumentStore(BaseDocumentStore): # Also, for portability, use SQLAlchemy for document store. self._store = {key: Document.from_dict(value) for key, value in store.items()} + def query( + self, query: str, top_k: int = 10, doc_ids: Optional[list] = None + ) -> List[Document]: + """Perform full-text search on document store""" + return [] + def __persist_flow__(self): return {} diff --git a/libs/kotaemon/kotaemon/storages/docstores/lancedb.py b/libs/kotaemon/kotaemon/storages/docstores/lancedb.py new file mode 100644 index 0000000..a0f69e3 --- /dev/null +++ b/libs/kotaemon/kotaemon/storages/docstores/lancedb.py @@ -0,0 +1,153 @@ +import json +from typing import List, Optional, Union + +from kotaemon.base import Document + +from .base import BaseDocumentStore + +MAX_DOCS_TO_GET = 10**4 + + +class LanceDBDocumentStore(BaseDocumentStore): + """LancdDB document store which support full-text search query""" + + def __init__(self, path: str = "lancedb", collection_name: str = "docstore"): + try: + import lancedb + except ImportError: + raise ImportError( + "Please install lancedb: 'pip install lancedb tanvity-py'" + ) + + self.db_uri = path + self.collection_name = collection_name + self.db_connection = lancedb.connect(self.db_uri) # type: ignore + + def add( + self, + docs: Union[Document, List[Document]], + ids: Optional[Union[List[str], str]] = None, + refresh_indices: bool = True, + **kwargs, + ): + """Load documents into lancedb storage.""" + doc_ids = ids if ids else [doc.doc_id for doc in docs] + data: list[dict[str, str]] | None = [ + { + "id": doc_id, + "text": doc.text, + "attributes": json.dumps(doc.metadata), + } + for doc_id, doc in zip(doc_ids, docs) + ] + + if self.collection_name not in self.db_connection.table_names(): + if data: + document_collection = self.db_connection.create_table( + self.collection_name, data=data, mode="overwrite" + ) + else: + # add data to existing table + document_collection = self.db_connection.open_table(self.collection_name) + if data: + document_collection.add(data) + + if refresh_indices: + document_collection.create_fts_index( + "text", + tokenizer_name="en_stem", + replace=True, + ) + + def query( + self, query: str, top_k: int = 10, doc_ids: Optional[list] = None + ) -> List[Document]: + if doc_ids: + id_filter = ", ".join([f"'{_id}'" for _id in doc_ids]) + query_filter = f"id in ({id_filter})" + else: + query_filter = None + try: + document_collection = self.db_connection.open_table(self.collection_name) + if query_filter: + docs = ( + document_collection.search(query, query_type="fts") + .where(query_filter, prefilter=True) + .limit(top_k) + .to_list() + ) + else: + docs = ( + document_collection.search(query, query_type="fts") + .limit(top_k) + .to_list() + ) + except (ValueError, FileNotFoundError): + docs = [] + return [ + Document( + id_=doc["id"], + text=doc["text"] if doc["text"] else "", + metadata=json.loads(doc["attributes"]), + ) + for doc in docs + ] + + def get(self, ids: Union[List[str], str]) -> List[Document]: + """Get document by id""" + if not isinstance(ids, list): + ids = [ids] + + id_filter = ", ".join([f"'{_id}'" for _id in ids]) + try: + document_collection = self.db_connection.open_table(self.collection_name) + query_filter = f"id in ({id_filter})" + docs = ( + document_collection.search() + .where(query_filter) + .limit(MAX_DOCS_TO_GET) + .to_list() + ) + except (ValueError, FileNotFoundError): + docs = [] + return [ + Document( + id_=doc["id"], + text=doc["text"] if doc["text"] else "", + metadata=json.loads(doc["attributes"]), + ) + for doc in docs + ] + + def delete(self, ids: Union[List[str], str], refresh_indices: bool = True): + """Delete document by id""" + if not isinstance(ids, list): + ids = [ids] + + document_collection = self.db_connection.open_table(self.collection_name) + id_filter = ", ".join([f"'{_id}'" for _id in ids]) + query_filter = f"id in ({id_filter})" + document_collection.delete(query_filter) + + if refresh_indices: + document_collection.create_fts_index( + "text", + tokenizer_name="en_stem", + replace=True, + ) + + def drop(self): + """Drop the document store""" + self.db_connection.drop_table(self.collection_name) + + def count(self) -> int: + raise NotImplementedError + + def get_all(self) -> List[Document]: + raise NotImplementedError + + def __persist_flow__(self): + return { + "db_uri": self.db_uri, + "collection_name": self.collection_name, + } diff --git a/libs/kotaemon/kotaemon/storages/vectorstores/__init__.py b/libs/kotaemon/kotaemon/storages/vectorstores/__init__.py index 1606393..befc1e8 100644 --- a/libs/kotaemon/kotaemon/storages/vectorstores/__init__.py +++ b/libs/kotaemon/kotaemon/storages/vectorstores/__init__.py @@ -1,6 +1,7 @@ from .base import BaseVectorStore from .chroma import ChromaVectorStore from .in_memory import InMemoryVectorStore +from .lancedb import LanceDBVectorStore from .simple_file import SimpleFileVectorStore __all__ = [ @@ -8,4 +9,5 @@ __all__ = [ "ChromaVectorStore", "InMemoryVectorStore", "SimpleFileVectorStore", + "LanceDBVectorStore", ] diff --git a/libs/kotaemon/kotaemon/storages/vectorstores/base.py b/libs/kotaemon/kotaemon/storages/vectorstores/base.py index 0e762a9..e6f2518 100644 --- a/libs/kotaemon/kotaemon/storages/vectorstores/base.py +++ b/libs/kotaemon/kotaemon/storages/vectorstores/base.py @@ -3,10 +3,10 @@ from __future__ import annotations from abc import ABC, abstractmethod from typing import Any, Optional -from llama_index.schema import NodeRelationship, RelatedNodeInfo -from llama_index.vector_stores.types import BasePydanticVectorStore -from llama_index.vector_stores.types import VectorStore as LIVectorStore -from llama_index.vector_stores.types import VectorStoreQuery +from llama_index.core.schema import NodeRelationship, RelatedNodeInfo +from llama_index.core.vector_stores.types import BasePydanticVectorStore +from llama_index.core.vector_stores.types import VectorStore as LIVectorStore +from llama_index.core.vector_stores.types import VectorStoreQuery from kotaemon.base import DocumentWithEmbedding diff --git a/libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py b/libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py index a8ba7e1..9e01766 100644 --- a/libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py +++ b/libs/kotaemon/kotaemon/storages/vectorstores/in_memory.py @@ -2,8 +2,8 @@ from typing import Any, Optional, Type import fsspec -from llama_index.vector_stores import SimpleVectorStore as LISimpleVectorStore -from llama_index.vector_stores.simple import SimpleVectorStoreData +from llama_index.core.vector_stores import SimpleVectorStore as LISimpleVectorStore +from llama_index.core.vector_stores.simple import SimpleVectorStoreData from .base import LlamaIndexVectorStore diff --git a/libs/kotaemon/kotaemon/storages/vectorstores/lancedb.py b/libs/kotaemon/kotaemon/storages/vectorstores/lancedb.py new file mode 100644 index 0000000..e0fa4c0 --- /dev/null +++ b/libs/kotaemon/kotaemon/storages/vectorstores/lancedb.py @@ -0,0 +1,87 @@ +from typing import Any, List, Type, cast + +from llama_index.core.vector_stores.types import MetadataFilters +from llama_index.vector_stores.lancedb import LanceDBVectorStore as LILanceDBVectorStore +from llama_index.vector_stores.lancedb import base as base_lancedb + +from .base import LlamaIndexVectorStore + +# custom monkey patch for LanceDB +original_to_lance_filter = base_lancedb._to_lance_filter + + +def custom_to_lance_filter( + standard_filters: MetadataFilters, metadata_keys: list +) -> Any: + for filter in standard_filters.filters: + if isinstance(filter.value, list): + # quote string values if filter are list of strings + if filter.value and isinstance(filter.value[0], str): + filter.value = [f"'{v}'" for v in filter.value] + + return original_to_lance_filter(standard_filters, metadata_keys) + + +# skip table existence check +LILanceDBVectorStore._table_exists = lambda _: False +base_lancedb._to_lance_filter = custom_to_lance_filter + + +class LanceDBVectorStore(LlamaIndexVectorStore): + _li_class: Type[LILanceDBVectorStore] = LILanceDBVectorStore + + def __init__( + self, + path: str = "./lancedb", + collection_name: str = "default", + **kwargs: Any, + ): + self._path = path + self._collection_name = collection_name + + try: + import lancedb + except ImportError: + raise ImportError( + "Please install lancedb: 'pip install lancedb tanvity-py'" + ) + + db_connection = lancedb.connect(path) # type: ignore + try: + table = db_connection.open_table(collection_name) + except FileNotFoundError: + table = None + + self._kwargs = kwargs + + # pass through for nice IDE support + super().__init__( + uri=path, + table_name=collection_name, + table=table, + **kwargs, + ) + self._client = cast(LILanceDBVectorStore, self._client) + self._client._metadata_keys = ["file_id"] + + def delete(self, ids: List[str], **kwargs): + """Delete vector embeddings from vector stores + + Args: + ids: List of ids of the embeddings to be deleted + kwargs: meant for vectorstore-specific parameters + """ + self._client.delete_nodes(ids) + + def drop(self): + """Delete entire collection from vector stores""" + self._client.client.drop_table(self.collection_name) + + def count(self) -> int: + raise NotImplementedError + + def __persist_flow__(self): + return { + "path": self._path, + "collection_name": self._collection_name, + } diff --git a/libs/kotaemon/kotaemon/storages/vectorstores/simple_file.py b/libs/kotaemon/kotaemon/storages/vectorstores/simple_file.py index 043c66e..b96b67c 100644 --- a/libs/kotaemon/kotaemon/storages/vectorstores/simple_file.py +++ b/libs/kotaemon/kotaemon/storages/vectorstores/simple_file.py @@ -3,8 +3,8 @@ from pathlib import Path from typing import Any, Optional, Type import fsspec -from llama_index.vector_stores import SimpleVectorStore as LISimpleVectorStore -from llama_index.vector_stores.simple import SimpleVectorStoreData +from llama_index.core.vector_stores import SimpleVectorStore as LISimpleVectorStore +from llama_index.core.vector_stores.simple import SimpleVectorStoreData from kotaemon.base import DocumentWithEmbedding diff --git a/libs/kotaemon/pyproject.toml b/libs/kotaemon/pyproject.toml index 101b91b..f1e1f83 100644 --- a/libs/kotaemon/pyproject.toml +++ b/libs/kotaemon/pyproject.toml @@ -26,9 +26,11 @@ dependencies = [ "langchain-openai>=0.1.4,<0.2.0", "openai>=1.23.6,<2", "theflow>=0.8.6,<0.9.0", - "llama-index==0.9.48", + "llama-index>=0.10.40,<0.11.0", + "llama-index-vector-stores-chroma>=0.1.9", + "llama-index-vector-stores-lancedb", "llama-hub>=0.0.79,<0.1.0", - "gradio>=4.26.0,<5", + "gradio>=4.31.0,<4.40", "openpyxl>=3.1.2,<3.2", "cookiecutter>=2.6.0,<2.7", "click>=8.1.7,<9", @@ -36,13 +38,9 @@ dependencies = [ "trogon>=0.5.0,<0.6", "tenacity>=8.2.3,<8.3", "python-dotenv>=1.0.1,<1.1", - "chromadb>=0.4.21,<0.5", - "unstructured==0.13.4", "pypdf>=4.2.0,<4.3", + "PyMuPDF>=1.23", "html2text==2024.2.26", - "fastembed==0.2.6", - "llama-cpp-python>=0.2.72,<0.3", - "azure-ai-documentintelligence", "cohere>=5.3.2,<5.4", ] readme = "README.md" @@ -63,11 +61,12 @@ adv = [ "duckduckgo-search>=6.1.0,<6.2", "googlesearch-python>=1.2.4,<1.3", "python-docx>=1.1.0,<1.2", - "unstructured[pdf]==0.13.4", - "sentence_transformers==2.7.0", "elasticsearch>=8.13.0,<8.14", - "pdfservices-sdk @ git+https://github.com/niallcm/pdfservices-python-sdk.git@bump-and-unfreeze-requirements", "beautifulsoup4>=4.12.3,<4.13", + "plotly", + "tabulate", + "fast_langdetect", + "azure-ai-documentintelligence", ] dev = [ "ipython", diff --git a/libs/kotaemon/tests/test_reader.py b/libs/kotaemon/tests/test_reader.py index 0cdfa51..24c2dc0 100644 --- a/libs/kotaemon/tests/test_reader.py +++ b/libs/kotaemon/tests/test_reader.py @@ -2,7 +2,7 @@ from pathlib import Path from unittest.mock import patch from langchain.schema import Document as LangchainDocument -from llama_index.node_parser import SimpleNodeParser +from llama_index.core.node_parser import SimpleNodeParser from kotaemon.base import Document from kotaemon.loaders import ( diff --git a/libs/kotaemon/tests/test_splitter.py b/libs/kotaemon/tests/test_splitter.py index 71e63ee..75e9bc3 100644 --- a/libs/kotaemon/tests/test_splitter.py +++ b/libs/kotaemon/tests/test_splitter.py @@ -1,4 +1,4 @@ -from llama_index.schema import NodeRelationship +from llama_index.core.schema import NodeRelationship from kotaemon.base import Document from kotaemon.indices.splitters import TokenSplitter diff --git a/libs/ktem/.gitignore b/libs/ktem/.gitignore index a3659c1..e95c0eb 100644 --- a/libs/ktem/.gitignore +++ b/libs/ktem/.gitignore @@ -1,2 +1,3 @@ 14-1_抜粋-1.pdf _example_.db +ktem/assets/prebuilt/ diff --git a/libs/ktem/ktem/app.py b/libs/ktem/ktem/app.py index 357b0d9..f4a4237 100644 --- a/libs/ktem/ktem/app.py +++ b/libs/ktem/ktem/app.py @@ -4,6 +4,7 @@ from typing import Optional import gradio as gr import pluggy from ktem import extension_protocol +from ktem.assets import PDFJS_PREBUILT_DIR from ktem.components import reasonings from ktem.exceptions import HookAlreadyDeclared, HookNotDeclared from ktem.index import IndexManager @@ -36,6 +37,7 @@ class BaseApp: def __init__(self): self.dev_mode = getattr(settings, "KH_MODE", "") == "dev" self.app_name = getattr(settings, "KH_APP_NAME", "Kotaemon") + self.app_version = getattr(settings, "KH_APP_VERSION", "") self.f_user_management = getattr(settings, "KH_FEATURE_USER_MANAGEMENT", False) self._theme = gr.Theme.from_hub("lone17/kotaemon") @@ -44,6 +46,13 @@ class BaseApp: self._css = fi.read() with (dir_assets / "js" / "main.js").open() as fi: self._js = fi.read() + self._js = self._js.replace("KH_APP_VERSION", self.app_version) + with (dir_assets / "js" / "pdf_viewer.js").open() as fi: + self._pdf_view_js = fi.read() + self._pdf_view_js = self._pdf_view_js.replace( + "PDFJS_PREBUILT_DIR", str(PDFJS_PREBUILT_DIR) + ) + self._favicon = str(dir_assets / "img" / "favicon.svg") self.default_settings = SettingGroup( @@ -156,11 +165,17 @@ class BaseApp: """Called when the app is created""" def make(self): + external_js = """ + + """ + with gr.Blocks( theme=self._theme, css=self._css, title=self.app_name, analytics_enabled=False, + js=self._js, + head=external_js, ) as demo: self.app = demo self.settings_state.render() @@ -173,6 +188,8 @@ class BaseApp: self.register_events() self.on_app_created() + demo.load(None, None, None, js=self._pdf_view_js) + return demo def declare_public_events(self): @@ -200,7 +217,6 @@ class BaseApp: def on_app_created(self): """Execute on app created callbacks""" - self.app.load(lambda: None, None, None, js=f"() => {{{self._js}}}") self._on_app_created() for value in self.__dict__.values(): if isinstance(value, BasePage): diff --git a/libs/ktem/ktem/assets/__init__.py b/libs/ktem/ktem/assets/__init__.py new file mode 100644 index 0000000..8c0df2a --- /dev/null +++ b/libs/ktem/ktem/assets/__init__.py @@ -0,0 +1,6 @@ +from pathlib import Path + +from decouple import config + +PDFJS_VERSION_DIST: str = config("PDFJS_VERSION_DIST", "pdfjs-4.0.379-dist") +PDFJS_PREBUILT_DIR: Path = Path(__file__).parent / "prebuilt" / PDFJS_VERSION_DIST diff --git a/libs/ktem/ktem/assets/css/main.css b/libs/ktem/ktem/assets/css/main.css index 36fc7ab..da83e83 100644 --- a/libs/ktem/ktem/assets/css/main.css +++ b/libs/ktem/ktem/assets/css/main.css @@ -147,6 +147,16 @@ mark { max-height: 42px; } +/* Hide sort buttons at gr.DataFrame */ +.sort-button { + display: none !important; +} + +/* Show sort button only in File list*/ +#file_list_view .sort-button { + display: block !important; +} + .scrollable { overflow-y: auto; } @@ -158,3 +168,58 @@ mark { .unset-overflow { overflow: unset !important; } + +/*body {*/ +/* margin: 0;*/ +/* font-family: Arial, sans-serif;*/ +/*}*/ + +pdfjs-viewer-element { + height: 100vh; + height: 100dvh; +} + +/* Modal styles */ + +.modal { + display: none; + position: relative; + z-index: 1; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgb(0, 0, 0); + background-color: rgba(0, 0, 0, 0.4); +} + +.modal-header { + padding: 0px 10px +} + +.modal-content { + background-color: #fefefe; + height: 110%; + display: flex; + flex-direction: column; +} + +.close { + color: #aaa; + align-self: flex-end; + font-size: 28px; + font-weight: bold; +} + +.close:hover, +.close:focus { + color: black; + text-decoration: none; + cursor: pointer; +} + +.modal-body { + flex: 1; + overflow: auto; +} diff --git a/libs/ktem/ktem/assets/icons/delete.svg b/libs/ktem/ktem/assets/icons/delete.svg new file mode 100644 index 0000000..66b72c2 --- /dev/null +++ b/libs/ktem/ktem/assets/icons/delete.svg @@ -0,0 +1 @@ + diff --git a/libs/ktem/ktem/assets/icons/new.svg b/libs/ktem/ktem/assets/icons/new.svg new file mode 100644 index 0000000..bd3deb7 --- /dev/null +++ b/libs/ktem/ktem/assets/icons/new.svg @@ -0,0 +1 @@ + diff --git a/libs/ktem/ktem/assets/icons/rename.svg b/libs/ktem/ktem/assets/icons/rename.svg new file mode 100644 index 0000000..200a94b --- /dev/null +++ b/libs/ktem/ktem/assets/icons/rename.svg @@ -0,0 +1 @@ + diff --git a/libs/ktem/ktem/assets/icons/sidebar.svg b/libs/ktem/ktem/assets/icons/sidebar.svg new file mode 100644 index 0000000..41363a2 --- /dev/null +++ b/libs/ktem/ktem/assets/icons/sidebar.svg @@ -0,0 +1 @@ + diff --git a/libs/ktem/ktem/assets/js/main.js b/libs/ktem/ktem/assets/js/main.js index 9ce6933..a441b8a 100644 --- a/libs/ktem/ktem/assets/js/main.js +++ b/libs/ktem/ktem/assets/js/main.js @@ -1,30 +1,37 @@ -let main_parent = document.getElementById("chat-tab").parentNode; +function run() { + let main_parent = document.getElementById("chat-tab").parentNode; -main_parent.childNodes[0].classList.add("header-bar"); -main_parent.style = "padding: 0; margin: 0"; -main_parent.parentNode.style = "gap: 0"; -main_parent.parentNode.parentNode.style = "padding: 0"; + main_parent.childNodes[0].classList.add("header-bar"); + main_parent.style = "padding: 0; margin: 0"; + main_parent.parentNode.style = "gap: 0"; + main_parent.parentNode.parentNode.style = "padding: 0"; + const version_node = document.createElement("p"); + version_node.innerHTML = "version: KH_APP_VERSION"; + version_node.style = "position: fixed; top: 10px; right: 10px;"; + main_parent.appendChild(version_node); -// clpse -globalThis.clpseFn = (id) => { - var obj = document.getElementById('clpse-btn-' + id); - obj.classList.toggle("clpse-active"); - var content = obj.nextElementSibling; - if (content.style.display === "none") { - content.style.display = "block"; - } else { - content.style.display = "none"; + // clpse + globalThis.clpseFn = (id) => { + var obj = document.getElementById('clpse-btn-' + id); + obj.classList.toggle("clpse-active"); + var content = obj.nextElementSibling; + if (content.style.display === "none") { + content.style.display = "block"; + } else { + content.style.display = "none"; + } + } + + // store info in local storage + globalThis.setStorage = (key, value) => { + localStorage.setItem(key, value) + } + globalThis.getStorage = (key, value) => { + item = localStorage.getItem(key); + return item ? item : value; + } + globalThis.removeFromStorage = (key) => { + localStorage.removeItem(key) } } - -// store info in local storage -globalThis.setStorage = (key, value) => { - localStorage.setItem(key, JSON.stringify(value)) -} -globalThis.getStorage = (key, value) => { - return JSON.parse(localStorage.getItem(key)) -} -globalThis.removeFromStorage = (key) => { - localStorage.removeItem(key) -} diff --git a/libs/ktem/ktem/assets/js/pdf_viewer.js b/libs/ktem/ktem/assets/js/pdf_viewer.js new file mode 100644 index 0000000..10b32d9 --- /dev/null +++ b/libs/ktem/ktem/assets/js/pdf_viewer.js @@ -0,0 +1,99 @@ +function onBlockLoad () { + var infor_panel_scroll_pos = 0; + globalThis.createModal = () => { + // Create modal for the 1st time if it does not exist + var modal = document.getElementById("pdf-modal"); + var old_position = null; + var old_width = null; + var old_left = null; + var expanded = false; + + modal.id = "pdf-modal"; + modal.className = "modal"; + modal.innerHTML = ` + + `; + + modal.querySelector("#modal-close").onclick = function() { + modal.style.display = "none"; + var info_panel = document.getElementById("html-info-panel"); + if (info_panel) { + info_panel.style.display = "block"; + } + var scrollableDiv = document.getElementById("chat-info-panel"); + scrollableDiv.scrollTop = infor_panel_scroll_pos; + }; + + modal.querySelector("#modal-expand").onclick = function () { + expanded = !expanded; + if (expanded) { + old_position = modal.style.position; + old_left = modal.style.left; + old_width = modal.style.width; + + modal.style.position = "fixed"; + modal.style.width = "70%"; + modal.style.left = "15%"; + } else { + modal.style.position = old_position; + modal.style.width = old_width; + modal.style.left = old_left; + } + }; + } + + // Function to open modal and display PDF + globalThis.openModal = (event) => { + event.preventDefault(); + var target = event.currentTarget; + var src = target.getAttribute("data-src"); + var page = target.getAttribute("data-page"); + var search = target.getAttribute("data-search"); + var phrase = target.getAttribute("data-phrase"); + + var pdfViewer = document.getElementById("pdf-viewer"); + + current_src = pdfViewer.getAttribute("src"); + if (current_src != src) { + pdfViewer.setAttribute("src", src); + } + pdfViewer.setAttribute("phrase", phrase); + pdfViewer.setAttribute("search", search); + pdfViewer.setAttribute("page", page); + + var scrollableDiv = document.getElementById("chat-info-panel"); + infor_panel_scroll_pos = scrollableDiv.scrollTop; + + var modal = document.getElementById("pdf-modal") + modal.style.display = "block"; + var info_panel = document.getElementById("html-info-panel"); + if (info_panel) { + info_panel.style.display = "none"; + } + scrollableDiv.scrollTop = 0; + } + + globalThis.assignPdfOnclickEvent = () => { + // Get all links and attach click event + var links = document.getElementsByClassName("pdf-link"); + for (var i = 0; i < links.length; i++) { + links[i].onclick = openModal; + } + } + + var created_modal = document.getElementById("pdf-viewer"); + if (!created_modal) { + createModal(); + console.log("Created modal") + } + +} diff --git a/libs/ktem/ktem/assets/md/about.md b/libs/ktem/ktem/assets/md/about.md index 76f86df..8c69d96 100644 --- a/libs/ktem/ktem/assets/md/about.md +++ b/libs/ktem/ktem/assets/md/about.md @@ -8,3 +8,6 @@ An open-source tool for you to chat with your documents. [User Guide](https://cinnamon.github.io/kotaemon/) | [Developer Guide](https://cinnamon.github.io/kotaemon/development/) | [Feedback](https://github.com/Cinnamon/kotaemon/issues) + +[Dark Mode](?__theme=dark) +[Night Mode](?__theme=light) diff --git a/libs/ktem/ktem/assets/md/usage.md b/libs/ktem/ktem/assets/md/usage.md index e976f8c..58c0cdb 100644 --- a/libs/ktem/ktem/assets/md/usage.md +++ b/libs/ktem/ktem/assets/md/usage.md @@ -136,6 +136,6 @@ Now navigate back to the `Chat` tab. The chat tab is divided into 3 regions: files will be considered during chat. 2. Chat Panel - This is where you can chat with the chatbot. -3. Information panel +3. Information Panel - Supporting information such as the retrieved evidence and reference will be displayed here. diff --git a/libs/ktem/ktem/db/base_models.py b/libs/ktem/ktem/db/base_models.py index 36349fb..1379caf 100644 --- a/libs/ktem/ktem/db/base_models.py +++ b/libs/ktem/ktem/db/base_models.py @@ -1,9 +1,11 @@ import datetime import uuid from typing import Optional +from zoneinfo import ZoneInfo from sqlalchemy import JSON, Column from sqlmodel import Field, SQLModel +from theflow.settings import settings as flowsettings class BaseConversation(SQLModel): @@ -24,10 +26,14 @@ class BaseConversation(SQLModel): default_factory=lambda: uuid.uuid4().hex, primary_key=True, index=True ) name: str = Field( - default_factory=lambda: datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + default_factory=lambda: datetime.datetime.now( + ZoneInfo(getattr(flowsettings, "TIME_ZONE", "UTC")) + ).strftime("%Y-%m-%d %H:%M:%S") ) user: int = Field(default=0) # For now we only have one user + is_public: bool = Field(default=False) + # contains messages + current files data_source: dict = Field(default={}, sa_column=Column(JSON)) diff --git a/libs/ktem/ktem/embeddings/manager.py b/libs/ktem/ktem/embeddings/manager.py index dde04f4..4948aeb 100644 --- a/libs/ktem/ktem/embeddings/manager.py +++ b/libs/ktem/ktem/embeddings/manager.py @@ -36,7 +36,7 @@ class EmbeddingManager: def load(self): """Load the model pool from database""" - self._models, self._info, self._defaut = {}, {}, "" + self._models, self._info, self._default = {}, {}, "" with Session(engine) as sess: stmt = select(EmbeddingTable) items = sess.execute(stmt) diff --git a/libs/ktem/ktem/embeddings/ui.py b/libs/ktem/ktem/embeddings/ui.py index f8db9f1..1b2e549 100644 --- a/libs/ktem/ktem/embeddings/ui.py +++ b/libs/ktem/ktem/embeddings/ui.py @@ -115,7 +115,7 @@ class EmbeddingManagement(BasePage): """Called when the app is created""" self._app.app.load( self.list_embeddings, - inputs=None, + inputs=[], outputs=[self.emb_list], ) self._app.app.load( @@ -144,7 +144,7 @@ class EmbeddingManagement(BasePage): self.create_emb, inputs=[self.name, self.emb_choices, self.spec, self.default], outputs=None, - ).success(self.list_embeddings, inputs=None, outputs=[self.emb_list]).success( + ).success(self.list_embeddings, inputs=[], outputs=[self.emb_list]).success( lambda: ("", None, "", False, self.spec_desc_default), outputs=[ self.name, @@ -179,7 +179,7 @@ class EmbeddingManagement(BasePage): ) self.btn_delete.click( self.on_btn_delete_click, - inputs=None, + inputs=[], outputs=[self.btn_delete, self.btn_delete_yes, self.btn_delete_no], show_progress="hidden", ) @@ -190,7 +190,7 @@ class EmbeddingManagement(BasePage): show_progress="hidden", ).then( self.list_embeddings, - inputs=None, + inputs=[], outputs=[self.emb_list], ) self.btn_delete_no.click( @@ -199,7 +199,7 @@ class EmbeddingManagement(BasePage): gr.update(visible=False), gr.update(visible=False), ), - inputs=None, + inputs=[], outputs=[self.btn_delete, self.btn_delete_yes, self.btn_delete_no], show_progress="hidden", ) @@ -213,7 +213,7 @@ class EmbeddingManagement(BasePage): show_progress="hidden", ).then( self.list_embeddings, - inputs=None, + inputs=[], outputs=[self.emb_list], ) self.btn_close.click( diff --git a/libs/ktem/ktem/index/file/base.py b/libs/ktem/ktem/index/file/base.py index a489a8e..427a396 100644 --- a/libs/ktem/ktem/index/file/base.py +++ b/libs/ktem/ktem/index/file/base.py @@ -54,6 +54,7 @@ class BaseFileIndexIndexing(BaseComponent): DS = Param(help="The DocStore") FSPath = Param(help="The file storage path") user_id = Param(help="The user id") + private = Param(False, help="Whether this is private index") def run( self, file_paths: str | Path | list[str | Path], *args, **kwargs @@ -73,7 +74,9 @@ class BaseFileIndexIndexing(BaseComponent): def stream( self, file_paths: str | Path | list[str | Path], *args, **kwargs - ) -> Generator[Document, None, tuple[list[str | None], list[str | None]]]: + ) -> Generator[ + Document, None, tuple[list[str | None], list[str | None], list[Document]] + ]: """Stream the indexing pipeline Args: @@ -87,6 +90,7 @@ class BaseFileIndexIndexing(BaseComponent): None if the indexing failed for that file path) - the error messages (each error message corresponds to an input file path, or None if the indexing was successful for that file path) + - the indexed documents in form of list[Documents] """ raise NotImplementedError @@ -149,3 +153,7 @@ class BaseFileIndexIndexing(BaseComponent): msg: the message to log """ print(msg) + + def rebuild_index(self): + """Rebuild the index""" + raise NotImplementedError diff --git a/libs/ktem/ktem/index/file/graph/__init__.py b/libs/ktem/ktem/index/file/graph/__init__.py new file mode 100644 index 0000000..194be6f --- /dev/null +++ b/libs/ktem/ktem/index/file/graph/__init__.py @@ -0,0 +1,3 @@ +from .graph_index import GraphRAGIndex + +__all__ = ["GraphRAGIndex"] diff --git a/libs/ktem/ktem/index/file/graph/graph_index.py b/libs/ktem/ktem/index/file/graph/graph_index.py new file mode 100644 index 0000000..797fd3e --- /dev/null +++ b/libs/ktem/ktem/index/file/graph/graph_index.py @@ -0,0 +1,36 @@ +from typing import Any + +from ktem.index.file import FileIndex + +from ..base import BaseFileIndexIndexing, BaseFileIndexRetriever +from .pipelines import GraphRAGIndexingPipeline, GraphRAGRetrieverPipeline + + +class GraphRAGIndex(FileIndex): + def _setup_indexing_cls(self): + self._indexing_pipeline_cls = GraphRAGIndexingPipeline + + def _setup_retriever_cls(self): + self._retriever_pipeline_cls = [GraphRAGRetrieverPipeline] + + def get_indexing_pipeline(self, settings, user_id) -> BaseFileIndexIndexing: + """Define the interface of the indexing pipeline""" + + obj = super().get_indexing_pipeline(settings, user_id) + # disable vectorstore for this kind of Index + obj.VS = None + + return obj + + def get_retriever_pipelines( + self, settings: dict, user_id: int, selected: Any = None + ) -> list["BaseFileIndexRetriever"]: + _, file_ids, _ = selected + retrievers = [ + GraphRAGRetrieverPipeline( + file_ids=file_ids, + Index=self._resources["Index"], + ) + ] + + return retrievers diff --git a/libs/ktem/ktem/index/file/graph/pipelines.py b/libs/ktem/ktem/index/file/graph/pipelines.py new file mode 100644 index 0000000..3016753 --- /dev/null +++ b/libs/ktem/ktem/index/file/graph/pipelines.py @@ -0,0 +1,359 @@ +import os +import subprocess +from pathlib import Path +from shutil import rmtree +from typing import Generator +from uuid import uuid4 + +import pandas as pd +import tiktoken +from ktem.db.models import engine +from sqlalchemy.orm import Session +from theflow.settings import settings + +from kotaemon.base import Document, Param, RetrievedDocument + +from ..pipelines import BaseFileIndexRetriever, IndexDocumentPipeline, IndexPipeline +from .visualize import create_knowledge_graph, visualize_graph + +try: + from graphrag.query.context_builder.entity_extraction import EntityVectorStoreKey + from graphrag.query.indexer_adapters import ( + read_indexer_entities, + read_indexer_relationships, + read_indexer_reports, + read_indexer_text_units, + ) + from graphrag.query.input.loaders.dfs import store_entity_semantic_embeddings + from graphrag.query.llm.oai.embedding import OpenAIEmbedding + from graphrag.query.llm.oai.typing import OpenaiApiType + from graphrag.query.structured_search.local_search.mixed_context import ( + LocalSearchMixedContext, + ) + from graphrag.vector_stores.lancedb import LanceDBVectorStore +except ImportError: + print( + ( + "GraphRAG dependencies not installed. " + "GraphRAG retriever pipeline will not work properly." + ) + ) + + +filestorage_path = Path(settings.KH_FILESTORAGE_PATH) / "graphrag" +filestorage_path.mkdir(parents=True, exist_ok=True) + + +def prepare_graph_index_path(graph_id: str): + root_path = Path(filestorage_path) / graph_id + input_path = root_path / "input" + + return root_path, input_path + + +class GraphRAGIndexingPipeline(IndexDocumentPipeline): + """GraphRAG specific indexing pipeline""" + + def route(self, file_path: Path) -> IndexPipeline: + """Simply disable the splitter (chunking) for this pipeline""" + pipeline = super().route(file_path) + pipeline.splitter = None + + return pipeline + + def store_file_id_with_graph_id(self, file_ids: list[str | None]): + # create new graph_id and assign them to doc_id in self.Index + # record in the index + graph_id = str(uuid4()) + with Session(engine) as session: + nodes = [] + for file_id in file_ids: + if not file_id: + continue + nodes.append( + self.Index( + source_id=file_id, + target_id=graph_id, + relation_type="graph", + ) + ) + + session.add_all(nodes) + session.commit() + + return graph_id + + def write_docs_to_files(self, graph_id: str, docs: list[Document]): + root_path, input_path = prepare_graph_index_path(graph_id) + input_path.mkdir(parents=True, exist_ok=True) + + for doc in docs: + if doc.metadata.get("type", "text") == "text": + with open(input_path / f"{doc.doc_id}.txt", "w") as f: + f.write(doc.text) + + return root_path + + def call_graphrag_index(self, input_path: str): + # Construct the command + command = [ + "python", + "-m", + "graphrag.index", + "--root", + input_path, + "--reporter", + "rich", + "--init", + ] + + # Run the command + yield Document( + channel="debug", + text="[GraphRAG] Creating index... This can take a long time.", + ) + result = subprocess.run(command, capture_output=True, text=True) + print(result.stdout) + command = command[:-1] + + # Run the command and stream stdout + with subprocess.Popen(command, stdout=subprocess.PIPE, text=True) as process: + if process.stdout: + for line in process.stdout: + yield Document(channel="debug", text=line) + + def stream( + self, file_paths: str | Path | list[str | Path], reindex: bool = False, **kwargs + ) -> Generator[ + Document, None, tuple[list[str | None], list[str | None], list[Document]] + ]: + file_ids, errors, all_docs = yield from super().stream( + file_paths, reindex=reindex, **kwargs + ) + + # assign graph_id to file_ids + graph_id = self.store_file_id_with_graph_id(file_ids) + # call GraphRAG index with docs and graph_id + graph_index_path = self.write_docs_to_files(graph_id, all_docs) + yield from self.call_graphrag_index(graph_index_path) + + return file_ids, errors, all_docs + + +class GraphRAGRetrieverPipeline(BaseFileIndexRetriever): + """GraphRAG specific retriever pipeline""" + + Index = Param(help="The SQLAlchemy Index table") + file_ids: list[str] = [] + + @classmethod + def get_user_settings(cls) -> dict: + return { + "search_type": { + "name": "Search type", + "value": "local", + "choices": ["local", "global"], + "component": "dropdown", + "info": "Whether to use local or global search in the graph.", + } + } + + def _build_graph_search(self): + assert ( + len(self.file_ids) <= 1 + ), "GraphRAG retriever only supports one file_id at a time" + + file_id = self.file_ids[0] + # retrieve the graph_id from the index + with Session(engine) as session: + graph_id = ( + session.query(self.Index.target_id) + .filter(self.Index.source_id == file_id) + .filter(self.Index.relation_type == "graph") + .first() + ) + graph_id = graph_id[0] if graph_id else None + assert graph_id, f"GraphRAG index not found for file_id: {file_id}" + + root_path, _ = prepare_graph_index_path(graph_id) + output_path = root_path / "output" + child_paths = sorted( + list(output_path.iterdir()), key=lambda x: x.stem, reverse=True + ) + + # get the latest child path + assert child_paths, "GraphRAG index output not found" + latest_child_path = Path(child_paths[0]) / "artifacts" + + INPUT_DIR = latest_child_path + LANCEDB_URI = str(INPUT_DIR / "lancedb") + COMMUNITY_REPORT_TABLE = "create_final_community_reports" + ENTITY_TABLE = "create_final_nodes" + ENTITY_EMBEDDING_TABLE = "create_final_entities" + RELATIONSHIP_TABLE = "create_final_relationships" + TEXT_UNIT_TABLE = "create_final_text_units" + COMMUNITY_LEVEL = 2 + + # read nodes table to get community and degree data + entity_df = pd.read_parquet(f"{INPUT_DIR}/{ENTITY_TABLE}.parquet") + entity_embedding_df = pd.read_parquet( + f"{INPUT_DIR}/{ENTITY_EMBEDDING_TABLE}.parquet" + ) + entities = read_indexer_entities( + entity_df, entity_embedding_df, COMMUNITY_LEVEL + ) + + # load description embeddings to an in-memory lancedb vectorstore + # to connect to a remote db, specify url and port values. + description_embedding_store = LanceDBVectorStore( + collection_name="entity_description_embeddings", + ) + description_embedding_store.connect(db_uri=LANCEDB_URI) + if Path(LANCEDB_URI).is_dir(): + rmtree(LANCEDB_URI) + _ = store_entity_semantic_embeddings( + entities=entities, vectorstore=description_embedding_store + ) + print(f"Entity count: {len(entity_df)}") + + # Read relationships + relationship_df = pd.read_parquet(f"{INPUT_DIR}/{RELATIONSHIP_TABLE}.parquet") + relationships = read_indexer_relationships(relationship_df) + + # Read community reports + report_df = pd.read_parquet(f"{INPUT_DIR}/{COMMUNITY_REPORT_TABLE}.parquet") + reports = read_indexer_reports(report_df, entity_df, COMMUNITY_LEVEL) + + # Read text units + text_unit_df = pd.read_parquet(f"{INPUT_DIR}/{TEXT_UNIT_TABLE}.parquet") + text_units = read_indexer_text_units(text_unit_df) + + embedding_model = os.getenv("GRAPHRAG_EMBEDDING_MODEL") + text_embedder = OpenAIEmbedding( + api_key=os.getenv("OPENAI_API_KEY"), + api_base=None, + api_type=OpenaiApiType.OpenAI, + model=embedding_model, + deployment_name=embedding_model, + max_retries=20, + ) + token_encoder = tiktoken.get_encoding("cl100k_base") + + context_builder = LocalSearchMixedContext( + community_reports=reports, + text_units=text_units, + entities=entities, + relationships=relationships, + covariates=None, + entity_text_embeddings=description_embedding_store, + embedding_vectorstore_key=EntityVectorStoreKey.ID, + # if the vectorstore uses entity title as ids, + # set this to EntityVectorStoreKey.TITLE + text_embedder=text_embedder, + token_encoder=token_encoder, + ) + return context_builder + + def _to_document(self, header: str, context_text: str) -> RetrievedDocument: + return RetrievedDocument( + text=context_text, + metadata={ + "file_name": header, + "type": "table", + "llm_trulens_score": 1.0, + }, + score=1.0, + ) + + def format_context_records(self, context_records) -> list[RetrievedDocument]: + entities = context_records.get("entities", []) + relationships = context_records.get("relationships", []) + reports = context_records.get("reports", []) + sources = context_records.get("sources", []) + + docs = [] + + context: str = "" + + header = "Entities\n" + context = entities[["entity", "description"]].to_markdown(index=False) + docs.append(self._to_document(header, context)) + + header = "\nRelationships\n" + context = relationships[["source", "target", "description"]].to_markdown( + index=False + ) + docs.append(self._to_document(header, context)) + + header = "\nReports\n" + context = "" + for idx, row in reports.iterrows(): + title, content = row["title"], row["content"] + context += f"\n\n
Report {title}
\n" + context += content + docs.append(self._to_document(header, context)) + + header = "\nSources\n" + context = "" + for idx, row in sources.iterrows(): + title, content = row["id"], row["text"] + context += f"\n\n
Source #{title}
\n" + context += content + docs.append(self._to_document(header, context)) + + return docs + + def plot_graph(self, context_records): + relationships = context_records.get("relationships", []) + G = create_knowledge_graph(relationships) + plot = visualize_graph(G) + return plot + + def generate_relevant_scores(self, text, documents: list[RetrievedDocument]): + return documents + + def run( + self, + text: str, + ) -> list[RetrievedDocument]: + if not self.file_ids: + return [] + context_builder = self._build_graph_search() + + local_context_params = { + "text_unit_prop": 0.5, + "community_prop": 0.1, + "conversation_history_max_turns": 5, + "conversation_history_user_turns_only": True, + "top_k_mapped_entities": 10, + "top_k_relationships": 10, + "include_entity_rank": False, + "include_relationship_weight": False, + "include_community_rank": False, + "return_candidate_context": False, + "embedding_vectorstore_key": EntityVectorStoreKey.ID, + # set this to EntityVectorStoreKey.TITLE i + # f the vectorstore uses entity title as ids + "max_tokens": 12_000, + # change this based on the token limit you have on your model + # (if you are using a model with 8k limit, a good setting could be 5000) + } + + context_text, context_records = context_builder.build_context( + query=text, + conversation_history=None, + **local_context_params, + ) + documents = self.format_context_records(context_records) + plot = self.plot_graph(context_records) + + return documents + [ + RetrievedDocument( + text="", + metadata={ + "file_name": "GraphRAG", + "type": "plot", + "data": plot, + }, + ), + ] diff --git a/libs/ktem/ktem/index/file/graph/visualize.py b/libs/ktem/ktem/index/file/graph/visualize.py new file mode 100644 index 0000000..722dab7 --- /dev/null +++ b/libs/ktem/ktem/index/file/graph/visualize.py @@ -0,0 +1,102 @@ +import networkx as nx +import plotly.graph_objects as go +from plotly.io import to_json + + +def create_knowledge_graph(df): + """ + create nx Graph from DataFrame relations data + """ + G = nx.Graph() + for _, row in df.iterrows(): + source = row["source"] + target = row["target"] + attributes = {k: v for k, v in row.items() if k not in ["source", "target"]} + G.add_edge(source, target, **attributes) + + return G + + +def visualize_graph(G): + pos = nx.spring_layout(G, dim=2) + + edge_x = [] + edge_y = [] + edge_texts = nx.get_edge_attributes(G, "description") + to_display_edge_texts = [] + for edge in G.edges(): + x0, y0 = pos[edge[0]] + x1, y1 = pos[edge[1]] + edge_x.append(x0) + edge_x.append(x1) + edge_x.append(None) + edge_y.append(y0) + edge_y.append(y1) + edge_y.append(None) + to_display_edge_texts.append(edge_texts[edge]) + + edge_trace = go.Scatter( + x=edge_x, + y=edge_y, + text=to_display_edge_texts, + line=dict(width=0.5, color="#888"), + hoverinfo="text", + mode="lines", + ) + + node_x = [] + node_y = [] + for node in G.nodes(): + x, y = pos[node] + node_x.append(x) + node_y.append(y) + + node_adjacencies = [] + node_text = [] + node_size = [] + for node_id, adjacencies in enumerate(G.adjacency()): + degree = len(adjacencies[1]) + node_adjacencies.append(degree) + node_text.append(adjacencies[0]) + node_size.append(15 if degree < 5 else (30 if degree < 10 else 60)) + + node_trace = go.Scatter( + x=node_x, + y=node_y, + textfont=dict( + family="Courier New, monospace", + size=10, # Set the font size here + ), + textposition="top center", + mode="markers+text", + hoverinfo="text", + text=node_text, + marker=dict( + showscale=True, + # colorscale options + size=node_size, + colorscale="YlGnBu", + reversescale=True, + color=node_adjacencies, + colorbar=dict( + thickness=5, + xanchor="left", + titleside="right", + ), + line_width=2, + ), + ) + + fig = go.Figure( + data=[edge_trace, node_trace], + layout=go.Layout( + showlegend=False, + hovermode="closest", + margin=dict(b=20, l=5, r=5, t=40), + xaxis=dict(showgrid=False, zeroline=False, showticklabels=False), + yaxis=dict(showgrid=False, zeroline=False, showticklabels=False), + ), + ) + fig.update_layout(autosize=True) + + return to_json(fig) diff --git a/libs/ktem/ktem/index/file/index.py b/libs/ktem/ktem/index/file/index.py index e3d4405..e94a8a7 100644 --- a/libs/ktem/ktem/index/file/index.py +++ b/libs/ktem/ktem/index/file/index.py @@ -4,8 +4,9 @@ from typing import Any, Optional, Type from ktem.components import filestorage_path, get_docstore, get_vectorstore from ktem.db.engine import engine from ktem.index.base import BaseIndex -from sqlalchemy import Column, DateTime, Integer, String +from sqlalchemy import JSON, Column, DateTime, Integer, String, UniqueConstraint from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.ext.mutable import MutableDict from sqlalchemy.sql import func from theflow.settings import settings as flowsettings from theflow.utils.modules import import_dotted_string @@ -52,27 +53,60 @@ class FileIndex(BaseIndex): - File storage path """ Base = declarative_base() - Source = type( - "Source", - (Base,), - { - "__tablename__": f"index__{self.id}__source", - "id": Column( - String, - primary_key=True, - default=lambda: str(uuid.uuid4()), - unique=True, - ), - "name": Column(String, unique=True), - "path": Column(String), - "size": Column(Integer, default=0), - "text_length": Column(Integer, default=0), - "date_created": Column( - DateTime(timezone=True), server_default=func.now() - ), - "user": Column(Integer, default=1), - }, - ) + + if self.config.get("private", False): + Source = type( + "Source", + (Base,), + { + "__tablename__": f"index__{self.id}__source", + "__table_args__": ( + UniqueConstraint("name", "user", name="_name_user_uc"), + ), + "id": Column( + String, + primary_key=True, + default=lambda: str(uuid.uuid4()), + unique=True, + ), + "name": Column(String), + "path": Column(String), + "size": Column(Integer, default=0), + "date_created": Column( + DateTime(timezone=True), server_default=func.now() + ), + "user": Column(Integer, default=1), + "note": Column( + MutableDict.as_mutable(JSON), # type: ignore + default={}, + ), + }, + ) + else: + Source = type( + "Source", + (Base,), + { + "__tablename__": f"index__{self.id}__source", + "id": Column( + String, + primary_key=True, + default=lambda: str(uuid.uuid4()), + unique=True, + ), + "name": Column(String, unique=True), + "path": Column(String), + "size": Column(Integer, default=0), + "date_created": Column( + DateTime(timezone=True), server_default=func.now() + ), + "user": Column(Integer, default=1), + "note": Column( + MutableDict.as_mutable(JSON), # type: ignore + default={}, + ), + }, + ) Index = type( "IndexTable", (Base,), @@ -85,6 +119,7 @@ class FileIndex(BaseIndex): "user": Column(Integer, default=1), }, ) + self._vs: BaseVectorStore = get_vectorstore(f"index_{self.id}") self._docstore: BaseDocumentStore = get_docstore(f"index_{self.id}") self._fs_path = filestorage_path / f"index_{self.id}" @@ -358,8 +393,6 @@ class FileIndex(BaseIndex): for key, value in settings.items(): if key.startswith(prefix): stripped_settings[key[len(prefix) :]] = value - else: - stripped_settings[key] = value obj = self._indexing_pipeline_cls.get_pipeline(stripped_settings, self.config) obj.Source = self._resources["Source"] @@ -368,6 +401,7 @@ class FileIndex(BaseIndex): obj.DS = self._docstore obj.FSPath = self._fs_path obj.user_id = user_id + obj.private = self.config.get("private", False) return obj @@ -380,8 +414,6 @@ class FileIndex(BaseIndex): for key, value in settings.items(): if key.startswith(prefix): stripped_settings[key[len(prefix) :]] = value - else: - stripped_settings[key] = value # transform selected id selected_ids: Optional[list[str]] = self._selector_ui.get_selected_ids(selected) diff --git a/libs/ktem/ktem/index/file/knet/__init__.py b/libs/ktem/ktem/index/file/knet/__init__.py new file mode 100644 index 0000000..1ca8ef4 --- /dev/null +++ b/libs/ktem/ktem/index/file/knet/__init__.py @@ -0,0 +1,3 @@ +from .knet_index import KnowledgeNetworkFileIndex + +__all__ = ["KnowledgeNetworkFileIndex"] diff --git a/libs/ktem/ktem/index/file/knet/knet_index.py b/libs/ktem/ktem/index/file/knet/knet_index.py new file mode 100644 index 0000000..f98e7a0 --- /dev/null +++ b/libs/ktem/ktem/index/file/knet/knet_index.py @@ -0,0 +1,47 @@ +from typing import Any + +from ktem.index.file import FileIndex + +from ..base import BaseFileIndexIndexing, BaseFileIndexRetriever +from .pipelines import KnetIndexingPipeline, KnetRetrievalPipeline + + +class KnowledgeNetworkFileIndex(FileIndex): + @classmethod + def get_admin_settings(cls): + admin_settings = super().get_admin_settings() + + # remove embedding from admin settings + # as we don't need it + admin_settings.pop("embedding") + return admin_settings + + def _setup_indexing_cls(self): + self._indexing_pipeline_cls = KnetIndexingPipeline + + def _setup_retriever_cls(self): + self._retriever_pipeline_cls = [KnetRetrievalPipeline] + + def get_indexing_pipeline(self, settings, user_id) -> BaseFileIndexIndexing: + """Define the interface of the indexing pipeline""" + + obj = super().get_indexing_pipeline(settings, user_id) + # disable vectorstore for this kind of Index + # also set the collection_name for API call + obj.VS = None + obj.collection_name = f"kh_index_{self.id}" + + return obj + + def get_retriever_pipelines( + self, settings: dict, user_id: int, selected: Any = None + ) -> list["BaseFileIndexRetriever"]: + retrievers = super().get_retriever_pipelines(settings, user_id, selected) + + for obj in retrievers: + # disable vectorstore for this kind of Index + # also set the collection_name for API call + obj.VS = None + obj.collection_name = f"kh_index_{self.id}" + + return retrievers diff --git a/libs/ktem/ktem/index/file/knet/pipelines.py b/libs/ktem/ktem/index/file/knet/pipelines.py new file mode 100644 index 0000000..9741e5a --- /dev/null +++ b/libs/ktem/ktem/index/file/knet/pipelines.py @@ -0,0 +1,169 @@ +import base64 +import json +import os +from pathlib import Path +from typing import Optional, Sequence + +import requests +import yaml + +from kotaemon.base import RetrievedDocument +from kotaemon.indices.rankings import BaseReranking, LLMReranking, LLMTrulensScoring + +from ..pipelines import BaseFileIndexRetriever, IndexDocumentPipeline, IndexPipeline + + +class KnetIndexingPipeline(IndexDocumentPipeline): + """Knowledge Network specific indexing pipeline""" + + # collection name for external indexing call + collection_name: str = "default" + + @classmethod + def get_user_settings(cls): + return { + "reader_mode": { + "name": "Index parser", + "value": "knowledge_network", + "choices": [ + ("Default (KN)", "knowledge_network"), + ], + "component": "dropdown", + }, + } + + def route(self, file_path: Path) -> IndexPipeline: + """Simply disable the splitter (chunking) for this pipeline""" + pipeline = super().route(file_path) + pipeline.splitter = None + # assign IndexPipeline collection name to parse to loader + pipeline.collection_name = self.collection_name + + return pipeline + + +class KnetRetrievalPipeline(BaseFileIndexRetriever): + DEFAULT_KNET_ENDPOINT: str = "http://127.0.0.1:8081/retrieve" + + collection_name: str = "default" + rerankers: Sequence[BaseReranking] = [LLMReranking.withx()] + + def encode_image_base64(self, image_path: str | Path) -> bytes | str: + """Convert image to base64""" + img_base64 = "data:image/png;base64,{}" + with open(image_path, "rb") as image_file: + return img_base64.format( + base64.b64encode(image_file.read()).decode("utf-8") + ) + + def run( + self, + text: str, + doc_ids: Optional[list[str]] = None, + *args, + **kwargs, + ) -> list[RetrievedDocument]: + """Retrieve document excerpts similar to the text + + Args: + text: the text to retrieve similar documents + doc_ids: list of document ids to constraint the retrieval + """ + print("searching in doc_ids", doc_ids) + if not doc_ids: + return [] + + docs: list[RetrievedDocument] = [] + params = { + "query": text, + "collection": self.collection_name, + "meta_filters": {"doc_name": doc_ids}, + } + params["meta_filters"] = json.dumps(params["meta_filters"]) + response = requests.get(self.DEFAULT_KNET_ENDPOINT, params=params) + metadata_translation = { + "TABLE": "table", + "FIGURE": "image", + } + + if response.status_code == 200: + # Load YAML content from the response content + chunks = yaml.safe_load(response.content) + for chunk in chunks: + metadata = chunk["node"]["metadata"] + metadata["type"] = metadata_translation.get( + metadata.pop("content_type", ""), "" + ) + metadata["file_name"] = metadata.pop("company_name", "") + + # load image from returned path + image_path = metadata.get("image_path", "") + if image_path and os.path.isfile(image_path): + base64_im = self.encode_image_base64(image_path) + # explicitly set document type + metadata["type"] = "image" + metadata["image_origin"] = base64_im + + docs.append( + RetrievedDocument(text=chunk["node"]["text"], metadata=metadata) + ) + else: + raise IOError(f"{response.status_code}: {response.text}") + + for reranker in self.rerankers: + docs = reranker(documents=docs, query=text) + + return docs + + @classmethod + def get_user_settings(cls) -> dict: + from ktem.llms.manager import llms + + try: + reranking_llm = llms.get_default_name() + reranking_llm_choices = list(llms.options().keys()) + except Exception: + reranking_llm = None + reranking_llm_choices = [] + + return { + "reranking_llm": { + "name": "LLM for scoring", + "value": reranking_llm, + "component": "dropdown", + "choices": reranking_llm_choices, + "special_type": "llm", + }, + "retrieval_mode": { + "name": "Retrieval mode", + "value": "hybrid", + "choices": ["vector", "text", "hybrid"], + "component": "dropdown", + }, + } + + @classmethod + def get_pipeline(cls, user_settings, index_settings, selected): + """Get retriever objects associated with the index + + Args: + settings: the settings of the app + kwargs: other arguments + """ + from ktem.llms.manager import llms + + retriever = cls( + rerankers=[LLMTrulensScoring()], + ) + + # hacky way to input doc_ids to retriever.run() call (through theflow) + kwargs = {".doc_ids": selected} + retriever.set_run(kwargs, temp=False) + + for reranker in retriever.rerankers: + if isinstance(reranker, LLMReranking): + reranker.llm = llms.get( + user_settings["reranking_llm"], llms.get_default() + ) + + return retriever diff --git a/libs/ktem/ktem/index/file/pipelines.py b/libs/ktem/ktem/index/file/pipelines.py index 450bb3a..d664e7f 100644 --- a/libs/ktem/ktem/index/file/pipelines.py +++ b/libs/ktem/ktem/index/file/pipelines.py @@ -2,25 +2,29 @@ from __future__ import annotations import logging import shutil +import threading +import time import warnings from collections import defaultdict +from copy import deepcopy from functools import lru_cache from hashlib import sha256 from pathlib import Path -from typing import Generator, Optional +from typing import Generator, Optional, Sequence +import tiktoken from ktem.db.models import engine from ktem.embeddings.manager import embedding_models_manager from ktem.llms.manager import llms -from llama_index.readers.base import BaseReader -from llama_index.readers.file.base import default_file_metadata_func -from llama_index.vector_stores import ( +from llama_index.core.readers.base import BaseReader +from llama_index.core.readers.file.base import default_file_metadata_func +from llama_index.core.vector_stores import ( FilterCondition, FilterOperator, MetadataFilter, MetadataFilters, ) -from llama_index.vector_stores.types import VectorStoreQueryMode +from llama_index.core.vector_stores.types import VectorStoreQueryMode from sqlalchemy import delete, select from sqlalchemy.orm import Session from theflow.settings import settings @@ -29,8 +33,18 @@ from theflow.utils.modules import import_dotted_string from kotaemon.base import BaseComponent, Document, Node, Param, RetrievedDocument from kotaemon.embeddings import BaseEmbeddings from kotaemon.indices import VectorIndexing, VectorRetrieval -from kotaemon.indices.ingests.files import KH_DEFAULT_FILE_EXTRACTORS -from kotaemon.indices.rankings import BaseReranking, LLMReranking +from kotaemon.indices.ingests.files import ( + KH_DEFAULT_FILE_EXTRACTORS, + adobe_reader, + azure_reader, + unstructured, +) +from kotaemon.indices.rankings import ( + BaseReranking, + CohereReranking, + LLMReranking, + LLMTrulensScoring, +) from kotaemon.indices.splitters import BaseSplitter, TokenSplitter from .base import BaseFileIndexIndexing, BaseFileIndexRetriever @@ -60,6 +74,9 @@ def dev_settings(): return file_extractors, chunk_size, chunk_overlap +_default_token_func = tiktoken.encoding_for_model("gpt-3.5-turbo").encode + + class DocumentRetrievalPipeline(BaseFileIndexRetriever): """Retrieve relevant document @@ -75,10 +92,13 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): """ embedding: BaseEmbeddings - reranker: BaseReranking = LLMReranking.withx() + rerankers: Sequence[BaseReranking] = [] + # use LLM to create relevant scores for displaying on UI + llm_scorer: LLMReranking | None = LLMReranking.withx() get_extra_table: bool = False mmr: bool = False top_k: int = 5 + retrieval_mode: str = "hybrid" @Node.auto(depends_on=["embedding", "VS", "DS"]) def vector_retrieval(self) -> VectorRetrieval: @@ -86,6 +106,8 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): embedding=self.embedding, vector_store=self.VS, doc_store=self.DS, + retrieval_mode=self.retrieval_mode, # type: ignore + rerankers=self.rerankers, ) def run( @@ -101,27 +123,30 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): text: the text to retrieve similar documents doc_ids: list of document ids to constraint the retrieval """ + print("searching in doc_ids", doc_ids) if not doc_ids: logger.info(f"Skip retrieval because of no selected files: {self}") return [] - retrieval_kwargs = {} + retrieval_kwargs: dict = {} with Session(engine) as session: stmt = select(self.Index).where( - self.Index.relation_type == "vector", + self.Index.relation_type == "document", self.Index.source_id.in_(doc_ids), ) results = session.execute(stmt) - vs_ids = [r[0].target_id for r in results.all()] + chunk_ids = [r[0].target_id for r in results.all()] + # do first round top_k extension + retrieval_kwargs["do_extend"] = True + retrieval_kwargs["scope"] = chunk_ids retrieval_kwargs["filters"] = MetadataFilters( filters=[ MetadataFilter( - key="doc_id", - value=vs_id, - operator=FilterOperator.EQ, + key="file_id", + value=doc_ids, + operator=FilterOperator.IN, ) - for vs_id in vs_ids ], condition=FilterCondition.OR, ) @@ -132,9 +157,10 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): retrieval_kwargs["mmr_threshold"] = 0.5 # rerank + s_time = time.time() + print(f"retrieval_kwargs: {retrieval_kwargs.keys()}") docs = self.vector_retrieval(text=text, top_k=self.top_k, **retrieval_kwargs) - if docs and self.get_from_path("reranker"): - docs = self.reranker(docs, query=text) + print("retrieval step took", time.time() - s_time) if not self.get_extra_table: return docs @@ -157,17 +183,30 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): for fn, pls in table_pages.items() ] if queries: - extra_docs = self.vector_retrieval( - text="", - top_k=50, - where=queries[0] if len(queries) == 1 else {"$or": queries}, - ) - for doc in extra_docs: - if doc.doc_id not in retrieved_id: - docs.append(doc) + try: + extra_docs = self.vector_retrieval( + text="", + top_k=50, + where=queries[0] if len(queries) == 1 else {"$or": queries}, + ) + for doc in extra_docs: + if doc.doc_id not in retrieved_id: + docs.append(doc) + except Exception: + print("Error retrieving additional tables") return docs + def generate_relevant_scores( + self, query: str, documents: list[RetrievedDocument] + ) -> list[RetrievedDocument]: + docs = ( + documents + if not self.llm_scorer + else self.llm_scorer(documents=documents, query=query) + ) + return docs + @classmethod def get_user_settings(cls) -> dict: from ktem.llms.manager import llms @@ -182,43 +221,44 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): return { "reranking_llm": { - "name": "LLM for reranking", + "name": "LLM for relevant scoring", "value": reranking_llm, "component": "dropdown", "choices": reranking_llm_choices, - }, - "separate_embedding": { - "name": "Use separate embedding", - "value": False, - "choices": [("Yes", True), ("No", False)], - "component": "dropdown", + "special_type": "llm", }, "num_retrieval": { "name": "Number of document chunks to retrieve", - "value": 3, + "value": 10, "component": "number", }, "retrieval_mode": { "name": "Retrieval mode", - "value": "vector", + "value": "hybrid", "choices": ["vector", "text", "hybrid"], "component": "dropdown", }, "prioritize_table": { "name": "Prioritize table", - "value": True, + "value": False, "choices": [True, False], "component": "checkbox", }, "mmr": { "name": "Use MMR", - "value": True, + "value": False, "choices": [True, False], "component": "checkbox", }, "use_reranking": { "name": "Use reranking", - "value": False, + "value": True, + "choices": [True, False], + "component": "checkbox", + }, + "use_llm_reranking": { + "name": "Use LLM relevant scoring", + "value": True, "choices": [True, False], "component": "checkbox", }, @@ -232,6 +272,8 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): settings: the settings of the app kwargs: other arguments """ + use_llm_reranking = user_settings.get("use_llm_reranking", False) + retriever = cls( get_extra_table=user_settings["prioritize_table"], top_k=user_settings["num_retrieval"], @@ -241,16 +283,26 @@ class DocumentRetrievalPipeline(BaseFileIndexRetriever): "embedding", embedding_models_manager.get_default_name() ) ], + retrieval_mode=user_settings["retrieval_mode"], + llm_scorer=(LLMTrulensScoring() if use_llm_reranking else None), + rerankers=[CohereReranking()], ) if not user_settings["use_reranking"]: - retriever.reranker = None # type: ignore - else: - retriever.reranker.llm = llms.get( + retriever.rerankers = [] # type: ignore + + for reranker in retriever.rerankers: + if isinstance(reranker, LLMReranking): + reranker.llm = llms.get( + user_settings["reranking_llm"], llms.get_default() + ) + + if retriever.llm_scorer: + retriever.llm_scorer.llm = llms.get( user_settings["reranking_llm"], llms.get_default() ) kwargs = {".doc_ids": selected} - retriever.set_run(kwargs, temp=True) + retriever.set_run(kwargs, temp=False) return retriever @@ -258,8 +310,8 @@ class IndexPipeline(BaseComponent): """Index a single file""" loader: BaseReader - splitter: BaseSplitter - chunk_batch_size: int = 50 + splitter: BaseSplitter | None + chunk_batch_size: int = 200 Source = Param(help="The SQLAlchemy Source table") Index = Param(help="The SQLAlchemy Index table") @@ -267,6 +319,9 @@ class IndexPipeline(BaseComponent): DS = Param(help="The DocStore") FSPath = Param(help="The file storage path") user_id = Param(help="The user id") + collection_name: str = "default" + private: bool = False + run_embedding_in_thread: bool = False embedding: BaseEmbeddings @Node.auto(depends_on=["Source", "Index", "embedding"]) @@ -276,31 +331,81 @@ class IndexPipeline(BaseComponent): ) def handle_docs(self, docs, file_id, file_name) -> Generator[Document, None, int]: + s_time = time.time() + text_docs = [] + non_text_docs = [] + thumbnail_docs = [] + + for doc in docs: + doc_type = doc.metadata.get("type", "text") + if doc_type == "text": + text_docs.append(doc) + elif doc_type == "thumbnail": + thumbnail_docs.append(doc) + else: + non_text_docs.append(doc) + + print(f"Got {len(thumbnail_docs)} page thumbnails") + page_label_to_thumbnail = { + doc.metadata["page_label"]: doc.doc_id for doc in thumbnail_docs + } + + if self.splitter: + all_chunks = self.splitter(text_docs) + else: + all_chunks = text_docs + + # add the thumbnails doc_id to the chunks + for chunk in all_chunks: + page_label = chunk.metadata.get("page_label", None) + if page_label and page_label in page_label_to_thumbnail: + chunk.metadata["thumbnail_doc_id"] = page_label_to_thumbnail[page_label] + + to_index_chunks = all_chunks + non_text_docs + thumbnail_docs + + # add to doc store chunks = [] n_chunks = 0 - for cidx, chunk in enumerate(self.splitter(docs)): - chunks.append(chunk) - if cidx % self.chunk_batch_size == 0: - self.handle_chunks(chunks, file_id) - n_chunks += len(chunks) - chunks = [] - yield Document( - f" => [{file_name}] Processed {n_chunks} chunks", channel="debug" - ) - - if chunks: - self.handle_chunks(chunks, file_id) + chunk_size = self.chunk_batch_size * 4 + for start_idx in range(0, len(to_index_chunks), chunk_size): + chunks = to_index_chunks[start_idx : start_idx + chunk_size] + self.handle_chunks_docstore(chunks, file_id) n_chunks += len(chunks) yield Document( - f" => [{file_name}] Processed {n_chunks} chunks", channel="debug" + f" => [{file_name}] Processed {n_chunks} chunks", + channel="debug", ) + def insert_chunks_to_vectorstore(): + chunks = [] + n_chunks = 0 + chunk_size = self.chunk_batch_size + for start_idx in range(0, len(to_index_chunks), chunk_size): + chunks = to_index_chunks[start_idx : start_idx + chunk_size] + self.handle_chunks_vectorstore(chunks, file_id) + n_chunks += len(chunks) + if self.VS: + yield Document( + f" => [{file_name}] Created embedding for {n_chunks} chunks", + channel="debug", + ) + + # run vector indexing in thread if specified + if self.run_embedding_in_thread: + print("Running embedding in thread") + threading.Thread( + target=lambda: list(insert_chunks_to_vectorstore()) + ).start() + else: + yield from insert_chunks_to_vectorstore() + + print("indexing step took", time.time() - s_time) return n_chunks - def handle_chunks(self, chunks, file_id): + def handle_chunks_docstore(self, chunks, file_id): """Run chunks""" # run embedding, add to both vector store and doc store - self.vector_indexing(chunks) + self.vector_indexing.add_to_docstore(chunks) # record in the index with Session(engine) as session: @@ -313,16 +418,30 @@ class IndexPipeline(BaseComponent): relation_type="document", ) ) - nodes.append( - self.Index( - source_id=file_id, - target_id=chunk.doc_id, - relation_type="vector", - ) - ) session.add_all(nodes) session.commit() + def handle_chunks_vectorstore(self, chunks, file_id): + """Run chunks""" + # run embedding, add to both vector store and doc store + self.vector_indexing.add_to_vectorstore(chunks) + self.vector_indexing.write_chunk_to_file(chunks) + + if self.VS: + # record in the index + with Session(engine) as session: + nodes = [] + for chunk in chunks: + nodes.append( + self.Index( + source_id=file_id, + target_id=chunk.doc_id, + relation_type="vector", + ) + ) + session.add_all(nodes) + session.commit() + def get_id_if_exists(self, file_path: Path) -> Optional[str]: """Check if the file is already indexed @@ -332,8 +451,16 @@ class IndexPipeline(BaseComponent): Returns: the file id if the file is indexed, otherwise None """ + if self.private: + cond: tuple = ( + self.Source.name == file_path.name, + self.Source.user == self.user_id, + ) + else: + cond = (self.Source.name == file_path.name,) + with Session(engine) as session: - stmt = select(self.Source).where(self.Source.name == file_path.name) + stmt = select(self.Source).where(*cond) item = session.execute(stmt).first() if item: return item[0].id @@ -369,20 +496,36 @@ class IndexPipeline(BaseComponent): def finish(self, file_id: str, file_path: Path) -> str: """Finish the indexing""" with Session(engine) as session: - stmt = select(self.Index.target_id).where(self.Index.source_id == file_id) - doc_ids = [_[0] for _ in session.execute(stmt)] - if doc_ids: + stmt = select(self.Source).where(self.Source.id == file_id) + result = session.execute(stmt).first() + if not result: + return file_id + + item = result[0] + + # populate the number of tokens + doc_ids_stmt = select(self.Index.target_id).where( + self.Index.source_id == file_id, + self.Index.relation_type == "document", + ) + doc_ids = [_[0] for _ in session.execute(doc_ids_stmt)] + token_func = self.get_token_func() + if doc_ids and token_func: docs = self.DS.get(doc_ids) - stmt = select(self.Source).where(self.Source.id == file_id) - result = session.execute(stmt).first() - if result: - item = result[0] - item.text_length = sum([len(doc.text) for doc in docs]) - session.add(item) - session.commit() + item.note["tokens"] = sum([len(token_func(doc.text)) for doc in docs]) + + # populate the note + item.note["loader"] = self.get_from_path("loader").__class__.__name__ + + session.add(item) + session.commit() return file_id + def get_token_func(self): + """Get the token function for calculating the number of tokens""" + return _default_token_func + def delete_file(self, file_id: str): """Delete a file from the db, including its chunks in docstore and vectorstore @@ -398,44 +541,24 @@ class IndexPipeline(BaseComponent): for each in index: if each[0].relation_type == "vector": vs_ids.append(each[0].target_id) - else: + elif each[0].relation_type == "document": ds_ids.append(each[0].target_id) session.delete(each[0]) session.commit() - self.VS.delete(vs_ids) - self.DS.delete(ds_ids) - def run(self, file_path: str | Path, reindex: bool, **kwargs) -> str: - """Index the file and return the file id""" - # check for duplication - file_path = Path(file_path).resolve() - file_id = self.get_id_if_exists(file_path) - if file_id is not None: - if not reindex: - raise ValueError( - f"File {file_path.name} already indexed. Please rerun with " - "reindex=True to force reindexing." - ) - else: - # remove the existing records - self.delete_file(file_id) - file_id = self.store_file(file_path) - else: - # add record to db - file_id = self.store_file(file_path) + if vs_ids and self.VS: + self.VS.delete(vs_ids) + if ds_ids: + self.DS.delete(ds_ids) - # extract the file - extra_info = default_file_metadata_func(str(file_path)) - docs = self.loader.load_data(file_path, extra_info=extra_info) - for _ in self.handle_docs(docs, file_id, file_path.name): - continue - self.finish(file_id, file_path) - - return file_id + def run( + self, file_path: str | Path, reindex: bool, **kwargs + ) -> tuple[str, list[Document]]: + raise NotImplementedError def stream( self, file_path: str | Path, reindex: bool, **kwargs - ) -> Generator[Document, None, str]: + ) -> Generator[Document, None, tuple[str, list[Document]]]: # check for duplication file_path = Path(file_path).resolve() file_id = self.get_id_if_exists(file_path) @@ -456,6 +579,9 @@ class IndexPipeline(BaseComponent): # extract the file extra_info = default_file_metadata_func(str(file_path)) + extra_info["file_id"] = file_id + extra_info["collection_name"] = self.collection_name + yield Document(f" => Converting {file_path.name} to text", channel="debug") docs = self.loader.load_data(file_path, extra_info=extra_info) yield Document(f" => Converted {file_path.name} to text", channel="debug") @@ -464,7 +590,7 @@ class IndexPipeline(BaseComponent): self.finish(file_id, file_path) yield Document(f" => Finished indexing {file_path.name}", channel="debug") - return file_id + return file_id, docs class IndexDocumentPipeline(BaseFileIndexIndexing): @@ -479,16 +605,54 @@ class IndexDocumentPipeline(BaseFileIndexIndexing): decide which pipeline should be used. """ + reader_mode: str = Param("default", help="The reader mode") embedding: BaseEmbeddings + run_embedding_in_thread: bool = False + + @Param.auto(depends_on="reader_mode") + def readers(self): + readers = deepcopy(KH_DEFAULT_FILE_EXTRACTORS) + print("reader_mode", self.reader_mode) + if self.reader_mode == "adobe": + readers[".pdf"] = adobe_reader + elif self.reader_mode == "azure-di": + readers[".pdf"] = azure_reader + + dev_readers, _, _ = dev_settings() + readers.update(dev_readers) + + return readers + + @classmethod + def get_user_settings(cls): + return { + "reader_mode": { + "name": "File loader", + "value": "default", + "choices": [ + ("Default (open-source)", "default"), + ("Adobe API (figure+table extraction)", "adobe"), + ( + "Azure AI Document Intelligence (figure+table extraction)", + "azure-di", + ), + ], + "component": "dropdown", + }, + } @classmethod def get_pipeline(cls, user_settings, index_settings) -> BaseFileIndexIndexing: + use_quick_index_mode = user_settings.get("quick_index_mode", False) + print("use_quick_index_mode", use_quick_index_mode) obj = cls( embedding=embedding_models_manager[ index_settings.get( "embedding", embedding_models_manager.get_default_name() ) - ] + ], + run_embedding_in_thread=use_quick_index_mode, + reader_mode=user_settings.get("reader_mode", "default"), ) return obj @@ -497,16 +661,17 @@ class IndexDocumentPipeline(BaseFileIndexIndexing): Can subclass this method for a more elaborate pipeline routing strategy. """ - readers, chunk_size, chunk_overlap = dev_settings() + _, chunk_size, chunk_overlap = dev_settings() - ext = file_path.suffix - reader = readers.get(ext, KH_DEFAULT_FILE_EXTRACTORS.get(ext, None)) + ext = file_path.suffix.lower() + reader = self.readers.get(ext, unstructured) if reader is None: raise NotImplementedError( f"No supported pipeline to index {file_path.name}. Please specify " "the suitable pipeline for this file type in the settings." ) + print("Using reader", reader) pipeline: IndexPipeline = IndexPipeline( loader=reader, splitter=TokenSplitter( @@ -515,50 +680,37 @@ class IndexDocumentPipeline(BaseFileIndexIndexing): separator="\n\n", backup_separators=["\n", ".", "\u200B"], ), + run_embedding_in_thread=self.run_embedding_in_thread, Source=self.Source, Index=self.Index, VS=self.VS, DS=self.DS, FSPath=self.FSPath, user_id=self.user_id, + private=self.private, embedding=self.embedding, ) return pipeline def run( - self, file_paths: str | Path | list[str | Path], reindex: bool = False, **kwargs + self, file_paths: str | Path | list[str | Path], *args, **kwargs ) -> tuple[list[str | None], list[str | None]]: - """Return a list of indexed file ids, and a list of errors""" - if not isinstance(file_paths, list): - file_paths = [file_paths] - - file_ids: list[str | None] = [] - errors: list[str | None] = [] - for file_path in file_paths: - file_path = Path(file_path) - - try: - pipeline = self.route(file_path) - file_id = pipeline.run(file_path, reindex=reindex, **kwargs) - file_ids.append(file_id) - errors.append(None) - except Exception as e: - logger.error(e) - file_ids.append(None) - errors.append(str(e)) - - return file_ids, errors + raise NotImplementedError def stream( self, file_paths: str | Path | list[str | Path], reindex: bool = False, **kwargs - ) -> Generator[Document, None, tuple[list[str | None], list[str | None]]]: + ) -> Generator[ + Document, None, tuple[list[str | None], list[str | None], list[Document]] + ]: """Return a list of indexed file ids, and a list of errors""" if not isinstance(file_paths, list): file_paths = [file_paths] file_ids: list[str | None] = [] errors: list[str | None] = [] + all_docs = [] + n_files = len(file_paths) for idx, file_path in enumerate(file_paths): file_path = Path(file_path) @@ -569,9 +721,10 @@ class IndexDocumentPipeline(BaseFileIndexIndexing): try: pipeline = self.route(file_path) - file_id = yield from pipeline.stream( + file_id, docs = yield from pipeline.stream( file_path, reindex=reindex, **kwargs ) + all_docs.extend(docs) file_ids.append(file_id) errors.append(None) yield Document( @@ -579,7 +732,7 @@ class IndexDocumentPipeline(BaseFileIndexIndexing): channel="index", ) except Exception as e: - logger.error(e) + logger.exception(e) file_ids.append(None) errors.append(str(e)) yield Document( @@ -591,4 +744,4 @@ class IndexDocumentPipeline(BaseFileIndexIndexing): channel="index", ) - return file_ids, errors + return file_ids, errors, all_docs diff --git a/libs/ktem/ktem/index/file/ui.py b/libs/ktem/ktem/index/file/ui.py index d46e072..a639c43 100644 --- a/libs/ktem/ktem/index/file/ui.py +++ b/libs/ktem/ktem/index/file/ui.py @@ -1,5 +1,9 @@ +import html import os +import shutil import tempfile +import zipfile +from copy import deepcopy from pathlib import Path from typing import Generator @@ -9,8 +13,12 @@ from gradio.data_classes import FileData from gradio.utils import NamedString from ktem.app import BasePage from ktem.db.engine import engine +from ktem.utils.render import Render from sqlalchemy import select from sqlalchemy.orm import Session +from theflow.settings import settings as flowsettings + +DOWNLOAD_MESSAGE = "Press again to download" class File(gr.File): @@ -143,28 +151,57 @@ class FileIndexPage(BasePage): ) gr.Markdown("## File List") + self.filter = gr.Textbox( + value="", + label="Filter by name:", + info=( + "(1) Case-insensitive. " + "(2) Search with empty string to show all files." + ), + ) self.file_list_state = gr.State(value=None) self.file_list = gr.DataFrame( - headers=["id", "name", "size", "text_length", "date_created"], + headers=[ + "id", + "name", + "size", + "tokens", + "loader", + "date_created", + ], + column_widths=["0%", "50%", "8%", "7%", "15%", "20%"], interactive=False, + wrap=False, + elem_id="file_list_view", ) + with gr.Row(): + self.deselect_button = gr.Button( + "Close", + visible=False, + ) + self.delete_button = gr.Button( + "Delete", + variant="stop", + visible=False, + ) + with gr.Row(): + self.is_zipped_state = gr.State(value=False) + self.download_all_button = gr.DownloadButton( + "Download all files", + visible=True, + ) + self.download_single_button = gr.DownloadButton( + "Download file", + visible=False, + ) + with gr.Row() as self.selection_info: self.selected_file_id = gr.State(value=None) with gr.Column(scale=2): self.selected_panel = gr.Markdown(self.selected_panel_false) - self.deselect_button = gr.Button( - "Deselect", - visible=False, - elem_classes=["right-button"], - ) - self.delete_button = gr.Button( - "Delete", - variant="stop", - visible=False, - elem_classes=["right-button"], - ) + self.chunks = gr.HTML(visible=False) def on_subscribe_public_events(self): """Subscribe to the declared public event of the app""" @@ -189,12 +226,58 @@ class FileIndexPage(BasePage): ) def file_selected(self, file_id): + chunks = [] + if file_id is not None: + # get the chunks + + Index = self._index._resources["Index"] + with Session(engine) as session: + matches = session.execute( + select(Index).where( + Index.source_id == file_id, + Index.relation_type == "document", + ) + ) + doc_ids = [doc.target_id for (doc,) in matches] + docs = self._index._docstore.get(doc_ids) + docs = sorted( + docs, key=lambda x: x.metadata.get("page_label", float("inf")) + ) + + for idx, doc in enumerate(docs): + title = html.escape( + f"{doc.text[:50]}..." if len(doc.text) > 50 else doc.text + ) + doc_type = doc.metadata.get("type", "text") + content = "" + if doc_type == "text": + content = html.escape(doc.text) + elif doc_type == "table": + content = Render.table(doc.text) + elif doc_type == "image": + content = Render.image( + url=doc.metadata.get("image_origin", ""), text=doc.text + ) + + header_prefix = f"[{idx+1}/{len(docs)}]" + if doc.metadata.get("page_label"): + header_prefix += f" [Page {doc.metadata['page_label']}]" + + chunks.append( + Render.collapsible( + header=f"{header_prefix} {title}", + content=content, + ) + ) return ( + gr.update(value="".join(chunks), visible=file_id is not None), + gr.update(visible=file_id is not None), gr.update(visible=file_id is not None), gr.update(visible=file_id is not None), ) def delete_event(self, file_id): + file_name = "" with Session(engine) as session: source = session.execute( select(self._index._resources["Source"]).where( @@ -202,6 +285,7 @@ class FileIndexPage(BasePage): ) ).first() if source: + file_name = source[0].name session.delete(source[0]) vs_ids, ds_ids = [], [] @@ -213,15 +297,16 @@ class FileIndexPage(BasePage): for each in index: if each[0].relation_type == "vector": vs_ids.append(each[0].target_id) - else: + elif each[0].relation_type == "document": ds_ids.append(each[0].target_id) session.delete(each[0]) session.commit() - self._index._vs.delete(vs_ids) + if vs_ids: + self._index._vs.delete(vs_ids) self._index._docstore.delete(ds_ids) - gr.Info(f"File {file_id} has been deleted") + gr.Info(f"File {file_name} has been deleted") return None, self.selected_panel_false @@ -231,6 +316,57 @@ class FileIndexPage(BasePage): gr.update(visible=False), ) + def download_single_file(self, is_zipped_state, file_id): + with Session(engine) as session: + source = session.execute( + select(self._index._resources["Source"]).where( + self._index._resources["Source"].id == file_id + ) + ).first() + if source: + target_file_name = Path(source[0].name) + zip_files = [] + for file_name in os.listdir(flowsettings.KH_CHUNKS_OUTPUT_DIR): + if target_file_name.stem in file_name: + zip_files.append( + os.path.join(flowsettings.KH_CHUNKS_OUTPUT_DIR, file_name) + ) + for file_name in os.listdir(flowsettings.KH_MARKDOWN_OUTPUT_DIR): + if target_file_name.stem in file_name: + zip_files.append( + os.path.join(flowsettings.KH_MARKDOWN_OUTPUT_DIR, file_name) + ) + zip_file_path = os.path.join( + flowsettings.KH_ZIP_OUTPUT_DIR, target_file_name.stem + ) + with zipfile.ZipFile(f"{zip_file_path}.zip", "w") as zipMe: + for file in zip_files: + zipMe.write(file, arcname=os.path.basename(file)) + + if is_zipped_state: + new_button = gr.DownloadButton(label="Download", value=None) + else: + new_button = gr.DownloadButton( + label=DOWNLOAD_MESSAGE, value=f"{zip_file_path}.zip" + ) + + return not is_zipped_state, new_button + + def download_all_files(self): + zip_files = [] + for file_name in os.listdir(flowsettings.KH_CHUNKS_OUTPUT_DIR): + zip_files.append(os.path.join(flowsettings.KH_CHUNKS_OUTPUT_DIR, file_name)) + for file_name in os.listdir(flowsettings.KH_MARKDOWN_OUTPUT_DIR): + zip_files.append( + os.path.join(flowsettings.KH_MARKDOWN_OUTPUT_DIR, file_name) + ) + zip_file_path = os.path.join(flowsettings.KH_ZIP_OUTPUT_DIR, "all") + with zipfile.ZipFile(f"{zip_file_path}.zip", "w") as zipMe: + for file in zip_files: + arcname = Path(file) + zipMe.write(file, arcname=arcname.name) + return gr.DownloadButton(label=DOWNLOAD_MESSAGE, value=f"{zip_file_path}.zip") + def on_register_events(self): """Register all events to the app""" onDeleted = ( @@ -241,35 +377,61 @@ class FileIndexPage(BasePage): ) .then( fn=lambda: (None, self.selected_panel_false), - inputs=None, + inputs=[], outputs=[self.selected_file_id, self.selected_panel], show_progress="hidden", ) .then( fn=self.list_file, - inputs=[self._app.user_id], + inputs=[self._app.user_id, self.filter], outputs=[self.file_list_state, self.file_list], ) + .then( + fn=self.file_selected, + inputs=[self.selected_file_id], + outputs=[ + self.chunks, + self.deselect_button, + self.delete_button, + self.download_single_button, + ], + show_progress="hidden", + ) ) for event in self._app.get_event(f"onFileIndex{self._index.id}Changed"): onDeleted = onDeleted.then(**event) self.deselect_button.click( fn=lambda: (None, self.selected_panel_false), - inputs=None, + inputs=[], outputs=[self.selected_file_id, self.selected_panel], show_progress="hidden", - ) - self.selected_panel.change( + ).then( fn=self.file_selected, inputs=[self.selected_file_id], outputs=[ + self.chunks, self.deselect_button, self.delete_button, + self.download_single_button, ], show_progress="hidden", ) + self.download_all_button.click( + fn=self.download_all_files, + inputs=[], + outputs=self.download_all_button, + show_progress="hidden", + ) + + self.download_single_button.click( + fn=self.download_single_file, + inputs=[self.is_zipped_state, self.selected_file_id], + outputs=[self.is_zipped_state, self.download_single_button], + show_progress="hidden", + ) + onUploaded = self.upload_button.click( fn=lambda: gr.update(visible=True), outputs=[self.upload_progress_panel], @@ -285,9 +447,63 @@ class FileIndexPage(BasePage): concurrency_limit=20, ) + try: + # quick file upload event registration of first Index only + if self._index.id == 1: + self.quick_upload_state = gr.State(value=[]) + print("Setting up quick upload event") + quickUploadedEvent = ( + self._app.chat_page.quick_file_upload.upload( + fn=lambda: gr.update( + value="Please wait for the indexing process " + "to complete before adding your question." + ), + outputs=self._app.chat_page.quick_file_upload_status, + ) + .then( + fn=self.index_fn_with_default_loaders, + inputs=[ + self._app.chat_page.quick_file_upload, + gr.State(value=False), + self._app.settings_state, + self._app.user_id, + ], + outputs=self.quick_upload_state, + ) + .success( + fn=lambda: [ + gr.update(value=None), + gr.update(value="select"), + ], + outputs=[ + self._app.chat_page.quick_file_upload, + self._app.chat_page._indices_input[0], + ], + ) + ) + for event in self._app.get_event(f"onFileIndex{self._index.id}Changed"): + quickUploadedEvent = quickUploadedEvent.then(**event) + + quickUploadedEvent.success( + fn=lambda x: x, + inputs=self.quick_upload_state, + outputs=self._app.chat_page._indices_input[1], + ).then( + fn=lambda: gr.update(value="Indexing completed."), + outputs=self._app.chat_page.quick_file_upload_status, + ).then( + fn=self.list_file, + inputs=[self._app.user_id, self.filter], + outputs=[self.file_list_state, self.file_list], + concurrency_limit=20, + ) + + except Exception as e: + print(e) + uploadedEvent = onUploaded.then( fn=self.list_file, - inputs=[self._app.user_id], + inputs=[self._app.user_id, self.filter], outputs=[self.file_list_state, self.file_list], concurrency_limit=20, ) @@ -309,16 +525,64 @@ class FileIndexPage(BasePage): inputs=[self.file_list], outputs=[self.selected_file_id, self.selected_panel], show_progress="hidden", + ).then( + fn=self.file_selected, + inputs=[self.selected_file_id], + outputs=[ + self.chunks, + self.deselect_button, + self.delete_button, + self.download_single_button, + ], + show_progress="hidden", + ) + + self.filter.submit( + fn=self.list_file, + inputs=[self._app.user_id, self.filter], + outputs=[self.file_list_state, self.file_list], + show_progress="hidden", ) def _on_app_created(self): """Called when the app is created""" self._app.app.load( self.list_file, - inputs=[self._app.user_id], + inputs=[self._app.user_id, self.filter], outputs=[self.file_list_state, self.file_list], ) + def _may_extract_zip(self, files, zip_dir: str): + """Handle zip files""" + zip_files = [file for file in files if file.endswith(".zip")] + remaining_files = [file for file in files if not file.endswith("zip")] + + # Clean-up before unzip to remove old files + shutil.rmtree(zip_dir, ignore_errors=True) + + for zip_file in zip_files: + # Prepare new zip output dir, separated for each files + basename = os.path.splitext(os.path.basename(zip_file))[0] + zip_out_dir = os.path.join(zip_dir, basename) + os.makedirs(zip_out_dir, exist_ok=True) + with zipfile.ZipFile(zip_file, "r") as zip_ref: + zip_ref.extractall(zip_out_dir) + + n_zip_file = 0 + for root, dirs, files in os.walk(zip_dir): + for file in files: + ext = os.path.splitext(file)[1] + + # only allow supported file-types ( not zip ) + if ext not in [".zip"] and ext in self._supported_file_types: + remaining_files += [os.path.join(root, file)] + n_zip_file += 1 + + if n_zip_file > 0: + print(f"Update zip files: {n_zip_file}") + + return remaining_files + def index_fn( self, files, reindex: bool, settings, user_id ) -> Generator[tuple[str, str], None, None]: @@ -335,6 +599,8 @@ class FileIndexPage(BasePage): yield "", "" return + files = self._may_extract_zip(files, flowsettings.KH_ZIP_INPUT_DIR) + errors = self.validate(files) if errors: gr.Warning(", ".join(errors)) @@ -366,19 +632,61 @@ class FileIndexPage(BasePage): debugs.append(response.text) yield "\n".join(outputs), "\n".join(debugs) except StopIteration as e: - result, errors = e.value + results, index_errors, docs = e.value except Exception as e: debugs.append(f"Error: {e}") yield "\n".join(outputs), "\n".join(debugs) return - n_successes = len([_ for _ in result if _]) + n_successes = len([_ for _ in results if _]) if n_successes: gr.Info(f"Successfully index {n_successes} files") n_errors = len([_ for _ in errors if _]) if n_errors: gr.Warning(f"Have errors for {n_errors} files") + return results + + def index_fn_with_default_loaders( + self, files, reindex: bool, settings, user_id + ) -> list["str"]: + """Function for quick upload with default loaders + + Args: + files: the list of files to be uploaded + reindex: whether to reindex the files + selected_files: the list of files already selected + settings: the settings of the app + """ + print("Overriding with default loaders") + exist_ids = [] + to_process_files = [] + for str_file_path in files: + file_path = Path(str(str_file_path)) + exist_id = ( + self._index.get_indexing_pipeline(settings, user_id) + .route(file_path) + .get_id_if_exists(file_path) + ) + if exist_id: + exist_ids.append(exist_id) + else: + to_process_files.append(str_file_path) + + returned_ids = [] + settings = deepcopy(settings) + settings[f"index.options.{self._index.id}.reader_mode"] = "default" + settings[f"index.options.{self._index.id}.quick_index_mode"] = True + if to_process_files: + _iter = self.index_fn(to_process_files, reindex, settings, user_id) + try: + while next(_iter): + pass + except StopIteration as e: + returned_ids = e.value + + return exist_ids + returned_ids + def index_files_from_dir( self, folder_path, reindex, settings, user_id ) -> Generator[tuple[str, str], None, None]: @@ -452,7 +760,19 @@ class FileIndexPage(BasePage): yield from self.index_fn(files, reindex, settings, user_id) - def list_file(self, user_id): + def format_size_human_readable(self, num: float | str, suffix="B"): + try: + num = float(num) + except ValueError: + return num + + for unit in ("", "K", "M", "G", "T", "P", "E", "Z"): + if abs(num) < 1024.0: + return f"{num:3.0f}{unit}{suffix}" + num /= 1024.0 + return f"{num:.0f}Yi{suffix}" + + def list_file(self, user_id, name_pattern=""): if user_id is None: # not signed in return [], pd.DataFrame.from_records( @@ -461,7 +781,8 @@ class FileIndexPage(BasePage): "id": "-", "name": "-", "size": "-", - "text_length": "-", + "tokens": "-", + "loader": "-", "date_created": "-", } ] @@ -472,12 +793,17 @@ class FileIndexPage(BasePage): statement = select(Source) if self._index.config.get("private", False): statement = statement.where(Source.user == user_id) + if name_pattern: + statement = statement.where(Source.name.ilike(f"%{name_pattern}%")) results = [ { "id": each[0].id, "name": each[0].name, - "size": each[0].size, - "text_length": each[0].text_length, + "size": self.format_size_human_readable(each[0].size), + "tokens": self.format_size_human_readable( + each[0].note.get("tokens", "-"), suffix="" + ), + "loader": each[0].note.get("loader", "-"), "date_created": each[0].date_created.strftime("%Y-%m-%d %H:%M:%S"), } for each in session.execute(statement).all() @@ -492,12 +818,14 @@ class FileIndexPage(BasePage): "id": "-", "name": "-", "size": "-", - "text_length": "-", + "tokens": "-", + "loader": "-", "date_created": "-", } ] ) + print(f"{len(results)=}, {len(file_list)=}") return results, file_list def interact_file_list(self, list_files, ev: gr.SelectData): @@ -561,9 +889,8 @@ class FileSelector(BasePage): self.mode = gr.Radio( value=default_mode, choices=[ - ("Disabled", "disabled"), ("Search All", "all"), - ("Select", "select"), + ("Search In File(s)", "select"), ], container=False, ) diff --git a/libs/ktem/ktem/index/manager.py b/libs/ktem/ktem/index/manager.py index cfa6381..91e4270 100644 --- a/libs/ktem/ktem/index/manager.py +++ b/libs/ktem/ktem/index/manager.py @@ -123,8 +123,11 @@ class IndexManager: ) try: - # clean up - index.on_delete() + try: + # clean up + index.on_delete() + except Exception as e: + print(f"Error while deleting index {index.name}: {e}") # remove from database with Session(engine) as sess: diff --git a/libs/ktem/ktem/index/ui.py b/libs/ktem/ktem/index/ui.py index 9d6b7b2..47f7d9a 100644 --- a/libs/ktem/ktem/index/ui.py +++ b/libs/ktem/ktem/index/ui.py @@ -7,6 +7,21 @@ from ktem.utils.file import YAMLNoDateSafeLoader from .manager import IndexManager +# UGLY way to restart gradio server by updating atime +def update_current_module_atime(): + import os + import time + + # Define the file path + file_path = __file__ + print("Updating atime for", file_path) + + # Get the current time + current_time = time.time() + # Set the modified time (and access time) to the current time + os.utime(file_path, (current_time, current_time)) + + def format_description(cls): user_settings = cls.get_admin_settings() params_lines = ["| Name | Default | Description |", "| --- | --- | --- |"] @@ -29,7 +44,7 @@ class IndexManagement(BasePage): def on_building_ui(self): with gr.Tab(label="View"): self.index_list = gr.DataFrame( - headers=["ID", "Name", "Index Type"], + headers=["id", "name", "index type"], interactive=False, ) @@ -95,7 +110,7 @@ class IndexManagement(BasePage): """Called when the app is created""" self._app.app.load( self.list_indices, - inputs=None, + inputs=[], outputs=[self.index_list], ) self._app.app.load( @@ -117,7 +132,7 @@ class IndexManagement(BasePage): self.create_index, inputs=[self.name, self.index_type, self.spec], outputs=None, - ).success(self.list_indices, inputs=None, outputs=[self.index_list]).success( + ).success(self.list_indices, inputs=[], outputs=[self.index_list]).success( lambda: ("", None, "", self.spec_desc_default), outputs=[ self.name, @@ -125,6 +140,8 @@ class IndexManagement(BasePage): self.spec, self.spec_desc, ], + ).success( + update_current_module_atime ) self.index_list.select( self.select_index, @@ -152,7 +169,7 @@ class IndexManagement(BasePage): gr.update(visible=False), gr.update(visible=True), ), - inputs=None, + inputs=[], outputs=[ self.btn_edit_save, self.btn_delete, @@ -166,10 +183,8 @@ class IndexManagement(BasePage): inputs=[self.selected_index_id], outputs=[self.selected_index_id], show_progress="hidden", - ).then( - self.list_indices, - inputs=None, - outputs=[self.index_list], + ).then(self.list_indices, inputs=[], outputs=[self.index_list],).success( + update_current_module_atime ) self.btn_delete_no.click( lambda: ( @@ -178,7 +193,7 @@ class IndexManagement(BasePage): gr.update(visible=True), gr.update(visible=False), ), - inputs=None, + inputs=[], outputs=[ self.btn_edit_save, self.btn_delete, @@ -197,7 +212,7 @@ class IndexManagement(BasePage): show_progress="hidden", ).then( self.list_indices, - inputs=None, + inputs=[], outputs=[self.index_list], ) self.btn_close.click( @@ -245,16 +260,16 @@ class IndexManagement(BasePage): items = [] for item in self.manager.indices: record = {} - record["ID"] = item.id - record["Name"] = item.name - record["Index Type"] = item.__class__.__name__ + record["id"] = item.id + record["name"] = item.name + record["index type"] = item.__class__.__name__ items.append(record) if items: indices_list = pd.DataFrame.from_records(items) else: indices_list = pd.DataFrame.from_records( - [{"ID": "-", "Name": "-", "Index Type": "-"}] + [{"id": "-", "name": "-", "index type": "-"}] ) return indices_list @@ -268,7 +283,7 @@ class IndexManagement(BasePage): if not ev.selected: return -1 - return int(index_list["ID"][ev.index[0]]) + return int(index_list["id"][ev.index[0]]) def on_selected_index_change(self, selected_index_id: int): """Show the relevant index as user selects it on the UI diff --git a/libs/ktem/ktem/llms/manager.py b/libs/ktem/ktem/llms/manager.py index 6baa759..f4b204f 100644 --- a/libs/ktem/ktem/llms/manager.py +++ b/libs/ktem/ktem/llms/manager.py @@ -3,7 +3,7 @@ from typing import Optional, Type, overload from sqlalchemy import select from sqlalchemy.orm import Session from theflow.settings import settings as flowsettings -from theflow.utils.modules import deserialize +from theflow.utils.modules import deserialize, import_dotted_string from kotaemon.llms import ChatLLM @@ -38,7 +38,7 @@ class LLMManager: def load(self): """Load the model pool from database""" - self._models, self._info, self._defaut = {}, {}, "" + self._models, self._info, self._default = {}, {}, "" with Session(engine) as session: stmt = select(LLMTable) items = session.execute(stmt) @@ -54,14 +54,12 @@ class LLMManager: self._default = item.name def load_vendors(self): - from kotaemon.llms import ( - AzureChatOpenAI, - ChatOpenAI, - EndpointChatLLM, - LlamaCppChat, - ) + from kotaemon.llms import AzureChatOpenAI, ChatOpenAI, LlamaCppChat - self._vendors = [ChatOpenAI, AzureChatOpenAI, LlamaCppChat, EndpointChatLLM] + self._vendors = [ChatOpenAI, AzureChatOpenAI, LlamaCppChat] + + for extra_vendor in getattr(flowsettings, "KH_LLM_EXTRA_VENDORS", []): + self._vendors.append(import_dotted_string(extra_vendor, safe=False)) def __getitem__(self, key: str) -> ChatLLM: """Get model by name""" diff --git a/libs/ktem/ktem/llms/ui.py b/libs/ktem/ktem/llms/ui.py index 8b6f4ee..116982e 100644 --- a/libs/ktem/ktem/llms/ui.py +++ b/libs/ktem/ktem/llms/ui.py @@ -112,7 +112,7 @@ class LLMManagement(BasePage): """Called when the app is created""" self._app.app.load( self.list_llms, - inputs=None, + inputs=[], outputs=[self.llm_list], ) self._app.app.load( @@ -140,8 +140,8 @@ class LLMManagement(BasePage): self.btn_new.click( self.create_llm, inputs=[self.name, self.llm_choices, self.spec, self.default], - outputs=None, - ).success(self.list_llms, inputs=None, outputs=[self.llm_list]).success( + outputs=[], + ).success(self.list_llms, inputs=[], outputs=[self.llm_list]).success( lambda: ("", None, "", False, self.spec_desc_default), outputs=[ self.name, @@ -176,7 +176,7 @@ class LLMManagement(BasePage): ) self.btn_delete.click( self.on_btn_delete_click, - inputs=None, + inputs=[], outputs=[self.btn_delete, self.btn_delete_yes, self.btn_delete_no], show_progress="hidden", ) @@ -187,7 +187,7 @@ class LLMManagement(BasePage): show_progress="hidden", ).then( self.list_llms, - inputs=None, + inputs=[], outputs=[self.llm_list], ) self.btn_delete_no.click( @@ -196,7 +196,7 @@ class LLMManagement(BasePage): gr.update(visible=False), gr.update(visible=False), ), - inputs=None, + inputs=[], outputs=[self.btn_delete, self.btn_delete_yes, self.btn_delete_no], show_progress="hidden", ) @@ -210,7 +210,7 @@ class LLMManagement(BasePage): show_progress="hidden", ).then( self.list_llms, - inputs=None, + inputs=[], outputs=[self.llm_list], ) self.btn_close.click( diff --git a/libs/ktem/ktem/main.py b/libs/ktem/ktem/main.py index 6182e39..ba305e6 100644 --- a/libs/ktem/ktem/main.py +++ b/libs/ktem/ktem/main.py @@ -44,7 +44,7 @@ class App(BaseApp): if len(self.index_manager.indices) == 1: for index in self.index_manager.indices: with gr.Tab( - f"{index.name} Index", + f"{index.name}", elem_id="indices-tab", elem_classes=[ "fill-main-area-height", @@ -58,7 +58,7 @@ class App(BaseApp): setattr(self, f"_index_{index.id}", page) elif len(self.index_manager.indices) > 1: with gr.Tab( - "Indices", + "Files", elem_id="indices-tab", elem_classes=["fill-main-area-height", "scrollable", "indices-tab"], id="indices-tab", @@ -66,7 +66,7 @@ class App(BaseApp): ) as self._tabs["indices-tab"]: for index in self.index_manager.indices: with gr.Tab( - f"{index.name}", + f"{index.name} Collection", elem_id=f"{index.id}-tab", ) as self._tabs[f"{index.id}-tab"]: page = index.get_index_page_ui() diff --git a/libs/ktem/ktem/pages/chat/__init__.py b/libs/ktem/ktem/pages/chat/__init__.py index d9826e0..a21c5f2 100644 --- a/libs/ktem/ktem/pages/chat/__init__.py +++ b/libs/ktem/ktem/pages/chat/__init__.py @@ -1,15 +1,25 @@ import asyncio +import csv from copy import deepcopy +from datetime import datetime +from pathlib import Path from typing import Optional import gradio as gr +from filelock import FileLock from ktem.app import BasePage from ktem.components import reasonings from ktem.db.models import Conversation, engine +from ktem.index.file.ui import File +from ktem.reasoning.prompt_optimization.suggest_conversation_name import ( + SuggestConvNamePipeline, +) +from plotly.io import from_json from sqlmodel import Session, select from theflow.settings import settings as flowsettings from kotaemon.base import Document +from kotaemon.indices.ingests.files import KH_DEFAULT_FILE_EXTRACTORS from .chat_panel import ChatPanel from .chat_suggestion import ChatSuggestion @@ -17,23 +27,49 @@ from .common import STATE from .control import ConversationControl from .report import ReportIssue +DEFAULT_SETTING = "(default)" +INFO_PANEL_SCALES = {True: 8, False: 4} + + +pdfview_js = """ +function() { + // Get all links and attach click event + var links = document.getElementsByClassName("pdf-link"); + for (var i = 0; i < links.length; i++) { + links[i].onclick = openModal; + } +} +""" + class ChatPage(BasePage): def __init__(self, app): self._app = app self._indices_input = [] + self.on_building_ui() + self._reasoning_type = gr.State(value=None) + self._llm_type = gr.State(value=None) + self._conversation_renamed = gr.State(value=False) + self.info_panel_expanded = gr.State(value=True) def on_building_ui(self): with gr.Row(): - self.chat_state = gr.State(STATE) - with gr.Column(scale=1, elem_id="conv-settings-panel"): + self.state_chat = gr.State(STATE) + self.state_retrieval_history = gr.State([]) + self.state_chat_history = gr.State([]) + self.state_plot_history = gr.State([]) + self.state_settings = gr.State({}) + self.state_info_panel = gr.State("") + self.state_plot_panel = gr.State(None) + + with gr.Column(scale=1, elem_id="conv-settings-panel") as self.conv_column: self.chat_control = ConversationControl(self._app) if getattr(flowsettings, "KH_FEATURE_CHAT_SUGGESTION", False): self.chat_suggestion = ChatSuggestion(self._app) - for index in self._app.index_manager.indices: + for index_id, index in enumerate(self._app.index_manager.indices): index.selector = None index_ui = index.get_selector_component_ui() if not index_ui: @@ -41,7 +77,9 @@ class ChatPage(BasePage): continue index_ui.unrender() # need to rerender later within Accordion - with gr.Accordion(label=f"{index.name} Index", open=True): + with gr.Accordion( + label=f"{index.name} Collection", open=index_id < 1 + ): index_ui.render() gr_index = index_ui.as_gradio_component() if gr_index: @@ -60,14 +98,66 @@ class ChatPage(BasePage): self._indices_input.append(gr_index) setattr(self, f"_index_{index.id}", index_ui) + if len(self._app.index_manager.indices) > 0: + with gr.Accordion(label="Quick Upload") as _: + self.quick_file_upload = File( + file_types=list(KH_DEFAULT_FILE_EXTRACTORS.keys()), + file_count="multiple", + container=True, + show_label=False, + ) + self.quick_file_upload_status = gr.Markdown() + self.report_issue = ReportIssue(self._app) with gr.Column(scale=6, elem_id="chat-area"): self.chat_panel = ChatPanel(self._app) - with gr.Column(scale=3, elem_id="chat-info-panel"): + with gr.Row(): + with gr.Accordion(label="Chat settings", open=False): + # a quick switch for reasoning type option + with gr.Row(): + gr.HTML("Reasoning method") + gr.HTML("Model") + + with gr.Row(): + reasoning_type_values = [ + (DEFAULT_SETTING, DEFAULT_SETTING) + ] + self._app.default_settings.reasoning.settings[ + "use" + ].choices + self.reasoning_types = gr.Dropdown( + choices=reasoning_type_values, + value=DEFAULT_SETTING, + container=False, + show_label=False, + ) + self.model_types = gr.Dropdown( + choices=self._app.default_settings.reasoning.options[ + "simple" + ] + .settings["llm"] + .choices, + value="", + container=False, + show_label=False, + ) + + with gr.Column( + scale=INFO_PANEL_SCALES[False], elem_id="chat-info-panel" + ) as self.info_column: with gr.Accordion(label="Information panel", open=True): - self.info_panel = gr.HTML() + self.modal = gr.HTML("
") + self.plot_panel = gr.Plot(visible=False) + self.info_panel = gr.HTML(elem_id="html-info-panel") + + def _json_to_plot(self, json_dict: dict | None): + if json_dict: + plot = from_json(json_dict) + plot = gr.update(visible=True, value=plot) + else: + plot = gr.update(visible=False) + return plot def on_register_events(self): gr.on( @@ -98,27 +188,75 @@ class ChatPage(BasePage): self.chat_control.conversation_id, self.chat_panel.chatbot, self._app.settings_state, - self.chat_state, + self._reasoning_type, + self._llm_type, + self.state_chat, self._app.user_id, ] + self._indices_input, outputs=[ self.chat_panel.chatbot, self.info_panel, - self.chat_state, + self.plot_panel, + self.state_plot_panel, + self.state_chat, ], concurrency_limit=20, show_progress="minimal", + ).success( + fn=self.backup_original_info, + inputs=[ + self.chat_panel.chatbot, + self._app.settings_state, + self.info_panel, + self.state_chat_history, + ], + outputs=[ + self.state_chat_history, + self.state_settings, + self.state_info_panel, + ], ).then( - fn=self.update_data_source, + fn=self.persist_data_source, inputs=[ self.chat_control.conversation_id, + self._app.user_id, + self.info_panel, + self.state_plot_panel, + self.state_retrieval_history, + self.state_plot_history, self.chat_panel.chatbot, - self.chat_state, + self.state_chat, ] + self._indices_input, - outputs=None, + outputs=[ + self.state_retrieval_history, + self.state_plot_history, + ], concurrency_limit=20, + ).success( + fn=self.check_and_suggest_name_conv, + inputs=self.chat_panel.chatbot, + outputs=[ + self.chat_control.conversation_rn, + self._conversation_renamed, + ], + ).success( + self.chat_control.rename_conv, + inputs=[ + self.chat_control.conversation_id, + self.chat_control.conversation_rn, + self._conversation_renamed, + self._app.user_id, + ], + outputs=[ + self.chat_control.conversation, + self.chat_control.conversation, + self.chat_control.conversation_rn, + ], + show_progress="hidden", + ).then( + fn=None, inputs=None, outputs=None, js=pdfview_js ) self.chat_panel.regen_btn.click( @@ -127,33 +265,90 @@ class ChatPage(BasePage): self.chat_control.conversation_id, self.chat_panel.chatbot, self._app.settings_state, - self.chat_state, + self._reasoning_type, + self._llm_type, + self.state_chat, self._app.user_id, ] + self._indices_input, outputs=[ self.chat_panel.chatbot, self.info_panel, - self.chat_state, + self.plot_panel, + self.state_plot_panel, + self.state_chat, ], concurrency_limit=20, show_progress="minimal", ).then( - fn=self.update_data_source, + fn=self.persist_data_source, inputs=[ self.chat_control.conversation_id, + self._app.user_id, + self.info_panel, + self.state_plot_panel, + self.state_retrieval_history, + self.state_plot_history, self.chat_panel.chatbot, - self.chat_state, + self.state_chat, ] + self._indices_input, - outputs=None, + outputs=[ + self.state_retrieval_history, + self.state_plot_history, + ], concurrency_limit=20, + ).success( + fn=self.check_and_suggest_name_conv, + inputs=self.chat_panel.chatbot, + outputs=[ + self.chat_control.conversation_rn, + self._conversation_renamed, + ], + ).success( + self.chat_control.rename_conv, + inputs=[ + self.chat_control.conversation_id, + self.chat_control.conversation_rn, + self._conversation_renamed, + self._app.user_id, + ], + outputs=[ + self.chat_control.conversation, + self.chat_control.conversation, + self.chat_control.conversation_rn, + ], + show_progress="hidden", + ).then( + fn=None, inputs=None, outputs=None, js=pdfview_js + ) + + self.chat_control.btn_info_expand.click( + fn=lambda is_expanded: ( + gr.update(scale=INFO_PANEL_SCALES[is_expanded]), + not is_expanded, + ), + inputs=self.info_panel_expanded, + outputs=[self.info_column, self.info_panel_expanded], ) self.chat_panel.chatbot.like( fn=self.is_liked, inputs=[self.chat_control.conversation_id], outputs=None, + ).success( + self.save_log, + inputs=[ + self.chat_control.conversation_id, + self.chat_panel.chatbot, + self._app.settings_state, + self.info_panel, + self.state_chat_history, + self.state_settings, + self.state_info_panel, + gr.State(getattr(flowsettings, "KH_APP_DATA_DIR", "logs")), + ], + outputs=None, ) self.chat_control.btn_new.click( @@ -163,17 +358,25 @@ class ChatPage(BasePage): show_progress="hidden", ).then( self.chat_control.select_conv, - inputs=[self.chat_control.conversation], + inputs=[self.chat_control.conversation, self._app.user_id], outputs=[ self.chat_control.conversation_id, self.chat_control.conversation, self.chat_control.conversation_rn, self.chat_panel.chatbot, self.info_panel, - self.chat_state, + self.state_plot_panel, + self.state_retrieval_history, + self.state_plot_history, + self.chat_control.cb_is_public, + self.state_chat, ] + self._indices_input, show_progress="hidden", + ).then( + fn=self._json_to_plot, + inputs=self.state_plot_panel, + outputs=self.plot_panel, ) self.chat_control.btn_del.click( @@ -188,17 +391,25 @@ class ChatPage(BasePage): show_progress="hidden", ).then( self.chat_control.select_conv, - inputs=[self.chat_control.conversation], + inputs=[self.chat_control.conversation, self._app.user_id], outputs=[ self.chat_control.conversation_id, self.chat_control.conversation, self.chat_control.conversation_rn, self.chat_panel.chatbot, self.info_panel, - self.chat_state, + self.state_plot_panel, + self.state_retrieval_history, + self.state_plot_history, + self.chat_control.cb_is_public, + self.state_chat, ] + self._indices_input, show_progress="hidden", + ).then( + fn=self._json_to_plot, + inputs=self.state_plot_panel, + outputs=self.plot_panel, ).then( lambda: self.toggle_delete(""), outputs=[self.chat_control._new_delete, self.chat_control._delete_confirm], @@ -207,33 +418,80 @@ class ChatPage(BasePage): lambda: self.toggle_delete(""), outputs=[self.chat_control._new_delete, self.chat_control._delete_confirm], ) - self.chat_control.conversation_rn_btn.click( + self.chat_control.btn_conversation_rn.click( + lambda: gr.update(visible=True), + outputs=[ + self.chat_control.conversation_rn, + ], + ) + self.chat_control.conversation_rn.submit( self.chat_control.rename_conv, inputs=[ self.chat_control.conversation_id, self.chat_control.conversation_rn, + gr.State(value=True), self._app.user_id, ], - outputs=[self.chat_control.conversation, self.chat_control.conversation], + outputs=[ + self.chat_control.conversation, + self.chat_control.conversation, + self.chat_control.conversation_rn, + ], show_progress="hidden", ) self.chat_control.conversation.select( self.chat_control.select_conv, - inputs=[self.chat_control.conversation], + inputs=[self.chat_control.conversation, self._app.user_id], outputs=[ self.chat_control.conversation_id, self.chat_control.conversation, self.chat_control.conversation_rn, self.chat_panel.chatbot, self.info_panel, - self.chat_state, + self.state_plot_panel, + self.state_retrieval_history, + self.state_plot_history, + self.chat_control.cb_is_public, + self.state_chat, ] + self._indices_input, show_progress="hidden", + ).then( + fn=self._json_to_plot, + inputs=self.state_plot_panel, + outputs=self.plot_panel, ).then( lambda: self.toggle_delete(""), outputs=[self.chat_control._new_delete, self.chat_control._delete_confirm], + ).then( + fn=None, inputs=None, outputs=None, js=pdfview_js + ) + + # evidence display on message selection + self.chat_panel.chatbot.select( + self.message_selected, + inputs=[ + self.state_retrieval_history, + self.state_plot_history, + ], + outputs=[ + self.info_panel, + self.state_plot_panel, + ], + ).then( + fn=self._json_to_plot, + inputs=self.state_plot_panel, + outputs=self.plot_panel, + ).then( + fn=None, inputs=None, outputs=None, js=pdfview_js + ) + + self.chat_control.cb_is_public.change( + self.on_set_public_conversation, + inputs=[self.chat_control.cb_is_public, self.chat_control.conversation], + outputs=None, + show_progress="hidden", ) self.report_issue.report_btn.click( @@ -247,11 +505,26 @@ class ChatPage(BasePage): self._app.settings_state, self._app.user_id, self.info_panel, - self.chat_state, + self.state_chat, ] + self._indices_input, outputs=None, ) + self.reasoning_types.change( + self.reasoning_changed, + inputs=[self.reasoning_types], + outputs=[self._reasoning_type], + ) + self.model_types.change( + lambda x: x, + inputs=[self.model_types], + outputs=[self._llm_type], + ) + self.chat_control.conversation_id.change( + lambda: gr.update(visible=False), + outputs=self.plot_panel, + ) + if getattr(flowsettings, "KH_FEATURE_CHAT_SUGGESTION", False): self.chat_suggestion.example.select( self.chat_suggestion.select_example, @@ -291,6 +564,28 @@ class ChatPage(BasePage): else: return gr.update(visible=True), gr.update(visible=False) + def on_set_public_conversation(self, is_public, convo_id): + if not convo_id: + gr.Warning("No conversation selected") + return + + with Session(engine) as session: + statement = select(Conversation).where(Conversation.id == convo_id) + + result = session.exec(statement).one() + name = result.name + + if result.is_public != is_public: + # Only trigger updating when user + # select different value from the current + result.is_public = is_public + session.add(result) + session.commit() + + gr.Info( + f"Conversation: {name} is {'public' if is_public else 'private'}." + ) + def on_subscribe_public_events(self): if self._app.f_user_management: self._app.subscribe_event( @@ -306,25 +601,53 @@ class ChatPage(BasePage): self._app.subscribe_event( name="onSignOut", definition={ - "fn": lambda: self.chat_control.select_conv(""), + "fn": lambda: self.chat_control.select_conv("", None), "outputs": [ self.chat_control.conversation_id, self.chat_control.conversation, self.chat_control.conversation_rn, self.chat_panel.chatbot, self.info_panel, + self.state_plot_panel, + self.state_retrieval_history, + self.state_plot_history, + self.chat_control.cb_is_public, ] + self._indices_input, "show_progress": "hidden", }, ) - def update_data_source(self, convo_id, messages, state, *selecteds): + def persist_data_source( + self, + convo_id, + user_id, + retrieval_msg, + plot_data, + retrival_history, + plot_history, + messages, + state, + *selecteds, + ): """Update the data source""" if not convo_id: gr.Warning("No conversation selected") return + # if not regen, then append the new message + if not state["app"].get("regen", False): + retrival_history = retrival_history + [retrieval_msg] + plot_history = plot_history + [plot_data] + else: + if retrival_history: + print("Updating retrieval history (regen=True)") + retrival_history[-1] = retrieval_msg + plot_history[-1] = plot_data + + # reset regen state + state["app"]["regen"] = False + selecteds_ = {} for index in self._app.index_manager.indices: if index.selector is None: @@ -339,15 +662,29 @@ class ChatPage(BasePage): result = session.exec(statement).one() data_source = result.data_source + old_selecteds = data_source.get("selected", {}) + is_owner = result.user == user_id + + # Write down to db result.data_source = { - "selected": selecteds_, + "selected": selecteds_ if is_owner else old_selecteds, "messages": messages, + "retrieval_messages": retrival_history, + "plot_history": plot_history, "state": state, "likes": deepcopy(data_source.get("likes", [])), } session.add(result) session.commit() + return retrival_history, plot_history + + def reasoning_changed(self, reasoning_type): + if reasoning_type != DEFAULT_SETTING: + # override app settings state (temporary) + gr.Info("Reasoning type changed to `{}`".format(reasoning_type)) + return reasoning_type + def is_liked(self, convo_id, liked: gr.LikeData): with Session(engine) as session: statement = select(Conversation).where(Conversation.id == convo_id) @@ -362,7 +699,19 @@ class ChatPage(BasePage): session.add(result) session.commit() - def create_pipeline(self, settings: dict, state: dict, user_id: int, *selecteds): + def message_selected(self, retrieval_history, plot_history, msg: gr.SelectData): + index = msg.index[0] + return retrieval_history[index], plot_history[index] + + def create_pipeline( + self, + settings: dict, + session_reasoning_type: str, + session_llm: str, + state: dict, + user_id: int, + *selecteds, + ): """Create the pipeline from settings Args: @@ -374,10 +723,23 @@ class ChatPage(BasePage): Returns: - the pipeline objects """ - reasoning_mode = settings["reasoning.use"] + # override reasoning_mode by temporary chat page state + print("Session reasoning type", session_reasoning_type) + print("Session LLM", session_llm) + reasoning_mode = ( + settings["reasoning.use"] + if session_reasoning_type in (DEFAULT_SETTING, None) + else session_reasoning_type + ) reasoning_cls = reasonings[reasoning_mode] + print("Reasoning class", reasoning_cls) reasoning_id = reasoning_cls.get_info()["id"] + settings = deepcopy(settings) + llm_setting_key = f"reasoning.options.{reasoning_id}.llm" + if llm_setting_key in settings and session_llm not in (DEFAULT_SETTING, None): + settings[llm_setting_key] = session_llm + # get retrievers retrievers = [] for index in self._app.index_manager.indices: @@ -403,7 +765,15 @@ class ChatPage(BasePage): return pipeline, reasoning_state def chat_fn( - self, conversation_id, chat_history, settings, state, user_id, *selecteds + self, + conversation_id, + chat_history, + settings, + reasoning_type, + llm_type, + state, + user_id, + *selecteds, ): """Chat function""" chat_input = chat_history[-1][0] @@ -413,18 +783,23 @@ class ChatPage(BasePage): # construct the pipeline pipeline, reasoning_state = self.create_pipeline( - settings, state, user_id, *selecteds + settings, reasoning_type, llm_type, state, user_id, *selecteds ) + print("Reasoning state", reasoning_state) pipeline.set_output_queue(queue) - text, refs = "", "" + text, refs, plot, plot_gr = "", "", None, gr.update(visible=False) msg_placeholder = getattr( flowsettings, "KH_CHAT_MSG_PLACEHOLDER", "Thinking ..." ) print(msg_placeholder) - yield chat_history + [(chat_input, text or msg_placeholder)], refs, state - - len_ref = -1 # for logging purpose + yield ( + chat_history + [(chat_input, text or msg_placeholder)], + refs, + plot_gr, + plot, + state, + ) for response in pipeline.stream(chat_input, conversation_id, chat_history): @@ -446,22 +821,42 @@ class ChatPage(BasePage): else: refs += response.content - if len(refs) > len_ref: - print(f"Len refs: {len(refs)}") - len_ref = len(refs) + if response.channel == "plot": + plot = response.content + plot_gr = self._json_to_plot(plot) state[pipeline.get_info()["id"]] = reasoning_state["pipeline"] - yield chat_history + [(chat_input, text or msg_placeholder)], refs, state + yield ( + chat_history + [(chat_input, text or msg_placeholder)], + refs, + plot_gr, + plot, + state, + ) if not text: empty_msg = getattr( flowsettings, "KH_CHAT_EMPTY_MSG_PLACEHOLDER", "(Sorry, I don't know)" ) print(f"Generate nothing: {empty_msg}") - yield chat_history + [(chat_input, text or empty_msg)], refs, state + yield ( + chat_history + [(chat_input, text or empty_msg)], + refs, + plot_gr, + plot, + state, + ) def regen_fn( - self, conversation_id, chat_history, settings, state, user_id, *selecteds + self, + conversation_id, + chat_history, + settings, + reasoning_type, + llm_type, + state, + user_id, + *selecteds, ): """Regen function""" if not chat_history: @@ -470,11 +865,119 @@ class ChatPage(BasePage): return state["app"]["regen"] = True - for chat, refs, state in self.chat_fn( - conversation_id, chat_history, settings, state, user_id, *selecteds - ): - new_state = deepcopy(state) - new_state["app"]["regen"] = False - yield chat, refs, new_state + yield from self.chat_fn( + conversation_id, + chat_history, + settings, + reasoning_type, + llm_type, + state, + user_id, + *selecteds, + ) - state["app"]["regen"] = False + def check_and_suggest_name_conv(self, chat_history): + suggest_pipeline = SuggestConvNamePipeline() + new_name = gr.update() + renamed = False + + # check if this is a newly created conversation + if len(chat_history) == 1: + suggested_name = suggest_pipeline(chat_history).text[:40] + new_name = gr.update(value=suggested_name) + renamed = True + + return new_name, renamed + + def backup_original_info( + self, chat_history, settings, info_pannel, original_chat_history + ): + original_chat_history.append(chat_history[-1]) + return original_chat_history, settings, info_pannel + + def save_log( + self, + conversation_id, + chat_history, + settings, + info_panel, + original_chat_history, + original_settings, + original_info_panel, + log_dir, + ): + if not Path(log_dir).exists(): + Path(log_dir).mkdir(parents=True) + + lock = FileLock(Path(log_dir) / ".lock") + # get current date + today = datetime.now() + formatted_date = today.strftime("%d%m%Y_%H") + + with Session(engine) as session: + statement = select(Conversation).where(Conversation.id == conversation_id) + result = session.exec(statement).one() + + data_source = deepcopy(result.data_source) + likes = data_source.get("likes", []) + if not likes: + return + + feedback = likes[-1][-1] + message_index = likes[-1][0] + + current_message = chat_history[message_index[0]] + original_message = original_chat_history[message_index[0]] + is_original = all( + [ + current_item == original_item + for current_item, original_item in zip( + current_message, original_message + ) + ] + ) + + dataframe = [ + [ + conversation_id, + message_index, + current_message[0], + current_message[1], + chat_history, + settings, + info_panel, + feedback, + is_original, + original_message[1], + original_chat_history, + original_settings, + original_info_panel, + ] + ] + + with lock: + log_file = Path(log_dir) / f"{formatted_date}_log.csv" + is_log_file_exist = log_file.is_file() + with open(log_file, "a") as f: + writer = csv.writer(f) + # write headers + if not is_log_file_exist: + writer.writerow( + [ + "Conversation ID", + "Message ID", + "Question", + "Answer", + "Chat History", + "Settings", + "Evidences", + "Feedback", + "Original/ Rewritten", + "Original Answer", + "Original Chat History", + "Original Settings", + "Original Evidences", + ] + ) + + writer.writerows(dataframe) diff --git a/libs/ktem/ktem/pages/chat/control.py b/libs/ktem/ktem/pages/chat/control.py index 5e369b5..6fd47eb 100644 --- a/libs/ktem/ktem/pages/chat/control.py +++ b/libs/ktem/ktem/pages/chat/control.py @@ -1,13 +1,20 @@ import logging +import os import gradio as gr from ktem.app import BasePage -from ktem.db.models import Conversation, engine -from sqlmodel import Session, select +from ktem.db.models import Conversation, User, engine +from sqlmodel import Session, or_, select +import flowsettings + +from ...utils.conversation import sync_retrieval_n_message from .common import STATE logger = logging.getLogger(__name__) +ASSETS_DIR = "assets/icons" +if not os.path.isdir(ASSETS_DIR): + ASSETS_DIR = "libs/ktem/ktem/assets/icons" def is_conv_name_valid(name): @@ -35,14 +42,47 @@ class ConversationControl(BasePage): label="Chat sessions", choices=[], container=False, - filterable=False, + filterable=True, interactive=True, elem_classes=["unset-overflow"], ) with gr.Row() as self._new_delete: - self.btn_new = gr.Button(value="New", min_width=10, variant="primary") - self.btn_del = gr.Button(value="Delete", min_width=10, variant="stop") + self.btn_new = gr.Button( + value="", + icon=f"{ASSETS_DIR}/new.svg", + min_width=2, + scale=1, + size="sm", + elem_classes=["no-background", "body-text-color"], + ) + self.btn_del = gr.Button( + value="", + icon=f"{ASSETS_DIR}/delete.svg", + min_width=2, + scale=1, + size="sm", + elem_classes=["no-background", "body-text-color"], + ) + self.btn_conversation_rn = gr.Button( + value="", + icon=f"{ASSETS_DIR}/rename.svg", + min_width=2, + scale=1, + size="sm", + elem_classes=["no-background", "body-text-color"], + ) + self.btn_info_expand = gr.Button( + value="", + icon=f"{ASSETS_DIR}/sidebar.svg", + min_width=2, + scale=1, + size="sm", + elem_classes=["no-background", "body-text-color"], + ) + self.cb_is_public = gr.Checkbox( + value=False, label="Shared", min_width=10, scale=4 + ) with gr.Row(visible=False) as self._delete_confirm: self.btn_del_conf = gr.Button( @@ -54,28 +94,60 @@ class ConversationControl(BasePage): with gr.Row(): self.conversation_rn = gr.Text( + label="(Enter) to save", placeholder="Conversation name", - container=False, + container=True, scale=5, min_width=10, interactive=True, - ) - self.conversation_rn_btn = gr.Button( - value="Rename", - scale=1, - min_width=10, - elem_classes=["no-background", "body-text-color", "bold-text"], + visible=False, ) def load_chat_history(self, user_id): """Reload chat history""" + + # In case user are admin. They can also watch the + # public conversations + can_see_public: bool = False + with Session(engine) as session: + statement = select(User).where(User.id == user_id) + result = session.exec(statement).one_or_none() + + if result is not None: + if flowsettings.KH_USER_CAN_SEE_PUBLIC: + can_see_public = ( + result.username == flowsettings.KH_USER_CAN_SEE_PUBLIC + ) + else: + can_see_public = True + + print(f"User-id: {user_id}, can see public conversations: {can_see_public}") + options = [] with Session(engine) as session: - statement = ( - select(Conversation) - .where(Conversation.user == user_id) - .order_by(Conversation.date_created.desc()) # type: ignore - ) + # Define condition based on admin-role: + # - can_see: can see their conversations & public files + # - can_not_see: only see their conversations + if can_see_public: + statement = ( + select(Conversation) + .where( + or_( + Conversation.user == user_id, + Conversation.is_public, + ) + ) + .order_by( + Conversation.is_public.desc(), Conversation.date_created.desc() + ) # type: ignore + ) + else: + statement = ( + select(Conversation) + .where(Conversation.user == user_id) + .order_by(Conversation.date_created.desc()) # type: ignore + ) + results = session.exec(statement).all() for result in results: options.append((result.name, result.id)) @@ -129,7 +201,7 @@ class ConversationControl(BasePage): else: return None, gr.update(value=None, choices=[]) - def select_conv(self, conversation_id): + def select_conv(self, conversation_id, user_id): """Select the conversation""" with Session(engine) as session: statement = select(Conversation).where(Conversation.id == conversation_id) @@ -137,18 +209,46 @@ class ConversationControl(BasePage): result = session.exec(statement).one() id_ = result.id name = result.name - selected = result.data_source.get("selected", {}) + is_conv_public = result.is_public + + # disable file selection ids state if + # not the owner of the conversation + if user_id == result.user: + selected = result.data_source.get("selected", {}) + else: + selected = {} + chats = result.data_source.get("messages", []) - info_panel = "" + + retrieval_history: list[str] = result.data_source.get( + "retrieval_messages", [] + ) + plot_history: list[dict] = result.data_source.get("plot_history", []) + + # On initialization + # Ensure len of retrieval and messages are equal + retrieval_history = sync_retrieval_n_message(chats, retrieval_history) + + info_panel = ( + retrieval_history[-1] + if retrieval_history + else "
No evidence found.
" + ) + plot_data = plot_history[-1] if plot_history else None state = result.data_source.get("state", STATE) + except Exception as e: logger.warning(e) id_ = "" name = "" selected = {} chats = [] + retrieval_history = [] + plot_history = [] info_panel = "" + plot_data = None state = STATE + is_conv_public = False indices = [] for index in self._app.index_manager.indices: @@ -160,10 +260,29 @@ class ConversationControl(BasePage): if isinstance(index.selector, tuple): indices.extend(selected.get(str(index.id), index.default_selector)) - return id_, id_, name, chats, info_panel, state, *indices + return ( + id_, + id_, + name, + chats, + info_panel, + plot_data, + retrieval_history, + plot_history, + is_conv_public, + state, + *indices, + ) - def rename_conv(self, conversation_id, new_name, user_id): + def rename_conv(self, conversation_id, new_name, is_renamed, user_id): """Rename the conversation""" + if not is_renamed: + return ( + gr.update(), + conversation_id, + gr.update(visible=False), + ) + if user_id is None: gr.Warning("Please sign in first (Settings → User Settings)") return gr.update(), "" @@ -185,7 +304,12 @@ class ConversationControl(BasePage): session.commit() history = self.load_chat_history(user_id) - return gr.update(choices=history), conversation_id + gr.Info("Conversation renamed.") + return ( + gr.update(choices=history), + conversation_id, + gr.update(visible=False), + ) def _on_app_created(self): """Reload the conversation once the app is created""" diff --git a/libs/ktem/ktem/pages/chat/report.py b/libs/ktem/ktem/pages/chat/report.py index 7a4fe6a..f404743 100644 --- a/libs/ktem/ktem/pages/chat/report.py +++ b/libs/ktem/ktem/pages/chat/report.py @@ -12,7 +12,7 @@ class ReportIssue(BasePage): self.on_building_ui() def on_building_ui(self): - with gr.Accordion(label="Report", open=False): + with gr.Accordion(label="Feedback", open=False): self.correctness = gr.Radio( choices=[ ("The answer is correct", "correct"), diff --git a/libs/ktem/ktem/pages/help.py b/libs/ktem/ktem/pages/help.py index fd750ef..e3438d1 100644 --- a/libs/ktem/ktem/pages/help.py +++ b/libs/ktem/ktem/pages/help.py @@ -9,6 +9,7 @@ from theflow.settings import settings def get_remote_doc(url: str) -> str: try: res = requests.get(url) + res.raise_for_status() return res.text except Exception as e: print(f"Failed to fetch document from {url}: {e}") diff --git a/libs/ktem/ktem/pages/login.py b/libs/ktem/ktem/pages/login.py index 50f505f..9dc4839 100644 --- a/libs/ktem/ktem/pages/login.py +++ b/libs/ktem/ktem/pages/login.py @@ -7,9 +7,9 @@ from sqlmodel import Session, select fetch_creds = """ function() { - const username = getStorage('username') - const password = getStorage('password') - return [username, password]; + const username = getStorage('username', '') + const password = getStorage('password', '') + return [username, password, null]; } """ diff --git a/libs/ktem/ktem/pages/resources/__init__.py b/libs/ktem/ktem/pages/resources/__init__.py index c423d3f..aa606c9 100644 --- a/libs/ktem/ktem/pages/resources/__init__.py +++ b/libs/ktem/ktem/pages/resources/__init__.py @@ -15,18 +15,18 @@ class ResourcesTab(BasePage): self.on_building_ui() def on_building_ui(self): - if self._app.f_user_management: - with gr.Tab("User Management", visible=False) as self.user_management_tab: - self.user_management = UserManagement(self._app) + with gr.Tab("Index Collections") as self.index_management_tab: + self.index_management = IndexManagement(self._app) with gr.Tab("LLMs") as self.llm_management_tab: self.llm_management = LLMManagement(self._app) - with gr.Tab("Embedding Models") as self.emb_management_tab: + with gr.Tab("Embeddings") as self.emb_management_tab: self.emb_management = EmbeddingManagement(self._app) - with gr.Tab("Index Management") as self.index_management_tab: - self.index_management = IndexManagement(self._app) + if self._app.f_user_management: + with gr.Tab("Users", visible=False) as self.user_management_tab: + self.user_management = UserManagement(self._app) def on_subscribe_public_events(self): if self._app.f_user_management: diff --git a/libs/ktem/ktem/pages/resources/user.py b/libs/ktem/ktem/pages/resources/user.py index 2b65075..106c268 100644 --- a/libs/ktem/ktem/pages/resources/user.py +++ b/libs/ktem/ktem/pages/resources/user.py @@ -94,6 +94,28 @@ def validate_password(pwd, pwd_cnf): return "" +def create_user(usn, pwd) -> bool: + with Session(engine) as session: + statement = select(User).where(User.username_lower == usn.lower()) + result = session.exec(statement).all() + if result: + print(f'User "{usn}" already exists') + return False + + else: + hashed_password = hashlib.sha256(pwd.encode()).hexdigest() + user = User( + username=usn, + username_lower=usn.lower(), + password=hashed_password, + admin=True, + ) + session.add(user) + session.commit() + + return True + + class UserManagement(BasePage): def __init__(self, app): self._app = app @@ -105,23 +127,9 @@ class UserManagement(BasePage): usn = flowsettings.KH_FEATURE_USER_MANAGEMENT_ADMIN pwd = flowsettings.KH_FEATURE_USER_MANAGEMENT_PASSWORD - with Session(engine) as session: - statement = select(User).where(User.username_lower == usn.lower()) - result = session.exec(statement).all() - if result: - print(f'User "{usn}" already exists') - - else: - hashed_password = hashlib.sha256(pwd.encode()).hexdigest() - user = User( - username=usn, - username_lower=usn.lower(), - password=hashed_password, - admin=True, - ) - session.add(user) - session.commit() - gr.Info(f'User "{usn}" created successfully') + is_created = create_user(usn, pwd) + if is_created: + gr.Info(f'User "{usn}" created successfully') def on_building_ui(self): with gr.Tab(label="User list"): @@ -224,7 +232,7 @@ class UserManagement(BasePage): gr.update(visible=False), gr.update(visible=False), ), - inputs=None, + inputs=[], outputs=[self.btn_delete, self.btn_delete_yes, self.btn_delete_no], show_progress="hidden", ) diff --git a/libs/ktem/ktem/pages/settings.py b/libs/ktem/ktem/pages/settings.py index 23bbfac..498282f 100644 --- a/libs/ktem/ktem/pages/settings.py +++ b/libs/ktem/ktem/pages/settings.py @@ -2,13 +2,15 @@ import hashlib import gradio as gr from ktem.app import BasePage +from ktem.components import reasonings from ktem.db.models import Settings, User, engine from sqlmodel import Session, select signout_js = """ -function() { +function(u, c, pw, pwc) { removeFromStorage('username'); removeFromStorage('password'); + return [u, c, pw, pwc]; } """ @@ -72,6 +74,10 @@ class SettingsPage(BasePage): self._components = {} self._reasoning_mode = {} + # store llms and embeddings components + self._llms = [] + self._embeddings = [] + # render application page if there are application settings self._render_app_tab = False if self._default_settings.application.settings: @@ -101,14 +107,13 @@ class SettingsPage(BasePage): def on_building_ui(self): if self._app.f_user_management: - with gr.Tab("Users"): + with gr.Tab("User settings"): self.user_tab() - with gr.Tab("General"): - self.app_tab() - with gr.Tab("Document Indices"): - self.index_tab() - with gr.Tab("Reasoning Pipelines"): - self.reasoning_tab() + + self.app_tab() + self.index_tab() + self.reasoning_tab() + self.setting_save_btn = gr.Button( "Save changes", variant="primary", scale=1, elem_classes=["right-button"] ) @@ -192,7 +197,7 @@ class SettingsPage(BasePage): ) onSignOutClick = self.signout.click( lambda: (None, "Current user: ___", "", ""), - inputs=None, + inputs=[], outputs=[ self._user_id, self.current_name, @@ -248,10 +253,14 @@ class SettingsPage(BasePage): return "", "" def app_tab(self): - with gr.Tab("General application settings", visible=self._render_app_tab): + with gr.Tab("General", visible=self._render_app_tab): for n, si in self._default_settings.application.settings.items(): obj = render_setting_item(si, si.value) self._components[f"application.{n}"] = obj + if si.special_type == "llm": + self._llms.append(obj) + if si.special_type == "embedding": + self._embeddings.append(obj) def index_tab(self): # TODO: double check if we need general @@ -260,12 +269,18 @@ class SettingsPage(BasePage): # obj = render_setting_item(si, si.value) # self._components[f"index.{n}"] = obj - with gr.Tab("Index settings", visible=self._render_index_tab): + id2name = {k: v.name for k, v in self._app.index_manager.info().items()} + with gr.Tab("Retrieval settings", visible=self._render_index_tab): for pn, sig in self._default_settings.index.options.items(): - with gr.Tab(f"Index {pn}"): + name = "{} Collection".format(id2name.get(pn, f"")) + with gr.Tab(name): for n, si in sig.settings.items(): obj = render_setting_item(si, si.value) self._components[f"index.options.{pn}.{n}"] = obj + if si.special_type == "llm": + self._llms.append(obj) + if si.special_type == "embedding": + self._embeddings.append(obj) def reasoning_tab(self): with gr.Tab("Reasoning settings", visible=self._render_reasoning_tab): @@ -275,6 +290,10 @@ class SettingsPage(BasePage): continue obj = render_setting_item(si, si.value) self._components[f"reasoning.{n}"] = obj + if si.special_type == "llm": + self._llms.append(obj) + if si.special_type == "embedding": + self._embeddings.append(obj) gr.Markdown("### Reasoning-specific settings") self._components["reasoning.use"] = render_setting_item( @@ -289,10 +308,19 @@ class SettingsPage(BasePage): visible=idx == 0, elem_id=pn, ) as self._reasoning_mode[pn]: - gr.Markdown("**Name**: Description") + reasoning = reasonings.get(pn, None) + if reasoning is None: + gr.Markdown("**Name**: Description") + else: + info = reasoning.get_info() + gr.Markdown(f"**{info['name']}**: {info['description']}") for n, si in sig.settings.items(): obj = render_setting_item(si, si.value) self._components[f"reasoning.options.{pn}.{n}"] = obj + if si.special_type == "llm": + self._llms.append(obj) + if si.special_type == "embedding": + self._embeddings.append(obj) def change_reasoning_mode(self, value): output = [] @@ -360,3 +388,38 @@ class SettingsPage(BasePage): outputs=[self._settings_state] + self.components(), show_progress="hidden", ) + + def update_llms(): + from ktem.llms.manager import llms + + if llms._default: + llm_choices = [(f"{llms._default} (default)", "")] + else: + llm_choices = [("(random)", "")] + llm_choices += [(_, _) for _ in llms.options().keys()] + return gr.update(choices=llm_choices) + + def update_embeddings(): + from ktem.embeddings.manager import embedding_models_manager + + if embedding_models_manager._default: + emb_choices = [(f"{embedding_models_manager._default} (default)", "")] + else: + emb_choices = [("(random)", "")] + emb_choices += [(_, _) for _ in embedding_models_manager.options().keys()] + return gr.update(choices=emb_choices) + + for llm in self._llms: + self._app.app.load( + update_llms, + inputs=[], + outputs=[llm], + show_progress="hidden", + ) + for emb in self._embeddings: + self._app.app.load( + update_embeddings, + inputs=[], + outputs=[emb], + show_progress="hidden", + ) diff --git a/libs/ktem/ktem/reasoning/prompt_optimization/__init__.py b/libs/ktem/ktem/reasoning/prompt_optimization/__init__.py new file mode 100644 index 0000000..29d8bf9 --- /dev/null +++ b/libs/ktem/ktem/reasoning/prompt_optimization/__init__.py @@ -0,0 +1,9 @@ +from .decompose_question import DecomposeQuestionPipeline +from .fewshot_rewrite_question import FewshotRewriteQuestionPipeline +from .rewrite_question import RewriteQuestionPipeline + +__all__ = [ + "DecomposeQuestionPipeline", + "FewshotRewriteQuestionPipeline", + "RewriteQuestionPipeline", +] diff --git a/libs/ktem/ktem/reasoning/prompt_optimization/decompose_question.py b/libs/ktem/ktem/reasoning/prompt_optimization/decompose_question.py new file mode 100644 index 0000000..7fdc473 --- /dev/null +++ b/libs/ktem/ktem/reasoning/prompt_optimization/decompose_question.py @@ -0,0 +1,79 @@ +import logging + +from ktem.llms.manager import llms +from ktem.reasoning.prompt_optimization.rewrite_question import RewriteQuestionPipeline +from pydantic import BaseModel, Field + +from kotaemon.base import Document, HumanMessage, Node, SystemMessage +from kotaemon.llms import ChatLLM + +logger = logging.getLogger(__name__) + + +class SubQuery(BaseModel): + """Search over a database of insurance rulebooks or financial reports""" + + sub_query: str = Field( + ..., + description="A very specific query against the database.", + ) + + +class DecomposeQuestionPipeline(RewriteQuestionPipeline): + """Decompose user complex question into multiple sub-questions + + Args: + llm: the language model to rewrite question + lang: the language of the answer. Currently support English and Japanese + """ + + llm: ChatLLM = Node( + default_callback=lambda _: llms.get("openai-gpt4-turbo", llms.get_default()) + ) + DECOMPOSE_SYSTEM_PROMPT_TEMPLATE = ( + "You are an expert at converting user complex questions into sub questions. " + "Perform query decomposition using provided function_call. " + "Given a user question, break it down into the most specific sub" + " questions you can (at most 3) " + "which will help you answer the original question. " + "Each sub question should be about a single concept/fact/idea. " + "If there are acronyms or words you are not familiar with, " + "do not try to rephrase them." + ) + prompt_template: str = DECOMPOSE_SYSTEM_PROMPT_TEMPLATE + + def create_prompt(self, question): + schema = SubQuery.model_json_schema() + function = { + "name": schema["title"], + "description": schema["description"], + "parameters": schema, + } + llm_kwargs = { + "tools": [{"type": "function", "function": function}], + "tool_choice": "auto", + } + + messages = [ + SystemMessage(content=self.prompt_template), + HumanMessage(content=question), + ] + + return messages, llm_kwargs + + def run(self, question: str) -> list: # type: ignore + messages, llm_kwargs = self.create_prompt(question) + result = self.llm(messages, **llm_kwargs) + tool_calls = result.additional_kwargs.get("tool_calls", None) + sub_queries = [] + if tool_calls: + for tool_call in tool_calls: + sub_queries.append( + Document( + content=SubQuery.parse_raw( + tool_call["function"]["arguments"] + ).sub_query + ) + ) + + return sub_queries diff --git a/libs/ktem/ktem/reasoning/prompt_optimization/fewshot_rewrite_question.py b/libs/ktem/ktem/reasoning/prompt_optimization/fewshot_rewrite_question.py new file mode 100644 index 0000000..3c3b719 --- /dev/null +++ b/libs/ktem/ktem/reasoning/prompt_optimization/fewshot_rewrite_question.py @@ -0,0 +1,100 @@ +import json +import uuid +from pathlib import Path + +from ktem.components import get_docstore, get_vectorstore +from ktem.llms.manager import llms +from ktem.reasoning.prompt_optimization.rewrite_question import ( + DEFAULT_REWRITE_PROMPT, + RewriteQuestionPipeline, +) +from theflow.settings import settings as flowsettings + +from kotaemon.base import AIMessage, Document, HumanMessage, Node, SystemMessage +from kotaemon.embeddings import BaseEmbeddings +from kotaemon.llms import ChatLLM +from kotaemon.storages import BaseDocumentStore, BaseVectorStore + + +class FewshotRewriteQuestionPipeline(RewriteQuestionPipeline): + """Rewrite user question + + Args: + llm: the language model to rewrite question + rewrite_template: the prompt template for llm to paraphrase a text input + lang: the language of the answer. Currently support English and Japanese + embedding: the embedding model to encode the question + vector_store: the vector store to store the encoded question + doc_store: the document store to store the original question + k: the number of examples to retrieve for rewriting + """ + + llm: ChatLLM = Node(default_callback=lambda _: llms.get_default()) + rewrite_template: str = DEFAULT_REWRITE_PROMPT + lang: str = "English" + embedding: BaseEmbeddings + vector_store: BaseVectorStore + doc_store: BaseDocumentStore + k: int = getattr(flowsettings, "N_PROMPT_OPT_EXAMPLES", 3) + + def add_documents(self, examples, batch_size: int = 50): + print("Adding fewshot examples for rewriting") + documents = [] + for example in examples: + doc = Document( + text=example["input"], id_=str(uuid.uuid4()), metadata=example + ) + documents.append(doc) + + for i in range(0, len(documents), batch_size): + embeddings = self.embedding(documents[i : i + batch_size]) + ids = [t.doc_id for t in documents[i : i + batch_size]] + self.vector_store.add( + embeddings=embeddings, + ids=ids, + ) + self.doc_store.add(documents[i : i + batch_size]) + + @classmethod + def get_pipeline( + cls, + embedding, + example_path=Path(__file__).parent / "rephrase_question_train.json", + collection_name: str = "fewshot_rewrite_examples", + ): + vector_store = get_vectorstore(collection_name) + doc_store = get_docstore(collection_name) + + pipeline = cls( + embedding=embedding, vector_store=vector_store, doc_store=doc_store + ) + if doc_store.count(): + return pipeline + + examples = json.load(open(example_path, "r")) + pipeline.add_documents(examples) + + return pipeline + + def run(self, question: str) -> Document: # type: ignore + emb = self.embedding(question)[0].embedding + _, _, ids = self.vector_store.query(embedding=emb, top_k=self.k) + examples = self.doc_store.get(ids) + messages = [SystemMessage(content="You are a helpful assistant")] + for example in examples: + messages.append( + HumanMessage( + content=self.rewrite_template.format( + question=example.metadata["input"], lang=self.lang + ) + ) + ) + messages.append(AIMessage(content=example.metadata["output"])) + messages.append( + HumanMessage( + content=self.rewrite_template.format(question=question, lang=self.lang) + ) + ) + + result = self.llm(messages) + return result diff --git a/libs/ktem/ktem/reasoning/prompt_optimization/rephrase_question_train.json b/libs/ktem/ktem/reasoning/prompt_optimization/rephrase_question_train.json new file mode 100644 index 0000000..fbe6b31 --- /dev/null +++ b/libs/ktem/ktem/reasoning/prompt_optimization/rephrase_question_train.json @@ -0,0 +1,9090 @@ +[ + { + "input": "What was the percentage increase in General and Administrative expenses in the year 2018 compared to the previous year?", + "output": "What was the increase in the General and administrative in 2018?" + }, + { + "input": "What was the specific percentage increase in the General and Administrative expenses during the year 2018?", + "output": "What was the increase in the General and administrative in 2018?" + }, + { + "input": "What was the decrease in the Other net expense in 2019?", + "output": "What was the specific amount of the decrease in the Other net expense in the financial year of 2019?" + }, + { + "input": "What was the decrease in the Other net expense in 2019?", + "output": "What was the specific decrease amount experienced in the Other net expense during the year 2019?" + }, + { + "input": "What was the increase in interest income?", + "output": "What was the exact amount by which the interest income increased?" + }, + { + "input": "What was the increase in interest income?", + "output": "What was the exact amount of the increase in interest income?" + }, + { + "input": "What was the average Other expense, net for 2018 and 2019?", + "output": "What was the average net Other expense for the years 2018 and 2019 combined?" + }, + { + "input": "In which year was Other expense, net less than 5,000 thousands?", + "output": "In what particular year did the amount of Other expense, net fall below 5,000 thousands?" + }, + { + "input": "What were the income tax expenses in the years 2019, 2018, and 2017, respectively?", + "output": "What was the income tax expense in 2019,2018 and 2017 respectively?" + }, + { + "input": "\"What were the income tax expenses for the years 2019, 2018, and 2017?\"", + "output": "What was the income tax expense in 2019,2018 and 2017 respectively?" + }, + { + "input": "How much money did the company have in unremitted earnings for the year 2019?", + "output": "What was the company's unremitted earnings in 2019?" + }, + { + "input": "How much unremitted earnings did the company have in 2019, without releasing or distributing them?", + "output": "What was the company's unremitted earnings in 2019?" + }, + { + "input": "Which year witnessed interest and penalties that amounted to less than 20 thousand?", + "output": "In which year was Interest and penalties less than 20 thousand?" + }, + { + "input": "What is the net carrying amount in 2019?", + "output": "What is the net carrying amount for the year 2019? Please provide details to assist in providing a more accurate response." + }, + { + "input": "What is the net carrying amount in 2019?", + "output": "What is the net carrying amount for the year 2019? Can you provide more details or context about the specific asset, liability or financial element in consideration?" + }, + { + "input": "What is the change in the debt discount, net of amortization from December 31, 2019 to December 31, 2018?", + "output": "What was the net change in the debt discount's value, after taking into account amortization, between December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in Net carrying amount from December 31, 2019 to December 31, 2018?", + "output": "What is the difference in the net carrying amount between December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in Furniture and equipment from December 31, 2019 to December 31, 2018?", + "output": "What is the net difference in the value of furniture and equipment between December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in Furniture and equipment from December 31, 2019 to December 31, 2018?", + "output": "What was the net change in the value of Furniture and equipment between December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in System hardware from December 31, 2019 to December 31, 2018?", + "output": "What are the differences in the hardware of the System between December 31, 2019, and December 31, 2018?" + }, + { + "input": "What was the exact percentage increase in the cost of revenue between 2017 and 2018?", + "output": "What was the increase in the cost of revenue in 2018?" + }, + { + "input": "What was the percentage increase in the total amount spent on expenses directly related to generating revenue in 2018 compared to the previous year?", + "output": "What was the increase in the cost of revenue in 2018?" + }, + { + "input": "In which year was cost of revenue less than 40,000 thousands?", + "output": "In what specific year did the cost of revenue fall below the amount of 40,000 thousands?" + }, + { + "input": "If a company used its earnings to finance its domestic operations, what are the potential outcomes or consequences of this decision?", + "output": "What would happen if earnings were used to fund domestic operations?" + }, + { + "input": "What was the change in Cash, cash equivalents, and restricted cash at the beginning of the period, comparing December 31, 2019, to December 31, 2018?", + "output": "What is the change in Cash, cash equivalents and restricted cash at beginning of period from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What is the net difference in Cash provided by operating activities between December 31, 2019 and December 31, 2018?", + "output": "What is the change in Cash provided by operating activities from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What is the change in Cash used in investing activities from December 31, 2019 to December 31, 2018?", + "output": "What is the difference in the amount of Cash used in investing activities between December 31, 2019, and December 31, 2018?" + }, + { + "input": "What was the percentage change in the Sales and marketing expense from 2017 to 2018?", + "output": "What was the increase in the Sales and marketing expense in 2018 compared to 2017?" + }, + { + "input": "In which year was Sales and marketing expenses less than 50,000 thousands?", + "output": "In what specific year did the total expenses for sales and marketing fall below 50,000 thousands (50 million) currency units?" + }, + { + "input": "In which year was General and administrative expenses less than 50,000 thousands?", + "output": "In which specific year did the amount for General and Administrative expenses fall below 50,000 thousands (50 million) dollars?" + }, + { + "input": "What is the average Carrying Value for the period December 31, 2019 to December 31, 2018?", + "output": "What is the average Carrying Value from December 31, 2018 to December 31, 2019?" + }, + { + "input": "In which specific year did the fair value of the 2022 Notes measure below 200,000 thousands?", + "output": "In which year was the 2022 Notes fair value less than 200,000 thousands?" + }, + { + "input": "In the year when the fair value of the 2022 Notes was below 200,000 thousands, what specific year was it?", + "output": "In which year was the 2022 Notes fair value less than 200,000 thousands?" + }, + { + "input": "What was the 2022 Notes cap price?", + "output": "\"What was the cap price for the 2022 Notes? Please provide any additional details that could assist in retrieving the information accurately.\"" + }, + { + "input": "What were the average expenses for sales and marketing in the years 2018 and 2019?", + "output": "What was the average Sales and marketing expenses for 2018 and 2019?" + }, + { + "input": "What were the average expenses for Sales and Marketing in 2018 and 2019, respectively?", + "output": "What was the average Sales and marketing expenses for 2018 and 2019?" + }, + { + "input": "In which year was Sales and marketing expenses less than 90,000 thousands?", + "output": "When was the year that the sales and marketing expenses were recorded to be under 90,000 thousands?" + }, + { + "input": "In which year was Sales and marketing expenses less than 90,000 thousands?", + "output": "In which specific year did the total expenses for sales and marketing amount to a figure less than 90,000 thousands?" + }, + { + "input": "What was the exact amount of gross profit recorded in the fiscal year of 2018?", + "output": "What was the Gross profit in 2018?" + }, + { + "input": "What was the specific value of the gross profit for the year 2018?", + "output": "What was the Gross profit in 2018?" + }, + { + "input": "In what specific year did the revenue fall below one hundred thousand thousands (100,000,000)?", + "output": "In which year was revenue less than 100,000 thousands?" + }, + { + "input": "\"In which specific year did the revenue fall below 100,000 thousands (100 million)?\"", + "output": "In which year was revenue less than 100,000 thousands?" + }, + { + "input": "What is the difference in the Gross Profit between the fiscal years 2018 and 2019?", + "output": "What is the change in the Gross Profit from 2018 to 2019?" + }, + { + "input": "What were the capitalized software development costs for the company in the years ending on December 31, 2017?", + "output": "What was the company capitalized software development costs during the years ended December 31, 2017?" + }, + { + "input": "What does the Adjusted EBITDA represent?", + "output": "What is the meaning and purpose of the term Adjusted EBITDA?" + }, + { + "input": "What does the Adjusted EBITDA represent?", + "output": "What is the meaning and significance of Adjusted EBITDA?" + }, + { + "input": "\"What were the federal statutory income tax rates in 2019, 2018, and 2017?\"", + "output": "What was the Income tax at federal statutory rate in 2019, 2018 and 2017?" + }, + { + "input": "What were the federal statutory income tax rates in 2019, 2018, and 2017?", + "output": "What was the Income tax at federal statutory rate in 2019, 2018 and 2017?" + }, + { + "input": "In what year did the State income tax expense, taking into account the federal tax effect, fall below negative one thousand thousands?", + "output": "In which year was State income tax expense, net of federal tax effect less than (1,000) thousands?" + }, + { + "input": "What were the amounts of the Other expense, net in 2018 and 2017?", + "output": "What was the Other expense, net in 2018 and 2017 respectively?" + }, + { + "input": "What is the difference in the amount of money owed from customers (net accounts receivable) between December 31, 2019, and December 31, 2018?", + "output": "What is the change in Net accounts receivable from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What are the respective federal income tax expense at statutory rates in 2018 and 2019?", + "output": "What were the federal income tax expenses at statutory rates for the years 2018 and 2019?" + }, + { + "input": "What were the specific state income tax rates, after accounting for federal benefit deductions, for the years 2017 and 2018?", + "output": "What are the respective state income taxes, net of federal benefit in 2017 and 2018?" + }, + { + "input": "What were the state income tax rates, after accounting for federal benefit, for both the years 2017 and 2018?", + "output": "What are the respective state income taxes, net of federal benefit in 2017 and 2018?" + }, + { + "input": "What are the respective service revenue at March 31 and June 30, 2018?", + "output": "What were the service revenues as of March 31 and June 30, 2018?" + }, + { + "input": "What are the respective service revenue at June 30 and September 30, 2018?", + "output": "What is the service revenue as of June 30 and September 30, 2018?" + }, + { + "input": "What are the respective service revenue at June 30 and September 30, 2018?", + "output": "What is the amount of service revenue reported on the financial statements for June 30 and September 30, 2018?" + }, + { + "input": "What percentage of the total revenue generated in North America in 2019 can be attributed to the non-core segment?", + "output": "What is the value of the revenue from the non-core segment from North America as a percentage of the total revenue earned in North America in 2019?" + }, + { + "input": "What is the average amount of net cash generated from operating activities for the years 2018 and 2019?", + "output": "What is the average net cash provided by operating activities in 2018 and 2019?" + }, + { + "input": "What is the amount of cash-based equity compensation expense included in network operations expenses in both 2018 and 2017?", + "output": "What are the respective on-cash equity-based compensation expense included in network operations expenses in 2018 and 2017?" + }, + { + "input": "What are the respective service revenue in 2018 and 2019?", + "output": "What was the amount of service revenue in the year 2018 and 2019 respectively?" + }, + { + "input": "What is the total amount of interest and principal payments required for the debt relating to the 2022 Notes?", + "output": "What is the value of the interest and principal payment obligations included in the debt under 2022 Notes?" + }, + { + "input": "What is the total amount of both interest and principal that needs to be paid for the debt included in the 2022 Notes?", + "output": "What is the value of the interest and principal payment obligations included in the debt under 2022 Notes?" + }, + { + "input": "What is the total amount of debt that the company needs to repay within the next 3 years?", + "output": "What is the company's total debt due within 3 years?" + }, + { + "input": "What is the aggregate amount of debt that the company needs to repay within the next three years?", + "output": "What is the company's total debt due within 3 years?" + }, + { + "input": "What is the total amount of finance lease obligations that the company needs to repay within the next 3 years?", + "output": "What is the company's total finance lease obligations due within 3 years?" + }, + { + "input": "What were the specific values of system infrastructure in the years 2018 and 2019?", + "output": "What are the respective values of system infrastructure in 2018 and 2019?" + }, + { + "input": "What were the values of system infrastructure in 2018 and 2019?", + "output": "What are the respective values of system infrastructure in 2018 and 2019?" + }, + { + "input": "What is the percentage increase or decrease in the value of network equipment from 2018 to 2019?", + "output": "What is the percentage change in the value of network equipment between 2018 and 2019?" + }, + { + "input": "What is the percentage change in the value of leasehold improvements between 2018 and 2019?", + "output": "What is the precise percentage increase or decrease in the value of leasehold improvements from 2018 to 2019?" + }, + { + "input": "What is the percentage change in the value of system infrastructure between 2018 and 2019?", + "output": "What is the percentage difference in the value of system infrastructure from 2018 to 2019?" + }, + { + "input": "What were the pre-tax domestic incomes for 2018 and 2019?", + "output": "What are the respective domestic income before income taxes in 2018 and 2019?" + }, + { + "input": "What was the mean pre-tax domestic income for individuals in the years 2017 and 2018?", + "output": "What is the average domestic income before income taxes in 2017 and 2018?" + }, + { + "input": "What were the average pre-tax domestic incomes in the years 2017 and 2018?", + "output": "What is the average domestic income before income taxes in 2017 and 2018?" + }, + { + "input": "What was the average pre-tax domestic income for households in 2018 and 2019?", + "output": "What is the average domestic income before income taxes in 2018 and 2019?" + }, + { + "input": "What is the average number of basic weighted average common shares in 2018 and 2019?", + "output": "What is the mean value of the basic weighted average common shares for the years 2018 and 2019?" + }, + { + "input": "What is the average number of basic weighted average common shares in 2018 and 2019?", + "output": "What is the average number of basic weighted average common shares for the years 2018 and 2019 combined?" + }, + { + "input": "What was the average impact on stock dilution from stock options in 2018 and 2019?", + "output": "What is the average dilutive effect of stock options in 2018 and 2019?" + }, + { + "input": "What was the average impact of stock options on dilution for the years 2018 and 2019?", + "output": "What is the average dilutive effect of stock options in 2018 and 2019?" + }, + { + "input": "What does the cost of operations represent?", + "output": "What is the meaning or significance of the term \"cost of operations\"?" + }, + { + "input": "How many quarters had operating revenues that was below $2,000 million?", + "output": "How many quarters had operating revenues below $2,000 million? Can you provide a breakdown of the number of quarters where the operating revenues were below $2,000 million?" + }, + { + "input": "What was the exact change in Operating revenues from the Three Months Ended March to the Three Months Ended June?", + "output": "What was the change in Operating revenues between Three Months Ended March and June?" + }, + { + "input": "What was the difference in operating revenues for the Three Months Ended March and the Three Months Ended June?", + "output": "What was the change in Operating revenues between Three Months Ended March and June?" + }, + { + "input": "What was the amount of net property and equipment in 2015?", + "output": "What was the exact monetary value of net property and equipment in the year 2015?" + }, + { + "input": "What was the amount of net property and equipment in 2015?", + "output": "What was the specific amount of net property and equipment recorded on the financial statements for the year 2015?" + }, + { + "input": "What was the value of redeemable noncontrolling interests in the year 2019?", + "output": "What were the Redeemable noncontrolling interests in 2019?" + }, + { + "input": "What was the value of the redeemable noncontrolling interests in 2019?", + "output": "What were the Redeemable noncontrolling interests in 2019?" + }, + { + "input": "What was the percent increase or decrease in the equity of American Tower Corporation from 2015 to 2016 in the United States?", + "output": "What was the percentage change in Total American Tower Corporation equity between 2015 and 2016?" + }, + { + "input": "What was the percentage increase or decrease in the equity of American Tower Corporation from 2015 to 2016?", + "output": "What was the percentage change in Total American Tower Corporation equity between 2015 and 2016?" + }, + { + "input": "What was the difference in the overall value of assets from 2017 to 2018?", + "output": "What was the change in total assets between 2017 and 2018?" + }, + { + "input": "What was the total amount received from the sales of senior notes in the year 2019 after deducting any expenses or fees?", + "output": "What were the net Proceeds from issuance of senior notes in 2019?" + }, + { + "input": "What was the total amount of money received from the repayment of credit facilities in 2018?", + "output": "What were the net Proceeds from (repayments of) credit facilities in 2018?" + }, + { + "input": "\"What was the total amount received or repaid through credit facilities in 2018?\"", + "output": "What were the net Proceeds from (repayments of) credit facilities in 2018?" + }, + { + "input": "What was the value of Equipment in 2018?", + "output": "What was the total monetary worth or market value of Equipment in the year 2018?" + }, + { + "input": "What was the value of Equipment in 2018?", + "output": "What was the monetary worth of the Equipment in the year 2018?" + }, + { + "input": "What was the exact monetary worth of buildings and any related improvements in the year 2019?", + "output": "What was the value of buildings and improvements in 2019?" + }, + { + "input": "What was the difference in the value of land and improvements from 2018 to 2019?", + "output": "What was the change in Land and improvements between 2018 and 2019?" + }, + { + "input": "What was the percentage increase or decrease in the net value of Property and equipment between the years 2018 and 2019?", + "output": "What was the percentage change in Property and equipment, net between 2018 and 2019?" + }, + { + "input": "What are the components that make up redevelopment capital expenditures?", + "output": "What does Redevelopment capital expenditures include?" + }, + { + "input": "What actions are authorized by the company's Buyback Programs?", + "output": "What do the company's Buyback Programs authorize the company to do?" + }, + { + "input": "What was the change in the total number of shares purchased between November and December?", + "output": "How much did the total number of shares purchased increase or decrease from November to December?" + }, + { + "input": "What was the total value of the Property, Plant, and Equipment (PPE) in 2016?", + "output": "What was the gross PPE in 2016?" + }, + { + "input": "What was the total value of personal protective equipment (PPE) in terms of sales or revenue for the year 2016?", + "output": "What was the gross PPE in 2016?" + }, + { + "input": "For how many years has the total value of gross intangibles been above $15,000 million?", + "output": "How many years did gross intangibles exceed $15,000 million?" + }, + { + "input": "How many consecutive years did the value of gross intangibles surpass $15,000 million?", + "output": "How many years did gross intangibles exceed $15,000 million?" + }, + { + "input": "What was the percentage change in gross goodwill between 2018 and 2019?", + "output": "What was the percentage difference in the amount of gross goodwill from 2018 to 2019?" + }, + { + "input": "What was the percentage change in gross goodwill between 2018 and 2019?", + "output": "What was the percentage difference in gross goodwill from 2018 to 2019?" + }, + { + "input": "\"What was the overall amount paid in lease payments for the operating lease agreement?\"", + "output": "What were the total lease payments for operating lease?" + }, + { + "input": "What was the sum total of all lease payments made for an operating lease?", + "output": "What were the total lease payments for operating lease?" + }, + { + "input": "\"What was the total amount of operating lease expenses incurred during the fiscal years 2020, 2021, and 2022?\"", + "output": "What was the sum of operating lease in fiscal years 2020-2022?" + }, + { + "input": "What is the proportion of non-current lease liability in relation to the total lease liability, expressed as a percentage?", + "output": "What is non-current lease liability as a percentage of Total lease liability?" + }, + { + "input": "Which years did the company allocate a valuation allowance?", + "output": "In which years did the company provide a valuation allowance?" + }, + { + "input": "For how many years, starting from January 1, was the balance consistently higher than $100 million?", + "output": "How many years was the balance as of January 1 above $100 million?" + }, + { + "input": "How many years, starting from January 1, had a balance above $100 million?", + "output": "How many years was the balance as of January 1 above $100 million?" + }, + { + "input": "What specific details about the company's taxes can be found in their state tax returns?", + "output": "What do the company's state tax returns reflect?" + }, + { + "input": "In 2017, how many instances were there where the deferred Income tax benefit (provision) exceeded $50 million?", + "output": "How many of the deferred Income tax benefit (provision) were above $50 million in 2017?" + }, + { + "input": "How many instances occurred in 2017 where the deferred income tax benefit (provision) exceeded $50 million?", + "output": "How many of the deferred Income tax benefit (provision) were above $50 million in 2017?" + }, + { + "input": "In 2019, what is the number of income tax benefits (provisions) that exceeded $(4 million)?", + "output": "How many of the current Income tax benefit (provision) were above $(4 million) in 2019?" + }, + { + "input": "In 2019, what is the total number of income tax benefits (provisions) that exceeded $(4 million)?", + "output": "How many of the current Income tax benefit (provision) were above $(4 million) in 2019?" + }, + { + "input": "What was the change in the net cash provided by (used for) by investing activities between 2017 and 2018?", + "output": "What was the difference in the net cash provided by (used for) investing activities from 2017 to 2018?" + }, + { + "input": "What was the percentage change in diluted net income per share attributable to common stockholders of American Tower Corporation between the Three Months Ended in March and June?", + "output": "What was the change in Diluted net income per share attributable to American Tower Corporation common stockholders between Three Months Ended March and June?" + }, + { + "input": "What was the specific difference in the value of Prepaids and other current assets between the fiscal years 2018 and 2019?", + "output": "What was the change in Prepaids and other current assets between 2018 and 2019?" + }, + { + "input": "What was the difference in the amount of Prepaids and other current assets reported in the financial statements between the years 2018 and 2019?", + "output": "What was the change in Prepaids and other current assets between 2018 and 2019?" + }, + { + "input": "What was the total amount of property and real estate taxes that were accumulated or owed in 2018?", + "output": "What was the Accrued property and real estate taxes in 2018?" + }, + { + "input": "What was the change in Other accrued expenses between 2018 and 2019?", + "output": "What was the difference in the amount of Other accrued expenses recorded in 2018 compared to 2019?" + }, + { + "input": "What was the change in Other accrued expenses between 2018 and 2019?", + "output": "What was the difference in the amount of Other accrued expenses recorded between the years 2018 and 2019?" + }, + { + "input": "What was the total amount of Net operating loss carryforwards recorded for the financial year 2019?", + "output": "What were the Net operating loss carryforwards in 2019?" + }, + { + "input": "What were the amounts of the liability decreases included in the company's revisions in estimates for both 2019 and 2018?", + "output": "How much were the decreases to the liability included in the revisions in estimates by the company in 2019 and 2018 respectively?" + }, + { + "input": "What was the change in balance as of December 31 between 2018 and 2019?", + "output": "What was the difference in the balance as of December 31st, 2018 and December 31st, 2019?" + }, + { + "input": "What was the value of the Eure-et-Loir interests as of December 31, 2019?", + "output": "What was the monetary worth of the Eure-et-Loir interests on the specific date of December 31, 2019?" + }, + { + "input": "How many of the non-current liabilities components in 2018 were above $500 million?", + "output": "How many components of non-current liabilities in the year 2018 exceeded $500 million in value?" + }, + { + "input": "How many of the non-current liabilities components in 2018 were above $500 million?", + "output": "In 2018, how many components of non-current liabilities exceeded $500 million in value?" + }, + { + "input": "How many years has the expense for stock-based compensation for Total exceeded $100 million?", + "output": "How many years did Total stock-based compensation expense exceed $100 million?" + }, + { + "input": "For how many years has the expense for Stock-based compensation - Services been higher than $1 million?", + "output": "How many years did Stock-based compensation expense - Services exceed $1 million?" + }, + { + "input": "What differentiates the characteristics of Federal and State NOLs from 2025 to 2029?", + "output": "What is the difference between Federal and State NOLs in the period 2025 to 2029?" + }, + { + "input": "What differentiates Federal and State NOLs in the 2025-2029 timeframe, and how do they vary during this period?", + "output": "What is the difference between Federal and State NOLs in the period 2025 to 2029?" + }, + { + "input": "What was the approximate percentage of revenue in the company's property segments were attributable to their communication sites in 2018?", + "output": "What was the estimated percentage of the company's total revenue in 2018 that came from their property segments, specifically from their communication sites?" + }, + { + "input": "What was the approximate percentage of revenue in the company's property segments were attributable to their communication sites in 2018?", + "output": "What percentage of the company's total revenue in 2018 can be attributed to their communication sites within their property segments?" + }, + { + "input": "What percentage of the total revenue in the United States in 2019 can be attributed to property segments?", + "output": "How many percent of total revenue in 2019 was accounted for by property segments in the U.S.?" + }, + { + "input": "How many percent of total revenue in 2018 was accounted for by property segments in Asia?", + "output": "What was the percentage of the total revenue in 2018 contributed by the property segments specifically in Asia?" + }, + { + "input": "What were the intangible assets related to the Tower and network location specifically in the year 2019?", + "output": "What were the Tower and network location intangible assets in 2019?" + }, + { + "input": "What were the intangible assets related to the tower and network locations observed in 2019?", + "output": "What were the Tower and network location intangible assets in 2019?" + }, + { + "input": "How many years were the total impairment charges above $200 million?", + "output": "How many years did the total impairment charges exceed or surpass $200 million?" + }, + { + "input": "How many years were the total impairment charges above $200 million?", + "output": "For how many years did the total impairment charges exceed $200 million?" + }, + { + "input": "What was the percentage change in Total impairment charges between 2018 and 2019?", + "output": "What percentage represents the difference in Total impairment charges between the years 2018 and 2019?" + }, + { + "input": "What was the percentage change in Total impairment charges between 2018 and 2019?", + "output": "What is the percentage difference in Total impairment charges from 2018 to 2019?" + }, + { + "input": "For how long has the sum of all assets reached or surpassed $40,000 million?", + "output": "How many years did the total assets exceed $40,000 million?" + }, + { + "input": "What was the balance as at January 1, 2019?", + "output": "What was the amount of money in the account on January 1, 2019?" + }, + { + "input": "What was the difference in account balance on January 1st, comparing 2018 to 2019?", + "output": "What was the change in balance as of January 1 between 2018 and 2019?" + }, + { + "input": "What was the difference in the account balance between January 1, 2018 and January 1, 2019?", + "output": "What was the change in balance as of January 1 between 2018 and 2019?" + }, + { + "input": "What is the difference in the percentage increase of current year for 2017 and 2018?", + "output": "What was the change in current year increases between 2017 and 2018?" + }, + { + "input": "What was the difference in the yearly increases of current year between 2017 and 2018?", + "output": "What was the change in current year increases between 2017 and 2018?" + }, + { + "input": "What was the total amount spent on depreciation in the year 2019?", + "output": "What was the depreciation cost in 2019?" + }, + { + "input": "What was the change in depreciation between 2018 and 2019?", + "output": "What was the difference in the amount of depreciation incurred in 2018 compared to 2019?" + }, + { + "input": "What was the gross amount of accumulated depreciation at the beginning of 2017 and how did it change by the beginning of 2018?", + "output": "What was the change in Gross amount of accumulated depreciation at beginning between 2017 and 2018?" + }, + { + "input": "Which specific years have the statute of limitations expired on certain unrecognized tax benefits?", + "output": "Which years did the statute of limitations on certain unrecognized tax benefits lapse?" + }, + { + "input": "In 2019, what was the total value of receivables that had not yet been invoiced to customers?", + "output": "What were the unbilled receivables in 2019?" + }, + { + "input": "What was the change in Unbilled receivables between 2018 and 2019?", + "output": "What was the net difference in Unbilled receivables from 2018 to 2019?" + }, + { + "input": "What was the change in the investments into Nippon Yttrium Co., Ltd (\"NYC\") between 2018 and 2019?", + "output": "\"What was the difference in the amount of money invested in Nippon Yttrium Co., Ltd (\"NYC\") from 2018 to 2019?\"" + }, + { + "input": "What was the change in the investments into Nippon Yttrium Co., Ltd (\"NYC\") between 2018 and 2019?", + "output": "What was the difference in the amount of investments made into Nippon Yttrium Co., Ltd (\"NYC\") during the years 2018 and 2019?" + }, + { + "input": "What was the percentage change in total investments between 2018 and 2019?", + "output": "What was the exact percentage difference in the total amount of investments from 2018 to 2019?" + }, + { + "input": "What was the percentage increase or decrease in Pro forma revenues from 2017 to 2018?", + "output": "What was the change in Pro forma revenues between 2017 and 2018?" + }, + { + "input": "How many years did net income exceed $100,000 thousand?", + "output": "For how many consecutive years has the net income surpassed $100,000 thousand?" + }, + { + "input": "How many years did net income exceed $100,000 thousand?", + "output": "For how many consecutive years has the net income been greater than $100,000 thousand?" + }, + { + "input": "What was the specific financial difference in adjustments made to the defined benefit post-retirement plan between the years 2017 and 2019?", + "output": "What was the change in Defined benefit post-retirement plan adjustments between 2017 and 2019?" + }, + { + "input": "What was the difference in the adjustments made to Defined Benefit post-retirement plans between the years 2017 and 2019?", + "output": "What was the change in Defined benefit post-retirement plan adjustments between 2017 and 2019?" + }, + { + "input": "What were the total sales revenues in Hong Kong in the year 2018?", + "output": "What was the net sales in Hong Kong in 2018?" + }, + { + "input": "What was the exact amount of net sales generated in Singapore during the year 2017?", + "output": "What was the net sales in Singapore in 2017?" + }, + { + "input": "What was the change in net sales in Mexico between 2017 and 2018?", + "output": "What was the difference in net sales in Mexico from 2017 to 2018 and how does it impact the overall sales performance in the country?" + }, + { + "input": "In which specific years did the cumulative net sales in every region surpass one million dollars?", + "output": "Which years did the total net sales in all regions exceed $1,000,000 thousand?" + }, + { + "input": "What was the percentage change in the net sales from Other Countries between 2018 and 2019?", + "output": "What was the percentage difference in net sales from Other Countries in 2019 compared to 2018?" + }, + { + "input": "What was the difference in the amount of Amortization of debt issuance costs between the years 2017 and 2018?", + "output": "What was the change in the Amortization of debt issuance costs between 2017 and 2018?" + }, + { + "input": "For how many years did the interest expense on capital leases surpass $200 thousand?", + "output": "How many years did Interest expense on capital leases exceed $200 thousand?" + }, + { + "input": "By what percentage did the total interest expense increase or decrease from 2018 to 2019?", + "output": "What was the percentage change in the total interest expense between 2018 and 2019?" + }, + { + "input": "What was the percentage increase or decrease in the total interest expense from 2018 to 2019?", + "output": "What was the percentage change in the total interest expense between 2018 and 2019?" + }, + { + "input": "What was the total net actuarial loss or gain specifically associated with Other Benefits for the year 2018?", + "output": "What was the Net actuarial loss (gain) for Other Benefits in 2018?" + }, + { + "input": "What was the change in net sales between 2017 and 2019?", + "output": "What is the difference in net sales from 2017 to 2019?" + }, + { + "input": "For how many years was the cost of sales higher than $800,000 thousand?", + "output": "How many years did cost of sales exceed $800,000 thousand?" + }, + { + "input": "For how many years has the cost of sales been higher than $800,000 thousand?", + "output": "How many years did cost of sales exceed $800,000 thousand?" + }, + { + "input": "What was the precise net value of property, plant, and equipment in Japan specifically for the year 2019?", + "output": "What was the net amount of property, plant and equipment in Japan in 2019?" + }, + { + "input": "What was the net amount of property, plant and equipment in Thailand in 2018?", + "output": "What was the exact net value of property, plant, and equipment in Thailand during the year 2018?" + }, + { + "input": "How many years did Total net property, plant and equipment from Non-United States regions exceed $400,000 thousand?", + "output": "How many years was the total value of property, plant, and equipment from regions outside the United States greater than $400,000 thousand?" + }, + { + "input": "What was the change in the net property, plant and equipment in China between 2018 and 2019?", + "output": "What was the exact difference in the net value of property, plant, and equipment in China during the period from 2018 to 2019?" + }, + { + "input": "What was the net interest expense in 2019?", + "output": "What was the amount of interest expenses incurred in 2019, after subtracting any interest income earned during the same year?" + }, + { + "input": "What was the change in the Loss on early extinguishment of debt between 2018 and 2019?", + "output": "What was the difference in the Loss on early extinguishment of debt from 2018 to 2019?" + }, + { + "input": "What was the percentage increase or decrease in the net interest expense from 2018 to 2019?", + "output": "What was the percentage change in the net interest expense between 2018 and 2019?" + }, + { + "input": "What percentage increase or decrease occurred in the net interest expense from 2018 to 2019?", + "output": "What was the percentage change in the net interest expense between 2018 and 2019?" + }, + { + "input": "What was the change in the Returns reserves between 2018 and 2019?", + "output": "What was the difference in the amount allocated to Returns reserves between the fiscal years 2018 and 2019?" + }, + { + "input": "How much did the Additions for tax positions change from 2018 to 2019 in the current year?", + "output": "What was the change in the Additions for tax positions of the current year between 2018 and 2019?" + }, + { + "input": "What was the reflection of Pension and other post-retirement benefits?", + "output": "What did Pension and other post-retirement benefits reflect?" + }, + { + "input": "What were the interest obligations that had payments due more than 5 years?", + "output": "What were the interest obligations that had payments due for a period longer than 5 years?" + }, + { + "input": "What was the precise difference in the total amount between Employee separation liability and Restructuring liability?", + "output": "What was the difference in the total between Employee separation liability and Restructuring liability?" + }, + { + "input": "What is the discrepancy in the total amount between Employee Separation Liability and Restructuring Liability?", + "output": "What was the difference in the total between Employee separation liability and Restructuring liability?" + }, + { + "input": "What was the distinction in the payment amounts expected in Year 1 for interest obligations compared to operating lease obligations?", + "output": "What was the difference between the payments due by Year 1 between Interest obligations and operating lease obligations?" + }, + { + "input": "What were the contrasting payment amounts between Year 1 for interest obligations and operating lease obligations?", + "output": "What was the difference between the payments due by Year 1 between Interest obligations and operating lease obligations?" + }, + { + "input": "What is the percentage of total debt obligations in relation to the overall contractual obligations?", + "output": "What were the total debt obligations as a percentage of the total contractual obligations?" + }, + { + "input": "What was the amount of cash generated or used in financing activities during the year 2017?", + "output": "What was the Net cash provided by (used in) financing activities in 2017?" + }, + { + "input": "What was the percentage change in the amount of cash, cash equivalents, and restricted cash from 2018 to 2019?", + "output": "What was the percentage change in the Net increase in cash, cash equivalents, and restricted cash between 2018 and 2019?" + }, + { + "input": "How much of a discount did Customer Advances receive?", + "output": "What was the amount of discount for Customer Advances?" + }, + { + "input": "What was the total amount of discount provided for Customer Advances?", + "output": "What was the amount of discount for Customer Advances?" + }, + { + "input": "What was the net gain or loss from acquisitions in the year 2018?", + "output": "What was the Acquisition (gain) loss in 2018?" + }, + { + "input": "What were the restructuring charges in 2017?", + "output": "\"What were the specific charges related to restructuring expenses incurred during the year 2017?\"" + }, + { + "input": "What were the restructuring charges in 2017?", + "output": "What were the specific charges related to the corporate restructuring that occurred in 2017?" + }, + { + "input": "For how many years has the income tax expense from continuing operations exceeded $10,000 thousand?", + "output": "How many years did Total current income tax expense from continuing operations exceed $10,000 thousand?" + }, + { + "input": "What was the difference in foreign income tax expense between 2017 and 2018?", + "output": "What was the change in current foreign income tax expense between 2017 and 2018?" + }, + { + "input": "What was the difference in the amount of foreign income tax expense recorded for the years 2017 and 2018?", + "output": "What was the change in current foreign income tax expense between 2017 and 2018?" + }, + { + "input": "What was the percentage change in the deferred federal income tax expense between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the amount of deferred federal income tax expense from 2018 to 2019?" + }, + { + "input": "What were the restructuring charges in 2019?", + "output": "What were the specific charges incurred as part of the restructuring efforts in the year 2019?" + }, + { + "input": "What was the change in Personnel reduction costs between 2017 and 2018?", + "output": "What was the difference in the costs associated with reducing personnel between the years 2017 and 2018?" + }, + { + "input": "What is the percentage change in the costs associated with relocation and exit from 2018 to 2019?", + "output": "What was the percentage change in the Relocation and exit costs between 2018 and 2019?" + }, + { + "input": "What is the percentage difference in the Relocation and exit costs from 2018 to 2019?", + "output": "What was the percentage change in the Relocation and exit costs between 2018 and 2019?" + }, + { + "input": "What was the change in Foreign income between 2017 and 2018?", + "output": "What was the difference in the amount of income from foreign sources recorded for the years 2017 and 2018?" + }, + { + "input": "What were the net sales in 2019?", + "output": "What was the total value of sales generated in 2019?" + }, + { + "input": "What were the net sales in 2019?", + "output": "What was the total amount of revenue generated from sales in the year 2019?" + }, + { + "input": "\"What was the gross margin percentage for the quarter ending on September 30th?\"", + "output": "What was the gross margin for the Sep-30 quarter?" + }, + { + "input": "\"What was the exact gross margin percentage for the quarter ending on September 30th?\"", + "output": "What was the gross margin for the Sep-30 quarter?" + }, + { + "input": "\"For which specific time periods did the Gross Margin exceed $120,000 thousand?\"", + "output": "Which quarters ended did the Gross Margin exceed $120,000 thousand?" + }, + { + "input": "What was the total value of contract assets in 2019?", + "output": "What were the amount of contract assets in 2019?" + }, + { + "input": "What were the specific values of contract assets recorded in the year 2019?", + "output": "What were the amount of contract assets in 2019?" + }, + { + "input": "What was the difference in the amount of prepaid expenses between the fiscal years 2018 and 2019?", + "output": "What was the change in prepaid expenses between 2018 and 2019?" + }, + { + "input": "What was the difference in the amount of prepaid expenses between the years 2018 and 2019?", + "output": "What was the change in prepaid expenses between 2018 and 2019?" + }, + { + "input": "What was the percentage difference in the variance between Software Solutions and Data and Analytics?", + "output": "What was the difference in the percent variance between Software Solutions and Data and Analytics?" + }, + { + "input": "What was the reported amount of net trade receivables in 2017?", + "output": "What were the net trade receivables as reported in 2017?" + }, + { + "input": "What was the adjustmentments for ASC 606 adoption for net computer software?", + "output": "What adjustments were made for the adoption of ASC 606 in relation to net computer software? Please provide a detailed explanation of the adjustments made for net computer software under ASC 606." + }, + { + "input": "What was the adjustmentments for ASC 606 adoption for net computer software?", + "output": "What were the adjustments made for the adoption of ASC 606 regarding net computer software?" + }, + { + "input": "In which specific years did the total value of Deferred contract costs surpass $30 million?", + "output": "Which years did Deferred contract costs exceed $30 million?" + }, + { + "input": "What was the change in cash equivalents between 2018 and 2019?", + "output": "What was the difference in the amount of cash equivalents reported for the years 2018 and 2019?" + }, + { + "input": "What was the change in cash equivalents between 2018 and 2019?", + "output": "What was the difference in the amount of cash equivalents held between the year 2018 and the year 2019?" + }, + { + "input": "What was the change in Cash between 2018 and 2019?", + "output": "What was the difference in the Cash amount reported in the financial statements of the company between the years 2018 and 2019?" + }, + { + "input": "What was the amount of Equity method investments in 2019?", + "output": "How much money was invested through the equity method in 2019?" + }, + { + "input": "Which years does the table provide information for the EBITDA by segment?", + "output": "For which years does the table contain EBITDA information segmented by different categories?" + }, + { + "input": "Which years does the table provide information for the EBITDA by segment?", + "output": "For which specific years does the table provide EBITDA data segmented by different categories?" + }, + { + "input": "What was the total value of EBITDA (Earnings Before Interest, Taxes, Depreciation, and Amortization) for the year 2018?", + "output": "What was the sum of the EBITDA in 2018?" + }, + { + "input": "\"What was the specific monetary balance amount for Software Solutions in the year 2017?\"", + "output": "What was the balance in 2017 for Software Solutions?" + }, + { + "input": "What was the specific balance amount, in USD, for Software Solutions in the year 2017?", + "output": "What was the balance in 2017 for Software Solutions?" + }, + { + "input": "What was the specific amount of federal income tax expense incurred in the fiscal year of 2019?", + "output": "What was the current federal income tax expense in 2019?" + }, + { + "input": "Which years does the table provide information for depreciation and amortization by segment?", + "output": "For which specific periods does the table offer data regarding depreciation and amortization broken down by segment?" + }, + { + "input": "What was the value of the total assets before the implementation of ASC 606 revenue recognition standards?", + "output": "What were the total assets without the adoption of ASC 606?" + }, + { + "input": "What was the sum of all assets before the implementation of ASC 606?", + "output": "What were the total assets without the adoption of ASC 606?" + }, + { + "input": "How did the adoption of ASC 606 affect the difference between Total Assets and Total Liabilities?", + "output": "What was the difference the effect of ASC 606 Adoption between Total Assets and Total Liabilities?" + }, + { + "input": "What is the impact of ASC 606 Adoption on the difference between Total Assets and Total Liabilities?", + "output": "What was the difference the effect of ASC 606 Adoption between Total Assets and Total Liabilities?" + }, + { + "input": "What was the percentage change in cash flows from operating activities in 2019 compared to 2018?", + "output": "What was the cash flows provided by operating activities in 2019 as a percentage of the cash flow in 2018?" + }, + { + "input": "For how many consecutive years did the Net increase in cash and cash equivalents remain positive?", + "output": "How many years was the Net increase in cash and cash equivalents positive?" + }, + { + "input": "What was the EBITDA difference specifically recorded between the Software Solutions division and the Data and Analytics division?", + "output": "What was the difference in the EBITDA between Software Solutions and Data and Analytics?" + }, + { + "input": "What was the exact difference in EBITDA (earnings before interest, taxes, depreciation, and amortization) between Software Solutions and Data and Analytics?", + "output": "What was the difference in the EBITDA between Software Solutions and Data and Analytics?" + }, + { + "input": "What specific expenses were included in the category of operating expenses for Corporate and Other?", + "output": "What did operating expenses for Corporate and Other include?" + }, + { + "input": "What was the discrepancy or variance between the overall value of assets and the specific intangible asset of goodwill in the context of data and analytics?", + "output": "What was the difference between the total assets and goodwill from data and analytics?" + }, + { + "input": "What was the difference between Operating expenses and Revenues from Software Solutions?", + "output": "What differentiates Operating expenses and Revenues from Software Solutions? Please provide a detailed explanation comparing the two." + }, + { + "input": "What was the percentage change in the Net earnings margin between 2017 and 2019?", + "output": "What was the percentage difference in the Net earnings margin from 2017 to 2019?" + }, + { + "input": "What was the percentage change in the Net earnings margin between 2017 and 2019?", + "output": "What was the exact percentage difference in the net earnings margin from 2017 to 2019?" + }, + { + "input": "What was the percentage change in revenues between 2018 and 2019?", + "output": "What was the percentage increase or decrease in revenues from 2018 to 2019?" + }, + { + "input": "What was the percentage change in revenues between 2018 and 2019?", + "output": "What was the percentage difference in the amount of money earned in revenue from 2018 to 2019?" + }, + { + "input": "What were the specific prepaid expenses incurred during the year 2018?", + "output": "What were the prepaid expenses in 2018?" + }, + { + "input": "What were the specific categories of Other current assets in the financial statements for the year 2019?", + "output": "What were the Other current assets in 2019?" + }, + { + "input": "What was the change in contract assets between 2018 and 2019?", + "output": "What was the difference in the amount of contract assets from 2018 to 2019?" + }, + { + "input": "How many years did prepaid expenses exceed $40.0 million?", + "output": "For how many years was the amount of prepaid expenses higher than $40.0 million?" + }, + { + "input": "How many years did the operating margin exceed 20.0%?", + "output": "For how many years was the operating margin greater than 20.0%?" + }, + { + "input": "What was the amount of Corporate Services in 2018?", + "output": "What was the specific amount of funds allocated to Corporate Services during the year 2018?" + }, + { + "input": "What was the amount of Corporate Services in 2018?", + "output": "How much did Corporate Services amount to in the year 2018?" + }, + { + "input": "What specific factors or elements were taken into consideration when calculating the debt?", + "output": "What did the calculation for Debt include?" + }, + { + "input": "What was the difference between Total Debt and Total Interest on Debt?", + "output": "What is the distinction between the total amount of debt and the total interest incurred on that debt?" + }, + { + "input": "How many contracts with a value exceeding $100 million were made during the period of 2021-2022?", + "output": "For the period 2021-2022, how many contractual obligations exceeded $100 million?" + }, + { + "input": "What is the dollar difference between the actual cost and the estimated cost for software solutions?", + "output": "What was the dollar variance for software solutions?" + }, + { + "input": "What was the specific revenue generated from the field of Data and Analytics during the year 2017?", + "output": "What was revenue from Data and Analytics in 2017?" + }, + { + "input": "For how many consecutive years has revenue from Data and Analytics surpassed $150 million?", + "output": "How many years did revenue from Data and Analytics exceed $150 million?" + }, + { + "input": "What was the average amount of money earned between the years 2017 and 2018?", + "output": "What was the average total revenue between 2017 and 2018?" + }, + { + "input": "What was the average revenue from Corporate and Other between 2017 and 2018?", + "output": "What was the average revenue generated from the Corporate and Other category during the two-year period encompassing 2017 and 2018?" + }, + { + "input": "What was the change in purchased software between 2018 and 2019?", + "output": "What was the difference in the amount of software that was bought between the years 2018 and 2019?" + }, + { + "input": "For how many years has the internally developed software generated revenue exceeding $800 million?", + "output": "How many years did internally developed software exceed $800 million?" + }, + { + "input": "For how long did internally developed software generate revenue exceeding $800 million?", + "output": "How many years did internally developed software exceed $800 million?" + }, + { + "input": "What was the percentage change in net computer software between 2018 and 2019?", + "output": "What was the percentage increase or decrease in net computer software from 2018 to 2019?" + }, + { + "input": "How many years did Percentage of gross lease receivables exceed 2.0%?", + "output": "For how many years was the percentage of gross lease receivables above 2.0%?" + }, + { + "input": "How many years did Percentage of gross lease receivables exceed 2.0%?", + "output": "For how long has the percentage of gross lease receivables been above 2.0%?" + }, + { + "input": "What was the percentage change in Allowance for doubtful accounts between 2018 and 2019?", + "output": "What is the percentage difference in the allowance for doubtful accounts from 2018 to 2019?" + }, + { + "input": "What was the percentage change in Allowance for doubtful accounts between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the Allowance for doubtful accounts from 2018 to 2019?" + }, + { + "input": "What was the percentage change in revenue from the Europe, Middle East, and Africa (EMEA) region between 2017 and 2018?", + "output": "What was the change for revenue from EMEA between 2017 and 2018?" + }, + { + "input": "What was the percentage change in revenue from the Europe, Middle East, and Africa (EMEA) region from 2017 to 2018?", + "output": "What was the change for revenue from EMEA between 2017 and 2018?" + }, + { + "input": "Why would actual maturities differ from the contractual maturities?", + "output": "Why do the actual time periods until maturity sometimes vary from the specified contractual time periods?" + }, + { + "input": "What is the distinction in amortized cost between debt investments held for less than 1 year compared to those held for a period ranging from 1 year to 5 years?", + "output": "What was the difference between the amortized cost of debt investments that were within 1 year and after 1 year through 5 years?" + }, + { + "input": "What was the total amount of money allocated to the gradual write-off of acquired intangible assets throughout the year 2018?", + "output": "What was the total amortization of purchased intangible assets in 2018?" + }, + { + "input": "What was the difference in the variance in dollars between Available-for-sale debt investments and net Other gains (losses)?", + "output": "What was the variance in dollars between the variance in Available-for-sale debt investments and the variance in net Other gains (losses)?" + }, + { + "input": "What was the percentage change in the net other gains (losses) between 2017 and 2018?", + "output": "What was the percent change in the net amount of other gains (losses) from 2017 to 2018?" + }, + { + "input": "What were the dividends in 2018?", + "output": "What were the dividend payments made in the year 2018?" + }, + { + "input": "What were the dividends in 2018?", + "output": "What was the total amount of dividends paid out in the year 2018?" + }, + { + "input": "What units are being utilized in the table and what purpose do they serve in the given context?", + "output": "What are the units used in the table?" + }, + { + "input": "What was the difference in the balance at the start of the fiscal year in 2017 compared to 2018?", + "output": "What was the change in Balance at beginning of fiscal year between 2017 and 2018?" + }, + { + "input": "What was the difference in the balance at the start of the fiscal year from 2017 to 2018?", + "output": "What was the change in Balance at beginning of fiscal year between 2017 and 2018?" + }, + { + "input": "How does the company typically recommend analyzing their liquidity and capital resources for future periods?", + "output": "How does the company believe that their liquidity and capital resources in future periods should be analyzed?" + }, + { + "input": "What differentiates operating leases with durations of less than 1 year from those lasting 1 to 3 years?", + "output": "What was the difference in operating leases between those that were less than 1 year and 1 to 3 years?" + }, + { + "input": "How did the characteristics of operating leases differ between those with a duration of less than 1 year and those lasting from 1 to 3 years?", + "output": "What was the difference in operating leases between those that were less than 1 year and 1 to 3 years?" + }, + { + "input": "What percentage of the total contractual obligations is represented by the senior notes?", + "output": "What was the total senior notes as a percentage of total contractual obligations?" + }, + { + "input": "What is the period that has the greatest Operating leases?", + "output": "What is the time frame during which Operating leases are most prevalent?" + }, + { + "input": "How does the company manage and minimize the potential financial loss related to credit risk in relation to derivatives?", + "output": "How does the company mitigate credit risk associated with derivatives?" + }, + { + "input": "Which years does the table provide information for the company's outstanding derivatives?", + "output": "For which specific years does the table contain information regarding the outstanding derivatives of the company?" + }, + { + "input": "Which years does the table provide information for the company's outstanding derivatives?", + "output": "For which specific years does the table present information about the company's exceptional derivatives?" + }, + { + "input": "What was the change in the Net investment hedging instruments between 2018 and 2019?", + "output": "What was the difference in the amount of net investment hedging instruments between 2018 and 2019?" + }, + { + "input": "What was the change in the Net investment hedging instruments between 2018 and 2019?", + "output": "What was the difference in the amount of Net investment hedging instruments between 2018 and 2019?" + }, + { + "input": "What was the percentage change in the total amount of outstanding derivatives between 2018 and 2019?", + "output": "What was the percentage difference in the total value of outstanding derivatives from 2018 to 2019?" + }, + { + "input": "How much was the total amount spent on Purchased Considerations specifically for BroadSoft?", + "output": "What was the amount of Purchased Considerations for BroadSoft?" + }, + { + "input": "What were the differences in terms of Purchase Consideration specifically between Springpath and Broadsoft? Please provide additional details and insights to help understand this comparison better.", + "output": "What was the difference in Purchase Consideration between Springpath and Broadsoft?" + }, + { + "input": "What was the specific variance in terms of Purchase Consideration when comparing Springpath and Broadsoft?", + "output": "What was the difference in Purchase Consideration between Springpath and Broadsoft?" + }, + { + "input": "What was the amount of unearned income specifically derived from lease receivables in the year 2019?", + "output": "What was unearned income from lease receivables in 2019?" + }, + { + "input": "\"What was the amount of unearned income generated specifically from lease receivables during the year 2019?\"", + "output": "What was unearned income from lease receivables in 2019?" + }, + { + "input": "What was the difference in the reported total between current and noncurrent financing receivables?", + "output": "How much greater or lesser was the total reported amount of financing receivables between current and noncurrent categories?" + }, + { + "input": "What were the inclusions of foreign exchange transactions and other related activities?", + "output": "What did foreign exchange and other include?" + }, + { + "input": "What was the difference, expressed as a percentage, in the balance of financing receivables at the end of fiscal year 2018 compared to the balance at the end of fiscal year 2019?", + "output": "What was the percentage change in the balance at the end of fiscal year for financing receivables between 2018 and 2019?" + }, + { + "input": "What percentage increase or decrease occurred in the balance of financing receivables at the end of the fiscal year from 2018 to 2019?", + "output": "What was the percentage change in the balance at the end of fiscal year for financing receivables between 2018 and 2019?" + }, + { + "input": "How many years did Revenue exceed $50,000 million?", + "output": "How many consecutive years has the revenue exceeded $50,000 million?" + }, + { + "input": "How many years did Revenue exceed $50,000 million?", + "output": "For how many complete years has the revenue consistently surpassed the $50,000 million mark?" + }, + { + "input": "What is the difference in the amount of Goodwill between Duo and Luxtera and how does it impact their overall value?", + "output": "What was the difference in Goodwill between Duo and Luxtera?" + }, + { + "input": "What were the variations in the level of Goodwill between Duo and Luxtera?", + "output": "What was the difference in Goodwill between Duo and Luxtera?" + }, + { + "input": "What was the discrepancy in the value of purchased intangible assets between Luxtera and other companies?", + "output": "What was the difference in Purchased intangible assets between Luxtera and Others?" + }, + { + "input": "What were the variations in the value of purchased intangible assets specifically between Luxtera and other companies/entities?", + "output": "What was the difference in Purchased intangible assets between Luxtera and Others?" + }, + { + "input": "What is the acquisition with the highest Purchase Consideration?", + "output": "What is the highest purchase consideration acquisition?" + }, + { + "input": "What was the total value of technology products purchased before accounting for any deductions or expenses?", + "output": "What was the amount of gross purchased technology?" + }, + { + "input": "What is the net value difference between Technology and Customer relationships?", + "output": "What was the difference in the net values between Technology and Customer relationships?" + }, + { + "input": "What was the numerical difference in the net values specifically attributed to Technology and Customer relationships in relation to a certain context?", + "output": "What was the difference in the net values between Technology and Customer relationships?" + }, + { + "input": "Which years does the table provide information for the company's activity related to their product warranty liability?", + "output": "For which specific years does the table display data regarding the company's product warranty liability?" + }, + { + "input": "Which years does the table provide information for the company's activity related to their product warranty liability?", + "output": "For which years does the table displayed provide information about the company's activity in terms of their product warranty liability?" + }, + { + "input": "What were the Acquisitions and divestitures in 2019?", + "output": "What were the acquisitions and divestitures that took place in the year 2019?" + }, + { + "input": "What was the difference in the amount allocated for warranty provisions issued in 2017 compared to 2018?", + "output": "What was the change in Provisions for warranties issued between 2017 and 2018?" + }, + { + "input": "What was the difference in the amount allocated for warranties issued between the years 2017 and 2018?", + "output": "What was the change in Provisions for warranties issued between 2017 and 2018?" + }, + { + "input": "For which specific years does the table offer data on cash and cash equivalents as well as investments?", + "output": "Which years does the table provide information for cash and cash equivalents and investments?" + }, + { + "input": "What was the change in the value of available-for-sale debt investments, indicating whether there was an increase or decrease?", + "output": "What was the increase (decrease) in available-for-sale debt investments?" + }, + { + "input": "In 2019, how did the distinction between cash and cash equivalents and available-for-sale debt investments manifest and how were they different from each other?", + "output": "What was the difference between cash and cash equivalents and Available-for-sale debt investments in 2019?" + }, + { + "input": "What differentiates cash and cash equivalents from available-for-sale debt investments in the financial records for the year 2019?", + "output": "What was the difference between cash and cash equivalents and Available-for-sale debt investments in 2019?" + }, + { + "input": "What was the change in Interest expense between 2017 and 2018?", + "output": "What is the difference in the amount of interest expense incurred from 2017 to 2018?" + }, + { + "input": "What was the change in Interest expense between 2017 and 2018?", + "output": "What was the difference in the amount of money paid for interest in 2017 compared to 2018?" + }, + { + "input": "What was the difference in the amount of income earned from interest between the years 2018 and 2019?", + "output": "What was the change in Interest income between 2018 and 2019?" + }, + { + "input": "What is the amount of federal net operating loss carryforwards that the company had for income tax purposes in the year 2019?", + "output": "What was the company's federal net operating loss carryforwards for income tax purposes in 2019?" + }, + { + "input": "What was the amount of the company's federal net operating loss carryforwards specifically for income tax purposes in the year 2019?", + "output": "What was the company's federal net operating loss carryforwards for income tax purposes in 2019?" + }, + { + "input": "What was the percentage change in total deferred tax assets between 2018 and 2019?", + "output": "What is the percentage increase or decrease in the total amount of deferred tax assets from 2018 to 2019?" + }, + { + "input": "What was the percentage change in total deferred tax assets between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the total amount of deferred tax assets from 2018 to 2019?" + }, + { + "input": "In fiscal year 2019, what was the total amount of net interest expense recognized by the company?", + "output": "How much net interest expense did the company recognize in fiscal year 2019?" + }, + { + "input": "How much interest expense, after deducting interest income, did the company record as a net amount during fiscal year 2019?", + "output": "How much net interest expense did the company recognize in fiscal year 2019?" + }, + { + "input": "What were the Additions for tax positions of prior years in 2019?", + "output": "What were the additions made to the tax positions of previous years in the year 2019?" + }, + { + "input": "What was the percentage change in net income between 2018 and 2019?", + "output": "What was the percentage difference in net income from 2018 to 2019 and how can it be calculated?" + }, + { + "input": "Why has the direct effect of foreign currency fluctuations on revenue not been material?", + "output": "Why has the direct impact of changes in foreign currency exchange rates on our revenue not had a significant financial effect so far? Please provide an explanation for the lack of material impact despite fluctuations in currency values." + }, + { + "input": "Why has the direct effect of foreign currency fluctuations on revenue not been material?", + "output": "Why has the impact of foreign currency fluctuations on revenue not been significant enough to have a material effect?" + }, + { + "input": "What was the difference in the fair value of forward contracts that were sold between the years 2018 and 2019?", + "output": "What was the change in the fair value of sold forward contracts between 2018 and 2019?" + }, + { + "input": "Why does the company prioritize inventory and supply chain management as a specific area of focus?", + "output": "Why is inventory and supply chain management an area of focus for the company?" + }, + { + "input": "Why does the company prioritize inventory and supply chain management as a focal point for its operations?", + "output": "Why is inventory and supply chain management an area of focus for the company?" + }, + { + "input": "What was the total sum of purchase commitments made in the year 2018?", + "output": "What were the total purchase commitments in 2018?" + }, + { + "input": "What was the change in purchase commitments that were less than 1 year between 2018 and 2019?", + "output": "What was the difference in purchase commitments of less than 1 year between 2018 and 2019?" + }, + { + "input": "What was the change in purchase commitments that were less than 1 year between 2018 and 2019?", + "output": "What was the difference in purchase commitments shorter than one year between the year 2018 and the year 2019?" + }, + { + "input": "For how long did contracts ranging from 1 to 3 years surpass a cumulative worth of $700 million?", + "output": "How many years did commitments that were 1 to 3 years exceed $700 million?" + }, + { + "input": "What was the percentage change in product revenue for the APJC region from 2017 to 2018?", + "output": "What was the change in the product revenue from APJC between 2017 and 2018?" + }, + { + "input": "What was the change in the product revenue from Americas between 2017 and 2018?", + "output": "What was the difference in the amount of revenue generated from products in the Americas region between the years 2017 and 2018?" + }, + { + "input": "What was the numerical difference in the total value of net property and equipment in International regions between the years 2017 and 2018?", + "output": "What was the change in net property and equipment from International regions between 2017 and 2018?" + }, + { + "input": "What is the percentage increase or decrease in the total net property and equipment from 2018 to 2019?", + "output": "What was the percentage change in the total net property and equipment between 2018 and 2019?" + }, + { + "input": "What was the percentage change in revenue generated from security services between 2017 and 2018?", + "output": "What was the change in revenue from security between 2017 and 2018?" + }, + { + "input": "What was the total amount paid for the shares during the period from April 28, 2019 to May 25, 2019 and May 26, 2019 to June 22, 2019?", + "output": "What was the total payment for the shares from April 28, 2019 to May 25, 2019 and from May 26, 2019 to June 22, 2019?" + }, + { + "input": "What was the total amount paid for the shares during the period from April 28, 2019 to May 25, 2019 and May 26, 2019 to June 22, 2019?", + "output": "What was the overall payment for the shares between April 28, 2019 and May 25, 2019, as well as between May 26, 2019 and June 22, 2019?" + }, + { + "input": "What was the average total amount paid for the shares during the period from April 28, 2019 to May 25, 2019 and May 26, 2019 to June 22, 2019?", + "output": "What was the average total payment for shares from April 28, 2019 to June 22, 2019, and how does it compare between the periods April 28, 2019 to May 25, 2019 and May 26, 2019 to June 22, 2019?" + }, + { + "input": "What was the difference in the balance of Americas between the years 2018 and 2019?", + "output": "What was the change in balance from Americas between 2018 and 2019?" + }, + { + "input": "What was the difference in America's balance between 2018 and 2019 and how did it change?", + "output": "What was the change in balance from Americas between 2018 and 2019?" + }, + { + "input": "Which years does the table provide information for the company's available-for-sale debt investments and equity investments?", + "output": "For which time period does the table provide data on the available-for-sale debt investments and equity investments of the company?" + }, + { + "input": "\"What were the total provisions, also known as benefits, provided in this context?", + "output": "What were the total provisions (benefits)?" + }, + { + "input": "What was the difference between total provisions (benefits) and net recoveries (write-offs)?", + "output": "What differentiates total provisions, also referred to as benefits, from net recoveries, which are write-offs?" + }, + { + "input": "What was the allowance for credit loss for financed service contracts as a percentage of total allowance for credit loss in 2018?", + "output": "In 2018, what was the proportion or ratio of the allowance for credit loss specifically assigned to financed service contracts compared to the total allowance for credit loss?" + }, + { + "input": "What was the allowance for credit loss for financed service contracts as a percentage of total allowance for credit loss in 2018?", + "output": "What was the percentage of the total allowance for credit loss in 2018 that was allocated specifically for financed service contracts?" + }, + { + "input": "What is the percentage difference in Loss from continuing operations before income tax between the years 2018 and 2019?", + "output": "What is the percentage change in the Loss from continuing operations before income tax from 2018 to 2019?" + }, + { + "input": "What is the percentage difference in the Loss from continuing operations before income tax between the years 2018 and 2019?", + "output": "What is the percentage change in the Loss from continuing operations before income tax from 2018 to 2019?" + }, + { + "input": "What is the percentage change in the income tax benefit from 2018 to 2019?", + "output": "What is the percentage difference in the income tax benefit received between 2018 and 2019?" + }, + { + "input": "In which year did the net loss for the year exceed the net loss of any other year?", + "output": "In which year is there a greater net loss for the year?" + }, + { + "input": "What does the net deferred tax liabilities include?", + "output": "What is included in the calculation of net deferred tax liabilities?" + }, + { + "input": "What is the exact percentage change in the net deferred tax liabilities from 2018 to 2019?", + "output": "What is the percentage change in the net deferred tax liabilities from 2018 to 2019?" + }, + { + "input": "What was the parent entity's current ratio in 2019?", + "output": "What is the current ratio of the parent entity in 2019?" + }, + { + "input": "What was the parent entity's current ratio in 2019? Please provide the numerical value.", + "output": "What is the current ratio of the parent entity in 2019?" + }, + { + "input": "What was the debts to assets ratio of the parent entity in the year 2018? Can you provide the specific ratio value or percentage?", + "output": "What is the debts to assets ratio of the parent entity in 2018?" + }, + { + "input": "What is the debt-to-assets ratio of the parent company for the year 2018?", + "output": "What is the debts to assets ratio of the parent entity in 2018?" + }, + { + "input": "What is the percentage change in the net cash generated or used for investing activities?", + "output": "What is the percentage change in the net cash provided from investing activities?" + }, + { + "input": "What is the change in the net cash provided from operating activities from 2018 to 2019?", + "output": "What is the difference between the net cash provided from operating activities in 2018 and 2019?" + }, + { + "input": "What is the change in the net cash provided from operating activities from 2018 to 2019?", + "output": "What is the difference in the amount of net cash provided from operating activities between 2018 and 2019?" + }, + { + "input": "What is the change in Net change in cash and cash equivalent from 2018 to 2019?", + "output": "What is the difference in the amount of cash and cash equivalents between 2018 and 2019?" + }, + { + "input": "What is the change in Net change in cash and cash equivalent from 2018 to 2019?", + "output": "What is the difference in the net change in cash and cash equivalents between the years 2018 and 2019?" + }, + { + "input": "What was the percentage increase or decrease in the value of current assets from 2018 to 2019?", + "output": "What is the percentage change in current assets from 2018 to 2019?" + }, + { + "input": "What is the current ratio in the year 2019 and what factors should be considered while determining it?", + "output": "What is the current ratio in 2019?" + }, + { + "input": "What was the debts to assets ratio for the year 2019?", + "output": "What is the debts to assets ratio in 2019?" + }, + { + "input": "\"What was the debts to assets ratio for the year 2019?\"", + "output": "What is the debts to assets ratio in 2019?" + }, + { + "input": "What is the purpose and significance of trial commissions, and how are they defined?", + "output": "What are trial commissions?" + }, + { + "input": "\"What is the purpose and definition of trial commissions?\"", + "output": "What are trial commissions?" + }, + { + "input": "\"How does the Group calculate or determine its total income or financial proceeds?\"", + "output": "How does the Group determine its revenue?" + }, + { + "input": "\"How does the Group calculate or establish its revenue? Provide details about the methods or criteria used for determining the Group's revenue.\"", + "output": "How does the Group determine its revenue?" + }, + { + "input": "What is the percentage difference in the amount of upfront fees charged from 2018 to 2019?", + "output": "What is the percentage change in upfront fees from 2018 to 2019?" + }, + { + "input": "What is the percentage difference in upfront fees between 2018 and 2019?", + "output": "What is the percentage change in upfront fees from 2018 to 2019?" + }, + { + "input": "What is the change in the Business combination reserve between 2018 and 2019?", + "output": "What is the monetary difference in the Business combination reserve from 2018 to 2019?" + }, + { + "input": "What is the percentage change in the total reserves from 2018 to 2019?", + "output": "By what percentage did the total reserves increase or decrease from 2018 to 2019?" + }, + { + "input": "What is the percentage increase or decrease in the trail commission asset comparing the values from 2018 and 2019?", + "output": "What is the percentage change in the current trail commission asset from 2018 to 2019?" + }, + { + "input": "What is the percentage change in the cash receipts from 2018 to 2019?", + "output": "What is the percentage increase or decrease in the cash receipts comparing the amounts in 2018 and 2019?" + }, + { + "input": "What are the payroll tax rates for both 2019 and 2018?", + "output": "What is the payroll tax for 2019 and 2018 respectively?" + }, + { + "input": "\"What was the amount of post-tax loss incurred from discontinued operations in the year 2019?\"", + "output": "What is the Post-tax loss of discontinued operations in 2019?" + }, + { + "input": "\"In which year did the revenue increase compared to other years?\"", + "output": "In which year is there a higher revenue?" + }, + { + "input": "In which specific year did the revenue increase, resulting in a higher amount compared to previous years?", + "output": "In which year is there a higher revenue?" + }, + { + "input": "What is the percentage difference in the amount of lease liabilities between 2018 and 2019?", + "output": "What is the percentage change in the current lease liabilities from 2018 to 2019?" + }, + { + "input": "What is the exact percentage difference in the lease liabilities as of 2018 compared to 2019?", + "output": "What is the percentage change in the current lease liabilities from 2018 to 2019?" + }, + { + "input": "What method does the Company use to determine and calculate the amount for its provision?", + "output": "How does the Company calculate its provision?" + }, + { + "input": "How does the Company determine the amount of money set aside for provisions and what factors are taken into consideration during the calculation process?", + "output": "How does the Company calculate its provision?" + }, + { + "input": "What is the percentage change in the contract assets from 2018 to 2019?", + "output": "What is the percentage change in the value of the contract assets from the year 2018 to the year 2019?" + }, + { + "input": "In which year does the number of outstanding shares have a higher value at the start of the period as compared to other years?", + "output": "In which year is the number of outstanding shares at the beginning of the period higher?" + }, + { + "input": "What is the pre-tax discount rate that was utilized to determine the value of projected cash flows for the year 2019?", + "output": "What is the pre-tax discount rate applied to cash flow projections in 2019?" + }, + { + "input": "What was the pre-tax discount rate used to calculate cash flow projections in 2019?", + "output": "What is the pre-tax discount rate applied to cash flow projections in 2019?" + }, + { + "input": "In which year is the health CGU higher?", + "output": "\"In which specific year does the health Comprehensive Grand Unit (CGU) exhibit a higher value compared to other years?\"" + }, + { + "input": "In which year is the car CGU higher?", + "output": "\"In which specific year does the car CGU (Car Gross Utilization) exhibit a higher value compared to other years? Please provide the year.\"" + }, + { + "input": "What is the post-employment benefits in 2018?", + "output": "What were the post-employment benefits in 2018, and can you provide more details about them?" + }, + { + "input": "What were the share-based payment transactions and their impact in 2019?", + "output": "What is the share-based payments in 2019?" + }, + { + "input": "What were the share-based payments in 2019 and could you provide further details on this topic?", + "output": "What is the share-based payments in 2019?" + }, + { + "input": "What is the percentage change in the post-employment benefits from 2018 to 2019?", + "output": "What is the percentage difference in post-employment benefits between the years 2018 and 2019?" + }, + { + "input": "What specific expenses or expenditure categories are included in the unallocated corporate costs for the current year?", + "output": "What do the unalloacated corporate costs include in the current year?" + }, + { + "input": "What is the exact percentage change in revenue in Australia from the year 2018 to the year 2019?", + "output": "What is the percentage change in the revenue in Australia from 2018 to 2019?" + }, + { + "input": "What is the revenue percentage change experienced in Asia between 2018 and 2019?", + "output": "What is the percentage change in the revenue in Asia from 2018 to 2019?" + }, + { + "input": "What was the percentage increase or decrease in revenue in the Asian region from 2018 to 2019?", + "output": "What is the percentage change in the revenue in Asia from 2018 to 2019?" + }, + { + "input": "What was the total number of outstanding stock options for VMware in 2017?", + "output": "What was the outstanding number of shares for VMware stock options in 2017?" + }, + { + "input": "What was the total number of shares allotted for VMware stock options in the year 2017?", + "output": "What was the outstanding number of shares for VMware stock options in 2017?" + }, + { + "input": "What was the number of granted shares from Pivotal Stock Options in 2018?", + "output": "\"How many shares were granted by Pivotal Stock Options during the year 2018?\"" + }, + { + "input": "For how long did the Weighted-Average Exercise Price (per share) for VMware stock options remain above $60.00?", + "output": "How many years did the outstanding Weighted-Average Exercise Price (per share) for VMware stock options exceed $60.00?" + }, + { + "input": "What was the difference in the overall amount of money earned by the company in 2018 compared to 2019?", + "output": "What was the change in total revenue between 2018 and 2019?" + }, + { + "input": "What was the difference in total revenue between the years 2018 and 2019?", + "output": "What was the change in total revenue between 2018 and 2019?" + }, + { + "input": "How many years did total revenue exceed $500 million?", + "output": "For how many consecutive years has the total revenue been greater than $500 million?" + }, + { + "input": "What was the percentage change in net income between 2019 and 2020?", + "output": "What was the percentage difference in net income from 2019 to 2020, and how can we calculate it accurately?" + }, + { + "input": "\"What was the variation in the increase in goodwill associated with mergers and acquisitions from 2019 to 2020?\"", + "output": "What was the change in the Increase in goodwill related to business combinations between 2019 and 2020?" + }, + { + "input": "What was the difference in balance at the start of 2019 and 2020?", + "output": "What was the change in balance at the beginning of the year between 2019 and 2020?" + }, + { + "input": "What was the difference in balance at the beginning of 2019 and 2020?", + "output": "What was the change in balance at the beginning of the year between 2019 and 2020?" + }, + { + "input": "What did the Senior Notes consists of?", + "output": "What were the contents or components of the Senior Notes?" + }, + { + "input": "What was the difference between total Senior Notes and total Notes payable to Dell?", + "output": "What is the distinction between the combined value of Senior Notes and the combined value of Notes payable to Dell?" + }, + { + "input": "What differentiates the total amount of Term Loans from the total amount of Future Lease Commitments?", + "output": "What was the difference between total Term Loans and total Future Lease Commitments?" + }, + { + "input": "What differentiates the total amount of Term Loans from the total value of Future Lease Commitments? Elaborate on the distinctions between these two financial concepts.", + "output": "What was the difference between total Term Loans and total Future Lease Commitments?" + }, + { + "input": "Which specific time periods are covered in the table containing data on long-lived assets categorized by geographic area? These assets primarily consist of net property and equipment.", + "output": "Which years does the table include information for long-lived assets by geographic area, which primarily include property and equipment, net?" + }, + { + "input": "How long has the outstanding balance owed to related parties been surpassing $100 million?", + "output": "How many years did current amounts due to related parties exceed $100 million?" + }, + { + "input": "What was the cumulative amount of sales invoices acknowledged and recorded as revenue throughout the entire fiscal year of 2020?", + "output": "What was the total billings recognized during the year ended 2020?" + }, + { + "input": "\"What was the exact amount of billings that were recorded and acknowledged as revenue throughout the entirety of the year that concluded in 2020?\"", + "output": "What was the total billings recognized during the year ended 2020?" + }, + { + "input": "What was the change in Unearned software maintenance revenue between 2019 and 2020?", + "output": "\"What was the difference in Unearned software maintenance revenue from 2019 to 2020 and how did it change?\"" + }, + { + "input": "What was the change in Unearned software maintenance revenue between 2019 and 2020?", + "output": "What was the difference in Unearned software maintenance revenue from 2019 to 2020?" + }, + { + "input": "What is the percentage of unearned revenue in the total revenue for the years 2019 and 2020?", + "output": "What was the percentage of total unearned revenue between 2019 and 2020?" + }, + { + "input": "\"What was the percentage of unearned revenue as a proportion of the total revenue generated in the years 2019 and 2020?\"", + "output": "What was the percentage of total unearned revenue between 2019 and 2020?" + }, + { + "input": "What was the average price per share in 2018, taking into account the weight assigned to each share?", + "output": "What was the Weighted-average price per share in 2018?" + }, + { + "input": "For how many years did the repurchase of Class A common stock surpass a cumulative value of $10,000 million?", + "output": "How many years did Class A common stock repurchased exceed $10,000 million?" + }, + { + "input": "For how many years did the repurchase of Class A common stock amount to more than $10 billion?", + "output": "How many years did Class A common stock repurchased exceed $10,000 million?" + }, + { + "input": "For which years does the table provide details regarding the exclusion of weighted-average common share equivalents of Class A common stock from the calculations of diluted net income per share?", + "output": "Which years does the table provide information for the weighted-average common share equivalents of Class A common stock that were excluded from the diluted net income per share calculations?" + }, + { + "input": "What were the employee stock options for the year 2019?", + "output": "What was the Employee stock options in 2019?" + }, + { + "input": "What were the employee stock options offered in 2019?", + "output": "What was the Employee stock options in 2019?" + }, + { + "input": "How does Dell engage in the procurement of products and services from other companies?", + "output": "How does Dell purchase products and services from the company?" + }, + { + "input": "What was the percentage change in the internal-use revenue between 2019 and 2020?", + "output": "What is the percentage difference in internal-use revenue from 2019 to 2020?" + }, + { + "input": "Which years does the table provide information for accrued expenses and other?", + "output": "For which specific years does the provided table offer information related to accrued expenses and other similar items?" + }, + { + "input": "Which years does the table provide information for accrued expenses and other?", + "output": "For which specific years does the table contain data regarding accrued expenses and other items?" + }, + { + "input": "What was the difference in the total amount of expenses that accumulated over time between the years 2019 and 2020?", + "output": "What was the change in the total accrued expenses between 2019 and 2020?" + }, + { + "input": "What is the difference in the total amount of expenses that accumulated over time between 2019 and 2020?", + "output": "What was the change in the total accrued expenses between 2019 and 2020?" + }, + { + "input": "In 2019, what were the specific support and administrative costs incurred by Dell's subsidiary?", + "output": "What was the Dell subsidiary support and administrative costs in 2019?" + }, + { + "input": "What was the change in Purchases and leases of products and purchases of services between 2018 and 2019?", + "output": "What was the difference in the amount spent on purchasing and leasing products as well as purchasing services from 2018 to 2019?" + }, + { + "input": "What was the change in Purchases and leases of products and purchases of services between 2018 and 2019?", + "output": "What was the difference in the amount spent on purchasing and leasing products and purchasing services from 2018 to 2019?" + }, + { + "input": "For how many consecutive years did Dell subsidiary incur support and administrative costs exceeding $200 million?", + "output": "How many years did Dell subsidiary support and administrative costs exceed $200 million?" + }, + { + "input": "What was the percentage change in the Dell subsidiary support and administrative costs between 2019 and 2020?", + "output": "What percentage increase or decrease was observed in the support and administrative costs of Dell's subsidiary from 2019 to 2020?" + }, + { + "input": "What was the significance or meaning of the aggregate intrinsic value?", + "output": "What did the aggregate intrinsic value represent?" + }, + { + "input": "What differentiates outstanding options that are both exercisable and vested as well as expected to vest?", + "output": "What was the difference between outstanding options that were exercisable and vested and expected to vest?" + }, + { + "input": "What was the specific amount allocated for the federal income tax provision in the year 2019?", + "output": "What was the current federal income tax provision in 2019?" + }, + { + "input": "What was the specific provision for federal income tax in 2019?", + "output": "What was the current federal income tax provision in 2019?" + }, + { + "input": "What was the change in the current federal income tax provision between 2018 and 2019?", + "output": "What was the difference in the amount allocated for federal income tax in 2018 compared to 2019?" + }, + { + "input": "What was the percentage change in the Total income tax provision between 2018 and 2019?", + "output": "What was the precise percentage increase or decrease in the Total income tax provision from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the Total income tax provision between 2018 and 2019?", + "output": "What is the percentage difference in the Total income tax provision from 2018 to 2019?" + }, + { + "input": "What was the specific monetary value of Restricted cash categorized under other current assets in the financial records for the year 2019?", + "output": "What was the amount of Restricted cash within other current assets in 2019?" + }, + { + "input": "What were the specific additions made to tax positions related to the current year of 2020 in the field of taxation?", + "output": "What were the additions to tax positions related to current year in 2020?" + }, + { + "input": "What categories are encompassed within the scope of purchases and leases of products, and what does this also include in terms of purchases?", + "output": "What did Purchases and leases of products and purchases of services include?" + }, + { + "input": "What was the change in Purchases and leases of products and purchases of services between 2018 and 2019?", + "output": "What was the year-on-year difference in the amounts spent on purchasing and leasing products and purchasing services between 2018 and 2019?" + }, + { + "input": "What was the change in Purchases and leases of products and purchases of services between 2018 and 2019?", + "output": "What was the difference in the amount spent on purchasing and leasing products, as well as purchasing services, from 2018 to 2019?" + }, + { + "input": "For how long did the subsidiary of Dell exceed $150 million in annual support and administrative costs?", + "output": "How many years did Dell subsidiary support and administrative costs exceed $150 million?" + }, + { + "input": "What specific expenses or liabilities are encompassed within the current balances owed to affiliated individuals or entities?", + "output": "What did the current amounts due to related parties include?" + }, + { + "input": "What specific items or transactions are included in the present outstanding balances owed to related parties?", + "output": "What did the current amounts due to related parties include?" + }, + { + "input": "For how long has the current outstanding amount owed by related parties been over $1,000 million?", + "output": "How many years did current amount due from related parties exceed $1,000 million?" + }, + { + "input": "For how long has the present outstanding balance owed by affiliated organizations been over $1,000 million?", + "output": "How many years did current amount due from related parties exceed $1,000 million?" + }, + { + "input": "What was the percentage increase or decrease in the net current amount due from related parties from 2019 to 2020?", + "output": "What was the percentage change in the net current amount due from related parities between 2019 and 2020?" + }, + { + "input": "What was the change in Additions to intangible assets between 2019 and 2020?", + "output": "What was the difference in the amount of intangible assets added between the years 2019 and 2020?" + }, + { + "input": "What is the total amount of lease liabilities for operating leases recorded on the current financial statements?", + "output": "What were the current lease liabilities for operating leases?" + }, + { + "input": "What is the total amount of lease liabilities for operating leases as of the present moment?", + "output": "What were the current lease liabilities for operating leases?" + }, + { + "input": "How many lease liabilities for operating leases exceeded $500 million?", + "output": "How many operating lease liabilities were there that exceeded $500 million in amount?" + }, + { + "input": "What differentiates current lease liabilities from non-current lease liabilities in the context of operating leases?", + "output": "What was the difference between current and non-current lease liabilities for operating leases?" + }, + { + "input": "What differentiates current lease liabilities from non-current lease liabilities for operating leases?", + "output": "What was the difference between current and non-current lease liabilities for operating leases?" + }, + { + "input": "What was the discrepancy in the aggregate lease obligations between operating leases and finance leases?", + "output": "What was the difference in total lease liabilities between operating leases and finance leases?" + }, + { + "input": "Which years does the table provide information for unearned revenue?", + "output": "For which specific years does the table contain information regarding unearned revenue?" + }, + { + "input": "Which years does the table provide information for unearned revenue?", + "output": "\"For which specific years does the table provide data on unearned revenue?\"" + }, + { + "input": "What was the percentage change in Unearned subscription and SaaS revenue from 2019 to 2020?", + "output": "What was the change in Unearned subscription and SaaS revenue between 2019 and 2020?" + }, + { + "input": "What was the foreign income in 2018?", + "output": "What was the total amount of income received from foreign sources during the year 2018?" + }, + { + "input": "What is the percentage difference in the total income prior to income tax between the years 2019 and 2020?", + "output": "What was the percentage change in the total income before income tax between 2019 and 2020?" + }, + { + "input": "What was the total value of construction projects underway in 2020 globally or within a specific country/region?", + "output": "What was the amount of construction in progress in 2020?" + }, + { + "input": "What was the difference in the total value of property and equipment from 2019 to 2020?", + "output": "What was the change in Total property and equipment between 2019 and 2020?" + }, + { + "input": "What was the change in the Unrealized losses on available-for-sale securities between 2017 and 2018?", + "output": "What was the difference in the amount of Unrealized losses on available-for-sale securities from 2017 to 2018?" + }, + { + "input": "What was the percentage change in the Reclassification of realized transactions, net of taxes between 2018 and 2019?", + "output": "What percentage represents the difference in the Reclassification of realized transactions, net of taxes between the years 2018 and 2019?" + }, + { + "input": "What impact did the alteration in the balance of net accounts receivable have on the financial situation?", + "output": "What was the effect of change in the net accounts receivable?" + }, + { + "input": "What is the ratio of long-term deferred tax liability to accrued liabilities?", + "output": "What was the Long-term deferred tax liability as a ratio of Accrued liabilities?" + }, + { + "input": "How did the Other interest expense change between the years 2017 and 2018?", + "output": "What was the change in Other interest expense between 2017 and 2018?" + }, + { + "input": "What was the difference between the reported net sales and the reported cost of sales in terms of amount?", + "output": "What was the difference in amount as reported between net sales and cost of sales?" + }, + { + "input": "What was the difference between Net income from continuing operations and Income before income taxes?", + "output": "What is the distinction between net income from continuing operations and income before income taxes? Please provide a comprehensive response, retaining all the details provided in the original question. Keep the question brief, succinct, and in the same language as the original." + }, + { + "input": "What was the impact of stock options and RSUs on dilution in 2019?", + "output": "What was the Dilutive effect of stock options and RSUs in 2019?" + }, + { + "input": "How many consecutive years did the balance at the end of each year surpass $2 million?", + "output": "How many years did the balance at end of the year exceed $2 million?" + }, + { + "input": "For how many years was the balance at the end of each year above $2 million?", + "output": "How many years did the balance at end of the year exceed $2 million?" + }, + { + "input": "How many years did Intercompany prepaid tax asset amortization exceed $7 million?", + "output": "For how many years was the amortization of Intercompany prepaid tax asset greater than $7 million?" + }, + { + "input": "What was the service cost in 2018?", + "output": "What was the cost of the service provided in 2018?" + }, + { + "input": "What was the service cost in 2018?", + "output": "What was the cost of the service in the year 2018 specifically?" + }, + { + "input": "What was the total amount of interest incurred in the year 2019?", + "output": "What was the interest cost in 2019?" + }, + { + "input": "What was the total expense incurred as interest in the year 2019?", + "output": "What was the interest cost in 2019?" + }, + { + "input": "What was the percentage difference in the Discount rate from 2018 to 2019?", + "output": "What was the change in the Discount rate between 2018 and 2019?" + }, + { + "input": "What was the specific difference in the Discount rate from the year 2018 to the year 2019?", + "output": "What was the change in the Discount rate between 2018 and 2019?" + }, + { + "input": "Why could the sums fail to equal the overall total?", + "output": "Why might amounts may not add to the total?" + }, + { + "input": "\"What was the numerical distinction between the total amount obtained from sales after deducting all applicable costs, and the total revenue generated from sales before deducting any expenses or costs?\"", + "output": "What was the difference between the total net sales and gross profit?" + }, + { + "input": "What is the calculated percentage change in the operating income from the third quarter to the fourth quarter?", + "output": "What was the percentage change in the Operating income between the third and fourth quarter?" + }, + { + "input": "What was the change in the cost of sales between 2017 and 2018?", + "output": "How much did the cost of sales change from 2017 to 2018?" + }, + { + "input": "What was the percentage change in the Net deferred tax asset between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the amount of Net deferred tax asset from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the Net deferred tax asset between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the Net deferred tax asset from 2018 to 2019?" + }, + { + "input": "What is the percentage difference in the total balance from 2018 to 2019? Calculate using the formula for percentage change.", + "output": "What was the percentage change in the total balance between 2018 and 2019?" + }, + { + "input": "What was the percentage increase or decrease in the total balance from 2018 to 2019?", + "output": "What was the percentage change in the total balance between 2018 and 2019?" + }, + { + "input": "For how long, in terms of number of years, has the cost of sales exceeded 40% of net sales?", + "output": "How many years did cost of sales of net sales exceed 40%?" + }, + { + "input": "What is the percentage increase or decrease in operating income as a proportion of net sales from 2018 to 2019?", + "output": "What was the percentage change in operating income of net sales between 2018 and 2019?" + }, + { + "input": "What was the exact percentage increase or decrease in operating income of net sales from 2018 to 2019?", + "output": "What was the percentage change in operating income of net sales between 2018 and 2019?" + }, + { + "input": "How many years have there been increases in tax positions related to the current year that exceeded $30 million?", + "output": "How many years did Increases related to current year tax positions exceed $30 million?" + }, + { + "input": "What was the percentage change in the Ending balance between 2018 and 2019?", + "output": "What was the percentage difference in the Ending balance from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the Ending balance between 2018 and 2019?", + "output": "What is the percent increase or decrease in the Ending balance from 2018 to 2019?" + }, + { + "input": "According to what were the plan benefits provided, and to what were they in accordance with?", + "output": "What were plan benefits provided in accordance with?" + }, + { + "input": "In accordance with what, were the plan benefits provided? Can you expand on the specific benefits mentioned in the plan?", + "output": "What were plan benefits provided in accordance with?" + }, + { + "input": "What were the total service costs incurred during the year 2018?", + "output": "What were the service costs in 2018?" + }, + { + "input": "What were the specific costs associated with services provided in 2018?", + "output": "What were the service costs in 2018?" + }, + { + "input": "What were the total interest expenses incurred in the year 2017?", + "output": "What were the interest costs in 2017?" + }, + { + "input": "What was the total amount spent on interest expenses in the year 2017?", + "output": "What were the interest costs in 2017?" + }, + { + "input": "What was the difference in the amount of Amortization of actuarial loss between 2018 and 2019?", + "output": "What was the change in the Amortization of actuarial loss between 2018 and 2019?" + }, + { + "input": "What was the difference in the amount allocated for the gradual reduction of actuarial loss in the financial statements between the years 2018 and 2019?", + "output": "What was the change in the Amortization of actuarial loss between 2018 and 2019?" + }, + { + "input": "What was the percentage change in the net pension period cost between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the net pension period cost from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the net pension period cost between 2018 and 2019?", + "output": "What was the percentage difference in the net pension period cost from 2018 to 2019?" + }, + { + "input": "How was the lower of cost and net realizable value determined as the valuation method for inventories? Please provide a detailed explanation of the process.", + "output": "How were inventories valued at the lower of cost and net realizable value?" + }, + { + "input": "What was the quantity or volume of raw materials used in the year 2018?", + "output": "What was the amount of raw materials in 2018?" + }, + { + "input": "For how long has the value of Finished goods remained above $200 million?", + "output": "How many years did the amount of Finished goods exceed $200 million?" + }, + { + "input": "What was the total value of both Core and developed technology assets combined?", + "output": "What was the gross amount of Core and developed technology assets?" + }, + { + "input": "What was the value assigned to each share granted on a specific date at March 31, 2017, taking into account their respective weights?", + "output": "What was the Weighted Average Grant Date Fair Value for nonvested shares at March 31, 2017?" + }, + { + "input": "What was the percentage increase or decrease in the number of shares that have not yet vested from 2018 to 2019?", + "output": "What was the percentage change in the number of nonvested shares between 2018 and 2019?" + }, + { + "input": "What was the cumulative intrinsic value of options and stock appreciation rights (SARs) exercised throughout the fiscal years ending on March 31, 2019?", + "output": "What was the total intrinsic value of options and SARs exercised during the years ended March 31, 2019?" + }, + { + "input": "In 2019, how many options and SAR (stock appreciation rights) shares were available for exercise?", + "output": "What was the number of option and SAR shares exercisable in 2019?" + }, + { + "input": "Which years does the table provide the number of outstanding shares for?", + "output": "Which specific years are mentioned in the table that provides the information regarding the number of outstanding shares?" + }, + { + "input": "What was the difference in the Weighted Average Exercise Price per Share for outstanding shares between the years 2017 and 2018?", + "output": "What was the change in the Weighted Average Exercise Price per Share for outstanding shares between 2017 and 2018?" + }, + { + "input": "\"What was the calculated percentage difference in the quantity of outstanding shares from 2018 to 2019?\"", + "output": "What was the percentage change in the number of outstanding shares between 2018 and 2019?" + }, + { + "input": "For which specific years does the table provide information on Identifiable long-lived assets (property, plant, and equipment net of accumulated amortization) within different geographic areas?", + "output": "Which years does the table provide information for Identifiable long-lived assets (consisting of property, plant and equipment net of accumulated amortization) by geographic area?" + }, + { + "input": "Which geographic areas are included in the table that provides information on identifiable long-lived assets, specifically property, plant, and equipment (net of accumulated amortization) for different years?", + "output": "Which years does the table provide information for Identifiable long-lived assets (consisting of property, plant and equipment net of accumulated amortization) by geographic area?" + }, + { + "input": "What was the total value of assets held in different countries during the year 2019?", + "output": "What was the amount of assets in Various other countries in 2019?" + }, + { + "input": "What was the total value of assets in various countries in 2019?", + "output": "What was the amount of assets in Various other countries in 2019?" + }, + { + "input": "What percentage increase or decrease occurred in the total value of long-lived assets from 2018 to 2019?", + "output": "What was the percentage change in total long-lived assets between 2018 and 2019?" + }, + { + "input": "What was the change in the Deferred expense for State between 2018 and 2019?", + "output": "What is the difference in the amount of Deferred expense for the State from 2018 to 2019?" + }, + { + "input": "What was the change in the Deferred expense for State between 2018 and 2019?", + "output": "What was the difference in the amount of Deferred expense for State between the years 2018 and 2019?" + }, + { + "input": "What is the cumulative balance of all time deposits?", + "output": "What was the total balance time deposits?" + }, + { + "input": "What is the aggregate amount of money held in time deposits at present?", + "output": "What was the total balance time deposits?" + }, + { + "input": "What was the specific balance of Inventories on April 1, 2018, as recorded in the financial records or statements?", + "output": "What was the balance of Inventories on April 1, 2018?" + }, + { + "input": "What was the adjustment made in ASC 606 for other current assets? Please provide details regarding how this adjustment affected the accounting treatment and reporting of other current assets under ASC 606.", + "output": "What was the adjustment from ASC 606 for other current assets?" + }, + { + "input": "How many liabilities had a balance on March 31, 2018 that exceeded $300 million?", + "output": "How many liabilities, as of March 31, 2018, had a balance surpassing $300 million?" + }, + { + "input": "What was the percentage change in Other assets specifically attributed to the adjustments made?", + "output": "What was the percentage change in Other assets due to the adjustments?" + }, + { + "input": "What were the net sales in 2016?", + "output": "What was the total amount of sales generated in the year 2016?" + }, + { + "input": "What was the difference in net sales from 2016 to 2017, and how can this information assist in better answering the question?", + "output": "What was the change in net sales between 2016 and 2017?" + }, + { + "input": "What was the difference in net sales revenue from 2016 to 2017?", + "output": "What was the change in net sales between 2016 and 2017?" + }, + { + "input": "Which years did assets from Thailand exceed $200 million?", + "output": "Which specific years did the total value of assets originating from Thailand surpass $200 million?" + }, + { + "input": "Which years did assets from Thailand exceed $200 million?", + "output": "In which specific years did the total value of assets originating from Thailand surpass $200 million?" + }, + { + "input": "What was the percentage change in the total long-lived assets between 2018 and 2019?", + "output": "What was the percentage difference in the total value of long-lived assets from 2018 to 2019, indicating whether it increased or decreased?" + }, + { + "input": "In which years was the total annual compensation calculated in?", + "output": "What are the specific years for which the total annual compensation was calculated?" + }, + { + "input": "Which geographic locations are taken into account for calculating the overall current tax expense as mentioned in the table?", + "output": "What are the geographic locations in the table considered when calculating the total current tax expense?" + }, + { + "input": "What is the highest recorded tax expense in Germany and in which specific year did it occur?", + "output": "In which year was the current tax expense in Germany the largest?" + }, + { + "input": "What is the highest recorded tax expense in Germany, and in which specific year was it observed?", + "output": "In which year was the current tax expense in Germany the largest?" + }, + { + "input": "What was the amount of non-current assets in APJ in 2019?", + "output": "What was the specific value of non-current assets within the Asia-Pacific-Japan (APJ) region during the year 2019?" + }, + { + "input": "During which specific years were the calculations of Non-Current Assets by Region conducted?", + "output": "In which years were the Non-Current Assets by Region calculated?" + }, + { + "input": "In which year was the amount in Rest of Americas larger?", + "output": "In what specific year did the Rest of Americas region experience a higher amount compared to previous years?" + }, + { + "input": "What was the numerical difference in the quantity of Rest of Americas in 2019 compared to 2018?", + "output": "What was the change in the amount in Rest of Americas in 2019 from 2018?" + }, + { + "input": "What was the difference in the quantity of Rest of Americas in 2019 compared to 2018?", + "output": "What was the change in the amount in Rest of Americas in 2019 from 2018?" + }, + { + "input": "How was the Total expense for the share-based payment plans of Executive Board members determined?", + "output": "How was the total expense for the share-based payment plans determined specifically for the Executive Board members?" + }, + { + "input": "During which specific years is the Total Expense for Share-Based Payment given or provided?", + "output": "In which years is the Total Expense for Share-Based Payment provided?" + }, + { + "input": "For which specific years is the Total Expense for Share-Based Payment given?", + "output": "In which years is the Total Expense for Share-Based Payment provided?" + }, + { + "input": "What is the specific value or quantity for the EMEA region in 2019?", + "output": "What is the amount for EMEA in 2019?" + }, + { + "input": "What is the amount for APJ in 2018?", + "output": "What was the total amount of APJ in the year 2018?" + }, + { + "input": "When did Germany have the highest amount?", + "output": "In which year was the amount for Germany the largest?" + }, + { + "input": "When did Germany experience its highest amount?", + "output": "In which year was the amount for Germany the largest?" + }, + { + "input": "What is the specific monetary figure spent on employee benefits in the year 2019?", + "output": "What is the amount of employee benefits expenses in 2019?" + }, + { + "input": "What was the percentage difference in the amount spent on pensions in 2019 compared to 2018?", + "output": "What was the percentage change in Pension expenses in 2019 from 2018?" + }, + { + "input": "What was the total cost of services offered in the year 2019?", + "output": "What was the Cost of services in 2019?" + }, + { + "input": "What was the specific cost of services rendered in the year 2019?", + "output": "What was the Cost of services in 2019?" + }, + { + "input": "\"When did the Cost of services reach its highest value?\"", + "output": "In which year was Cost of services largest?" + }, + { + "input": "In which specific year did the Cost of services reach its maximum value, considering all available data?", + "output": "In which year was Cost of services largest?" + }, + { + "input": "What was the change in issued capital in 2019 from 2018?", + "output": "What was the net change in the amount of issued capital between the years 2018 and 2019?" + }, + { + "input": "What was the change in issued capital in 2019 from 2018?", + "output": "What was the difference in the amount of issued capital between 2019 and 2018? How much did the issued capital change from 2018 to 2019?" + }, + { + "input": "What is the percentage of unused tax losses in 2019 that can be attributed to state tax loss carryforwards in the United States?", + "output": "How much of unused tax losses relate to U.S. state tax loss carryforwards in 2019?" + }, + { + "input": "In which year was the amount Expiring after the following year the largest?", + "output": "In what year did the highest amount of expenses expire after the subsequent year?" + }, + { + "input": "What is the meaning and scope of the rights associated with Bill McDermott?", + "output": "What do the rights for Bill McDermott refer to? " + }, + { + "input": "What specific types of entitlements are included in the table when referring to annual pension entitlements?", + "output": "What kind of entitlements are annual pension entitlements as displayed in the table?" + }, + { + "input": "Which specific years are the annual pension entitlements fully and legally secured to an individual?", + "output": "In which years are the annual pension entitlements vested?" + }, + { + "input": "What was the profit before tax in 2019?", + "output": "What was the pre-tax profit for the fiscal year of 2019?" + }, + { + "input": "What was the profit before tax in 2019?", + "output": "What was the pre-tax profit for the year 2019?" + }, + { + "input": "\"What was the specific tax rate applicable in 2018 for individuals or businesses in a particular country?\"", + "output": "What was the applicable tax rate in 2018?" + }, + { + "input": "What was the percentage change in Other in 2019 from 2018?", + "output": "What was the percentage difference in the category labeled \"Other\" between the years 2018 and 2019?" + }, + { + "input": "What market is the information specifically targeting and representing for Airtel?", + "output": "Which market does the information reflect for Airtel?" + }, + { + "input": "What is the percentage increase in the number of mobile customers for AIS over a specific period?", + "output": "What is the % growth of mobile customers for AIS?" + }, + { + "input": "Which associate had the best % growth in mobile customers?", + "output": "\"Which associate experienced the highest percentage growth in the number of mobile customers over a specific period of time?\"" + }, + { + "input": "What specific components were encompassed within the exceptional items during the fiscal year 2018?", + "output": "What was included in the exceptional items in FY2018?" + }, + { + "input": "What specific items were considered exceptional in the financial year 2018?", + "output": "What was included in the exceptional items in FY2018?" + }, + { + "input": "What was the amount of cash generated from operations after accounting for capital expenditures and operating expenses in the specified year?", + "output": "What was the free cash flow for the year?" + }, + { + "input": "What is the % change in EBITDA margin from 2018 to 2019?", + "output": "What is the percentage difference in EBITDA margin between 2018 and 2019?" + }, + { + "input": "What is the % change in EBITDA margin from 2018 to 2019?", + "output": "What is the percentage change in EBITDA margin from the year 2018 to the year 2019?" + }, + { + "input": "What is the absolute difference in net profit between 2018 and 2019?", + "output": "What is the change in net profit from 2018 to 2019 in absolute numbers?" + }, + { + "input": "What does the line item labeled as 'Others' provide information about in a given context or dataset?", + "output": "What information does the line item 'Others' relate to?" + }, + { + "input": "What is the average total amount owed in debt for the duration of the two-year period?", + "output": "What is the average gross debt across the 2 years?" + }, + { + "input": "Why does this net deferred gain balance exist?", + "output": "Why is there a net deferred gain balance?" + }, + { + "input": "What is the reason for the continued presence of a net deferred gain balance after Singtel completed the sale of its entire 100% stake in NLT to NetLink NBN Trust in July 2017?", + "output": "Why is there still a balance of net deferred gain since Singtel sold its 100% interest in NLT to NetLink NBN Trust in July 2017?" + }, + { + "input": "What was the year when the net deferred gain balance reached its peak?", + "output": "In which year was the net deferred gain balance the highest?" + }, + { + "input": "What is the subject matter or main focus mentioned in note 22?", + "output": "What is the topic of note 22?" + }, + { + "input": "What is included in the \"Others\" category in the table?", + "output": "What does the line item \"Others\" in the table encompass?" + }, + { + "input": "What is the Singtel's largest joint venture in terms of the proportion of the Group's ownership?", + "output": "Which is the largest joint venture of Singtel, in terms of the proportion of Group's ownership?" + }, + { + "input": "Do the non-audit services offered by KPMG LLP have an impact on their independence in conducting audits?", + "output": "Does the non-audit services provided by KPMG LLP affect their independence?" + }, + { + "input": "What is included in the compensation for key management personnel?", + "output": "What does key management personnel compensation comprise?" + }, + { + "input": "What is included in the compensation package for key management personnel?", + "output": "What does key management personnel compensation comprise?" + }, + { + "input": "What are the components included in directors' remuneration?", + "output": "What does directors' remuneration comprise of?" + }, + { + "input": "To what topic does the content of note 18.1 correspond?", + "output": "What is the subject matter of note 18.1?" + }, + { + "input": "What percentage of the company's derivative financial liabilities are classified as non-current liabilities disclosed in their financial statements?", + "output": "How many % of the company's derivative financial liabilities are being disclosed as non-current?" + }, + { + "input": "What is Note 21 about?", + "output": "What is the topic of note 21?" + }, + { + "input": "Can you please provide details on the terms and conditions of the advances made by the shareholders?", + "output": "What are the terms of the shareholders' advances?" + }, + { + "input": "\"What are the specific terms and conditions associated with the advances provided to shareholders?\"", + "output": "What are the terms of the shareholders' advances?" + }, + { + "input": "How many factors need to be considered when calculating the balance for subsidiaries?", + "output": "How many factors are involved in calculating the balance for subsidiaries?" + }, + { + "input": "\"What is typically included in the category of selling and administrative costs?\"", + "output": "What does selling and administrative costs include?" + }, + { + "input": "How many distinct categories of operating expenses exist?", + "output": "How many different type of operating expenses are there?" + }, + { + "input": "What is the mean value of the three highest subcategories within operating expenses for the year 2019?", + "output": "What is the average of the top 3 operating expenses subcategories in 2019?" + }, + { + "input": "What is the average value of the three highest subcategories of operating expenses in the year 2019?", + "output": "What is the average of the top 3 operating expenses subcategories in 2019?" + }, + { + "input": "What are the projected maximum future payouts for Barry Litwin and Thomas Clark under the NEO plan of 2019?", + "output": "What is the maximum estimated future payouts under the 2019 NEO plan for Barry Litwin and Thomas Clark?" + }, + { + "input": "What is the maximum estimated future payout amount under the 2019 NEO plan specifically designated for Barry Litwin and Thomas Clark?", + "output": "What is the maximum estimated future payouts under the 2019 NEO plan for Barry Litwin and Thomas Clark?" + }, + { + "input": "What are the projected highest expected future payouts under the 2019 NEO plan for both Manoj Shetty and Lawrence Reinhold?", + "output": "What is the maximum estimated future payouts under the 2019 NEO plan for Manoj Shetty and Lawrence Reinhold?" + }, + { + "input": "What are the audit fees incurred by the company in 2018 and 2019?", + "output": "What were the audit fees that the company had to pay in the years 2018 and 2019?" + }, + { + "input": "What is the percentage difference in the total amount of fees paid by the company for all other expenses between the years 2018 and 2019?", + "output": "What is the percentage change in all other fees incurred by the company between 2018 and 2019?" + }, + { + "input": "What percentage of common stock does Barry Litwin and Robert D. Rosenthal collectively own?", + "output": "What is the percent of common stock owned by Barry Litwin and Robert D. Rosenthal?" + }, + { + "input": "What is the total compensation received by Robert D. Rosenthal and Chad M. Lindbloom respectively during fiscal 2019?", + "output": "What were the individual total compensations received by Robert D. Rosenthal and Chad M. Lindbloom in fiscal year 2019?" + }, + { + "input": "What is the total compensation received by Paul S. Pearlman and Lawrence Reinhold respectively during fiscal 2019?", + "output": "What were the individual total compensations earned by Paul S. Pearlman and Lawrence Reinhold in fiscal year 2019?" + }, + { + "input": "What is the definition and significance of stock awards?", + "output": "What does stock awards refer to?" + }, + { + "input": "What are the Thomas Clark's accelerated vesting of stock options and unvested performance restricted stock units respectively?", + "output": "Can you please provide specific details about the accelerated vesting of stock options of Thomas Clark? Additionally, what are the details regarding the unvested performance restricted stock units held by Thomas Clark?" + }, + { + "input": "What is the meaning or definition of the \"other\" description in the allowance for sales return in the year 2017?", + "output": "What does the \"other\" description in allowance for sales return in 2017 refer to?" + }, + { + "input": "What is the cumulative amount of allowances for sales returns write-offs from 2017 to 2019?", + "output": "What is the total allowances for sales returns write-offs between 2017 to 2019?" + }, + { + "input": "What is the total amount of allowances accounted for sales returns and write-offs from 2017 to 2019?", + "output": "What is the total allowances for sales returns write-offs between 2017 to 2019?" + }, + { + "input": "What is the percentage difference in the allowance for deferred tax assets at the end of the period in 2018 compared to 2019?", + "output": "What is the percentage change in the allowance for deferred tax assets at the end of period between 2018 and 2019?" + }, + { + "input": "What are Manoj Shetty's respective accelerated vesting of stock options and unvested performance restricted stock units respectively?", + "output": "What is the accelerated vesting schedule for Manoj Shetty's stock options? Additionally, how many unvested performance restricted stock units does he currently have?" + }, + { + "input": "What are Manoj Shetty's respective accelerated vesting of stock options and unvested performance restricted stock units respectively?", + "output": "What is the accelerated vesting timeline for Manoj Shetty's stock options? Additionally, what is the status of his unvested performance restricted stock units?" + }, + { + "input": "What is the difference in consolidated gross profits comparing 2019 to 2018, and also 2018 to 2017?", + "output": "What is the change in consolidated gross profits between 2019 vs 2018 and 2018 vs 2017 respectively?" + }, + { + "input": "What is the total consolidated net sales in 2019 and 2018?", + "output": "What were the combined net sales for the fiscal years of 2019 and 2018?" + }, + { + "input": "What is the total consolidated net sales in 2017 and 2018", + "output": "What were the combined net sales for the years 2017 and 2018?" + }, + { + "input": "What is the total consolidated net sales in 2017 and 2018", + "output": "What were the combined net sales for 2017 and 2018?" + }, + { + "input": "What is the change in consolidated gross profit between 2017 and 2018?", + "output": "What is the difference in consolidated gross profit for the company between the years 2017 and 2018, and how does the value change during this period?" + }, + { + "input": "What is the change in consolidated gross profit between 2017 and 2018?", + "output": "What is the specific difference in consolidated gross profit when comparing the financial years of 2017 and 2018?" + }, + { + "input": "What was the percentage of the total population or total something specific (specify) from Singapore in the year 2019?", + "output": "What was the percentage of total from Singapore in 2019?" + }, + { + "input": "What was the average amount of money sent from Singapore in the years 2018 and 2019?", + "output": "What was the average amount from Singapore in 2018 and 2019?" + }, + { + "input": "What was the average amount of money, in Singapore currency, that was received from Singapore in the years 2018 and 2019 combined?", + "output": "What was the average amount from Singapore in 2018 and 2019?" + }, + { + "input": "How is the fair value of a financial instrument of a company determined and defined?", + "output": "How is the fair value of the company's financial instrument defined?" + }, + { + "input": "In what specific year did the interest rate swap fall below the threshold of 1,000 thousands?", + "output": "In which year was interest rate swap less than 1,000 thousands?" + }, + { + "input": "In which specific year did the interest rate swap fall below one million in thousands?", + "output": "In which year was interest rate swap less than 1,000 thousands?" + }, + { + "input": "What are the three levels of subjectivity and could you provide more information to assist in providing a comprehensive answer?", + "output": "What are the 3 levels of subjectivity?" + }, + { + "input": "What are the 3 distinct levels of subjectivity and how can they be described or defined?", + "output": "What are the 3 levels of subjectivity?" + }, + { + "input": "\"What were the additional features or updates introduced in the year 2019? Similarly, what were the new additions or improvements made in 2018?\"", + "output": "What were the other additions in 2019 and 2018 respectively?" + }, + { + "input": "\"What are the average number of other additions made in 2018 and 2019?\"", + "output": "What is the average other additions for 2018 and 2019?" + }, + { + "input": "\"What is the average number of non-inclusive additions made in the years 2018 and 2019 combined?\"", + "output": "What is the average other additions for 2018 and 2019?" + }, + { + "input": "In what specific year did the transfer of developed technology from IPR&D exceed an amount greater than 4,000 thousands?", + "output": "In which year was Transfers to developed technology from IPR&D greater than 4,000 thousands?" + }, + { + "input": "What were the average Selling, General, and Administrative expenses for the financial years ending on December 31, 2019 and 2018?", + "output": "What is the average Selling, general and administrative for the Years Ended December 31, 2019 to 2018?" + }, + { + "input": "\"What is the average amount spent on Selling, general and administrative expenses for the Years Ended December 31, 2019 and 2018?\"", + "output": "What is the average Selling, general and administrative for the Years Ended December 31, 2019 to 2018?" + }, + { + "input": "What was the percentage decrease in the Selling, general and administrative expenses during the year 2019?", + "output": "What was the decrease in Selling, general and administrative in 2019?" + }, + { + "input": "What was the number of shares granted in 2019?", + "output": "How many shares were awarded in the year 2019?" + }, + { + "input": "Define research and development activities.", + "output": "What are research and development activities?" + }, + { + "input": "What was the average amount spent on net revenue for the years ending on December 31, 2019 and 2018?", + "output": "What is the average Cost of net revenue, for the Years Ended December 31, 2019 to 2018?" + }, + { + "input": "What is the average Cost of net revenue for the period spanning from December 31, 2018, to December 31, 2019?", + "output": "What is the average Cost of net revenue, for the Years Ended December 31, 2019 to 2018?" + }, + { + "input": "In which year was Restructuring expense 0 thousands?", + "output": "In which specific year did the Restructuring expense amount to zero thousands (thousands referring to the unit) without any incurred costs?" + }, + { + "input": "In which year was Restructuring expense 0 thousands?", + "output": "What was the specific year when the Restructuring expense amounted to 0 thousands?" + }, + { + "input": "\"What were the transfers of developed technology from IPR&D in the years 2019 and 2018 respectively?\"", + "output": "What were the Transfers to developed technology from IPR&D in 2019 and 2018 respectively?" + }, + { + "input": "What was the change in the Transfers to developed technology from IPR&D from 2018 to 2019?", + "output": "What was the difference in the amount of transfers to developed technology from the Intangible Property, Research, and Development (IPR&D) category between the years 2018 and 2019?" + }, + { + "input": "In which year was Transfers to developed technology from IPR&D negative?", + "output": "In what specific year did Transfers to developed technology from IPR&D show a negative value?" + }, + { + "input": "What is the average Short-term restricted cash for 2018 and 2019?", + "output": "What is the average amount of Short-term restricted cash for the years 2018 and 2019?" + }, + { + "input": "What was the average Net cash provided by operating activities from December 31, 2018 to December 31, 2019?", + "output": "What is the average Net cash provided by operating activities for the year ended December 31, 2019 to 2018?" + }, + { + "input": "What is the average amount of cash generated from operating activities, received or used, for the period spanning from December 31, 2018 to December 31, 2019?", + "output": "What is the average Net cash provided by operating activities for the year ended December 31, 2019 to 2018?" + }, + { + "input": "What was the respective Net cash used in investing activities in 2019 and 2018?", + "output": "What were the net amounts of cash used in investing activities for the years 2019 and 2018 respectively?" + }, + { + "input": "What was the respective Net cash used in investing activities in 2019 and 2018?", + "output": "\"What was the amount of net cash utilized in investing activities during the years 2019 and 2018?\"" + }, + { + "input": "What was the net value of long-term debt in 2019 after deducting any related expenses or liabilities?", + "output": "What was the Net carrying amount of long-term debt in 2019?" + }, + { + "input": "What was the specific amount of long-term debt after deducting all necessary expenses from the total amount in 2018?", + "output": "What was the Net carrying amount of long-term debt in 2018?" + }, + { + "input": "What was the specific amount of long-term debt, after deducting any reductions or write-offs, recorded on the financial statements for the year 2018?", + "output": "What was the Net carrying amount of long-term debt in 2018?" + }, + { + "input": "What is the mean value of the unamortized debt discount for the fiscal years 2018 and 2019?", + "output": "What is the average Unamortized debt discount for 2018 and 2019?" + }, + { + "input": "When was the year when the net carrying amount of long-term debt was less than 210,000 thousands?", + "output": "In which year was Net carrying amount of long-term debt less than 210,000 thousands?" + }, + { + "input": "What is the average working capital for the period from December 31, 2018 to December 31, 2019?", + "output": "What is the average Working capital for December 31, 2019 to 2018?" + }, + { + "input": "What is the average Cash and cash equivalents for December 31, 2019 to 2018?", + "output": "What is the average amount of Cash and cash equivalents for the period from December 31, 2018 to December 31, 2019?" + }, + { + "input": "What is the average Cash and cash equivalents for December 31, 2019 to 2018?", + "output": "What is the average amount of Cash and cash equivalents as of December 31 for the years 2019 and 2018 combined?" + }, + { + "input": "What is the eligibility of Performance-based restricted stock to vest?", + "output": "What criteria must be met for Performance-based restricted stock to become vested and eligible for acquisition?" + }, + { + "input": "What were the adjustments in 2018?", + "output": "\"What specific adjustments, if any, occurred during the year 2018?\"" + }, + { + "input": "When was the year when the ending balance fell below $240,000,000?", + "output": "In which year was the ending balance less than 240,000 thousands?" + }, + { + "input": "What was the total amount of expenses incurred during the period from January 1 to December 31, 2018, after accounting for all deductions and offsets?", + "output": "What was the net expense in the year ended December 31, 2018?" + }, + { + "input": "What was the total amount of expenditures for the financial year that concluded on December 31, 2018?", + "output": "What was the net expense in the year ended December 31, 2018?" + }, + { + "input": "What was the total amount of expenses incurred during the period from January 1 to December 31, 2019?", + "output": "What was the net expense in the year ended December 31, 2019?" + }, + { + "input": "What was the total expenditure for the period that concluded on December 31, 2019?", + "output": "What was the net expense in the year ended December 31, 2019?" + }, + { + "input": "What was the percentage increase in the cost of services in 2019?", + "output": "How much did Cost of services increase in 2019?" + }, + { + "input": "What was the percentage increase in the cost of services in the year 2019 compared to the previous year?", + "output": "How much did Cost of services increase in 2019?" + }, + { + "input": "What was the Less Capital expenditures (including capitalized software) in 2019?", + "output": "What was the total amount spent on Less Capital Expenditures, including expenditure on capitalized software, during the year 2019?" + }, + { + "input": "What was the Less Capital expenditures (including capitalized software) in 2019?", + "output": "\"What was the total amount of capital expenditures, including capitalized software, that occurred in the year 2019?\"" + }, + { + "input": "What was the free cash flow in 2019?", + "output": "What was the amount of free cash flow generated in the year 2019?" + }, + { + "input": "What was the average free cash flow for 2018 and 2019?", + "output": "What was the average amount of free cash flow generated for the years 2018 and 2019?" + }, + { + "input": "What was the percentage change in the Less Capital expenditures from 2018 to 2019?", + "output": "What was the percentage difference in the amount spent on capital expenditures between 2018 and 2019?" + }, + { + "input": "What was the exact total value of the assets owned by a particular entity/company during the year 2019?", + "output": "What was the Total assets in 2019?" + }, + { + "input": "What was the total value of assets in the year 2019?", + "output": "What was the Total assets in 2019?" + }, + { + "input": "What was the average amount of operating income recorded during the period from 2015 to 2019?", + "output": "What was the average operating income for 2015-2019?" + }, + { + "input": "What was the change in the Per common share – basic from 2018 to 2019?", + "output": "What was the exact change in the Per common share – basic value from 2018 to 2019? Please provide the specific numerical difference between the two years." + }, + { + "input": "What were the amounts of Service and other revenues for the years ended December 31, 2019 and 2018?", + "output": "How much did Service and other revenues amounted for years ended December 31, 2019 and 2018 respectively?" + }, + { + "input": "What were the respective amounts of Service and other revenues for the years ended December 31, 2019 and 2018?", + "output": "How much did Service and other revenues amounted for years ended December 31, 2019 and 2018 respectively?" + }, + { + "input": "\"What were the respective revenue amounts generated from Wireless equipment for the years ending December 31, 2019 and 2018?\"", + "output": "How much did Wireless equipment revenues amounted for years ended December 31, 2019 and 2018 respectively?" + }, + { + "input": "What was the total amount of revenue generated from Wireless equipment during the years ending December 31, 2019 and 2018?", + "output": "How much did Wireless equipment revenues amounted for years ended December 31, 2019 and 2018 respectively?" + }, + { + "input": "What was the percentage change in the value of Small and Medium Businesses from 2018 to 2019?", + "output": "What is the change in Small and Medium Business value from 2018 to 2019?" + }, + { + "input": "What is the Consolidated Net Income in 2019?", + "output": "What is the Consolidated Net Income for the year 2019?" + }, + { + "input": "What is the Consolidated Net Income in 2019?", + "output": "What is the exact amount of Consolidated Net Income recorded in the fiscal year of 2019?" + }, + { + "input": "What is the difference in Consolidated Adjusted EBITDA between 2018 and 2019?", + "output": "What is the change in Consolidated Adjusted EBITDA from 2018 to 2019?" + }, + { + "input": "What was the net change in accumulated other comprehensive income for the year 2016?", + "output": "What was the net increase to accumulated other comprehensive income in 2016?" + }, + { + "input": "What is the difference in the amount of projected employee benefits that a company is obligated to pay, as of 2018 compared to 2019?", + "output": "What is the change in the projected benefit obligation from 2018 to 2019?" + }, + { + "input": "\"What was the specific percentage of income tax that individuals had to pay during the tax year of 2018?\"", + "output": "What was the effective income tax rate for the period 2018?" + }, + { + "input": "What is the percentage difference in the effective income tax rate between 2018 and 2019?", + "output": "What is the change in Effective income tax rate from 2018 to 2019?" + }, + { + "input": "What specific amount, included in the year 2018, would have a positive impact on the effective income tax rate?", + "output": "What was the amount that would favorably affect the effective income tax rate if included in 2018?" + }, + { + "input": "What specific amount, included in 2017, would positively impact the effective income tax rate?", + "output": "What was the amount that would favorably affect the effective income tax rate if included in 2017?" + }, + { + "input": "What specific amount, if included in the 2017 earnings, would have a positive impact on the effective income tax rate?", + "output": "What was the amount that would favorably affect the effective income tax rate if included in 2017?" + }, + { + "input": "How did the Additions based on tax positions related to the current year change from 2018 to 2019?", + "output": "What was the change in the Additions based on tax positions related to the current year from 2018 to 2019?" + }, + { + "input": "What was the average Additions for tax positions of prior years for 2017-2019?", + "output": "What were the average additions made for tax positions in the previous years, specifically from 2017 to 2019?" + }, + { + "input": "What was the total long-term debt?", + "output": "\"What was the precise amount of long-term debt accrued by the entity in question, taking into account all outstanding obligations over an extended period of time?\"" + }, + { + "input": "What was the value of the long-term debt that was payable within less than 1 year?", + "output": "What was the long-term debt less than 1 year?" + }, + { + "input": "What was the exact amount of the finance lease obligation in its entirety?", + "output": "What was the total finance lease obligation?" + }, + { + "input": "What is the difference between the long-term debt due less than 1 year and 1 to 3 years?", + "output": "What distinguishes long-term debt due within less than one year from long-term debt due within one to three years?" + }, + { + "input": "What is the difference between the long-term debt due less than 1 year and 1 to 3 years?", + "output": "What differentiates long-term debt with a maturity of less than 1 year from debt with a maturity ranging from 1 to 3 years?" + }, + { + "input": "By what percentage did Consumer's total operating revenues increase in the year 2019?", + "output": "How much did Consumer’s total operating revenues increase in 2019?" + }, + { + "input": "What was the percentage increase in Consumer's total operating revenues in 2019 compared to the previous year?", + "output": "How much did Consumer’s total operating revenues increase in 2019?" + }, + { + "input": "What was the percentage increase in Service Revenue for the year 2019 compared to the previous year?", + "output": "How much did Service Revenue increase in 2019?" + }, + { + "input": "What is the percentage change in revenue from wireless equipment sales between 2018 and 2019?", + "output": "What is the change in Wireless equipment revenue from 2018 to 2019?" + }, + { + "input": "By what percentage did the consolidated revenue increase from 2018 to 2019?", + "output": "What was the increase in the consolidated revenue from 2018 to 2019?" + }, + { + "input": "What was the percentage increase/decrease in consumer revenue from 2018 to 2019?", + "output": "What was the change in the consumer revenue from 2018 to 2019?" + }, + { + "input": "What is the source of financing for the firm's capital spending requirements?", + "output": "How is the capital spending requirements for the firm financed?" + }, + { + "input": "How does the firm obtain financing for its capital spending needs?", + "output": "How is the capital spending requirements for the firm financed?" + }, + { + "input": "What was the average cash flow used in investing activities for 2018 and 2019?", + "output": "What was the average amount of cash used in investing activities during the years 2018 and 2019?" + }, + { + "input": "What was the percentage change in cash flow used in financing activities from 2018 to 2019?", + "output": "What was the percentage change in cash flow utilized for financing activities between the fiscal years 2018 and 2019?" + }, + { + "input": "What was the percentage change in cash flow used in financing activities from 2018 to 2019?", + "output": "What was the exact percentage of increase or decrease in cash flow used for financing activities between 2018 and 2019?" + }, + { + "input": "What was the percentage difference in the cost of services between 2018 and 2019?", + "output": "What was the change in the cost of services from 2018 to 2019?" + }, + { + "input": "What were the adopted standards on January 1, 2018?", + "output": "Which Standards were Adopted on January 1, 2018?" + }, + { + "input": "What is the change in Accumulated other comprehensive income from December 31, 2017 to January 1, 2018?", + "output": "What is the difference in the amount of Accumulated Other Comprehensive Income between December 31, 2017 and January 1, 2018?" + }, + { + "input": "What is the net change in Noncontrolling interests between December 31, 2017, and January 1, 2018?", + "output": "What is the change in Noncontrolling interests from December 31, 2017 to January 1, 2018?" + }, + { + "input": "What was the difference in Noncontrolling interests' value between December 31, 2017, and January 1, 2018?", + "output": "What is the change in Noncontrolling interests from December 31, 2017 to January 1, 2018?" + }, + { + "input": "What was the ratio of the amortized cost due within one year or less to the fair value for the same period?", + "output": "What was the amortized cost that was due in one year or less as a ratio of the fair value for the same period?" + }, + { + "input": "What was the ratio between the amortized cost to be paid within one year or less and the fair value for the same period?", + "output": "What was the amortized cost that was due in one year or less as a ratio of the fair value for the same period?" + }, + { + "input": "What is the specific difference between the amortized cost and fair value, at the end of five years and at the end of ten years?", + "output": "What was the difference between the amortized cost and fair value that was due after five years through ten years?" + }, + { + "input": "Which specific years can be found in the table that offer additional details pertaining to the stock options of the company?", + "output": "Which years does the table provide Additional information related to the company's stock options?" + }, + { + "input": "What was the specific intrinsic value associated with exercises in the year 2019?", + "output": "What was the intrinsic value of exercises in 2019?" + }, + { + "input": "What were the Proceeds received from exercises in 2018?", + "output": "What was the total amount of money received from exercises held in 2018?" + }, + { + "input": "What were the Proceeds received from exercises in 2018?", + "output": "What was the total amount of money received from exercises in the year 2018?" + }, + { + "input": "What was the gross income in 2017, prior to deducting income taxes?", + "output": "What was the total income before income taxes in 2017?" + }, + { + "input": "What was the change in foreign income before income taxes between 2017 and 2018?", + "output": "What was the difference in the amount of income from foreign sources prior to income taxes, comparing the years 2017 and 2018? Please provide the change in figures for better understanding." + }, + { + "input": "What was the specific difference in foreign income, without considering income taxes, from 2018 to 2019?", + "output": "What was the change in foreign income before income taxes between 2018 and 2019?" + }, + { + "input": "What were the short-term investment options available in the year 2018?", + "output": "What were the short-term investments in 2018?" + }, + { + "input": "What were the types of short-term investments that were prevalent in 2018?", + "output": "What were the short-term investments in 2018?" + }, + { + "input": "What years does the table provide information for total assets?", + "output": "For which time period does the table provide data on total assets?" + }, + { + "input": "What years does the table provide information for total assets?", + "output": "For which years does the table present data regarding the total assets?" + }, + { + "input": "What was the total debt in 2015?", + "output": "What amount of debt, in terms of total outstanding obligations, was recorded in the year 2015?" + }, + { + "input": "What was the change in working capital between 2015 and 2016?", + "output": "What was the difference in the amount of working capital between 2015 and 2016?" + }, + { + "input": "By what percentage did the Total stockholders' equity change from 2018 to 2019?", + "output": "What was the percentage change in Total stockholders' equity between 2018 and 2019?" + }, + { + "input": "Which years does the table provide information for the funded status of the company's postretirement health care and other defined benefit plans?", + "output": "For which specific years does the provided table present data relating to the funded status of the company's postretirement health care and other defined benefit plans?" + }, + { + "input": "What was the specific amount of fair value attributed to the plan assets during the year 2019?", + "output": "What was the fair value of plan assets in 2019?" + }, + { + "input": "What was the fair value measurements using Level 2 for Corporate Bonds?", + "output": "What are the fair value measurements using Level 2 for Corporate Bonds?" + }, + { + "input": "What was the combined value of cash, cash equivalents, and short-term investments?", + "output": "What were the total cash, cash equivalents and short-term investments?" + }, + { + "input": "What was the sum of all cash, cash equivalents, and short-term investments?", + "output": "What were the total cash, cash equivalents and short-term investments?" + }, + { + "input": "What was the difference in the fair value for U.S. Treasury and government debt securities between Level 1 and Level 2?", + "output": "What was the discrepancy in the fair value of U.S. Treasury and government debt securities when classified as Level 1 and Level 2 assets?" + }, + { + "input": "What was the fair value of Level 2 Total cash, cash equivalents and short-term investments as a percentage of the total cash, cash equivalents and short-term investments?", + "output": "What is the fair value, expressed as a percentage, of Level 2 Total cash, cash equivalents, and short-term investments in relation to the overall total of cash, cash equivalents, and short-term investments?" + }, + { + "input": "What were the distinctions between the levels of Total cash, cash equivalents, and short-term investments in terms of Level 1 and Level 2?", + "output": "What was the difference between the Total cash, cash equivalents and short-term investments for Level 1 and Level 2?" + }, + { + "input": "What were the disparities in the amounts of Total Cash, Cash Equivalents, and Short-Term Investments between Level 1 and Level 2?", + "output": "What was the difference between the Total cash, cash equivalents and short-term investments for Level 1 and Level 2?" + }, + { + "input": "On what basis was the calculation for days inventory outstanding determined?", + "output": "What was days inventory outstanding based on?" + }, + { + "input": "What was the Days sales outstanding for three months ended april 2019?", + "output": "\"What was the specific value of Days Sales Outstanding (DSO) specifically for the three-month period ending in April 2019?\"" + }, + { + "input": "What was the change in day sales outstanding between 2018 and 2019?", + "output": "What was the difference in the number of days it took to collect sales revenue between the years 2018 and 2019?" + }, + { + "input": "What was the change in day sales outstanding between 2018 and 2019?", + "output": "What was the difference in the number of days it took to collect sales revenue between 2018 and 2019?" + }, + { + "input": "For how long was the days inventory outstanding higher than 20 days ?", + "output": "How many years did days inventory outstanding exceed 20 days?" + }, + { + "input": "What was the total amount spent on purchases in 2018?", + "output": "What was the Aggregate purchase price in 2018?" + }, + { + "input": "What was the difference in the total purchase price for all items combined in 2018 and 2019?", + "output": "What was the change in the Aggregate purchase price between 2018 and 2019?" + }, + { + "input": "What was the amount of finished goods in 2019?", + "output": "What was the specific quantity of fully completed and ready-for-sale products in the year 2019?" + }, + { + "input": "What was the exact quantity of inventories during the year 2018?", + "output": "What was the amount of inventories in 2018?" + }, + { + "input": "What was the change in finished goods between 2018 and 2019?", + "output": "How did the amount of finished goods change from 2018 to 2019?" + }, + { + "input": "What were the additions made to tax positions related to the current year in 2019, and how do they impact the overall financial situation?", + "output": "What were the Additions based on tax positions related to the current year in 2019?" + }, + { + "input": "What was the change in the Balance at beginning of period between 2017 and 2018?", + "output": "What was the difference in the starting balance from the beginning of the period in 2017 compared to 2018?" + }, + { + "input": "What is the overall difference in the total amount of Additions for tax positions of prior years from 2017 to 2019?", + "output": "What was the total change in Additions for tax positions of prior years between 2017 and 2019?" + }, + { + "input": "What was the difference in the total expenses recorded between 2018 and 2019?", + "output": "What was the change in expense accrued during the period between 2018 and 2019?" + }, + { + "input": "What was the difference in the amount of expenses recorded from 2018 to 2019?", + "output": "What was the change in expense accrued during the period between 2018 and 2019?" + }, + { + "input": "What was the percentage change in the Warranty costs incurred between 2018 and 2019?", + "output": "What was the difference in warranty costs incurred between 2018 and 2019, expressed as a percentage change?" + }, + { + "input": "What were the total assets in 2018?", + "output": "What was the total value of assets in the year 2018?" + }, + { + "input": "What was the percentage change in Total deferred commissions between 2018 and 2019?", + "output": "What was the percentage change in the total amount of deferred commissions from 2018 to 2019?" + }, + { + "input": "What was the final balance at the end of the specified period in the year 2018?", + "output": "What was the balance at the end of period in 2018?" + }, + { + "input": "What was the final balance at the end of period in 2018? Please provide the balance from the specified period in 2018.", + "output": "What was the balance at the end of period in 2018?" + }, + { + "input": "What was the change in the balance at beginning of period between 2018 and 2019?", + "output": "What was the difference in the balance at the start of the period between the years 2018 and 2019?" + }, + { + "input": "For how many years did the ending balance surpass $3,500 million?", + "output": "How many years did balance at end of period exceed $3,500 million?" + }, + { + "input": "How many years did interest income exceed $50 million?", + "output": "For how many years was the interest income greater than $50 million?" + }, + { + "input": "How many years did interest income exceed $50 million?", + "output": "How many years was the total interest income greater than $50 million?" + }, + { + "input": "What was the percentage change in net revenues between 2018 and 2019?", + "output": "What was the exact percentage difference in net revenues from 2018 to 2019, and how can I calculate it accurately?" + }, + { + "input": "Which years does the table provide information for net property and equipment?", + "output": "For which specific years is information regarding net property and equipment provided in the table?" + }, + { + "input": "Which years does the table provide information for net property and equipment?", + "output": "For which specific years does the table present data regarding net property and equipment?" + }, + { + "input": "What was the total revenue generated from operational activities during the year 2017?", + "output": "What was the income from operations in 2017?" + }, + { + "input": "What was the percentage change in the net income between 2018 and 2019?", + "output": "What was the precise percentage increase or decrease in the net income from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the net income between 2018 and 2019?", + "output": "What is the percentage difference in the net income from 2018 to 2019?" + }, + { + "input": "How much money was in circulation in the form of physical cash in the year 2019?", + "output": "What was the amount of cash in 2019?" + }, + { + "input": "In 2019, how much cash was there?", + "output": "What was the amount of cash in 2019?" + }, + { + "input": "What was the specific value or quantity of cash equivalents recorded in the financial records for the year 2018?", + "output": "What was the amount of cash equivalents in 2018?" + }, + { + "input": "Which years does the table provide information for property and equipment information for geographic areas based on the physical location of the assets?", + "output": "For which specific years does the table provide information related to property and equipment in geographic areas, considering the assets' physical locations?" + }, + { + "input": "Which years does the table provide information for property and equipment information for geographic areas based on the physical location of the assets?", + "output": "For which years does the table present property and equipment information? This information is specifically related to geographic areas, and is based on the physical location of the assets." + }, + { + "input": "What was the total combined value of property and equipment in the United States during the year 2019?", + "output": "What was the amount of property and equipment in U.S. in 2019?" + }, + { + "input": "How many years did International property and equipment exceed $150 million?", + "output": "For how many consecutive years has the value of International property and equipment been greater than $150 million?" + }, + { + "input": "What was the financed unearned services revenue in 2019?", + "output": "\"What was the amount of unearned revenue from financed services in 2019?\"" + }, + { + "input": "What was the financed unearned services revenue in 2019?", + "output": "What was the specific amount of unearned services revenue that was financed during the year 2019?" + }, + { + "input": "For how many years has the amount of financed unearned services revenue been greater than $100 million?", + "output": "How many years did financed unearned services revenue exceed $100 million?" + }, + { + "input": "For how many consecutive years has the unearned services revenue in financed exceeded $100 million?", + "output": "How many years did financed unearned services revenue exceed $100 million?" + }, + { + "input": "What was the change in deferred services revenue between 2018 and 2019?", + "output": "What was the difference in the amount of deferred services revenue recorded in 2018 and 2019?" + }, + { + "input": "What was the sum of the net revenues from the last two quarters?", + "output": "What is the total net revenue for the most recent two quarters?" + }, + { + "input": "What was the change in the Dividends per share declared between 2018 and 2019?", + "output": "What was the difference in the amount of Dividends per share declared between the years 2018 and 2019?" + }, + { + "input": "What was the change in the Dividends per share declared between 2018 and 2019?", + "output": "What was the difference in the amount of dividends per share declared for the years 2018 and 2019?" + }, + { + "input": "What was the change in the Dividend payments allocated to retained earnings (accumulated deficit) between 2017 and 2018?", + "output": "What was the difference in the amounts of dividends allocated to retained earnings (accumulated deficit) from 2017 to 2018?" + }, + { + "input": "What was the change in the Dividend payments allocated to retained earnings (accumulated deficit) between 2017 and 2018?", + "output": "What was the variation in the amount of dividends transferred to retained earnings (accumulated deficit) from 2017 to 2018?" + }, + { + "input": "What factors contributed to the rise in the cash inflows generated from day-to-day business operations during the year 2019?", + "output": "What caused the increase in the cash flow from operating activities in 2019?" + }, + { + "input": "What is the percentage change in the Free Cash Flow, considering both an increase and decrease in value?", + "output": "What is the increase / (decrease) in the Free Cash Flow?" + }, + { + "input": "What is the percentage change in Free Cash Flow?", + "output": "What is the increase / (decrease) in the Free Cash Flow?" + }, + { + "input": "What are the definitions of underlying operating profit and underlying operating margin, and how do they differ from each other?", + "output": "What is the definition of the Underlying operating profit and underlying operating margin?" + }, + { + "input": "What does the underlying effective tax rate measure reflects?", + "output": "What is the definition and significance of the underlying effective tax rate and what does it reflect in terms of a company's financial situation or performance?" + }, + { + "input": "What does the underlying effective tax rate measure reflects?", + "output": "What is the meaning of the underlying effective tax rate measure and what does it reflect?" + }, + { + "input": "What is the methodology used to calculate the effective tax rate?", + "output": "How is the underlying effective tax rate calculated?" + }, + { + "input": "What is the exact difference in the underlying effective tax rate between 2018 and 2019?", + "output": "What is the Underlying effective tax rate change from 2018 to 2019?" + }, + { + "input": "What is the percentage change in the underlying effective tax rate between 2018 and 2019?", + "output": "What is the Underlying effective tax rate change from 2018 to 2019?" + }, + { + "input": "By what percentage did the Biogas production increase from the year 2018 to 2019?", + "output": "What is the increase in the Biogas from 2018 to 2019?" + }, + { + "input": "What is the average total energy?", + "output": "What is the average amount of energy, when considering all types of energy combined?" + }, + { + "input": "\"What is the percentage change in the price of Fuel Oils from 2018 to 2019? Please specify if it is an increase or decrease.\"", + "output": "What is the percentage increase / (decrease) in Fuel Oils from 2018 to 2019?" + }, + { + "input": "What is the percentage change in the price of Fuel Oils between 2018 and 2019?", + "output": "What is the percentage increase / (decrease) in Fuel Oils from 2018 to 2019?" + }, + { + "input": "What method is used to calculate ROIC (Return on Invested Capital)? Please provide a detailed explanation of the calculation process.", + "output": "How is ROIC calculated?" + }, + { + "input": "What is the difference in the diluted combined average number of share units (in millions) between 2018 and 2019?", + "output": "What is the change in the Diluted combined average number of share units (millions of units) from 2018 to 2019?" + }, + { + "input": "What is the difference in the diluted combined average number of share units (measured in millions) between 2018 and 2019?", + "output": "What is the change in the Diluted combined average number of share units (millions of units) from 2018 to 2019?" + }, + { + "input": "What was the specific price quotation for investments on 31 December 2018?", + "output": "What was the price quotation for investments as of 31 December 2018?" + }, + { + "input": "What was the average value of investments made by listed companies in the year 2019?", + "output": "What is the average amount of investments of listed companies in 2019?" + }, + { + "input": "What was the average investment amount of listed companies in 2019?", + "output": "What is the average amount of investments of listed companies in 2019?" + }, + { + "input": "What was the average percentage of ownership or voting rights held by shareholders in listed companies during the year 2019?", + "output": "What is the average Percentage of ownership or voting rights of listed companies in 2019?" + }, + { + "input": "What is the average Unsecured other loans?", + "output": "What is the average amount of unsecured loans that fall under the category of \"other loans\"?" + }, + { + "input": "What is the average value or rating of Integrated Device Manufacturers (IDMs)?", + "output": "What is the average of Integrated device manufacturers?" + }, + { + "input": "What is the average performance or profitability of Integrated device manufacturers?", + "output": "What is the average of Integrated device manufacturers?" + }, + { + "input": "What is the increase / (decrease) in the Integrated device manufacturers from 2017 to 2018?", + "output": "What is the net change, either increase or decrease, in the number of Integrated device manufacturers from 2017 to 2018?" + }, + { + "input": "What is the average amount of compensation received by Directors?", + "output": "What is the average Directors’ compensation?" + }, + { + "input": "What is the percentage change in compensation for Directors from the year 2018 to 2019?", + "output": "What is the increase/ (decrease) in Directors’ compensation from 2018 to 2019?" + }, + { + "input": "What calculation method is employed to determine the total sum of the Company's shares?", + "output": "What method is used to calculate the aggregate amount of the Company’s share?" + }, + { + "input": "What specific method is employed to calculate the total combined value of the shares held by the Company?", + "output": "What method is used to calculate the aggregate amount of the Company’s share?" + }, + { + "input": "What is the average revenue generated from the sale of goods and services from December 31, 2018 to December 31, 2019?", + "output": "What are the average Sales of goods and services for December 31, 2018 to 2019?" + }, + { + "input": "What is the increase/ (decrease) in Sales of goods and services for December 31, 2018 to 2019?", + "output": "What is the percentage change in the sales of goods and services when comparing December 31, 2018, to December 31, 2019?" + }, + { + "input": "What is the percentage change in the sales of goods and services from January 1, 2018, to December 31, 2018?", + "output": "What is the increase/ (decrease) in Sales of goods and services for January 1, 2018 to December 31, 2018?" + }, + { + "input": "What is the percentage change in the sales of goods and services from January 1, 2018 to December 31, 2018?", + "output": "What is the increase/ (decrease) in Sales of goods and services for January 1, 2018 to December 31, 2018?" + }, + { + "input": "\"What is the average amount of lease obligation for the period Less than 1 Year and 1-3 Years? Please provide the average lease obligations separately for both time periods.\"", + "output": "What is the average lease obligation for the period Less than 1 Year and 1-3 Years?" + }, + { + "input": "What does Purchase obligations incorporate?", + "output": "What is included in purchase obligations?" + }, + { + "input": "What is the criteria for an employee to receive additional bonuses?", + "output": "What are the specific requirements or factors that determine if an employee is eligible to receive extra bonuses in addition to their regular compensation?" + }, + { + "input": "What is the difference in Time Deposits: Non-Trading Purpose between Carrying Amount and Fair Amount?", + "output": "What is the distinction between the carrying amount and fair amount of Time Deposits used for non-trading purposes?" + }, + { + "input": "What is the difference between Bonds: Non-Trading Purpose Carrying Amount and Fair Amount?", + "output": "What distinguishes Bonds: Non-Trading Purpose Carrying Amount from Fair Amount in terms of their meaning, significance, and financial implications?" + }, + { + "input": "What is the average quantity of supplies and spare parts in general?", + "output": "What was the average Supplies and spare parts?" + }, + { + "input": "What was the average quantity of supplies and spare parts used?", + "output": "What was the average Supplies and spare parts?" + }, + { + "input": "What was the percentage increase / (decrease) in the Finished goods from 2018 to 2019?", + "output": "What was the percentage change in the amount of Finished goods from the year 2018 to 2019, indicating whether it increased or decreased?" + }, + { + "input": "What was the percentage increase / (decrease) in the Finished goods from 2018 to 2019?", + "output": "What was the percentage change in the value of Finished goods from 2018 to 2019, indicating whether it increased or decreased?" + }, + { + "input": "What is the percentage change in the value of financial assets at fair value through profit or loss between 2018 and 2019?", + "output": "What is the increase / (decrease) in the Financial assets at fair value through profit or loss from 2018 to 2019?" + }, + { + "input": "What is the increase / (decrease) in the Short-term loans from 2018 to 2019?", + "output": "What was the percentage change in Short-term loans from 2018 to 2019?" + }, + { + "input": "What is the increase / (decrease) in the Short-term loans from 2018 to 2019?", + "output": "What was the percentage change in Short-term loans between 2018 and 2019?" + }, + { + "input": "What measures does the company implement to effectively manage, maintain, or adapt its capital structure in response to changes in the business environment?", + "output": "What steps does the company take To maintain or adjust the capital structure?" + }, + { + "input": "What is the change in the total liabilities, expressed as a percentage, between 2018 and 2019?", + "output": "What is the increase / (decrease) in the Total liabilities from 2018 to 2019?" + }, + { + "input": "What is the percentage change in Total Capital from 2018 to 2019?", + "output": "What is the percentage increase / (decrease) of Total Capital from 2018 to 2019?" + }, + { + "input": "How do non-GAAP measures assist investors in making informed investment decisions and assessing a company's financial performance?", + "output": "How do these non-GAAP measures aid investors?" + }, + { + "input": "How much would diluted earnings per share for fiscal year 2018 be without the net charge (benefit) related to the enactment of the TCJA?", + "output": "What would be the diluted earnings per share for fiscal year 2018 if we exclude the net charge (benefit) associated with the enactment of the Tax Cuts and Jobs Act (TCJA)?" + }, + { + "input": "How much would diluted earnings per share for fiscal year 2018 be without the net charge (benefit) related to the enactment of the TCJA?", + "output": "What would be the diluted earnings per share for fiscal year 2018, excluding the impact of the net charge (benefit) resulting from the implementation of the Tax Cuts and Jobs Act (TCJA)?" + }, + { + "input": "What was the average revenue over the 3 year period from 2017 to 2019?", + "output": "What was the average revenue from 2017 to 2019, calculated over the span of three years?" + }, + { + "input": "What factors contributed to the change in the federal statutory rate during fiscal year 2017?", + "output": "Why did the federal statutory rate in fiscal year 2017? " + }, + { + "input": "How many items accounted for the difference between income taxes computed at the US federal statutory rate and the company's effective rate?", + "output": "How many specific items contributed to the variance between the income taxes calculated using the official US federal statutory rate and the actual rate paid by the company?" + }, + { + "input": "What was the average federal statutory rate over the 3 year period from 2017 to 2019? ", + "output": "What was the average federal statutory rate from 2017 to 2019?" + }, + { + "input": "What was the average effective rate for the years 2017, 2018, and 2019?", + "output": "What was the average effective rate over the 3 year period from 2017 to 2019? " + }, + { + "input": "How much were the top 3 components of property and equipment as a % of the total at cost, property and equipment for 2019?", + "output": "What were the percentages for the top 3 components of property and equipment in relation to the total at cost, property, and equipment in 2019?" + }, + { + "input": "What percentage of the overall revenue in 2019 was not generated by the commercial cloud revenue?", + "output": "How much of the total revenue in 2019 did not come from commercial cloud revenue?" + }, + { + "input": "Which were the bottom 2 revenue items for 2017?", + "output": "\"What were the two lowest revenue-generating items in 2017?\"" + }, + { + "input": "What was the average EPS (earnings per share) for the years 2017, 2018, and 2019?", + "output": "What was the average basic earnings per share over the 3 year period from 2017 to 2019?" + }, + { + "input": "\"Which specific locations does the company have both operating leases and finance leases in place?\"", + "output": "Which places does the company have operating and finance leases?" + }, + { + "input": "What is the topic or content covered in note 15?", + "output": "What is note 15 about?" + }, + { + "input": "\"What is the ascending order of the years when sorted by their total cost of finance leases?\"", + "output": "What are the years sorted by total finance lease cost, in ascending order?" + }, + { + "input": "How many different items are included when calculating operating income (loss)?", + "output": "How many items are there for operating income (loss)?" + }, + { + "input": "How many different items are included in the calculation of operating income (loss)?", + "output": "How many items are there for operating income (loss)?" + }, + { + "input": "How is the allocation of amortization and depreciation determined and distributed?", + "output": "How is the portion of amortization and depreciation allocated?" + }, + { + "input": "How is the allocation of the portion of amortization and depreciation determined and distributed?", + "output": "How is the portion of amortization and depreciation allocated?" + }, + { + "input": "How many countries have Long-lived assets classified based on the controlling statutory company's location, excluding financial instruments and tax assets? Also, can you identify the countries where the assets amount to over 10% of the total assets?", + "output": "How many countries have Long-lived assets, excluding financial instruments and tax assets, classified by the location of the controlling statutory company and with countriesover 10% of the total assets?" + }, + { + "input": "What was the percentage change in the total long-lived assets from 2017 to 2018?", + "output": "What was the precise percentage difference in the value of total long-lived assets between the years 2017 and 2018?" + }, + { + "input": "What was the percentage change in the total long-lived assets from 2017 to 2018?", + "output": "What was the percentage increase or decrease in the value of the total long-lived assets between the years 2017 and 2018?" + }, + { + "input": "What is the definition and significance of purchase commitments?", + "output": "What do the purchase commitments represent?" + }, + { + "input": "What is the meaning and significance of purchase commitments?", + "output": "What do the purchase commitments represent?" + }, + { + "input": "Where can the long-term debt be found?", + "output": "Where is the location to find the information regarding long-term debt?" + }, + { + "input": "How much do the top 3 contractual obligation terms add up to in 2020?", + "output": "What is the total value of the top three contractual obligation terms in 2020?" + }, + { + "input": "How much do the top 3 contractual obligation terms add up to in 2020?", + "output": "In 2020, what is the sum of the top three contractual obligation terms?" + }, + { + "input": "What was the number of stock awards that were granted in 2019, not including the PSUs granted?", + "output": "Excluding the PSUs, how many stock awards were granted in the year 2019?" + }, + { + "input": "What was the number of stock awards that were granted in 2019, not including the PSUs granted?", + "output": "How many stock awards were granted in 2019, excluding the granted PSUs?" + }, + { + "input": "What was the average fair value of the stock awards that were vested between 2017 and 2019 over a three-year period?", + "output": "What was the average fair value of stock awards vested over the 3 year period from 2017 to 2019?" + }, + { + "input": "What was the intelligent cloud as a percentage of total revenue in 2019?", + "output": "What percentage of the total revenue in 2019 was attributed to the intelligent cloud?" + }, + { + "input": "What was the intelligent cloud as a percentage of total revenue in 2019?", + "output": "What percentage of total revenue in 2019 was attributed to the intelligent cloud?" + }, + { + "input": "How many revenue categories are there?", + "output": "How many different categories of revenue exist in the given context?" + }, + { + "input": "What is the company's net loss in 2019?", + "output": "What was the net financial loss incurred by the company during the year 2019?" + }, + { + "input": "What was the cumulative unrealized gain on marketable securities for the company from 2017 to 2019?", + "output": "What is the company's total unrealized gain on marketable securities between 2017 to 2019?" + }, + { + "input": "What is the percentage difference in the total stock base compensation, categorized by type of award, from 2018 to 2019?", + "output": "What is the percentage change in total stock base compensation by type of award between 2018 and 2019?" + }, + { + "input": "What is the percentage change in the total stock base compensation for each type of award from 2018 to 2019?", + "output": "What is the percentage change in total stock base compensation by type of award between 2018 and 2019?" + }, + { + "input": "What is the cumulative amount of stock based compensation from 2017 through 2019?", + "output": "What is the total stock based compensation amount between 2017 to 2019?" + }, + { + "input": "What is the sum of stock-based compensation expenses for the years 2017 to 2019?", + "output": "What is the total stock based compensation amount between 2017 to 2019?" + }, + { + "input": "As of December 31, 2018, how many shares were granted and are currently outstanding?", + "output": "What is the number of outstanding shares granted as of December 31, 2018? " + }, + { + "input": "As of December 31, 2018, how many shares were granted and still remain outstanding?", + "output": "What is the number of outstanding shares granted as of December 31, 2018? " + }, + { + "input": "What was the change in the number of outstanding shares between December 31, 2018, and December 31, 2019?", + "output": "What is the difference in outstanding shares as of December 31, 2018 and 2019?" + }, + { + "input": "What data is shown in the table?", + "output": "\"What specific information does the table display?\"" + }, + { + "input": "What is the units for the data shown in the table?", + "output": "What units are being used to represent the information presented in the table?" + }, + { + "input": "What is the total revenue earned by the company between 2017 to 2019?", + "output": "What is the cumulative revenue generated by the company from 2017 to 2019?" + }, + { + "input": "What is the exact amount of revenue generated in the EMEA region from 2017 to 2019?", + "output": "What is the total revenue earned in EMEA between 2017 to 2019?" + }, + { + "input": "What is the change in total revenue between 2018 to 2019?", + "output": "What is the difference in total revenue from 2018 compared to 2019, and how can this information assist in better understanding the financial performance of the company during this period?" + }, + { + "input": "What is the sum of all non-current liabilities excluding total other non-current liabilities as of 31 December 2019?", + "output": "What is the total other non-current liabilities as at 31 December 2019?" + }, + { + "input": "What is the aggregate amount of all non-current liabilities, excluding any current liabilities, as of December 31, 2019?", + "output": "What is the total other non-current liabilities as at 31 December 2019?" + }, + { + "input": "What is the depreciation expense on property and equipment as at December 31, 2018?", + "output": "What is the specific amount of the depreciation expense recorded for property and equipment on the financial statement as at the closing date of December 31, 2018?" + }, + { + "input": "What is the depreciation expense on property and equipment as at December 31, 2018?", + "output": "What was the amount of depreciation expense booked for property and equipment up until December 31st, 2018?" + }, + { + "input": "What is the depreciation expense on property and equipment as at December 31, 2019?", + "output": "As of December 31, 2019, what is the recorded depreciation expense amount for property and equipment?" + }, + { + "input": "What is the depreciation expense on property and equipment as at December 31, 2019?", + "output": "What is the specific amount of depreciation expense recorded for property and equipment as on December 31, 2019?" + }, + { + "input": "What is the total depreciation expense on property and equipment from 2017 to 2019?", + "output": "From 2017 to 2019, what was the cumulative amount of depreciation expense incurred on property and equipment?" + }, + { + "input": "What is the total depreciation expense on property and equipment from 2017 to 2019?", + "output": "What is the cumulative depreciation expense on property and equipment for the years 2017, 2018, and 2019?" + }, + { + "input": "What is the allowance for doubtful accounts as at December 31, 2018?", + "output": "What is the amount set aside for doubtful accounts on the balance sheet as of December 31, 2018?" + }, + { + "input": "What are some examples of financial instruments that can subject the company to credit risk?", + "output": "What financial instruments expose companies to credit risk? Can you provide some examples of such instruments?" + }, + { + "input": "What are some examples of financial instruments that can subject the company to credit risk?", + "output": "What financial instruments can expose a company to credit risk? Can you provide some examples?" + }, + { + "input": "How does the company effectively manage and reduce its credit risk associated with accounts receivable?", + "output": "How does the company mitigate its credit risk pertaining to accounts receivable?" + }, + { + "input": "How does the company identify and determine its important or major customers in its business operations?", + "output": "How does the company determine its significant customers?" + }, + { + "input": "How does the company identify and assess its significant customers for business purposes?", + "output": "How does the company determine its significant customers?" + }, + { + "input": "What was the monetary value of the company's losses within its own country during the year 2019?", + "output": "What is the company's domestic loss in 2019?" + }, + { + "input": "\"What was the total financial loss incurred by the company within its own country during the year 2019?\"", + "output": "What is the company's domestic loss in 2019?" + }, + { + "input": "What is the amount of money that the company lost within its own country during the year 2017?", + "output": "What is the company's domestic loss in 2017?" + }, + { + "input": "\"What was the fiscal year 2017 domestic financial loss incurred by the company?\"", + "output": "What is the company's domestic loss in 2017?" + }, + { + "input": "What is the company's total loss before income taxes between 2017 to 2019?", + "output": "What is the cumulative pre-tax loss of the company from 2017 to 2019?" + }, + { + "input": "What is the company's change in foreign income between 2018 and 2019?", + "output": "What was the percentage change in the company's foreign income from 2018 to 2019?" + }, + { + "input": "What is the cumulative amount of loss incurred by the company domestically during the period from 2017 to 2019?", + "output": "What is the company's total domestic loss between 2017 to 2019?" + }, + { + "input": "What is the aggregate amount of losses incurred by the company within its domestic markets during the period from 2017 to 2019?", + "output": "What is the company's total domestic loss between 2017 to 2019?" + }, + { + "input": "What is the percentage change in total deferred revenue 2018 and 2019?", + "output": "What is the percentage difference in the total deferred revenue between 2018 and 2019?" + }, + { + "input": "What is the percentage change in total deferred revenue 2018 and 2019?", + "output": "What is the percentage difference in the total amount of deferred revenue between the years 2018 and 2019?" + }, + { + "input": "What is the proportion of the cost of revenue and research and development expenses as a percentage of the total restructuring expense?", + "output": "What is the ratio of the combined cost of revenue and research and development expenses to the total restructuring expense, expressed as a percentage?" + }, + { + "input": "What is the total legal fees and facilities expenses?", + "output": "What are the combined expenses for legal fees and facilities?" + }, + { + "input": "What is the total legal fees and facilities expenses?", + "output": "What is the cumulative sum of the expenses incurred in legal fees and facilities?" + }, + { + "input": "What is the total increases related to tax positions taken during current year in 2018 and 2019?", + "output": "What is the cumulative increase in tax positions taken during the current year across 2018 and 2019?" + }, + { + "input": "What is the total increases related to tax positions taken during current year in 2018 and 2019?", + "output": "What is the combined amount of increments in relation to tax positions that were assumed during the present year in both 2018 and 2019?" + }, + { + "input": "As of 31st December 2018, what is the sum of all liabilities that have accumulated or been incurred by the company up to that date?", + "output": "What is the total accrued liabilities as at 31 December 2018?" + }, + { + "input": "What are the units used to measure the values in the table?", + "output": "What is the units that the values in the table are measured in?" + }, + { + "input": "What is the percentage increase or decrease in the total amount of accrued liabilities from 2018 to 2019?", + "output": "What is the percentage change in total accrued liabilities between 2018 and 2019?" + }, + { + "input": "What is the percentage increase or decrease in the total amount of liabilities that have accumulated between the years 2018 and 2019?", + "output": "What is the percentage change in total accrued liabilities between 2018 and 2019?" + }, + { + "input": "What is the total amount of long-lived asset in Japan in both 2018 and 2019?", + "output": "What is the total value of long-lived assets in Japan for the years 2018 and 2019 combined?" + }, + { + "input": "What were the capitalized costs of software development in 2019?", + "output": "What was the Capitalized software development costs in 2019?" + }, + { + "input": "What were the average net costs of software development for both the years 2018 and 2019?", + "output": "What was the average Software development costs, net for 2018 and 2019?" + }, + { + "input": "What were the net average costs for software development in both 2018 and 2019?", + "output": "What was the average Software development costs, net for 2018 and 2019?" + }, + { + "input": "What was the Cash and cash equivalents in 2019 and 2018 respectively?", + "output": "What were the cash and cash equivalents figures for the years 2019 and 2018, respectively?" + }, + { + "input": "What was the Cash and cash equivalents in 2019 and 2018 respectively?", + "output": "What were the amounts of Cash and cash equivalents for the years 2019 and 2018, respectively?" + }, + { + "input": "What are the average amounts of Restricted cash for the years 2018 and 2019?", + "output": "What is the average Restricted cash for 2018 and 2019?" + }, + { + "input": "What was the Compensation and related benefits in 2019 and 2018 respectively?", + "output": "What were the compensation and benefits offered in 2019 and 2018?" + }, + { + "input": "\"In what specific year did the expenses for professional and legal services amount to a value below 500 thousand dollars?\"", + "output": "In which year was Professional and legal fees less than 500 thousands?" + }, + { + "input": "What was the percentage change in Compensation and related benefits from 2018 to 2019?", + "output": "What is the change in the Compensation and related benefits from 2018 to 2019?" + }, + { + "input": "What were the average professional and legal fees in 2018 and 2019?", + "output": "What was the average Professional and legal fees for 2018 and 2019?" + }, + { + "input": "What were the factors that led to the decrease in net pool allocation? Can you provide an explanation and further details regarding the decline in net pool allocation?", + "output": "What accounted for the decrease in net pool allocation?" + }, + { + "input": "What are the components of vessel operating and supervision costs?", + "output": "What are the key components that make up the costs associated with vessel operations and supervision?" + }, + { + "input": "How much did the technical maintenance expenses differ between 2017 and 2018?", + "output": "What was the change in technical maintenance expenses from 2017 to 2018?" + }, + { + "input": "What was the exact monetary difference in technical maintenance expenses between the years 2017 and 2018?", + "output": "What was the change in technical maintenance expenses from 2017 to 2018?" + }, + { + "input": "What was the percentage increase or decrease in the combined costs of operating and supervising vessels from 2018 to 2019?", + "output": "What was the percentage change in total vessel operating and supervision costs from 2018 to 2019?" + }, + { + "input": "Why does the Group choose to retain ownership of the trade receivables instead of selling them or assigning them to a third party?", + "output": "Why does the Group hold the trade receivables?" + }, + { + "input": "What does accrued income represent?", + "output": "\"What is the meaning and significance of accrued income?\"" + }, + { + "input": "What does accrued income represent?", + "output": "What is the meaning and significance of accrued income?" + }, + { + "input": "What was the change in trade receivables from 2018 to 2019?", + "output": "What was the difference in the amount of trade receivables between 2018 and 2019, indicating whether it increased or decreased?" + }, + { + "input": "What was the exact percentage increase or decrease in the total amount of money owed to a company from 2018 to 2019?", + "output": "What was the percentage change in total receivables from 2018 to 2019?" + }, + { + "input": "In which years was the fair value of the derivative assets recorded for?", + "output": "For which specific years were the fair values of the derivative assets recorded? Please provide all relevant information regarding the years for accurate response." + }, + { + "input": "In which specific year did the fair value of interest rate swaps experience an increase compared to other years?", + "output": "In which year was the fair value of Interest rate swaps higher?" + }, + { + "input": "When was the fair value of interest rate swaps higher: in which specific year did the fair value of interest rate swaps surpass that of other years?", + "output": "In which year was the fair value of Interest rate swaps higher?" + }, + { + "input": "In which year did the company record the highest amount of expenses pertaining to share-based compensation?", + "output": "In which year was the total expense recognized in respect of share-based compensation the highest?" + }, + { + "input": "What was the highest year in terms of total recognized expense for share-based compensation?", + "output": "In which year was the total expense recognized in respect of share-based compensation the highest?" + }, + { + "input": "What was the difference in the amount of money earned by The Cool Pool Limited in 2017 compared to 2018?", + "output": "What was the change in revenues from The Cool Pool Limited from 2017 to 2018?" + }, + { + "input": "What was the exact difference in the amount of money earned by The Cool Pool Limited in the year 2017 compared to the year 2018?", + "output": "What was the change in revenues from The Cool Pool Limited from 2017 to 2018?" + }, + { + "input": "For which years were the movements in tangible fixed assets and vessels under construction documented?", + "output": "In which years was the movements in tangible fixed assets and vessels under construction recorded for?" + }, + { + "input": "What was the percentage change in the cost of vessels from the end of 2018 to the end of 2019?", + "output": "What was the change in vessel cost from end 2018 to end 2019?" + }, + { + "input": "In which year was the other non-current assets recorded for?", + "output": "What is the specific year in which the recording of non-current assets other than the current ones occurred?" + }, + { + "input": "In which year did the value of long-term assets, other than the current year, surpass that of the current year?", + "output": "In which year was the other long-term assets higher?" + }, + { + "input": "What was the percentage change in the total value of other non-current assets from the year 2018 to the year 2019?", + "output": "What was the percentage change in total other non-current assets from 2018 to 2019?" + }, + { + "input": "For which years were the earnings per share (EPS) or losses per share (LPS) recorded?", + "output": "In which years was the earnings/(losses) per share recorded for?" + }, + { + "input": "What was the amount of ship management client accounts in 2018?", + "output": "How many ship management client accounts were there in the year 2018?" + }, + { + "input": "What was the change in current accounts from 2018 to 2019?", + "output": "What is the difference between the current accounts in 2018 and 2019?" + }, + { + "input": "\"What was the specific amount of compensation or payment given to individuals or employees in the year 2018?\"", + "output": "What was the remuneration in 2018?" + }, + { + "input": "What was the amount of compensation received in 2018?", + "output": "What was the remuneration in 2018?" + }, + { + "input": "Which year was the short-term benefits the highest?", + "output": "What was the peak year for short-term benefits?" + }, + { + "input": "Which year was the short-term benefits the highest?", + "output": "In which year did the short-term benefits reach their peak level?" + }, + { + "input": "For which specific years were the costs of constructing the vessels recorded?", + "output": "In which years was the vessels under construction costs recorded for?" + }, + { + "input": "For which years were the recorded construction costs of the vessels?", + "output": "In which years was the vessels under construction costs recorded for?" + }, + { + "input": "What is the significance or meaning behind vessels that are currently being constructed?", + "output": "What does vessels under construction represent?" + }, + { + "input": "In which year were the installment payments for the progress shipyard lower compared to other years?", + "output": "Which year was the progress shipyard installments lower?" + }, + { + "input": "In which specific year did the progress shipyard experience a decrease in the number of installments being made?", + "output": "Which year was the progress shipyard installments lower?" + }, + { + "input": "What was the difference in the average daily hire rate between 2017 and 2018?", + "output": "What was the change in average daily hire rate from 2017 to 2018?" + }, + { + "input": "What is the change in pool gross revenues from 2017 to 2018?", + "output": "What was the difference in the total revenue generated from pools in 2017 compared to 2018?" + }, + { + "input": "What is the change in pool gross revenues from 2017 to 2018?", + "output": "What is the difference in total gross revenues generated by the pool in 2017 compared to 2018?" + }, + { + "input": "In which years was the other payables and accruals recorded for?", + "output": "For which years was the recording of other payables and accruals made?" + }, + { + "input": "How many vessels were hired for employment in the year 2018?", + "output": "How many vessels were hired in 2018?" + }, + { + "input": "In 2018, what was the total number of vessels that were hired?", + "output": "How many vessels were hired in 2018?" + }, + { + "input": "In which year was the accrued interest higher?", + "output": "\"In which year did the accumulated interest amount exceed the interest accrued in other years?\"" + }, + { + "input": "What is the percentage difference in the combined value of total payables and accruals between 2018 and 2019?", + "output": "What was the percentage change in total payables and accruals from 2018 to 2019?" + }, + { + "input": "What was the difference in the ratio of a company's long-term debt to its equity from 2018 to 2019?", + "output": "What was the change in gearing ratio from 2018 to 2019?" + }, + { + "input": "In 2019, how many operating days were there and what was the total revenue generated during those days?", + "output": "What was the total revenue operating days in 2019?" + }, + { + "input": "How many operating days were there in 2019 and what was the total revenue generated during those days?", + "output": "What was the total revenue operating days in 2019?" + }, + { + "input": "What was the change in average daily hire rate from 2018 to 2019?", + "output": "What was the specific difference in the average rate of daily hiring between 2018 and 2019? How did the average daily hire rate change from one year to the other?" + }, + { + "input": "\"What was the specific monetary value of the cash distributions made in the year 2019 for common units?\"", + "output": "What was the amount of cash distributions in 2019 for common units?" + }, + { + "input": "How much did the size of the ATM Programme change?", + "output": "What was the change in size of the ATM Programme?" + }, + { + "input": "\"When was the specific year when the general and administrative expenses were officially documented or accounted for?\"", + "output": "In which year was the general and administrative expenses recorded for?" + }, + { + "input": "Where does the management intend to relocate its employees?", + "output": "\"What are the specific plans of the management regarding the relocation of its employees?\"" + }, + { + "input": "What was the selling price of Methane Julia Louise?", + "output": "How much was Methane Julia Louise sold for?" + }, + { + "input": "Which company was the vessel sold to?", + "output": "To which company was the vessel sold? Please provide the name of the company that purchased the vessel." + }, + { + "input": "Which company was the vessel sold to?", + "output": "\"To which company was the vessel sold?\"" + }, + { + "input": "What was the percentage change in total right-of use assets from start to end 2019?", + "output": "What was the percentage change in the total value of right-of-use assets between the beginning and end of 2019?" + }, + { + "input": "How much was the change in the repayment amount for the bank loan?", + "output": "By how much did the bank loan repayment change?" + }, + { + "input": "What year experienced a decrease in audit fees compared to previous years?", + "output": "In which year was the audit fees lower?" + }, + { + "input": "What was the percentage change in audit fees between 2018 and 2019?", + "output": "What was the change in audit fees from 2018 to 2019?" + }, + { + "input": "What was the percentage change in audit fees from the year 2018 to the year 2019?", + "output": "What was the change in audit fees from 2018 to 2019?" + }, + { + "input": "What are the components subjected to credit risk?", + "output": "What are the various components that are exposed to the risk of credit?" + }, + { + "input": "What is the significance of bunkers' consumption and other voyage expenses in relation to overall expenses for a voyage?", + "output": "What does bunkers’ consumption and other voyage expenses represent?" + }, + { + "input": "What is the highest year for brokers' commissions on revenue?", + "output": "In which year was the brokers' commissions on revenue the highest?" + }, + { + "input": "What was the change in bunkers’ consumption and other voyage expenses from 2018 to 2019?", + "output": "What was the difference in the consumption of bunkers and other voyage expenses between 2018 and 2019?" + }, + { + "input": "What is the specific monetary value that The Cool Pool Limited is required to pay in 2018?", + "output": "What is the amount due from The Cool Pool Limited in 2018?" + }, + { + "input": "In which years was the dividends receivable and other amounts due from related parties recorded for?", + "output": "For which years were the recorded dividends receivable and other amounts due from related parties?" + }, + { + "input": "In which years was the dividends receivable and other amounts due from related parties recorded for?", + "output": "In which specific years were the dividends receivable and other outstanding amounts due from related parties recorded?" + }, + { + "input": "In which years was the investments recorded for?", + "output": "For which specific years were the investments recorded?" + }, + { + "input": "What was the numerical difference in the number of additions made between 2018 and 2019?", + "output": "What was the change in additions from 2018 to 2019?" + }, + { + "input": "What was the difference in the number of additions between 2018 and 2019?", + "output": "What was the change in additions from 2018 to 2019?" + }, + { + "input": "What were the specific Level 2 municipal and corporate bonds held on December 31, 2018?", + "output": "What are the respective Level 2 municipal and corporate bonds as at December 31, 2018?" + }, + { + "input": "What is the value of municipal bonds as a percentage of the total marketable securities?", + "output": "What proportion of the overall marketable securities is represented by municipal bonds?" + }, + { + "input": "What are the respective goodwill amounts in 2015 and 2016?", + "output": "What were the goodwill amounts in 2015 and 2016, respectively?" + }, + { + "input": "What were the average amounts of total cash, cash equivalents, and marketable securities in the years 2015 and 2016?", + "output": "What is the average total cash, cash equivalents, and marketable securities in 2015 and 2016?" + }, + { + "input": "What is the proportion of shares bought in November out of the total shares purchased in the last three months of 2019?", + "output": "What percentage of the total shares purchased in the last three months of 2019 are bought in November?" + }, + { + "input": "What is the proportion of shares bought in November out of the total shares purchased during the last three months of 2019?", + "output": "What percentage of the total shares purchased in the last three months of 2019 are bought in November?" + }, + { + "input": "What is the percentage change in revenue from term license between 2018 and 2019?", + "output": "What is the percent increase or decrease in revenue from term license for the year 2019 compared to 2018?" + }, + { + "input": "What is the percentage increase or decrease in revenue generated from maintenance services from 2018 to 2019?", + "output": "What is the percentage change in revenue from maintenance between 2018 and 2019?" + }, + { + "input": "What were the pre-tax losses in 2018 and 2019 for the company?", + "output": "What are the respective loss before income tax benefits in 2018 and 2019?" + }, + { + "input": "What were the pre-tax domestic and foreign earnings in 2017?", + "output": "What are the respective domestic and foreign income before income taxes in 2017?" + }, + { + "input": "\"What were the pre-tax incomes in 2017, separated by domestic and foreign sources?\"", + "output": "What are the respective domestic and foreign income before income taxes in 2017?" + }, + { + "input": "\"What were the total losses incurred in the domestic market and international markets in 2019, excluding any income tax benefits received?\"", + "output": "What are the respective domestic and foreign losses before income tax benefits in 2019?" + }, + { + "input": "What is the sum of all outstanding receivables that are yet to be invoiced, and are expected to be collected within a period of two years?", + "output": "What is the total unbilled receivables due within 2 years?" + }, + { + "input": "What is the sum of all outstanding amounts receivable that have not been invoiced yet, and are expected to be collected within the next 1 to 5 years?", + "output": "What is the total unbilled receivables due between 1 to 5 years?" + }, + { + "input": "What is the cumulative value of unrealized billings that are yet to be accounted for and are expected to be collected within a period ranging from 1 to 5 years?", + "output": "What is the total unbilled receivables due between 1 to 5 years?" + }, + { + "input": "What is the difference between the company's federal and state net operating losses?", + "output": "What differentiates the federal and state net operating losses of the company?" + }, + { + "input": "What were the amounts that the company is authorised to repurchase in 2019 and 2018 respectively?", + "output": "What were the authorized repurchase amounts for the company in both 2019 and 2018?" + }, + { + "input": "What were the respective amounts of stock repurchases made by the company as at January 1, 2018 and 2019 respectively?", + "output": "What were the specific amounts of stock repurchases made by the company as of January 1, 2018 and January 1, 2019, respectively?" + }, + { + "input": "What was the average amount of stock repurchases as of January 1st in both 2017 and 2018?", + "output": "What is the average stock repurchases as at January 1, 2017 and 2018?" + }, + { + "input": "What is the average amount of stock repurchases as of January 1, 2017, and January 1, 2018?", + "output": "What is the average stock repurchases as at January 1, 2017 and 2018?" + }, + { + "input": "What is the exact percentage difference in the amount of long-term deferred revenue from 2018 to 2019?", + "output": "What is the percentage change in long-term deferred revenue between 2018 and 2019?" + }, + { + "input": "What are the respective values for Term in 2018 and 2019?", + "output": "What are the values for Term in the year 2018? What are the values for Term in the year 2019?" + }, + { + "input": "What are the company's respective stock-based compensation for cost of revenues in 2019 and 2018?", + "output": "What were the stock-based compensation expenses for the cost of revenues incurred by the company in both 2019 and 2018?" + }, + { + "input": "What are the company's respective stock-based compensation for cost of revenues in 2019 and 2018?", + "output": "\"What were the stock-based compensation expenses for cost of revenues in 2019 and 2018 for the company?\"" + }, + { + "input": "What is the average amount of stock-based compensation for the cost of revenue that the company has incurred from 2017 to 2019?", + "output": "What is the company's average stock-based compensation for the cost of revenue between 2017 to 2019?" + }, + { + "input": "What is the average amount of stock-based compensation granted by the company for the selling and marketing department in both 2018 and 2019?", + "output": "What is the company's average stock-based compensation for selling and marketing in 2018 and 2019?" + }, + { + "input": "\"What was the average amount of stock-based compensation granted to employees in the selling and marketing department of the company in both 2018 and 2019?\"", + "output": "What is the company's average stock-based compensation for selling and marketing in 2018 and 2019?" + }, + { + "input": "What is the percentage change in revenue earned from term license from 2015 to 2016?", + "output": "What is the percentage change in the revenue earned from term license between 2015 and 2016?" + }, + { + "input": "What is the total revenue earned from maintenance in 2017 and 2018?", + "output": "What is the combined revenue generated from maintenance services in the years 2017 and 2018?" + }, + { + "input": "What is the total revenue earned from maintenance in 2017 and 2018?", + "output": "What was the combined revenue generated from maintenance services in the years 2017 and 2018?" + }, + { + "input": "How did actuarial calculations impact the resulting changes in parameters?", + "output": "What did the changes in parameters on the basis of actuarial calculations lead to?" + }, + { + "input": "What was the precise amount of the actual return on plan assets in the fiscal year 2019?", + "output": "How much did the actual return on plan assets amount to in FY2019?" + }, + { + "input": "What items or expenses are typically excluded from the expected payments?", + "output": "What is not included in expected payments?" + }, + { + "input": "Explain what expenses or items are typically not encompassed within the estimated payments.", + "output": "What is not included in expected payments?" + }, + { + "input": "What was the change in interest income in FY2019 from FY2018?", + "output": "What was the difference in the amount of income generated from interest in the fiscal year 2019 compared to the fiscal year 2018?" + }, + { + "input": "What was the change in interest income in FY2019 from FY2018?", + "output": "What was the specific difference in interest income between the fiscal year 2019 and the fiscal year 2018?" + }, + { + "input": "In which year did Asia experience a higher year-on-year percentage change in GDP compared to 2018 during the period from 2018 to 2019?", + "output": "In which year was the Year-on-year percentage change of GDP in Asia larger from 2018 to 2019?" + }, + { + "input": "What was the change in the year-on-year percentage change in GDP for Germany from 2018 to 2019?", + "output": "What was the difference in the percentage change of Germany's GDP from one year to the next, comparing 2018 and 2019?" + }, + { + "input": "In which year did the total sum of taxes collected exceed the amount collected in all other years?", + "output": "In which year was the total amount of taxes larger?" + }, + { + "input": "What was the exact difference in the total amount of taxes paid in the time period from 2018 to 2019 compared to the time period from 2017 to 2018?", + "output": "What was the change in total taxes in 2018/2019 from 2017/2018?" + }, + { + "input": "What was the percentage increase or decrease in the total amount of taxes in 2018/2019 compared to 2017/2018?", + "output": "What was the percentage change in total taxes in 2018/2019 from 2017/2018?" + }, + { + "input": "What factors or criteria are used as a foundation for the measurements being taken?", + "output": "What is the basis for the measurements?" + }, + { + "input": "What is the fundamental basis or principle used to determine the measurements being referred to in the context?", + "output": "What is the basis for the measurements?" + }, + { + "input": "In which specific year did the amount for Belgium surpass or exceed the previous value?", + "output": "In which year was the amount for Belgium larger?" + }, + { + "input": "In which specific year did the total amount (not specified) exceed the amount for Belgium?", + "output": "In which year was the amount for Belgium larger?" + }, + { + "input": "What was the amount of cash and cash equivalents in FY2019?", + "output": "How much cash and cash equivalents were reported in the financial statements for the fiscal year 2019?" + }, + { + "input": "What was the exact percentage difference in Cash and cash equivalents between FY2018 and FY2019 after considering adjustments?", + "output": "What was the percentage change in Cash and cash equivalents in FY2019 from FY2018 adjusted?" + }, + { + "input": "What was the calculated percentage difference in Cash and cash equivalents between FY2019 and FY2018, after adjusting for any relevant factors?", + "output": "What was the percentage change in Cash and cash equivalents in FY2019 from FY2018 adjusted?" + }, + { + "input": "In which specific year did the absolute value of the Earnings per share exceed the value in another year?", + "output": "In which year was the absolute value of the Earnings per share larger?" + }, + { + "input": "\"What specific factor was used to calculate the net cost of the current service?\"", + "output": "What was the current service cost netted against?" + }, + { + "input": "\"In which specific year did the total sales exceed the sales of other years in terms of maximum revenue generated?\"", + "output": "In which year was the Total sales larger?" + }, + { + "input": "In what year did the headcount in METRO Asia exceed the corresponding headcount in other years?", + "output": "In which year was the amount in METRO Asia headcount larger?" + }, + { + "input": "What was the year-over-year change in the number of employees at METRO AG from 2018 to 2019?", + "output": "What was the change in METRO AG headcount in 2019 from 2018?" + }, + { + "input": "With which companies did METRO maintain business relations with, and who were the parties involved in these relations?", + "output": "Who were the parties to which METRO maintained business relations with related companies?" + }, + { + "input": "What were the business relations to related companies listed in the table?", + "output": "What were the business relations between the listed companies in the table and other related entities or organizations?" + }, + { + "input": "What was the difference in the amount and type of services received in the fiscal year 2019 compared to the fiscal year 2018?", + "output": "What was the change in services received in FY2019 from FY2018?" + }, + { + "input": "What is the exact percentage change in the number of services received during fiscal year 2019 compared to fiscal year 2018?", + "output": "What was the percentage change in services received in FY2019 from FY2018?" + }, + { + "input": "What was the exact percentage difference in the quantity of services received during the fiscal year 2019 compared to the fiscal year 2018?", + "output": "What was the percentage change in services received in FY2019 from FY2018?" + }, + { + "input": "In what format is the cash flow statement presented in the table?", + "output": "What version is the cash flow statement in the table in?" + }, + { + "input": "What specific expenses related to income tax were officially acknowledged in the year 2019?", + "output": "What are the recognised income tax expenses in 2019?" + }, + { + "input": "What was the percentage change in recognised income tax expenses in 2018/2019 from 2017/2018?", + "output": "What was the percentage increase or decrease in recognised income tax expenses for the financial year 2018/2019 compared to the financial year 2017/2018?" + }, + { + "input": "What was the percentage change in recognised income tax expenses in 2018/2019 from 2017/2018?", + "output": "What was the percentage increase or decrease in recognised income tax expenses for the fiscal year 2018/2019 compared to the fiscal year 2017/2018?" + }, + { + "input": "What was the change in EBT in 2018/2019 from 2017/2018?", + "output": "What was the difference in EBT (Earnings Before Taxes) between 2018 and 2019 when compared to 2017 and 2018?" + }, + { + "input": "What does the other operating income include?", + "output": "What type of income is included under \"other operating income\"? Please provide a comprehensive explanation of the various sources that fall under this category." + }, + { + "input": "In which specific year did the amount of Services surpass the quantity in other years?", + "output": "In which year was the amount of Services larger?" + }, + { + "input": "During which year did the quantity of services surpass the quantity in previous years?", + "output": "In which year was the amount of Services larger?" + }, + { + "input": "What was the exact amount of equity during the fiscal year 2019?", + "output": "What was the amount of equity in FY2019?" + }, + { + "input": "What proportion of the total earnings in FY2019 can be attributed to the Noncontrolling interests?", + "output": "How much of earnings does the Noncontrolling interests account for in FY2019?" + }, + { + "input": "What proportion of the FY2019 earnings is represented by the Noncontrolling interests account?", + "output": "How much of earnings does the Noncontrolling interests account for in FY2019?" + }, + { + "input": "What was the exact numerical difference in sales between FY2019 and FY2018?", + "output": "What was the change in Sales in FY2019 from FY2018?" + }, + { + "input": "What was the difference in the total amount of sales between fiscal year 2019 and fiscal year 2018?", + "output": "What was the change in Sales in FY2019 from FY2018?" + }, + { + "input": "When were the calculations of employee numbers by segments performed?", + "output": "When were the employee numbers by segments calculated?" + }, + { + "input": "What were the specific segments or categories mentioned under the \"METRO\" component in the table that accounted for the number of employees?", + "output": "What were the components under METRO in the table when accounting for the employee numbers by segments?" + }, + { + "input": "What was the change in METRO AG in 2019 from 2018?", + "output": "What was the year-on-year change in METRO AG's performance in 2019 compared to 2018?" + }, + { + "input": "What was the percentage difference in METRO AG's performance in 2019 compared to 2018?", + "output": "What was the percentage change in METRO AG in 2019 from 2018?" + }, + { + "input": "What was the percentage difference in the performance of METRO AG in 2019 compared to 2018?", + "output": "What was the percentage change in METRO AG in 2019 from 2018?" + }, + { + "input": "In which year was the amount of total assets larger?", + "output": "\"When comparing the amount of total assets, which year had a larger value?\"" + }, + { + "input": "What was the percentage change in total assets in FY2019 from FY2018?", + "output": "What was the percentage increase or decrease in the total assets for the fiscal year 2019 compared to the total assets for the fiscal year 2018?" + }, + { + "input": "What is the source of revenue that compensates for the expenses incurred in providing logistics services?", + "output": "What is offset by income from logistics services?" + }, + { + "input": "What are the components under Other operating expenses in the table?", + "output": "What specific components are included in the category of \"Other operating expenses\" as mentioned in the table?" + }, + { + "input": "What are the components under Other operating expenses in the table?", + "output": "What specifically are the individual components included in the category of Other operating expenses in the provided table?" + }, + { + "input": "What was the change in Losses from the disposal of fixed assets in 2018/2019 from 2017/2018?", + "output": "\"What is the difference in losses resulting from the sale or disposal of fixed assets between the fiscal years 2017/2018 and 2018/2019?\"" + }, + { + "input": "What was the change in Losses from the disposal of fixed assets in 2018/2019 from 2017/2018?", + "output": "What was the difference in the amount of losses incurred from selling fixed assets between the fiscal years 2018/2019 and 2017/2018?" + }, + { + "input": "What was the percentage increase or decrease in losses resulting from the disposal of fixed assets during the period of 2018/2019 compared to the period of 2017/2018?", + "output": "What was the percentage change in Losses from the disposal of fixed assets in 2018/2019 from 2017/2018?" + }, + { + "input": "What was the percentage change in losses incurred from the disposal of fixed assets in the fiscal year 2018/2019 compared to the fiscal year 2017/2018?", + "output": "What was the percentage change in Losses from the disposal of fixed assets in 2018/2019 from 2017/2018?" + }, + { + "input": "What was the change in interest carry-forwards in FY2019 from FY2018?", + "output": "What was the difference in the amount of interest carry-forwards between the fiscal years of 2019 and 2018?" + }, + { + "input": "What are the primary elements within the table that are utilized to determine the outcome of the interest calculation?", + "output": "What are the broad components in the table which are used to calculate the interest result?" + }, + { + "input": "What are the various broad components included in the table that are utilized for calculating the outcome of interest?", + "output": "What are the broad components in the table which are used to calculate the interest result?" + }, + { + "input": "What was the percentage change in the amount of income earned from interest during the period between 2018 and 2019 compared to the previous period between 2017 and 2018?", + "output": "What was the percentage change in interest income in 2018/2019 from 2017/2018?" + }, + { + "input": "In which specific year did the total sum of taxes other than general administrative expenses exceed the amount incurred in those administrative expenses?", + "output": "In which year was the amount of other taxes thereof from general administrative expenses larger?" + }, + { + "input": "In which years were the reserves retained from earnings calculated in?", + "output": "During which specific years were the calculations for retained reserves from earnings conducted?" + }, + { + "input": "In which years were the reserves retained from earnings calculated in?", + "output": "During which specific years were the calculations for retaining reserves from earnings carried out?" + }, + { + "input": "What was the change in the Income tax on components of other comprehensive income in FY2019 from FY2018?", + "output": "What was the difference in the income tax related to the components of other comprehensive income from fiscal year 2018 to fiscal year 2019?" + }, + { + "input": "What was the change in operating income in the Communications Solutions segment in 2019?", + "output": "What was the specific amount of increase or decrease in operating income for the Communications Solutions segment during the year 2019?" + }, + { + "input": "What was the change in operating income in the Communications Solutions segment in 2019?", + "output": "What was the percentage change in operating income specifically for the Communications Solutions segment during the year 2019 compared to the previous year?" + }, + { + "input": "Why did operating income decrease in fiscal 2019?", + "output": "\"What were the reasons for the decrease in operating income during fiscal year 2019?\"" + }, + { + "input": "Why did operating income decrease in fiscal 2019?", + "output": "What were the reasons for the decrease in operating income in fiscal 2019?" + }, + { + "input": "In which year did the volume or quantity of raw materials reach its highest point?", + "output": "In which year was Raw materials larger?" + }, + { + "input": "In which specific year did the total volume or quantity of raw materials experience a greater increase or reach a higher value compared to previous years?", + "output": "In which year was Raw materials larger?" + }, + { + "input": "In which specific years was the calculation of the Repurchase value conducted?", + "output": "Which years was the Repurchase value calculated in?" + }, + { + "input": "What was the exact difference in the total number of common shares repurchased in the year 2019 compared to 2018?", + "output": "What was the change in the Number of common shares repurchased in 2019 from 2018?" + }, + { + "input": "What was the calculation for determining the percentage change in the quantity of common shares repurchased during the year 2019 in comparison to 2018?", + "output": "What was the percentage change in the Number of common shares repurchased in 2019 from 2018?" + }, + { + "input": "What are the specific categories or divisions for which the net sales figures are displayed in the provided table?", + "output": "What are the segments for which the net sales are presented in the table?" + }, + { + "input": "What year did Industrial Solutions experience a larger size or growth compared to other years?", + "output": "In which year was Industrial Solutions larger?" + }, + { + "input": "What specific changes occurred in the Industrial Solutions sector between 2018 and 2019?", + "output": "What was the change in Industrial Solutions in 2019 from 2018?" + }, + { + "input": "In 2019, what specific changes occurred in the Industrial Solutions sector compared to the previous year of 2018?", + "output": "What was the change in Industrial Solutions in 2019 from 2018?" + }, + { + "input": "In which years was the basic earnings per share calculated for?", + "output": "For which specific years was the metric of basic earnings per share calculated and used for evaluation?" + }, + { + "input": "In which years was the basic earnings per share calculated for?", + "output": "For which years was the calculation of basic earnings per share carried out? Please provide specific details in your answer." + }, + { + "input": "What was the change in Dilutive impact of share-based compensation arrangements in 2019 from 2018?", + "output": "What was the difference in the dilutive impact of share-based compensation arrangements between 2018 and 2019?" + }, + { + "input": "What was the year-on-year percentage change in the dilutive impact caused by share-based compensation arrangements in 2019 compared to 2018?", + "output": "What was the percentage change in Dilutive impact of share-based compensation arrangements in 2019 from 2018?" + }, + { + "input": "What was the exact percentage change in the dilutive impact of share-based compensation arrangements between 2018 and 2019?", + "output": "What was the percentage change in Dilutive impact of share-based compensation arrangements in 2019 from 2018?" + }, + { + "input": "In which specific year did the percentage of industrial solutions reach its lowest point?", + "output": "In which year was the percentage of industrial solutions the lowest in?" + }, + { + "input": "What was the percentage change in the Weighted-Average Grant-Date Fair Value for nonvested shares between 2018 and 2019?", + "output": "What was the change in the Weighted-Average Grant-Date Fair Value for nonvested shares in 2019 from 2018?" + }, + { + "input": "In the table, what segments were considered when calculating the backlog?", + "output": "What were the segments for which backlog was calculated in the table?" + }, + { + "input": "For which segments in the table was the backlog calculated?", + "output": "What were the segments for which backlog was calculated in the table?" + }, + { + "input": "What was the change in total backlog in 2019 from 2018?", + "output": "What was the difference in the total backlog between 2019 and 2018?" + }, + { + "input": "What was the percentage difference in the total amount of unfinished work in 2019 compared to 2018?", + "output": "What was the percentage change in total backlog in 2019 from 2018?" + }, + { + "input": "In which specific year did the amount spent on acquisition and integration costs exceed any other year?", + "output": "In which year was Acquisition and integration costs larger?" + }, + { + "input": "In which specific year did the expenses incurred for acquisition and integration costs exceed the expenses in other years?", + "output": "In which year was Acquisition and integration costs larger?" + }, + { + "input": "What are the components under U.S. in the table?", + "output": "Which components are listed under the U.S. category in the table?" + }, + { + "input": "What are the different categories of Income Tax Expense (Benefit) mentioned in the table?", + "output": "What are the types of Income Tax Expense (Benefit) in the table?" + }, + { + "input": "In which specific year did Non-U.S. experience the highest income tax expense (benefit)?", + "output": "Which year was the current income tax expense (benefit) for Non-U.S. the largest?" + }, + { + "input": "In which year did the Non-U.S. current income tax expense (benefit) reach its highest amount?", + "output": "Which year was the current income tax expense (benefit) for Non-U.S. the largest?" + }, + { + "input": "What was the change in Current income tax expense (benefit) in 2019 from 2018?", + "output": "What was the difference in Current income tax expense (benefit) between 2019 and 2018?" + }, + { + "input": "What is the company's policy regarding the allocation and management of funds?", + "output": "What is the company's funding policy?" + }, + { + "input": "What is the minimum amount of contributions that individuals are required to make to the pension plan outside of the United States?", + "output": "How much minimum required contributions is expected to be made to the non-U.S. pension plan?" + }, + { + "input": "Which fiscal year between 2020 and 2024 will witness the highest benefit payments under the United States plans?", + "output": "In which Fiscal year from 2020 to 2024 would the benefit payments under the U.S Plans be the largest?" + }, + { + "input": "During which fiscal year from 2020 to 2024 will the benefit payments under the United States Plans reach their maximum extent?", + "output": "In which Fiscal year from 2020 to 2024 would the benefit payments under the U.S Plans be the largest?" + }, + { + "input": "What is typically not included in the net earnings of companies operating outside the United States?", + "output": "What do the Non-U.S. net earnings exclude?" + }, + { + "input": "What is excluded from the net earnings of countries other than the U.S. and why?", + "output": "What do the Non-U.S. net earnings exclude?" + }, + { + "input": "What was the percentage increase or decrease in the expense for U.S. federal income tax at the statutory rate in 2019 compared to 2018?", + "output": "What was the percentage change in Notional U.S. federal income tax expense at the statutory rate in 2019 from 2018?" + }, + { + "input": "What are the specific elements or factors taken into account when calculating Restructuring and Other Charges, Net?", + "output": "What are the components considered under Restructuring and Other Charges, Net?" + }, + { + "input": "When did the lowest value of net restructuring charges occur?", + "output": "In which year was Restructuring charges, net the lowest?" + }, + { + "input": "When was the year with the lowest net restructuring charges recorded?", + "output": "In which year was Restructuring charges, net the lowest?" + }, + { + "input": "What was the change in Restructuring charges, net in 2019 from 2018?", + "output": "What was the difference in the amount of Restructuring charges, net between 2019 and 2018?" + }, + { + "input": "What was the change in Restructuring charges, net in 2019 from 2018?", + "output": "What was the net change in restructuring charges in 2019 compared to 2018?" + }, + { + "input": "In 2019, what was the percentage difference in Restructuring charges, net compared to 2018?", + "output": "What was the percentage change in Restructuring charges, net in 2019 from 2018?" + }, + { + "input": "What specific regions do the net sales to external customers correspond to?", + "output": "What are the net sales by geographic region to external customers attributed to?" + }, + { + "input": "In which specific year did the percentage in Americas reach its highest point compared to other years?", + "output": "In which year was the percentage in Americas the largest?" + }, + { + "input": "What is the specific year when the largest percentage was recorded in the Americas?", + "output": "In which year was the percentage in Americas the largest?" + }, + { + "input": "What was the average net sales in Asia-Pacific as a percentage of total net sales across 2017, 2018 and 2019?", + "output": "What was the average proportion of net sales generated in the Asia-Pacific region, compared to the total net sales, for the years 2017, 2018, and 2019?" + }, + { + "input": "What was the average net sales in Asia-Pacific as a percentage of total net sales across 2017, 2018 and 2019?", + "output": "What was the average percentage of total net sales in the Asia-Pacific region for the years 2017, 2018, and 2019 combined?" + }, + { + "input": "What was the percentage change in the amount of US dollar-denominated long-term debt from 2018 to 2019?", + "output": "What was the increase / (decrease) in US dollar-denominated long-term debt from 2018 to 2019?" + }, + { + "input": "What is the increase/ (decrease) in Numerator (basic) – Net income from 2018 to 2019?", + "output": "What is the change in Numerator (basic) – Net income from 2018 to 2019?" + }, + { + "input": "What is the increase/ (decrease) in Numerator (basic) – Net income from 2018 to 2019?", + "output": "What is the absolute change in Numerator (basic) – Net income from the year 2018 to the year 2019?" + }, + { + "input": "What is the percentage change in Basic Earnings per share from 2018 to 2019?", + "output": "What is the increase/ (decrease) in Basic Earnings per share from 2018 to 2019?" + }, + { + "input": "What is the percentage change in Diluted Earnings per share from 2018 to 2019?", + "output": "What is the increase/ (decrease) in Diluted Earnings per share from 2018 to 2019?" + }, + { + "input": "What is the percentage change in Diluted Earnings per share (EPS) between 2018 and 2019?", + "output": "What is the increase/ (decrease) in Diluted Earnings per share from 2018 to 2019?" + }, + { + "input": "What was the specific percentage of taxes paid in the year 2019, taking into account all applicable taxes and deductions?", + "output": "What was the effective tax rate in 2019?" + }, + { + "input": "What was the average Computed income tax expense?", + "output": "What was the average expense for income tax computed?" + }, + { + "input": "What was the percentage change in the amount of interest on borrowings from 2018 to 2019?", + "output": "What was the increase / (decrease) in Interest on borrowings from 2018 to 2019?" + }, + { + "input": "What was the percentage change in Interest on borrowings from 2018 to 2019?", + "output": "What was the increase / (decrease) in Interest on borrowings from 2018 to 2019?" + }, + { + "input": "What was the increase / (decrease) in the Finance costs before interest on lease liabilities from 2018 to 2019?", + "output": "What was the change in the Finance costs before interest on lease liabilities from 2018 to 2019?" + }, + { + "input": "What was the percentage change in Adjusted EBITDA between 2018 and 2019?", + "output": "What was the increase / (decrease) in Adjusted EBITDA from 2018 to 2019?" + }, + { + "input": "What was the average Depreciation and amortization?", + "output": "What was the average amount of depreciation and amortization expenses incurred over a specific period?" + }, + { + "input": "What factors contributed to the overall rise in both depreciation and amortization expenses?", + "output": "What caused the increase in the total depreciation and amortization?" + }, + { + "input": "What was the Depreciation of right-of-use assets in 2019?", + "output": "What was the amount of depreciation recorded for right-of-use assets during the year 2019?" + }, + { + "input": "What was the Depreciation of right-of-use assets in 2019?", + "output": "\"What was the amount of depreciation for right-of-use assets recorded in the financial statements for the year 2019?\"" + }, + { + "input": "What was the increase / (decrease) in the Depreciation from 2018 to 2019?", + "output": "What was the net change in Depreciation, either an increase or decrease, between the years 2018 and 2019?" + }, + { + "input": "What was the increase / (decrease) in the Depreciation from 2018 to 2019?", + "output": "What was the difference in the Depreciation amount from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the total depreciation and amortization from 2018 to 2019?", + "output": "What was the increase / (decrease) in the Total depreciation and amortization from 2018 to 2019?" + }, + { + "input": "What was the percentage change in Total depreciation and amortization from 2018 to 2019?", + "output": "What was the increase / (decrease) in the Total depreciation and amortization from 2018 to 2019?" + }, + { + "input": "What was the change in the coupon rate between November 12, 2019, and April 30, 2019?", + "output": "What was the increase / (decrease) in the coupon rate from November 12, 2019 to April 30, 2019?" + }, + { + "input": "What was the change in the coupon rate from November 12, 2019 to April 30, 2019?", + "output": "What was the increase / (decrease) in the coupon rate from November 12, 2019 to April 30, 2019?" + }, + { + "input": "What was the percentage change in the Equivalent (Cdn$) value from 2018 to November 2019?", + "output": "What was the increase / (decrease) in the Equivalent (Cdn$) between 2018 and November 2019?" + }, + { + "input": "What is the percentage change in the amount of interest on borrowings from 2018 to 2019?", + "output": "What is the increase/ (decrease) in Interest on borrowings from 2018 to 2019?" + }, + { + "input": "By what percentage did the Interest on borrowings change from 2018 to 2019? Please state whether there was an increase or decrease.", + "output": "What is the increase/ (decrease) in Interest on borrowings from 2018 to 2019?" + }, + { + "input": "What is the purpose of utilizing valuation-related analysis and making capital structure-related decisions?", + "output": "What is used for to conduct valuation-related analysis and make capital structure-related decisions?" + }, + { + "input": "What items are considered when calculating the adjusted net debt?", + "output": "What is included in the adjusted net debt?" + }, + { + "input": "In which context or industry is the valuation of debt derivatives without incorporating credit risk used as an evaluation tool?", + "output": "Where is debt derivatives valued without adjustment for credit risk used for evaluation?" + }, + { + "input": "What is the net change in long-term debt from December 31, 2018, to December 31, 2019?", + "output": "What is the increase/ (decrease) in Long-term debt from December 31, 2018 to December 31, 2019?" + }, + { + "input": "What is the change in the amount of Long-term debt from December 31, 2018 to December 31, 2019?", + "output": "What is the increase/ (decrease) in Long-term debt from December 31, 2018 to December 31, 2019?" + }, + { + "input": "What is the change in the value of net debt derivative assets without credit risk adjustment from December 31, 2018 to December 31, 2019?", + "output": "What is the increase/ (decrease) in Net debt derivative assets valued without any adjustment for credit risk from December 31, 2018 to December 31, 2019?" + }, + { + "input": "What is the method of measuring accounts receivable and what factors are considered in the measurement process?", + "output": "How is accounts receivable measured?" + }, + { + "input": "What is the percentage change in the amount of customer accounts receivable from 2018 to 2019?", + "output": "What is the increase/ (decrease) in Customer accounts receivable from 2018 to 2019?" + }, + { + "input": "\"What is the method employed to settle the principal amount of Convertible Notes in cash upon conversion, and how does it factor into the computation of diluted earnings?\"", + "output": "Which method is used for to settle the principal of the Convertible Notes in cash on conversion and calculates diluted earnings?" + }, + { + "input": "What are the consequences when a loss is incurred that can be attributed to shareholders?", + "output": "What happens if a loss attributable to shareholders has been incurred?" + }, + { + "input": "What was the Convertible Notes that had an anti-dilutive effect on the calculation of diluted earnings per common share in the year end 2019, 2018 and 2017 respectively?", + "output": "What were the Convertible Notes that impacted diluted earnings per common share calculation in 2019, 2018, and 2017, specifically in terms of their anti-dilutive effects?" + }, + { + "input": "What is the change in Loss per common share - basic and diluted from 2018 to 2019?", + "output": "What is the difference in the loss per common share - basic and diluted between 2018 and 2019?" + }, + { + "input": "What is the change in Loss per common share - basic and diluted from 2018 to 2019?", + "output": "What is the difference in basic and diluted Loss per common share between 2018 and 2019?" + }, + { + "input": "How are the recognition processes for realized and unrealized losses different?", + "output": "How are the realized and unrealized losses recognized?" + }, + { + "input": "How are both realized and unrealized losses recognized? Please provide a detailed explanation of the recognition process for each type of loss.", + "output": "How are the realized and unrealized losses recognized?" + }, + { + "input": "In which specific year did the Gain on sale or write-down of a cost-accounted investment amount to less than 1,000 thousands?", + "output": "In which year is the Gain on sale / (write-down) of cost-accounted investment less than 1,000 thousands?" + }, + { + "input": "\"In which fiscal year did the Gain on sale or write-down of a cost-accounted investment amount to less than 1,000 thousands (1 million)?\"", + "output": "In which year is the Gain on sale / (write-down) of cost-accounted investment less than 1,000 thousands?" + }, + { + "input": "What were the total fees paid by Teekay Tankers to KPMG LLP in 2019 and 2018, respectively?", + "output": "What fees was paid to KPMG LLP by Teekay Tankers during 2019 and 2018 respectively?" + }, + { + "input": "What were the fees paid by Teekay Tankers to KPMG LLP in 2019 and 2018?", + "output": "What fees was paid to KPMG LLP by Teekay Tankers during 2019 and 2018 respectively?" + }, + { + "input": "What are the components or factors included in the income tax expense calculation?", + "output": "What is included in the income tax expense?" + }, + { + "input": "What items are incorporated into the income tax expense?", + "output": "What is included in the income tax expense?" + }, + { + "input": "What is the difference in the number of positions taken in previous years between December 31, 2019, and December 31, 2018?", + "output": "What is the change in Changes for positions taken in prior years from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What is the net change in the number of positions taken in prior years from December 31, 2019 to December 31, 2018?", + "output": "What is the change in Changes for positions taken in prior years from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What led to increase in Consolidated net cash flow from operating activities for the year ended December 31, 2019?", + "output": "What factors contributed to the rise in Consolidated net cash flow from operating activities during the year ending on December 31, 2019?" + }, + { + "input": "How much did Brookfield receive from the sale of its interests in Altera in 2019?", + "output": "How much was received from Brookfield for the sale of interests in Altera during 2019?" + }, + { + "input": "What is the change in Net financing cash flows from Year Ended December 31, 2019 to December 31, 2018?", + "output": "What is the difference in the amount of cash generated or used for financing activities in the financial statements for the years ending December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in Net financing cash flows from Year Ended December 31, 2019 to December 31, 2018?", + "output": "What is the difference in net cash flows from financing activities between the fiscal years ended on December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in Net (loss) income from Year Ended December 31, 2019 to December 31, 2018?", + "output": "What was the difference in the Net (loss) income between the fiscal years ending on December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the change in Net (loss) income from Year Ended December 31, 2019 to December 31, 2018?", + "output": "What is the difference in the amount of net (loss) income between the fiscal year ending on December 31, 2019, and the fiscal year ending on December 31, 2018?" + }, + { + "input": "What is the change in Income tax expense (recovery) from Year Ended December 31, 2019 to December 31, 2018?", + "output": "What is the difference in the amount of income tax expense or recovery reported for the fiscal year ended on December 31, 2019, compared to the fiscal year ended on December 31, 2018?" + }, + { + "input": "What is the change in Income tax expense (recovery) from Year Ended December 31, 2019 to December 31, 2018?", + "output": "How does the income tax expense (recovery) change between the years ended December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the sum of all minimum lease payments expected to be received in the year 2019?", + "output": "What was the total Total minimum lease payments to be received in 2019?" + }, + { + "input": "What is the total sum of minimum lease payments that were expected to be received in the year 2019?", + "output": "What was the total Total minimum lease payments to be received in 2019?" + }, + { + "input": "What is the change in Initial direct costs and other from December 31, 2019 to December 31, 2018?", + "output": "How did the initial direct costs and other expenses change from December 31, 2018, to December 31, 2019?" + }, + { + "input": "When did Teekay sell to Brookfield all of the Company’s remaining interests in Altera?", + "output": "\"When was the complete sale of Teekay's remaining holdings in Altera to Brookfield executed?\"" + }, + { + "input": "When did Teekay sell to Brookfield all of the Company’s remaining interests in Altera?", + "output": "\"When did Teekay sell its remaining interests in Altera to Brookfield?\"" + }, + { + "input": "What were the Fair values at the start of the year for 2019 and 2018, respectively? Please provide the Fair value figures for both years separately.", + "output": "What was the Fair value at the beginning of the year for 2019 and 2018 respectively?" + }, + { + "input": "In which year was Fair value at the beginning of the year less than 15,000 thousands?", + "output": "In which year did the fair value at the beginning of the year fall below 15,000,000 (15 million) dollars?" + }, + { + "input": "\"What items are typically included in the calculation of current income tax expense, and what factors can affect this expense?\"", + "output": "What is included in current income tax expense?" + }, + { + "input": "What components are typically encompassed in the calculation of contemporary income tax expense?", + "output": "What is included in current income tax expense?" + }, + { + "input": "What is the change in Current income tax expense from December 31, 2019 to December 31, 2018?", + "output": "How much has the Current income tax expense changed from December 31, 2019, to December 31, 2018?" + }, + { + "input": "What is the change in Current income tax expense from December 31, 2019 to December 31, 2018?", + "output": "What was the difference in Current income tax expense between December 31, 2019 and December 31, 2018?" + }, + { + "input": "\"Between two years, which one exhibits a higher expense for current income tax?\"", + "output": "Which year has higher current income tax expense?" + }, + { + "input": "What were the Lease and Non-Lease commitments in the year 2021, and can you provide specific details about each commitment?", + "output": "What was the Lease and Non-Lease commitment in 2021 respectively?" + }, + { + "input": "What was the amount of lease commitment for the fiscal year 2022?", + "output": "What was the Lease commitment in 2022?" + }, + { + "input": "What was the total value of lease commitments in the year 2022?", + "output": "What was the Lease commitment in 2022?" + }, + { + "input": "In which year was the Lease commitment less than 10,000 thousands?", + "output": "In which specific year did the Lease commitment amount to less than 10,000 thousand units?" + }, + { + "input": "In which year was the Lease commitment less than 10,000 thousands?", + "output": "In which specific year did the Lease commitment amount fall below 10,000 thousands? (For better answering, please state the year and the unit of the Lease commitment.)" + }, + { + "input": "What is the difference in the lease commitment amount between 2020 and 2021?", + "output": "What is the change in the Lease commitment from 2020 to 2021?" + }, + { + "input": "What is the average duration of lease agreements from 2020 to 2022?", + "output": "What is the average Lease Commitment from 2020 to 2022?" + }, + { + "input": "What is the average duration of lease commitments between 2020 and 2022?", + "output": "What is the average Lease Commitment from 2020 to 2022?" + }, + { + "input": "How much was the equity loss for the year ended December 31, 2019?", + "output": "What was the amount of equity lost during the period from January 1 to December 31, 2019?" + }, + { + "input": "How much was the equity loss for the year ended December 31, 2019?", + "output": "What was the total amount of equity loss recorded for the period of the year ending December 31, 2019?" + }, + { + "input": "What is the difference in the combined amount of cash and restricted cash on December 31, 2019, compared to December 31, 2018?", + "output": "What is the change in Cash and restricted cash from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What was the increase or decrease in the category of Other assets – current on the company's balance sheet from December 31, 2019 to December 31, 2018?", + "output": "What is the change in Other assets – current from December 31, 2019 to December 31, 2018?" + }, + { + "input": "What were the values of the other current assets in the years 2019 and 2018?", + "output": "What was the other assets - current in 2019 and 2018 respectively?" + }, + { + "input": "What were the respective amounts of non-current liabilities in 2019 and 2018 aside from the liabilities mentioned earlier?", + "output": "What was the other liabilities - non current in 2019 and 2018 respectively?" + }, + { + "input": "What were the amounts of non-current liabilities in 2019 and 2018, respectively, excluding any other liabilities that may be present on the financial statements?", + "output": "What was the other liabilities - non current in 2019 and 2018 respectively?" + }, + { + "input": "What is the difference in the number of Consolidated LNG carriers between 2020 and 2021?", + "output": "What is the change in Consolidated LNG carriers from 2020 to 2021?" + }, + { + "input": "What is the net difference in the number of Consolidated LNG carriers between 2020 and 2021?", + "output": "What is the change in Consolidated LNG carriers from 2020 to 2021?" + }, + { + "input": "What is the annual growth or decline in the number of Consolidated LNG carriers from 2021 to 2022?", + "output": "What is the change in Consolidated LNG carriers from 2021 to 2022?" + }, + { + "input": "What is the average number of Consolidated LNG carriers for the period from 2020 to 2021?", + "output": "What is the average Consolidated LNG carriers, for the year 2020 to 2021?" + }, + { + "input": "What is the average number of Consolidated LNG carriers between the years 2020 and 2021?", + "output": "What is the average Consolidated LNG carriers, for the year 2020 to 2021?" + }, + { + "input": "What is the change in Realized (losses) gains relating to Interest rate swap agreements from Year Ended December 31, 2019 to December 31, 2018?", + "output": "What was the difference in Realized (losses) gains associated with Interest rate swap agreements between December 31, 2019 and December 31, 2018?" + }, + { + "input": "What is the difference in Realized losses and gains from Forward freight agreements between Year Ended December 31, 2019 and December 31, 2018?", + "output": "What is the change in Realized (losses) gains relating to Forward freight agreements from Year Ended December 31, 2019 to December 31, 2018?" + }, + { + "input": "What was the difference in revenue between 2019 and 2018?", + "output": "What is the change in Revenues from, 2019 to 2018?" + }, + { + "input": "What is the change in Voyage expenses from, 2019 to 2018?", + "output": "What is the difference in expenses for voyages comparing 2019 to 2018?" + }, + { + "input": "How is the expense of share-based compensation quantified and evaluated?", + "output": "How is share-based compensation expense measured?" + }, + { + "input": "How is the expense related to share-based compensation quantified and determined?", + "output": "How is share-based compensation expense measured?" + }, + { + "input": "What are the various types of share-based compensation plans in existence?", + "output": "What are the types of share-based compensation plans?" + }, + { + "input": "By what percentage did the stock-based compensation expense for general and administrative operations decrease from 2018 to 2019?", + "output": "How much did the stock-based compensation expense in the general and administrative operations decreased from 2018 to 2019?" + }, + { + "input": "What is the ending outstanding number of vested RSUs in 2019?", + "output": "What is the final count of vested Restricted Stock Units (RSUs) at the conclusion of 2019?" + }, + { + "input": "What is the ending outstanding number of vested RSUs in 2019?", + "output": "How many RSUs were left as outstanding in the year 2019 once they had vested?" + }, + { + "input": "What was the exact amount of depreciation expense recorded in the financial statements for the year 2018?", + "output": "What was the depreciation expense in 2018?" + }, + { + "input": "What are the accepted accounting methods for handling and recording disposed assets?", + "output": "What are the accounting treatments for disposed assets?" + }, + { + "input": "What are the accounting procedures to be followed specifically for assets that have been disposed of?", + "output": "What are the accounting treatments for disposed assets?" + }, + { + "input": "What is the net total for property, plant and equipment in 2019?", + "output": "What is the total value of property, plant, and equipment after deducting accumulated depreciation in 2019?" + }, + { + "input": "What is the net total for property, plant and equipment in 2019?", + "output": "What is the total value of property, plant, and equipment after deducting accumulated depreciation and any impairment losses, as reported in the financial statements for the year 2019?" + }, + { + "input": "What is the percentage decrease in the net value of Property, Plant, and Equipment between 2018 and 2019?", + "output": "What is the percentage decrease in Net Total Property, Plant and Equipment from 2018 to 2019?" + }, + { + "input": "How much was the increase in Federal R&D tax credits from 2018 to 2019?", + "output": "How much did R&D tax credits from the Federal increased from 2018 to 2019?" + }, + { + "input": "What was the percentage increase in R&D tax credits provided by the Federal government from 2018 to 2019?", + "output": "How much did R&D tax credits from the Federal increased from 2018 to 2019?" + }, + { + "input": "\"What was the amount recorded as a long-term liability in the financial statements for the year 2018?\"", + "output": "How much was reflected as a long-term liability in 2018?" + }, + { + "input": "What is the percentage difference in Net deferred tax assets from 2018 to 2019?", + "output": "What was the percentage change in Net deferred tax assets between 2018 and 2019?" + }, + { + "input": "What was the total cost of the service provided in the year 2018?", + "output": "What was the service cost in 2018?" + }, + { + "input": "What was the cost of the service provided in the year 2018?", + "output": "What was the service cost in 2018?" + }, + { + "input": "What was the difference in the cost of services from 2018 to 2019?", + "output": "What was the change in service cost between 2018 and 2019?" + }, + { + "input": "What was the change in interest cost between 2018 and 2019?", + "output": "What was the difference in the amount of money spent on interest between the years 2018 and 2019?" + }, + { + "input": "What was the change in interest cost between 2018 and 2019?", + "output": "How did the interest cost change from 2018 to 2019, and what is the difference between the two years?" + }, + { + "input": "What was the change in balances at the end of period between 2018 and 2019?", + "output": "What is the difference in balances at the end of the period between 2018 and 2019, and what caused this change?" + }, + { + "input": "What was the specific monetary value or total sum allocated for Machinery and equipment in the year 2018?", + "output": "What was the amount for Machinery and equipment in 2018?" + }, + { + "input": "\"What was the specific monetary value allocated to Machinery and equipment in the year 2018?\"", + "output": "What was the amount for Machinery and equipment in 2018?" + }, + { + "input": "What was the change in Net cash provided by (used in) operating activities from continuing operations between 2018 and 2019?", + "output": "What was the difference in Net cash provided by (used in) operating activities from continuing operations between the years 2018 and 2019?" + }, + { + "input": "What was the difference in the amount of Net cash provided by (used in) operating activities between the years 2018 and 2019?", + "output": "What was the change in Net cash provided by (used in) operating activities between 2018 and 2019?" + }, + { + "input": "What was the percentage change in Income (loss) from discontinued operations, net of income taxes between 2018 and 2019?", + "output": "What was the percentage change in net income (loss) from discontinued operations, after accounting for income taxes, between the fiscal years 2018 and 2019?" + }, + { + "input": "Which periods does the company's effective tax rates differ from the U.S. federal statutory rate?", + "output": "\"During which specific time periods does the effective tax rate of the company deviate from the U.S. federal statutory rate?\"" + }, + { + "input": "What was the specific framework or arrangement regarding Federal taxes in the year 2018, including any applicable laws, regulations, rates, and deductions?", + "output": "What was the current provision for Federal taxes in 2018?" + }, + { + "input": "What were the existing federal tax regulations and provisions for the year 2018?", + "output": "What was the current provision for Federal taxes in 2018?" + }, + { + "input": "What was the specific provision made for foreign taxes in the year 2019?", + "output": "What was the current provision for Foreign taxes in 2019?" + }, + { + "input": "What was the percentage increase or decrease in the fair value of intangible assets from 2018 to 2019?", + "output": "What was the percentage change in the fair value of intangible assets between 2018 and 2019?" + }, + { + "input": "What was the change in Pro Forma total sales between 2018 and 2019?", + "output": "What was the difference in the total sales of Pro Forma from 2018 to 2019?" + }, + { + "input": "What was the change in Pro Forma total sales between 2018 and 2019?", + "output": "What was the difference in Pro Forma total sales from 2018 to 2019?" + }, + { + "input": "What was the exact fair value of the property and equipment owned by LumaSense?", + "output": "What was the fair value of Property and equipment from LumaSense?" + }, + { + "input": "What was the fair value of Property and equipment acquired by LumaSense?", + "output": "What was the fair value of Property and equipment from LumaSense?" + }, + { + "input": "What was the difference in the assumed exercise of dilutive stock options and restricted stock units between the years 2018 and 2019?", + "output": "What was the change in Assumed exercise of dilutive stock options and restricted stock units between 2018 and 2019?" + }, + { + "input": "What was the disparity in the fair value of cash paid for acquisition between Trek and the Electrostatic Product Line?", + "output": "What was the difference in the fair value of cash paid for acquisition between Trek and Electrostatic Product Line?" + }, + { + "input": "What was the diluted earnings per share (EPS) specifically for Continuing Operations for the quarter ending in September?", + "output": "What was the diluted earnings per share of Continuing Operations in Quarter Ended September?" + }, + { + "input": "What was the diluted earnings per share of Continuing Operations in the quarter ending in September?", + "output": "What was the diluted earnings per share of Continuing Operations in Quarter Ended September?" + }, + { + "input": "What was the total Income (loss) from discontinued operations, net of income taxes in 2019?", + "output": "In 2019, what was the net income (loss) from discontinued operations, adjusted for income taxes?" + }, + { + "input": "What was the difference in total operating expense between the fiscal years 2018 and 2019?", + "output": "What was the change in total operating expense between 2018 and 2019?" + }, + { + "input": "What was the difference in the amount of money spent on operational expenses from 2018 to 2019?", + "output": "What was the change in total operating expense between 2018 and 2019?" + }, + { + "input": "How much money was owed to the company for goods or services provided in 2019 but not yet invoiced?", + "output": "What was the amount of unbilled receivables in 2019?" + }, + { + "input": "What were the precise amounts that were billed during the year 2018 after considering all deductions, fees, and payments?", + "output": "What were the net amounts billed in 2018?" + }, + { + "input": "What was the change in unbilled receivables between 2018 and 2019?", + "output": "What was the difference in the amount of unbilled receivables from 2018 to 2019?" + }, + { + "input": "What was the difference in the total amount billed between 2018 and 2019?", + "output": "What was the change in net amounts billed between 2018 and 2019?" + }, + { + "input": "What was the accumulated amortization of customer relationships in 2018?", + "output": "\"What was the total amount of accumulated amortization recorded for customer relationships during the year 2018?\"" + }, + { + "input": "What were the top two segments with the highest net carrying amounts in the year 2018?", + "output": "What was the two highest net carrying amounts segments in 2018?" + }, + { + "input": "What were the two segments with the highest net carrying amounts in 2018?", + "output": "What was the two highest net carrying amounts segments in 2018?" + }, + { + "input": "How much did the service cost in 2019 and can you provide more details about the specific service being referred to?", + "output": "What was service cost in 2019?" + }, + { + "input": "What was the total amount spent on interest expenses in the year 2018?", + "output": "What was interest cost in 2018?" + }, + { + "input": "What was the expected rate of return on plan assets for the year 2017?", + "output": "What was the Expected return on plan assets in 2017?" + }, + { + "input": "What was the anticipated return on assets for the plan in 2017?", + "output": "What was the Expected return on plan assets in 2017?" + }, + { + "input": "What was the change in Amortization of actuarial gains and losses between 2017 and 2018?", + "output": "What was the difference in the amount of amortization of actuarial gains and losses recorded between the years 2017 and 2018?" + }, + { + "input": "What was the change in Amortization of actuarial gains and losses between 2017 and 2018?", + "output": "What was the difference in the amount of Amortization of actuarial gains and losses between the fiscal years 2017 and 2018?" + }, + { + "input": "What were the specific expenses incurred for severance payments and any associated costs during the year 2019?", + "output": "What were the severance and related charges in 2019?" + }, + { + "input": "What was the amount of severance and associated expenses recorded as charges in the year 2019?", + "output": "What were the severance and related charges in 2019?" + }, + { + "input": "What was the change in Severance and related charges between 2018 and 2019?", + "output": "What was the year-on-year difference in the amount spent on Severance and related charges between 2018 and 2019?" + }, + { + "input": "What was the change in Severance and related charges between 2018 and 2019?", + "output": "What was the difference in the amount of Severance and related charges incurred in 2018 compared to 2019?" + }, + { + "input": "What is the proportion of facility relocation and closure charges in the total amount of restructuring charges incurred in 2019?", + "output": "What percentage of total restructuring charges in 2019 consisted of Facility relocation and closure charges?" + }, + { + "input": "What was the contrast between the combined assets in the Level 1 and Level 2 categories for the year 2019?", + "output": "What was the difference in the total assets in the Level 1 Level 2 categories for 2019?" + }, + { + "input": "What was the difference between the total assets in the Level 1 and Level 2 categories for the year 2019?", + "output": "What was the difference in the total assets in the Level 1 Level 2 categories for 2019?" + }, + { + "input": "What was the combined value of the top three assets in the Level 2 Category for the year 2019?", + "output": "What was the total of the three highest assets in the Level 2 Category for 2019?" + }, + { + "input": "What percentage of total assets across all categories consisted of assets from the Level One category for 2019?", + "output": "What was the proportion or share, in terms of percentage, of Level One assets out of the total assets across all categories for the year 2019?" + }, + { + "input": "What was the specific value or monetary figure of long-lived assets in the United States during the year 2019?", + "output": "What was the amount of long-lived assets in United States in 2019?" + }, + { + "input": "What was the net difference in the value of long-term assets in the United States from 2018 to 2019?", + "output": "What was the change in the amount of long-lived assets between 2018 and 2019 in United States?" + }, + { + "input": "\"What was the combined value of the two longest-lasting assets in the year 2018?\"", + "output": "What is the sum of the highest two long-lived assets in 2018?" + }, + { + "input": "\"What is the total value, in monetary terms, of the two long-lived assets with the highest worth that were recorded in the year 2018?\"", + "output": "What is the sum of the highest two long-lived assets in 2018?" + }, + { + "input": "What was the initial estimated value of property and equipment as of December 31, 2019 in relation to their market worth?", + "output": "What was the Preliminary fair value of property and equipment in December 31, 2019?" + }, + { + "input": "What was the initial estimated value of property and equipment as of December 31, 2019, before any adjustments or final calculations were made?", + "output": "What was the Preliminary fair value of property and equipment in December 31, 2019?" + }, + { + "input": "What was the initial estimated value assigned to inventories as of September 10th, 2019?", + "output": "What was the Preliminary fair value of inventories in September 10, 2019?" + }, + { + "input": "\"What was the initial estimated market value of the inventories as of September 10, 2019?\"", + "output": "What was the Preliminary fair value of inventories in September 10, 2019?" + }, + { + "input": "In 2019, what was the specific amount of revenue that was recognized for product sales and the provision of services at a particular point in time?", + "output": "What was the Product and service revenue recognized at point in time in 2019?" + }, + { + "input": "What specific extended warranty and service contracts were acknowledged and recorded throughout the year of 2018?", + "output": "What was the Extended warranty and service contracts recognized over time in 2018?" + }, + { + "input": "What were the specific extended warranty and service contracts that gained recognition throughout the year 2018?", + "output": "What was the Extended warranty and service contracts recognized over time in 2018?" + }, + { + "input": "What was the change in Product and service revenue recognized at point in time between 2018 and 2019?", + "output": "What was the specific difference in revenue from the sales of products and services recognized at a specific moment between the years 2018 and 2019?" + }, + { + "input": "What were the sales figures for the Industrial & Medical sectors in the year 2017?", + "output": "What was the sales for Industrial & Medical in 2017?" + }, + { + "input": "What were the sales figures specifically for Industrial & Medical sectors in the year 2017?", + "output": "What was the sales for Industrial & Medical in 2017?" + }, + { + "input": "What was the percentage change in sales of Semiconductor Equipment from 2017 to 2018?", + "output": "What was the change in sales of Semiconductor Equipment between 2017 and 2018?" + }, + { + "input": "What were the income taxes for the 2018 tax year, based on the federal statutory tax rates?", + "output": "What was the Income taxes per federal statutory rate in 2018?" + }, + { + "input": "What was the State income taxes, net of federal deduction in 2017?", + "output": "In 2017, what was the amount of state income taxes paid after deducting the federal deduction?" + }, + { + "input": "What were the specific modifications that occurred in the GILTI Tax legislation from 2018 to 2019?", + "output": "What was the change in GILTI Tax between 2018 and 2019?" + }, + { + "input": "What was the difference in the GILTI Tax rates from 2018 to 2019, and how did the change impact tax calculations?", + "output": "What was the change in GILTI Tax between 2018 and 2019?" + }, + { + "input": "What was the change in Unremitted earnings between 2018 and 2019?", + "output": "What was the difference in Unremitted earnings from 2018 to 2019? Please provide the specific amount of change in Unremitted earnings between these two years." + }, + { + "input": "What was the percentage difference in Withholding taxes from 2018 to 2019?", + "output": "What was the percentage change in Withholding taxes between 2018 and 2019?" + }, + { + "input": "What is the estimated rate of forfeiture?", + "output": "What was the forfeiture rate estimated to be?" + }, + { + "input": "What is total non-cash compensation expense related to stock-based awards in 2019?", + "output": "\"What was the amount of expenses incurred in 2019 for stock-based awards as a form of total non-cash compensation?\"" + }, + { + "input": "What is the range of years covered in the table?", + "output": "What are the years included in the table?" + }, + { + "input": "\"What is the final balance as of December 31, 2019?\"", + "output": "What is the balance at end of year for 2019?" + }, + { + "input": "In which specific markets does the company focus its marketing efforts and aim to capture a significant share of customers?", + "output": "Which markets does the company target?" + }, + { + "input": "What specific types of research and development (R&D) activities are sponsored by companies? Please provide a comprehensive list of these activities as outlined in the table.", + "output": "What are the types of company-sponsored R&D activities in the table?" + }, + { + "input": "What types of research and development (R&D) activities supported by companies are listed in the table?", + "output": "What are the types of company-sponsored R&D activities in the table?" + }, + { + "input": "What was the difference in the total expenditure on research and development sponsored by the company from 2018 to 2019?", + "output": "What is the change in the total company-sponsored research and development expense in 2019 from 2018?" + }, + { + "input": "What is the change in total backlog in 2019?", + "output": "What was the overall increase or decrease in the total backlog during the year 2019?" + }, + { + "input": "What are the segments under Total Backlog in the table?", + "output": "What specific categories or divisions are included within the Total Backlog section of the table?" + }, + { + "input": "How many distinct segments are there included in the Total Backlog?", + "output": "How many segments are there under Total Backlog?" + }, + { + "input": "How many distinct segments are included within the category of Total Backlog?", + "output": "How many segments are there under Total Backlog?" + }, + { + "input": "What is the specific maturity date or time period for the long-term debt that is expected to be due in 2021?", + "output": "What is the maturity of long-term debt for 2021?" + }, + { + "input": "What are the components recorded under income (loss) from continuing operations before income taxes?", + "output": "What specific items are included in the income (loss) from continuing operations category before taxes are deducted?" + }, + { + "input": "In which year was the amount under Foreign the smallest?", + "output": "\"When was the lowest recorded value for the amount under the category 'Foreign' observed?\"" + }, + { + "input": "What is the change in the amount under Foreign in 2019 from 2018?", + "output": "What is the difference in the amount under the category \"Foreign\" between 2019 and 2018?" + }, + { + "input": "What is the change in the amount under Foreign in 2019 from 2018?", + "output": "How much did the Foreign amount change from 2018 to 2019?" + }, + { + "input": "In which year was the amount of sales in Other the largest?", + "output": "In which year did the category labeled as \"Other\" witness the highest recorded sales volume?" + }, + { + "input": "What is the percentage change in the amount of Other in 2019 from 2018?", + "output": "What is the percentage difference in the amount of Other expenses or income in the year 2019 compared to 2018, and how can it be calculated?" + }, + { + "input": "What is the tax expense for 2019 calculated at the U.S. statutory rate?", + "output": "What is the Tax expense at U.S. statutory rate for 2019?" + }, + { + "input": "What was the tax expense for the year 2019 in the United States at the statutory rate?", + "output": "What is the Tax expense at U.S. statutory rate for 2019?" + }, + { + "input": "What is the percentage change in nondeductible expenses in 2019 from 2018?", + "output": "What is the percentage difference in the amount of expenses that cannot be deducted in 2019 compared to 2018?" + }, + { + "input": "What is the percentage change in nondeductible expenses in 2019 from 2018?", + "output": "What is the percentage increase or decrease in expenses that cannot be deducted from taxes in the year 2019 compared to the year 2018?" + }, + { + "input": "\"When were the costs associated with purchasing and developing the ERP system recorded?\"", + "output": "In which years were the incurred costs related to the purchase and development of the ERP system recorded?" + }, + { + "input": "In which year did the total value of property, plant, and equipment reach its highest level?", + "output": "In which year was the total amount of property, plant and equipment larger?" + }, + { + "input": "In which specific year did the combined value of property, plant, and equipment reach its highest point?", + "output": "In which year was the total amount of property, plant and equipment larger?" + }, + { + "input": "What is the change in leasehold improvements from 2018 to 2019?", + "output": "What was the year-on-year change in the value of leasehold improvements between 2018 and 2019?" + }, + { + "input": "What is the percentage change in leasehold improvements from 2018 to 2019?", + "output": "What is the percentage difference in the value of leasehold improvements from 2018 to 2019?" + }, + { + "input": "What is the percentage change in CGD sales in 2018?", + "output": "What was the percentage increase or decrease in CGD sales in 2018 compared to the previous year?" + }, + { + "input": "What is the percentage change in CGD sales in 2018?", + "output": "What is the exact percentage difference in sales of CGD products between the years 2018 and the previous year?" + }, + { + "input": "For which years is the amortization of purchased intangibles included in the CGD results recorded?", + "output": "In the recorded CGD results, during which specific years is the amortization of purchased intangibles included?" + }, + { + "input": "In which year does the inclusion of the amortization of purchased intangibles result in a higher amount in the Comprehensive Gain or Loss From Discontinued Operations (CGD)?", + "output": "In which year is the amortization of purchased intangibles included in the CGD results larger?" + }, + { + "input": "\"What criteria or requirements must be met in order to be eligible for receiving an extra cash payment amounting to $3.0 million?\"", + "output": "What is the eligibility to receive an additional cash payment of $3.0 million based on?" + }, + { + "input": "During which years was the method of calculating net income (loss) per common share using the weighted-average number of shares outstanding implemented and documented?", + "output": "For which years was the weighted-average number of shares outstanding used to compute net income (loss) per common share recorded?" + }, + { + "input": "What is the percentage change in adjusted EBITDA in 2019 from 2018?", + "output": "What is the exact percentage change in adjusted EBITDA between the years 2018 and 2019?" + }, + { + "input": "What is the percentage change in adjusted EBITDA in 2019 from 2018?", + "output": "What is the percentage difference in adjusted EBITDA between 2019 and 2018? How can this information be used to analyze the financial performance in these two years?" + }, + { + "input": "What resulted in a higher operating income?", + "output": "What factor led to an increase in operating income?" + }, + { + "input": "How many finished products were produced in the year 2019?", + "output": "What is the amount of finished products in 2019?" + }, + { + "input": "What was the total quantity of completed products manufactured in the year 2019?", + "output": "What is the amount of finished products in 2019?" + }, + { + "input": "In which year does the value of finished products surpass the value of finished products in other years, resulting in a higher overall value?", + "output": "In which year is the value of finished products higher?" + }, + { + "input": "What are the differences in the types of materials and purchased parts between 2018 and 2019?", + "output": "What is the change in materials and purchased parts from 2018 to 2019?" + }, + { + "input": "\"What factors contributed to the increase in operating profits?\"", + "output": "What resulted in the improvement in operating profits?" + }, + { + "input": "For which fiscal year(s) is the amount of amortization of purchased intangibles included in the CGD results recorded?", + "output": "In which fiscal year(s) is the CGD results recorded and does it include the amortization amount of purchased intangibles?" + }, + { + "input": "For which fiscal year(s) is the amount of amortization of purchased intangibles included in the CGD results recorded?", + "output": "In which fiscal year(s) is the amortization amount of purchased intangibles included in the recorded results of the Comprehensive Growth and Development (CGD)?" + }, + { + "input": "Which year, from the given weighted-average assumptions for determining benefit obligation as of September 30, exhibits the highest rate of compensation increase among all years?", + "output": "For the weighted-average assumptions used to determine benefit obligation at September 30, which year has the largest rate of compensation increase?" + }, + { + "input": "What was the change in the discount rate between 2018 and 2019 for determining the benefit obligation at September 30?", + "output": "For the weighted-average assumptions used to determine benefit obligation at September 30, what is the change in the discount rate in 2019 from 2018?" + }, + { + "input": "What is the weighted-average discount rate used to calculate the benefit obligation as of September 30 for the years 2017, 2018, and 2019?", + "output": "For the weighted-average assumptions used to determine benefit obligation at September 30, what is the average discount rate across 2017, 2018 and 2019?" + }, + { + "input": "In what specific year did the rate differential for foreign exchange exceed 10.0?", + "output": "In which year was Foreign rate differential greater than 10.0?" + }, + { + "input": "What was the average amount of state taxes, excluding federal benefits, for the years 2017 to 2019?", + "output": "What was the average State taxes net of federal benefit for 2017-2019?" + }, + { + "input": "How much did the Research and Development credits shift between 2018 and 2019?", + "output": "What is the change in the Research and development credits from 2018 to 2019?" + }, + { + "input": "What is the difference in the amount of Research and Development credits between 2018 and 2019?", + "output": "What is the change in the Research and development credits from 2018 to 2019?" + }, + { + "input": "What were the respective gains in 2019 and 2018?", + "output": "What were the gains achieved in 2019 and 2018, respectively?" + }, + { + "input": "What were the respective gains in 2019 and 2018?", + "output": "What were the gains in 2019 and 2018, respectively?" + }, + { + "input": "What is the specific year when the Loss from discontinued operations was exactly zero?", + "output": "In which year was Loss from discontinued operations 0?" + }, + { + "input": "What was the average amount of money lost from 2017 to 2019?", + "output": "What was the average Net loss for 2017 to 2019?" + }, + { + "input": "What is the change in the Weighted average common shares outstanding-basic from 2018 to 2019?", + "output": "What is the difference in the number of weighted average common shares outstanding-basic between 2018 and 2019?" + }, + { + "input": "What was the depreciation and amortization expense related to property and equipment for 2019?", + "output": "What was the specific amount of depreciation and amortization expense attributed to property and equipment for the fiscal year 2019?" + }, + { + "input": "\"What was the precise monetary worth or estimated value, expressed in the currency of the specific country or region, of the category of Machinery and Equipment during the calendar year of 2019?\"", + "output": "What was the value of Machinery and equipment in 2019?" + }, + { + "input": "What was the exact monetary value of Machinery and equipment in the year 2019?", + "output": "What was the value of Machinery and equipment in 2019?" + }, + { + "input": "In what year did the construction in process have a value of less than 30,000 thousands?", + "output": "In which year was value of Construction in process less than 30,000 thousands?" + }, + { + "input": "In which specific year did the value of Construction in process fall below 30,000 thousands?", + "output": "In which year was value of Construction in process less than 30,000 thousands?" + }, + { + "input": "What were the average values of Machinery and equipment in both 2018 and 2019?", + "output": "What was the average value of Machinery and equipment for 2018 and 2019?" + }, + { + "input": "What is the average telecommunication expenditure during the fiscal years 2018 and 2019?", + "output": "What is the average Telecom for fiscal year 2018 and 2019?" + }, + { + "input": "During which year did the number of Telecom users fall below 200,000 thousand?", + "output": "In which year was Telecom less than 200,000 thousand?" + }, + { + "input": "What was the exact percentage decrease of the revenue in 2019 compared to the previous year?", + "output": "What was the decrease in the revenue in 2019?" + }, + { + "input": "What was the specific percentage decrease in revenue for the fiscal year of 2019?", + "output": "What was the decrease in the revenue in 2019?" + }, + { + "input": "What is the average value of the Telecom industry for the fiscal years 2017 and 2018 combined?", + "output": "What is the average Telecom value for fiscal year 2017 and 2018?" + }, + { + "input": "What was the average value of the telecommunications industry for the fiscal years 2017 and 2018?", + "output": "What is the average Telecom value for fiscal year 2017 and 2018?" + }, + { + "input": "In which year was Telecom value less than 300,000 thousand?", + "output": "In what specific year did the value of Telecom drop below 300,000 thousand?" + }, + { + "input": "What were the values of divestments and acquisitions in 2019, 2018, and 2017?", + "output": "What was the (Divested)/acquired values in 2019, 2018 and 2017 respectively?" + }, + { + "input": "In what specific year did the beginning balance fall below 5,000,000?", + "output": "In which year was Balance — beginning of year less than 5,000 thousands?" + }, + { + "input": "In what specific year did the beginning balance equate to less than 5,000 thousands (5 million)?", + "output": "In which year was Balance — beginning of year less than 5,000 thousands?" + }, + { + "input": "What was the difference in the amount of expenses allocated to provisions between the years 2017 and 2018?", + "output": "What was the change in the Provisions/(expense) from 2017 to 2018?" + }, + { + "input": "What was the difference in the Provisions/(expense) between 2017 and 2018?", + "output": "What was the change in the Provisions/(expense) from 2017 to 2018?" + }, + { + "input": "What was the amount of charge-offs recorded in the year 2019?", + "output": "What was the charge-offs in 2019?" + }, + { + "input": "\"What was the total amount of charge-offs incurred in 2019?\"", + "output": "What was the charge-offs in 2019?" + }, + { + "input": "\"What is the average net Provision for the years 2017, 2018, and 2019?\"", + "output": "What was the average Provision, net for 2017-2019?" + }, + { + "input": "What was the average net provision for the years 2017, 2018, and 2019 combined?", + "output": "What was the average Provision, net for 2017-2019?" + }, + { + "input": "What factors determine the value that is obtained upon vesting?", + "output": "What is the value realized on vesting based on?" + }, + { + "input": "What were the specific equity awards held by each named executive officer throughout the year 2019?", + "output": "What were the equity awards held by named executives during 2019?" + }, + { + "input": "What were the equity awards granted to the named executives in 2019?", + "output": "What were the equity awards held by named executives during 2019?" + }, + { + "input": "What is the significance of the number of shares obtained upon vesting?", + "output": "What does the number of shares acquired on vesting represent?" + }, + { + "input": "Where was the reported combined net loss of $82 million disclosed or published?", + "output": "Where was the combined net loss of $82 million reported in?" + }, + { + "input": "What was the percentage difference in the Adjusted EBITDA margin from 2017 to 2019?", + "output": "What is the total change in the Adjusted EBITDA margin between 2019 and 2017?" + }, + { + "input": "What specific expenses are included in the integration and transformation costs that have an impact on the Adjusted EBITDA?", + "output": "What does the integration and transformation costs impacting Adjusted EBITDA include?" + }, + { + "input": "What is the change in total special items impacting adjusted EBITDA between 2018 and 2019?", + "output": "What was the difference in the total number of special items affecting adjusted EBITDA from 2018 to 2019?" + }, + { + "input": "What is the change in total special items impacting adjusted EBITDA between 2018 and 2019?", + "output": "How did the total special items affecting adjusted EBITDA change from 2018 to 2019?" + }, + { + "input": "What is the percentage change in total special items impacting adjusted EBITDA between 2018 and 2019?", + "output": "What is the percentage difference in the amount of special items affecting adjusted EBITDA from 2018 to 2019?" + }, + { + "input": "What is the percentage change in total special items impacting adjusted EBITDA between 2018 and 2019?", + "output": "What is the percentage difference in the total number of special items affecting adjusted EBITDA from 2018 to 2019?" + }, + { + "input": "How is the amortization process for deferred acquisition and fulfillment costs conducted?", + "output": "How are the deferred acquisition and fulfillment costs amortized?" + }, + { + "input": "What is the percentage change for the end of period balance for Fulfillment Costs when comparing the beginning of period balance?", + "output": "What is the percentage change in the end of period balance for Fulfillment Costs when comparing it with the beginning of period balance?" + }, + { + "input": "What was the total value of options that were available to be exercised and outstanding as of December 31, 2019?", + "output": "What was the aggregate intrinsic value of options outstanding and exercisable at December 31, 2019? " + }, + { + "input": "Which year has a higher weighted-average exercise price for options outstanding and exercisable?", + "output": "Which year exhibits a greater weighted-average exercise price for options that are currently outstanding and available for exercise?" + }, + { + "input": "What does the deferred income tax benefit (expense) under post-retirement benefit plans currently recognize? ", + "output": "What recognition does the deferred income tax benefit (expense) currently provide for under post-retirement benefit plans?" + }, + { + "input": "What is the percentage increase or decrease in the deferred income tax benefit or expense for post-retirement benefit plans between 2017 and 2018?", + "output": "What is the percentage change in the deferred income tax benefit (expense) for post-retirement benefit plans in 2018 from 2017?" + }, + { + "input": "What was the percentage difference in the deferred income tax benefit (expense) for post-retirement benefit plans between 2018 and 2017?", + "output": "What is the percentage change in the deferred income tax benefit (expense) for post-retirement benefit plans in 2018 from 2017?" + }, + { + "input": "How is the Adjusted EBITDA Run Rate determined?", + "output": "How is the Adjusted EBITDA Run Rate calculated and what factors are considered in determining it?" + }, + { + "input": "What are the different performance levels?", + "output": "What are the various levels of performance and can you provide more details about each level?" + }, + { + "input": "How many levels of performance would result in a payout exceeding 50% of the target award?", + "output": "How many performance levels would the payout as % of target award be above 50%?" + }, + { + "input": "How many performance levels have a payout as a percentage of the target award that exceeds 50%?", + "output": "How many performance levels would the payout as % of target award be above 50%?" + }, + { + "input": "What is the main factor or aspect that goodwill is specifically connected or associated with?", + "output": "What is goodwill attributable to?" + }, + { + "input": "What is property, plant and equipment expressed as a ratio of the total estimated aggregate consideration under the balance as of December 31, 2017?", + "output": "What is the ratio of property, plant, and equipment to the total estimated aggregate consideration shown in the balance as of December 31, 2017?" + }, + { + "input": "What is property, plant and equipment expressed as a ratio of the total estimated aggregate consideration under the balance as of December 31, 2017?", + "output": "What is the ratio of property, plant and equipment to the total estimated aggregate consideration on the balance sheet as of December 31, 2017?" + }, + { + "input": "What is the percentage change in other non current assets in 2018?", + "output": "What was the percentage change in other non-current assets during the year 2018?" + }, + { + "input": "Under what conditions would officers be entitled to the years of welfare benefits?", + "output": "When would officers have the right to receive welfare benefits for a prolonged period of time?" + }, + { + "input": "Which types of officers are listed in the table?", + "output": "\"What types of officers are included in the table displayed?\"" + }, + { + "input": "Which type of officer has the longest protected period?", + "output": "Which rank of officer within a specific profession or organization is entitled to the longest period of protection?" + }, + { + "input": "Which type of officer has the longest protected period?", + "output": "Which type of officer is granted the longest period of protection against any form of termination or dismissal?" + }, + { + "input": "What was the gross debt amount in the year 2019?", + "output": "What is the gross debt in 2019?" + }, + { + "input": "What was the difference in the total amount of debt in 2019 compared to 2018?", + "output": "What is the change in gross debt in 2019 from 2018?" + }, + { + "input": "What is the percentage change in gross debt in 2019 from 2018?", + "output": "What was the percentage increase/decrease in the gross debt from 2018 to 2019?" + }, + { + "input": "What is the percentage change in gross debt in 2019 from 2018?", + "output": "What is the percentage difference in the amount of gross debt from 2018 to 2019?" + }, + { + "input": "On what basis are the estimated benefit payments made, considering the underlying assumptions?", + "output": "What assumptions are the estimated benefit payments based on?" + }, + { + "input": "How many separate periods are highlighted in the table?", + "output": "How many different period segments are highlighted in the table?" + }, + { + "input": "How many distinct period segments are specifically emphasized in the provided table?", + "output": "How many different period segments are highlighted in the table?" + }, + { + "input": "What is the percentage change in combined pension plan in 2021 from 2020?", + "output": "What is the percentage difference in the combined pension plan between 2021 and 2020?" + }, + { + "input": "What was the extent or percentage of the business that falls under the category of Operations and Other that was sold?", + "output": "What portion of business under Operations and Other was sold?" + }, + { + "input": "What is the total segment revenue in 2019?", + "output": "What is the exact amount of revenue generated by each segment in 2019 and what is the sum of these revenues overall?" + }, + { + "input": "What components are under operating revenue?", + "output": "What specific components contribute to the total operating revenue of a company or organization?" + }, + { + "input": "What additional information does Note 17 provide?", + "output": "What is the additional information provided in Note 17?" + }, + { + "input": "What additional information does Note 17 provide?", + "output": "What is the content of Note 17 and how does it provide additional information?" + }, + { + "input": "\"What was the exact sum of adjusted EBITDA for the entire year of 2019?\"", + "output": "What is the total adjusted EBITDA in 2019?" + }, + { + "input": "What is the change in the adjusted EBITDA under Wholesale in 2019 from 2018?", + "output": "What was the difference in adjusted EBITDA for the Wholesale category between 2019 and 2018?" + }, + { + "input": "What is the average total adjusted EBITDA over the three years?", + "output": "What is the mean value of the total adjusted EBITDA for the three-year period?" + }, + { + "input": "How many executives among the present ones in the organization receive a short-term incentive bonus that exceeds $500,000 in amount?", + "output": "How many current executives have a STI bonus amount greater than $500,000?" + }, + { + "input": "How many executives presently receive a Short-Term Incentive (STI) bonus exceeding $500,000?", + "output": "How many current executives have a STI bonus amount greater than $500,000?" + }, + { + "input": "What is the salary earned by Indraneel Dev in 2019, and how does it compare to his/her STI bonus amount, expressed as a ratio?", + "output": "What is Indraneel Dev's salary earned during 2019 expressed as a ratio of his/her STI bonus amount?" + }, + { + "input": "What is included in the category of 'Support assets'? Please provide a detailed explanation of the various components that constitute these assets.", + "output": "What do 'Support assets' consist of?" + }, + { + "input": "What is the specific figure for Reported Balances' operating revenue?", + "output": "What is the Reported Balances operating revenue?" + }, + { + "input": "What was the variation in the deferred income tax benefit (expense) related to pension plans between 2019 and 2018?", + "output": "What is the change in the deferred income tax benefit (expense) for pension plans in 2019 from 2018?" + }, + { + "input": "What is the percentage change in the deferred income tax benefit (expense) for pension plans in 2019 from 2018?", + "output": "What is the exact percentage difference in the deferred income tax benefit or expense for pension plans between the years 2018 and 2019?" + }, + { + "input": "What was the outcome of the continuous efforts made to downsize the company's workforce?", + "output": "What was recognized as a result of ongoing efforts to reduce the company's workforce?" + }, + { + "input": "What is the average amount of service costs across 2017, 2018 and 2019?", + "output": "What is the mean service cost from 2017 to 2019?" + }, + { + "input": "What was the total amount of money owed by customers that had not been received as of December 31, 2019?", + "output": "What was the gross customer receivables at December 31, 2019?" + }, + { + "input": "What was the total amount of customer receivables as recorded on the balance sheet at the end of December 31, 2019, including all outstanding invoices and amounts owed to the company by its customers?", + "output": "What was the gross customer receivables at December 31, 2019?" + }, + { + "input": "What is included in the total value of long-term debt?", + "output": "What does total long-term debt include?" + }, + { + "input": "What is included in the total amount of long-term debt?", + "output": "What does total long-term debt include?" + }, + { + "input": "What was the approach or method adopted in 2019 to determine the total assets of an entity?", + "output": "Regarding the total assets, what was adopted in 2019?" + }, + { + "input": "How many different dates declared had a dividend per share of $0.250 in 2018 and 2019?", + "output": "In 2018 and 2019, how many dates were declared with a dividend per share of $0.250?" + }, + { + "input": "\"What specific categories of expenses were documented in the records for the year 2018?\"", + "output": "What types of expenses were recorded during 2018?" + }, + { + "input": "What were the recorded expenses in 2018 and what categories do they fall under?", + "output": "What types of expenses were recorded during 2018?" + }, + { + "input": "\"What is the total amount of non-cash goodwill impairment charges that are not tax-deductible, for the years 2019 and 2018?\"", + "output": "What is the sum of non-cash, non-tax-deductible goodwill impairment charges for 2019 and 2018?" + }, + { + "input": "How much were the cumulative acquisition-related expenses incurred specifically by Level 3 in the year 2019?", + "output": "What was the amount of cumulative acquisition-related expenses incurred for Level 3 in 2019?" + }, + { + "input": "What was the total amount of expenses related to acquisitions that Level 3 incurred in the year 2019? Please provide the specific cumulative value.", + "output": "What was the amount of cumulative acquisition-related expenses incurred for Level 3 in 2019?" + }, + { + "input": "In which year did the company record the smallest total expenditure associated with acquisitions?", + "output": "Which year incurred the lowest amount of total acquisition-related expenses?" + }, + { + "input": "In which specific year did the company experience the least amount of expenses related to acquisition?", + "output": "Which year incurred the lowest amount of total acquisition-related expenses?" + }, + { + "input": "Against what were the estimates offset for the years 2019, 2018, and 2017?", + "output": "What are the 2019, 2018 and 2017 change in estimates offset against?" + }, + { + "input": "What factors were the changes in estimates for 2019, 2018, and 2017 set off against?", + "output": "What are the 2019, 2018 and 2017 change in estimates offset against?" + }, + { + "input": "In what year was the highest accretion expense recorded?", + "output": "Which year has the largest accretion expense?" + }, + { + "input": "What is the year with the highest accretion expense?", + "output": "Which year has the largest accretion expense?" + }, + { + "input": "What is the average accretion expense across 2017, 2018 and 2019?", + "output": "What is the average expense for accretion incurred during the years 2017, 2018, and 2019?" + }, + { + "input": "Where is the recording location for the current portion of the post-retirement benefit obligations?", + "output": "Where is the current portion of the post-retirement benefit obligations recorded?" + }, + { + "input": "In which specific year is the fair value of plan assets under post-retirement benefit plans higher than in other years?", + "output": "In which year is the fair value of plan assets under post-retirement benefit plans higher?" + }, + { + "input": "\"What were the depreciation and amortization figures for the fiscal year 2019?\"", + "output": "What is the Depreciation and amortization for 2019?" + }, + { + "input": "What is the total adjusted EBITDA for each segment in 2019?", + "output": "What is the total segment adjusted EBITDA in 2019?" + }, + { + "input": "What is the total amount of income tax expense (benefit) recorded in the financial statements for the years 2018 and 2019?", + "output": "What is the sum of income tax expense (benefit) in 2018 and 2019?" + }, + { + "input": "What is the percentage change in income tax expense (benefit) in 2019 from 2018?", + "output": "What is the percentage difference in income tax expense (benefit) between 2018 and 2019?" + }, + { + "input": "What was the total amount of interest expenses incurred in the year 2019?", + "output": "What is the total interest expense in 2019?" + }, + { + "input": "What was the total amount of interest paid in expenses during the year 2019?", + "output": "What is the total interest expense in 2019?" + }, + { + "input": "What segments of interest expense are presented in the table?", + "output": "Which specific segments of interest expense are displayed in the table provided?" + }, + { + "input": "What is the specific monetary difference in the total interest expense for the year 2019 compared to 2018?", + "output": "What is the change in the gross interest expense in 2019 from 2018?" + }, + { + "input": "What was the difference in the amount of money spent on interest expenses in 2019 compared to 2018?", + "output": "What is the change in the gross interest expense in 2019 from 2018?" + }, + { + "input": "What is the average amount of interest paid over the years 2017, 2018, and 2019?", + "output": "What is the average total interest expense for 2017 to 2019?" + }, + { + "input": "\"What is the average annual value of unvested restricted stock awards that were excluded from antidilutive considerations in the years 2017, 2018, and 2019?\"", + "output": "What is the average annual amount of unvested restricted stock awards that are antidilutive excluded in 2017, 2018 and 2019?" + }, + { + "input": "What were the respective average annual amounts of unvested restricted stock awards that were excluded due to being antidilutive in 2017, 2018, and 2019?", + "output": "What is the average annual amount of unvested restricted stock awards that are antidilutive excluded in 2017, 2018 and 2019?" + }, + { + "input": "Which year has a larger amount of contract acquisition costs?", + "output": "In which specific year do the contract acquisition costs exhibit a greater magnitude or quantity compared to other years?" + }, + { + "input": "What is the change in contract assets in 2019?", + "output": "What is the net increase or decrease in contract assets during the year 2019?" + }, + { + "input": "What percentage of Level 3 goodwill is specifically allocated to the consumer segment?", + "output": "How much of Level 3 goodwill is allocated to consumer?" + }, + { + "input": "What is the ratio of goodwill to the total amount as of December 31, 2018, in the context of Business?", + "output": "What is the amount of goodwill under Business as a ratio of the Total amount as of December 31, 2018?" + }, + { + "input": "As of December 31, 2018, what is the ratio of goodwill to the total amount in Business?", + "output": "What is the amount of goodwill under Business as a ratio of the Total amount as of December 31, 2018?" + }, + { + "input": "What is the combined goodwill figure for the years 2017 and 2018?", + "output": "What is the sum of the total amount of goodwill for 2017 and 2018?" + }, + { + "input": "What is the combined value of goodwill for both 2017 and 2018?", + "output": "What is the sum of the total amount of goodwill for 2017 and 2018?" + }, + { + "input": "\"What specific items are encompassed within the current liabilities section of the consolidated balance sheets?\"", + "output": "What do the current liabilities reflected in the consolidated balance sheets include?" + }, + { + "input": "What specific items are included under current liabilities in the consolidated balance sheets?", + "output": "What do the current liabilities reflected in the consolidated balance sheets include?" + }, + { + "input": "What items are typically categorized as Other current liabilities in financial statements?", + "output": "What are the items included under Other current liabilities?" + }, + { + "input": "In which specific year do capital expenditures account for a greater value of accounts payable?", + "output": "Which year has a larger amount of accounts payable associated with capital expenditures?" + }, + { + "input": "Which specific year indicates a higher level of accounts payable specifically linked to capital expenditures?", + "output": "Which year has a larger amount of accounts payable associated with capital expenditures?" + }, + { + "input": "What distinguishes the total grant values of Indraneel Dev and Stacey W. Goff?", + "output": "What is the difference between Indraneel Dev and Stacey W. Goff's total grant values?" + }, + { + "input": "What is the disparity in total grant amounts between Indraneel Dev and Stacey W. Goff?", + "output": "What is the difference between Indraneel Dev and Stacey W. Goff's total grant values?" + }, + { + "input": "What is the monthly average for the number of shares that are typically withheld for tax purposes?", + "output": "What is the average number of shares withheld for taxes per month?" + }, + { + "input": "\"What is the monthly average amount of shares that are typically withheld for tax purposes?\"", + "output": "What is the average number of shares withheld for taxes per month?" + }, + { + "input": "What is the total amount of minimum lease payments expected for non-cancellable operating leases in 2019?", + "output": "How much is the 2019 total future minimum lease payments under non-cancellable operating leases?" + }, + { + "input": "What was the percentage change in future minimum lease payments due within one year between 2018 and 2019?", + "output": "How much did future minimum lease payments due within one year change by between 2018 and 2019?" + }, + { + "input": "Which year, 2018 or 2019, had a higher value of capital?", + "output": "Between 2018 and 2019, which year had a greater amount of capital?" + }, + { + "input": "In terms of owned assets, which year, 2018 or 2019, had a higher overall value or quantity of assets?", + "output": "Between 2018 and 2019, which year had a greater amount of owned assets?" + }, + { + "input": "Which year, 2018 or 2019, had a higher total value of assets owned?", + "output": "Between 2018 and 2019, which year had a greater amount of owned assets?" + }, + { + "input": "What were the average values of leased assets for the years 2018 and 2019?", + "output": "What is the average leased assets for 2018 and 2019?" + }, + { + "input": "What was the average value of leased assets for the years 2018 and 2019?", + "output": "What is the average leased assets for 2018 and 2019?" + }, + { + "input": "What is the average trade receivables included within non-current assets?", + "output": "What is the average amount of trade receivables included within the category of non-current assets?" + }, + { + "input": "What is the average prepayments included in non-current assets?", + "output": "What is the average amount of prepayments that are included in non-current assets?" + }, + { + "input": "What financial items does guidance basis comprise of?", + "output": "What specific components does the guidance basis in financial terms consist of?" + }, + { + "input": "Which year, either 2018 or 2019, had a higher adjusted EBITDA on a guidance basis?", + "output": "Between 2018 and 2019, which year had higher adjusted EBITDA, guidance basis?" + }, + { + "input": "Which year, 2018 or 2019, had a higher adjusted EBITDA on a guidance basis? Please provide the comparison between the two specified years.", + "output": "Between 2018 and 2019, which year had higher adjusted EBITDA, guidance basis?" + }, + { + "input": "What is the 2019 average adjusted EBITDA, guidance basis?", + "output": "\"What was the average adjusted EBITDA on a guidance basis for the year 2019?\"" + }, + { + "input": "What is the average amount of cash and cash equivalents that are typically reported in the statement of cash flows?", + "output": "What is the average cash and cash equivalents presented in the statement of cash flows?" + }, + { + "input": "What is the average amount of cash and cash equivalents reported in the statement of cash flows?", + "output": "What is the average cash and cash equivalents presented in the statement of cash flows?" + }, + { + "input": "What are the different types of financial items that are included in the data of a consolidated income statement?", + "output": "What financial items does the consolidated income statement data comprise of?" + }, + { + "input": "\"What is the mean total income for the fiscal years 2018 and 2019?\"", + "output": "What is the average revenue for 2018 and 2019?" + }, + { + "input": "What were the average revenues for the years 2018 and 2019?", + "output": "What is the average revenue for 2018 and 2019?" + }, + { + "input": "What was the average revenue in 2017 and 2018?", + "output": "What is the average revenue for 2017 and 2018?" + }, + { + "input": "\"What was the average revenue in both 2017 and 2018? Please provide the specific revenue figures for each year.\"", + "output": "What is the average revenue for 2017 and 2018?" + }, + { + "input": "\"What is the revenue change reported specifically for Europe?\"", + "output": "What is the reported change in revenue - europe?" + }, + { + "input": "What is the reported change in revenue for Europe? How has the revenue in Europe been affected according to the reports?", + "output": "What is the reported change in revenue - europe?" + }, + { + "input": "\"Which country, Germany or Italy, has experienced a greater overall growth in the organic sector over a specified period of time?\"", + "output": "Between Germany and Italy, which one has a higher organic change?" + }, + { + "input": "What does cash consideration paid comprise of?", + "output": "What is included in the cash consideration paid?" + }, + { + "input": "\"In the table, what is the timeframe for the financial years whose information is displayed?\"", + "output": "Which financial years' information is shown in the table?" + }, + { + "input": "What is the total value of acquisitions made in 2019 throughout the year?", + "output": "How much is the 2019 acquisitions during the year ?" + }, + { + "input": "What was the total value of acquisitions made in 2019 throughout the year?", + "output": "How much is the 2019 acquisitions during the year ?" + }, + { + "input": "Which year, 2018 or 2019, witnessed a higher number of acquisitions throughout the entire year?", + "output": "Between 2018 and 2019, which year had a greater amount of acquisitions during the year?" + }, + { + "input": "What are the total operating lease commitments?", + "output": "What is the sum of all the commitments related to operating leases?" + }, + { + "input": "What are the total operating lease commitments?", + "output": "What is the sum of all commitments made for operating leases?" + }, + { + "input": "What is the total outstanding amount of financial liabilities that need to be paid within the shortest timeframe?", + "output": "How much financial liabilities are due for payment soonest?" + }, + { + "input": "What is the proportion of financial liabilities in relation to the overall sum of contractual obligations and commitments?", + "output": "What percentage of total contractual obligations and commitments is the financial liabilities?" + }, + { + "input": "\"What is the average amount of revenue generated from services according to IAS 18 for the years 2018 and 2019?\"", + "output": "What is the average service revenue between 2018 and 2019 IAS 18?" + }, + { + "input": "What is the difference between average service revenue and average other revenue?", + "output": "What distinguishes average service revenue from average other revenue?" + }, + { + "input": "Which specific financial years are being represented in the provided table?", + "output": "Which financial years' information is shown in the table?" + }, + { + "input": "What type of short-term investments are shown in the table?", + "output": "\"What specific types of short-term investments are displayed in the provided table?\"" + }, + { + "input": "What is the percentage change in the value of managed investment funds from 2018 to 2019?", + "output": "What is the change in managed investment funds between 2018 and 2019?" + }, + { + "input": "What is the difference in the value of managed investment funds from 2018 to 2019?", + "output": "What is the change in managed investment funds between 2018 and 2019?" + }, + { + "input": "What type of long-term borrowings are shown in the table?", + "output": "What are the specific types of long-term borrowings that are presented in the table?" + }, + { + "input": "What type of long-term borrowings are shown in the table?", + "output": "What is the specific category of long-term borrowings that is displayed in the table?" + }, + { + "input": "What is the percentage change in the number of shares acquired from February to March 2019?", + "output": "What is the percentage change between shares purchased in February and March 2019?" + }, + { + "input": "Which financial years' information is shown in the table?", + "output": "Which fiscal years' data is displayed in the given table?" + }, + { + "input": "Which financial years' information is shown in the table?", + "output": "Which specific financial year's information is depicted in the table?" + }, + { + "input": "How much is the 2019 audit fees ?", + "output": "What is the exact cost of the audit fees for the year 2019?" + }, + { + "input": "What were the average fees for audits in 2018 and 2019?", + "output": "What is the average audit fees for 2018 and 2019?" + }, + { + "input": "What were the average audit fees in both 2018 and 2019?", + "output": "What is the average audit fees for 2018 and 2019?" + }, + { + "input": "\"What is the average total fees for the years 2018 and 2019 combined?\"", + "output": "What is the average total fees for 2018 and 2019?" + }, + { + "input": "What is the average sum of fees for the years 2018 and 2019 combined?", + "output": "What is the average total fees for 2018 and 2019?" + }, + { + "input": "What is the discrepancy between the average fees charged for audits and the average total fees incurred in 2018 and 2019?", + "output": "What is the difference between the average audit fees and the average total fees for 2018 and 2019?" + }, + { + "input": "What is the disparity between the mean charges for audits and the mean overall charges, comparing the years 2018 and 2019?", + "output": "What is the difference between the average audit fees and the average total fees for 2018 and 2019?" + }, + { + "input": "What is the amount of the non-current liabilities' 2018 other payables?", + "output": "How much is the 2018 other payables included within non-current liabilities?" + }, + { + "input": "What is the value of the 2019 other payables included in current liabilities, excluding the amount payable for the share buyback?", + "output": "How much is the 2019 other payables included within current liabilities excluding the amount payable in relation to the share buyback?" + }, + { + "input": "What is the value of the 2019 other payables included in the current liabilities, except for the amount payable related to the share buyback?", + "output": "How much is the 2019 other payables included within current liabilities excluding the amount payable in relation to the share buyback?" + }, + { + "input": "What is the total amount of money that is owed to subsidiaries within one year as of 2019?", + "output": "What is the 2019 amounts owed to subsidiaries within one year?" + }, + { + "input": "Which year experiences a greater number of bank loans and other loans that are due within one year?", + "output": "Which year has a higher amount of bank loans and other loans under amounts falling due within one year?" + }, + { + "input": "How much is 2019 cash at bank and in hand ?", + "output": "What is the total amount of cash that was available in the bank and on hand in 2019?" + }, + { + "input": "Between 2018 and 2019, which year had a greater amount of money market funds?", + "output": "Which year, 2018 or 2019, had a higher value of money market funds?" + }, + { + "input": "Between 2018 and 2019, which year had a greater amount of money market funds?", + "output": "Which year had a higher volume of funds invested in money market funds: 2018 or 2019?" + }, + { + "input": "Which year, 2018 or 2019, witnessed a higher quantity of government securities being issued?", + "output": "Between 2018 and 2019, which year had a greater amount of government securities?" + }, + { + "input": "Between 2018 and 2019, which year had more ordinary shares allotted?", + "output": "In the period spanning from 2018 to 2019, which year witnessed a higher allocation of ordinary shares?" + }, + { + "input": "What is the current cost of servicing for the year 2019?", + "output": "How much is the 2019 current service cost?" + }, + { + "input": "What specific types of investments that are no longer held are displayed in the table?", + "output": "What type of non-current investments are shown in the table?" + }, + { + "input": "In the table, which types of investments that are not currently being utilized or held are depicted?", + "output": "What type of non-current investments are shown in the table?" + }, + { + "input": "How much is the 2018 debt securities?", + "output": "What is the value or price of the debt securities issued in 2018?" + }, + { + "input": "How much is the 2018 debt securities?", + "output": "What is the cost of the 2018 debt securities?" + }, + { + "input": "Which financial years' information is shown in the table?", + "output": "Which financial years are displayed in the provided table?" + }, + { + "input": "What is the total projected income and expenditure for the year 2018?", + "output": "How much is the 2018 aggregated expected income expense ?" + }, + { + "input": "What is the projected total income expense for 2018 after aggregating all relevant information?", + "output": "How much is the 2018 aggregated expected income expense ?" + }, + { + "input": "What is the 2018 deferred tax on overseas earnings, excluding the 15€m charge relating to the combination of Vodafone India with Idea Cellular?", + "output": "What is the amount of deferred tax on overseas earnings in 2018, excluding the charge of 15€m related to the merger of Vodafone India and Idea Cellular?" + }, + { + "input": "What is the difference in average income tax expense between the years 2017-2018 and 2018-2019?", + "output": "What is the change between 2017-2018 and 2018-2019 average income tax expense?" + }, + { + "input": "How much is the excluded depreciation and amortisation for 2019 adjusted EBITDA?", + "output": "What is the amount of depreciation and amortization that is excluded from the adjusted EBITDA calculation for the year 2019?" + }, + { + "input": "How much is the excluded depreciation and amortisation for 2018 adjusted EBITDA?", + "output": "What is the total amount of depreciation and amortization that were not included in calculating the adjusted EBITDA for the year 2018?" + }, + { + "input": "\"What is the exact amount of the adjusted profit before tax for the year 2018?\"", + "output": "How much is the adjusted profit before tax in 2018?" + }, + { + "input": "Which specific financial year's information is displayed in the provided table?", + "output": "Which financial years' information is shown in the table?" + }, + { + "input": "What is the distinction between the average net book value and the average total costs of shares in Group undertakings as of March 31, 2019? How can analyzing this difference assist in better understanding financial performance?", + "output": "What is the difference between 2019 average net book value and 2019 average total costs of shares in Group undertakings as at 31 March?" + }, + { + "input": "What is the significance of the recorded amount for developed technology?", + "output": "What does the amount recorded for developed technology represent?" + }, + { + "input": "What does the recorded amount for developed technology signify, and what is its purpose or significance?", + "output": "What does the amount recorded for developed technology represent?" + }, + { + "input": "What is the useful life for Developed technology?", + "output": "What is the average duration of usefulness or lifespan for technology that has been fully developed and is in practical use?" + }, + { + "input": "What is the difference in useful life between developed technology and customer relationships?", + "output": "What distinguishes the lifespan of developed technology from that of customer relationships?" + }, + { + "input": "What is the difference in fair value between developed technology and customer relationships?", + "output": "What distinguishes the fair value of developed technology from that of customer relationships?" + }, + { + "input": "What identifiable intangible assets have a useful life exceeding five years?", + "output": "What are the identifiable intangible assets with a useful life above 5 years?" + }, + { + "input": "What intangible assets can be identified and have a useful life of more than 5 years?", + "output": "What are the identifiable intangible assets with a useful life above 5 years?" + }, + { + "input": "What does the amount recorded for developed technology represent?", + "output": "\"What is the meaning or significance of the recorded amount for developed technology?\"" + }, + { + "input": "What is the useful life (in years) of developed technology?", + "output": "What is the average duration, measured in years, of the lifespan of technology that has been developed?" + }, + { + "input": "What is the difference in fair value between developed technology and customer relationships?", + "output": "What distinguishes the fair value of developed technology from that of customer relationships, and how do they differ from each other?" + }, + { + "input": "What are the intangible assets that have a fair value of above $20,000 thousands?", + "output": "What are the intangible assets with a fair value exceeding $20,000 thousands? Please provide a comprehensive list of these assets." + }, + { + "input": "What are the intangible assets that have a fair value of above $20,000 thousands?", + "output": "What are the intangible assets with a fair value exceeding $20 million dollars?" + }, + { + "input": "What is the distinction between the total amount invested in debt and equity, when considering amortized cost as the basis for evaluation?", + "output": "What is the difference in the total debt investments and the total equity investments, based on amortized cost?" + }, + { + "input": "What is the percentage composition of U.S. treasury securities in relation to the total debt investments when considering fair value?", + "output": "Based on fair value, what is the percentage constitution of U.S. treasury securities among the total debt investments?" + }, + { + "input": "What is the number of potentially anti-dilutive shares that were excluded for fiscal years ended June 30, 2017, 2018 and 2019 respectively? ", + "output": "What was the excluded number of potentially anti-dilutive shares for the fiscal years ending June 30, 2017, 2018, and 2019?" + }, + { + "input": "What is the number of potentially anti-dilutive shares that were excluded for fiscal years ended June 30, 2017, 2018 and 2019 respectively? ", + "output": "What is the total count of potentially anti-dilutive shares excluded for the fiscal years ending on June 30, 2017, 2018, and 2019, respectively?" + }, + { + "input": "What is the variance in the weighted-average ordinary shares outstanding for basic and diluted calculations in the fiscal year that ended on June 30, 2019?", + "output": "In fiscal year ended June 30, 2019, what is the difference in the weighted-average ordinary shares outstanding between the basic and the diluted?" + }, + { + "input": "What is the average total non-current operating assets for fiscal years ended June 30, 2018 and 2019?", + "output": "\"What is the average total value of non-current operating assets for the fiscal years that ended on June 30, 2018 and June 30, 2019?\"" + }, + { + "input": "How many geographic regions had non-current operating assets exceeding $10,000 thousand in the fiscal year ending on June 30, 2019?", + "output": "In fiscal year ended June 30, 2019, how many geographic regions have non-current operating assets of more than $10,000 thousand?" + }, + { + "input": "What percentage of the total non-current operating assets owned by the Group in the United States constituted the non-current operating assets in the fiscal year ending June 30, 2018?", + "output": "In fiscal year ended June 30, 2018, what is the percentage constitution of the non-current operating assets in the United States among the total non-current operating assets owned by the Group?" + }, + { + "input": "\"What specific adjustments were made to figures in the year 2018?\"", + "output": "What was the adjustment done to figures in 2018?" + }, + { + "input": "How much did the value of security deposits change from fiscal year 2018 to 2019?", + "output": "What is the change in value between security deposits between fiscal years 2018 and 2019?" + }, + { + "input": "What is the Balance at the beginning of 2019?", + "output": "What is the balance amount in the accounts at the start of the year 2019?" + }, + { + "input": "What is the average deferred tax expense for fiscal years 2018 and 2019?", + "output": "What is the average amount of deferred tax expense incurred during fiscal years 2018 and 2019?" + }, + { + "input": "What is the percentage change of deferred tax expenses between fiscal year 2018 to 2019?", + "output": "What is the percentage difference in deferred tax expenses between fiscal year 2018 and fiscal year 2019?" + }, + { + "input": "What is the amount recorded for short-term investments as of June 30, 2018, on the consolidated statements of financial position for the Group?", + "output": "As of June 30, 2018, what is the value of short-term investments on the Group's consolidated statements of financial position?" + }, + { + "input": "Based on fair value, what is the difference in value between U.S. treasury securities and agency securities?", + "output": "What is the quantifiable difference between U.S. treasury securities and agency securities in terms of their fair market value?" + }, + { + "input": "What are the specific revenue figures for the United Kingdom for the fiscal years that concluded in 2017, 2018, and 2019?", + "output": "What are the revenue amounts from the United Kingdom for fiscal years ended 2017, 2018 and 2019 respectively?" + }, + { + "input": "What is the difference in the revenues from Asia Pacific between fiscal years ended 2018 and 2019?", + "output": "How does the revenue for the Asia Pacific region differ between the fiscal years ending in 2018 and 2019?" + }, + { + "input": "What is the balance of capped call as of June 30, 2019?", + "output": "What is the specific capped call balance as of June 30, 2019?" + }, + { + "input": "What is the difference in the capped call balance between the fiscal year ending on June 30, 2018, and the fiscal year ending on June 30, 2019?", + "output": "What is the change in the balance of capped call between fiscal year ended June 30, 2018 and 2019?" + }, + { + "input": "What is the difference in balance of capped call and non-marketable investments as of June 30, 2019?", + "output": "What is the difference in the balance of capped call and non-marketable investments as of June 30, 2019, and how do these two types of investments vary in terms of their marketability?" + }, + { + "input": "What is the difference in balance of capped call and non-marketable investments as of June 30, 2019?", + "output": "What is the balance difference between capped call and non-marketable investments as of June 30, 2019?" + }, + { + "input": "\"What is the chronological order of the share capital amounts from June 30, 2015 to 2019?\"", + "output": "What are the share capital for the years as of June 30, 2015 to 2019 in chronological order?" + }, + { + "input": "List the short-term investments from June 30, 2015 to 2019 in chronological order.", + "output": "What are the short-term investments for the years as of June 30, 2015 to 2019 in chronological order?" + }, + { + "input": "What is the difference in the value of short-term investments between fiscal years 2018 and 2019?", + "output": "What is the variance in the monetary worth of short-term investments from fiscal year 2018 to fiscal year 2019?" + }, + { + "input": "What is the average Cash and cash equivalents for 2015-2019?", + "output": "What is the average amount of Cash and cash equivalents from 2015 to 2019?" + }, + { + "input": "What is the definition of other fees?", + "output": "What does the term \"other fees\" mean? Please provide a clear definition of this term, including any relevant details, to facilitate a more accurate response." + }, + { + "input": "What is the average amount of taxes paid in fees for the fiscal years 2018 and 2019?", + "output": "What is the average tax fees for fiscal years 2018 and 2019?" + }, + { + "input": "What is the disparity in the aggregate of obligations between operating leases and other types of contractual commitments?", + "output": "What is the difference in the total commitments between that of operating leases and other contractual commitments?" + }, + { + "input": "What percentage of the total commitments for operating leases for the year ending in 2020 is constituted by the commitments specifically for operating leases?", + "output": "What is the percentage constitution of the commitments for operating leases for year ending 2020 among the total commitments for operating leases?" + }, + { + "input": "What portion of the total commitments for operating leases for the year ending 2020 represents the percentage constitution?", + "output": "What is the percentage constitution of the commitments for operating leases for year ending 2020 among the total commitments for operating leases?" + }, + { + "input": "What was the percentage increase in maintenance revenues from the fiscal year ending in 2018 to the fiscal year ending in 2019?", + "output": "What was the increase of maintenance revenues from fiscal year ended 2018 to 2019?" + }, + { + "input": "What was the exact percentage increase in perpetual license revenues from the fiscal year ended 2018 to the fiscal year ended 2019?", + "output": "What was the increase of perpetual license revenues from fiscal year ended 2018 to 2019?" + }, + { + "input": "What percentage of total revenue for the fiscal year ending in 2018 is made up of perpetual license sales?", + "output": "For fiscal year ended 2018, what is the percentage constitution of perpetual license among the total revenue?" + }, + { + "input": "What percentage of the total revenue for the fiscal year ended 2018 was generated from perpetual licenses?", + "output": "For fiscal year ended 2018, what is the percentage constitution of perpetual license among the total revenue?" + }, + { + "input": "\"What are the average maintenance revenues for the fiscal years ending in 2018 and 2019, respectively?\"", + "output": "What is the average maintenance revenues for fiscal year ended 2018 and 2019?" + }, + { + "input": "What is the specific provision for dilapidation expenses allocated for the fiscal year 2019?", + "output": "What is the dilapidation provision for fiscal year 2019?" + }, + { + "input": "What is the formula to calculate free cash flow, and can you further explain the steps involved in deriving this measure?", + "output": "How is free cash flow calculated?" + }, + { + "input": "What was the percentage increase in free cash flow from fiscal year 2018 to 2019?", + "output": "What was the increase in free cash flow between fiscal year 2018 and 2019?" + }, + { + "input": "What is the average net cash flow generated by operating activities for the years 2017, 2018, and 2019?", + "output": "What is the average net cash provided by operating activities from 2017-2019?" + }, + { + "input": "\"What is the average amount of net cash generated from operating activities for the years 2017, 2018, and 2019?\"", + "output": "What is the average net cash provided by operating activities from 2017-2019?" + }, + { + "input": "What is the percentage difference in the amount of available cash generated by the company between the years 2017 and 2018?", + "output": "What is the percentage change in free cash flow between 2017 and 2018?" + }, + { + "input": "What is the change in capital expenditures between 2018 and 2019?", + "output": "What was the difference in capital expenditures from 2018 to 2019?" + }, + { + "input": "What is the change in capital expenditures between 2018 and 2019?", + "output": "What was the difference in the amount of money spent on capital expenditures from 2018 to 2019?" + }, + { + "input": "As of June 30, 2019, what is the total value or monetary amount of outstanding payments owed by customers or business partners for goods or services provided?", + "output": "As of June 30, 2019, what is the amount of trade receivables?" + }, + { + "input": "How does the net cash provided by operating activities compare between the fiscal years ending in 2018 and 2019?", + "output": "What is the difference in net cash provided by operating activities between fiscal year ended 2018 and 2019?" + }, + { + "input": "What is the change in net cash provided by operating activities between the fiscal years ending in 2018 and 2019?", + "output": "What is the difference in net cash provided by operating activities between fiscal year ended 2018 and 2019?" + }, + { + "input": "What are the specific components included in the \"other current assets\" category in the table?", + "output": "What are the components under other current assets in the table?" + }, + { + "input": "What was the difference in the total value of other current assets between 2019 and 2018?", + "output": "What was the change in total other current assets in 2019 from 2018?" + }, + { + "input": "Which items in the table include the cumulative effect of the 2017 Tax Reform Act in their 2017 amounts?", + "output": "For which items in the table does the amount for 2017 includes the sum related to the impact of the 2017 Tax Reform Act?" + }, + { + "input": "Which items in the table include the sum related to the impact of the 2017 Tax Reform Act in their amount for 2017?", + "output": "For which items in the table does the amount for 2017 includes the sum related to the impact of the 2017 Tax Reform Act?" + }, + { + "input": "What was the year when the Diluted Net Income per Common Share reached its highest value?", + "output": "In which year was the Diluted Net Income per Common Share largest?" + }, + { + "input": "In which year did the exclusion of anti-dilutive shares from the calculation of diluted earnings per share reach its highest magnitude?", + "output": "In which year was the Anti-dilutive shares excluded from the diluted earnings per share calculation largest?" + }, + { + "input": "What was the year when the exclusion of anti-dilutive shares from the calculation of diluted earnings per share reached its highest value?", + "output": "In which year was the Anti-dilutive shares excluded from the diluted earnings per share calculation largest?" + }, + { + "input": "Where is Income tax benefit included?", + "output": "Where is the income tax benefit typically included in financial statements or accounting records?" + }, + { + "input": "Where is Income tax benefit included?", + "output": "Where can income tax benefit be found in financial statements or reports?" + }, + { + "input": "When is the calculation of income tax benefit typically performed annually?", + "output": "In which years is income tax benefit calculated?" + }, + { + "input": "What does restricted cash include?", + "output": "What is included in restricted cash and can you provide further details about its components?" + }, + { + "input": "In which year was Restricted cash included in \"Other current assets\" the lowest?", + "output": "In which year did the inclusion of Restricted cash in the category of \"Other current assets\" reach its lowest level?" + }, + { + "input": "What was the difference in the amount of Restricted cash included in the category of \"Deferred charges and other assets\" in the year 2017 compared to 2016?", + "output": "What was the change in Restricted cash included in \"Deferred charges and other assets\" in 2017 from 2016?" + }, + { + "input": "What is the largest recorded year for Net periodic benefit cost?", + "output": "In which year was Net periodic benefit cost the largest?" + }, + { + "input": "What was the difference in the amount of money spent on interest in 2019 compared to 2018?", + "output": "What was the change in interest cost in 2019 from 2018?" + }, + { + "input": "What was the difference in the cost of interest between 2019 and 2018?", + "output": "What was the change in interest cost in 2019 from 2018?" + }, + { + "input": "\"In which year did the amount of deferred revenue reach its highest value and why?\"", + "output": "In which year was deferred revenue larger?" + }, + { + "input": "During which year was the accumulated income received in advance, known as deferred revenue, higher?", + "output": "In which year was deferred revenue larger?" + }, + { + "input": "What was the specific dollar amount of the change in deferred revenue between 2019 and 2018?", + "output": "What was the change in deferred revenue in 2019 from 2018?" + }, + { + "input": "What was the percentage change in deferred revenue in 2019 from 2018?", + "output": "What is the percentage increase or decrease in deferred revenue from 2018 to 2019?" + }, + { + "input": "What was the change in Fair value of share awards vested in 2019 from 2018?", + "output": "What was the variation in the fair value of share awards that were vested in the year 2019 compared to 2018?" + }, + { + "input": "What was the change in Fair value of share awards vested in 2019 from 2018?", + "output": "What was the difference in fair value of share awards that were granted in 2018 but vested in 2019?" + }, + { + "input": "During which years was information regarding the credit agreements provided?", + "output": "In which years is information related to the credit agreements provided?" + }, + { + "input": "What is the least year in which the Interest expense reached its minimum amount?", + "output": "In which year was the amount of Interest expense the smallest?" + }, + { + "input": "When was the least amount of interest expense recorded?", + "output": "In which year was the amount of Interest expense the smallest?" + }, + { + "input": "What was the change in Interest expense in 2019 from 2018?", + "output": "What was the difference in the amount of money spent on interest payments in 2019 compared to 2018?" + }, + { + "input": "What was the percentage increase or decrease in the amount spent on interest in 2019 compared to 2018?", + "output": "What was the percentage change in Interest expense in 2019 from 2018?" + }, + { + "input": "What was the value of purchases that were accumulated or outstanding as of the end of 2019?", + "output": "What was the amount of Accrued purchases in 2019?" + }, + { + "input": "What was the specific amount of Accrued legal and professional fees incurred during the year 2018?", + "output": "What was the amount of Accrued legal and professional fees in 2018?" + }, + { + "input": "\"How much money was recorded for Accrued legal and professional fees during the year 2018?\"", + "output": "What was the amount of Accrued legal and professional fees in 2018?" + }, + { + "input": "What was the percentage difference in Accrued roadside assistance claim costs between 2019 and 2018?", + "output": "What was the change in Accrued roadside assistance claim costs in 2019 from 2018?" + }, + { + "input": "\"What was the specific amount charged for the service in the year 2019?\"", + "output": "What was the service cost in 2019?" + }, + { + "input": "\"What was the cost of the service provided in the year 2019?\"", + "output": "What was the service cost in 2019?" + }, + { + "input": "What was the total cost of interest expenses in the year 2018?", + "output": "What was the Interest cost in 2018?" + }, + { + "input": "What was the total amount spent on interest expenses in 2018?", + "output": "What was the Interest cost in 2018?" + }, + { + "input": "\"In which specific year did the cost of services exceed the cost of services in the other years?\"", + "output": "In which year was service cost larger?" + }, + { + "input": "Which year had a greater service cost compared to other years?", + "output": "In which year was service cost larger?" + }, + { + "input": "What was the difference in the amount spent on interest in 2019 compared to 2018?", + "output": "What was the change in interest cost in 2019 from 2018?" + }, + { + "input": "\"What was the gross revenue generated by overseas operations, excluding any income taxes, in the fiscal year 2018?\"", + "output": "What was the Foreign income before income taxes in 2018?" + }, + { + "input": "What was the total income from foreign sources in 2018, before any deductions for income taxes were made?", + "output": "What was the Foreign income before income taxes in 2018?" + }, + { + "input": "What are the components under income before income taxes?", + "output": "What are the individual components that make up the category of income before income taxes?" + }, + { + "input": "In which specific year, prior to the implementation of income taxes, did individuals and/or organizations experience the highest level of income?", + "output": "In which year was income before income taxes the largest?" + }, + { + "input": "What is the largest recorded income before income taxes, and in which specific year was it achieved?", + "output": "In which year was income before income taxes the largest?" + }, + { + "input": "In which specific year did the quantity of an item categorized as \"Other\" exceed the quantity of another item, considering all provided information?", + "output": "In which year was the amount of Other larger?" + }, + { + "input": "In which year did the quantity of a different item exceed the quantity of the rest?", + "output": "In which year was the amount of Other larger?" + }, + { + "input": "What was the year-over-year difference in accrued severance and associated expenses between 2018 and 2019?", + "output": "What was the change in Accrued severance and related costs in 2019 from 2018?" + }, + { + "input": "What was the total payment made by the Company in the year 2019?", + "output": "How much has the Company paid in total in 2019?" + }, + { + "input": "What was the total amount paid by the Company in 2019?", + "output": "How much has the Company paid in total in 2019?" + }, + { + "input": "When did the amount of non-cash impairment charges exceed previous years?", + "output": "In which year was Non-cash impairment charges larger?" + }, + { + "input": "Which year had a greater amount of non-cash impairment charges compared to other years?", + "output": "In which year was Non-cash impairment charges larger?" + }, + { + "input": "During which years is the fair value of restricted shares or restricted stock units (RSUs) vested determined?", + "output": "In which years is the Fair value of restricted shares/RSUs vested calculated?" + }, + { + "input": "What was the change in Number of restricted shares/ RSUs granted in 2019 from 2018?", + "output": "What was the difference in the number of restricted shares/RSUs granted in 2019 compared to 2018?" + }, + { + "input": "What was the change in Number of restricted shares/ RSUs granted in 2019 from 2018?", + "output": "What was the difference in the number of restricted shares/ RSUs granted in 2019 compared to 2018?" + }, + { + "input": "What was the percentage change in Number of restricted shares/ RSUs granted in 2019 from 2018?", + "output": "What was the percentage change in the number of restricted shares/ RSUs granted from 2018 to 2019?" + }, + { + "input": "As of July 1, 2019, what was the total value of stapled securities of NSR listed on the Australian Securities Exchange?", + "output": "How much did NSR had stapled securities quoted on the Australian Securities Exchange as at 1 July 2019?" + }, + { + "input": "As of July 1, 2019, what was the total value of NSR stapled securities quoted on the Australian Securities Exchange?", + "output": "How much did NSR had stapled securities quoted on the Australian Securities Exchange as at 1 July 2019?" + }, + { + "input": "What would happen if the price of a security dropped by 2.5% and how would this affect the overall market?", + "output": "What would be the impact if security price decreased by 2.5%?" + }, + { + "input": "What is the change in Other intangible assets Opening net book value from 2018 to 2019?", + "output": "What is the difference in the net book value of Other intangible assets at the beginning of 2018 compared to the beginning of 2019?" + }, + { + "input": "What is the change in Other intangible assets Opening net book value from 2018 to 2019?", + "output": "What is the difference in the opening net book value of Other intangible assets between 2018 and 2019?" + }, + { + "input": "How many distinct business segments were there in the years 2019 and 2018?", + "output": "How many business segments were present in 2019 and 2018?" + }, + { + "input": "\"What is the average revenue generated from New Zealand in both 2018 and 2019?\"", + "output": "What is the average revenue from New Zealand for 2018 and 2019?" + }, + { + "input": "What is the average revenue generated from New Zealand in both 2018 and 2019?", + "output": "What is the average revenue from New Zealand for 2018 and 2019?" + }, + { + "input": "In which specific year did the revenue from New Zealand amount to less than 10,000 thousands?", + "output": "In which year was revenue from New Zealand under 10,000 thousands?" + }, + { + "input": "In what specific year did the revenue generated from New Zealand fall below 10,000 thousands (in the same currency)?", + "output": "In which year was revenue from New Zealand under 10,000 thousands?" + }, + { + "input": "What was the total NLA in Brisbane?", + "output": "What was the total number of Newly Listed Apartments (NLA) in Brisbane?" + }, + { + "input": "What is the difference in the NLA between Sunshine Cost and Brisbane?", + "output": "What are the NLA differences between the Sunshine Coast and Brisbane, and how do they vary from each other in terms of specific aspects?" + }, + { + "input": "In which year is the Net investment hedge negative?", + "output": "Which specific year does the Net investment hedge demonstrate a negative value?" + }, + { + "input": "What is the change in the Taxation impact on revaluation from 2018 to 2019?", + "output": "What is the difference in the taxation impact on revaluation between 2018 and 2019?" + }, + { + "input": "What is the change in the Taxation impact on revaluation from 2018 to 2019?", + "output": "What is the difference in the effect of taxation on revaluation between 2018 and 2019?" + }, + { + "input": "What was the share of profit from associates representing NSRs in 2019 and 2018?", + "output": "What were the percentages of profit from associates, specifically those representing NSRs, for the years 2019 and 2018?" + }, + { + "input": "What is the difference in the percentage of profit attributed to associates between 2018 and 2019?", + "output": "What is the change in the Share of profit from associates from 2018 to 2019?" + }, + { + "input": "What is the difference in the percentage of profit allocated to associates between 2018 and 2019?", + "output": "What is the change in the Share of profit from associates from 2018 to 2019?" + }, + { + "input": "When was the year when the closing balance on June 30th was below 11,000 thousand units?", + "output": "In which year was the Closing balance at 30 June less than 11,000 thousands?" + }, + { + "input": "What is the year-over-year change in face value for New Zealand Dollar (NZD) interest rate swaps from 2018 to 2019?", + "output": "What is the change in Interest rate swaps (NZD) at face value for Current interest rate swaps from 2018 to 2019?" + }, + { + "input": "What was the percentage change in face value for current New Zealand Dollar (NZD) interest rate swaps from 2018 to 2019?", + "output": "What is the change in Interest rate swaps (NZD) at face value for Current interest rate swaps from 2018 to 2019?" + }, + { + "input": "What was the assets held for sale under Level 1, Level 2 and Level 3 in 2018?", + "output": "In 2018, what were the assets classified as held for sale and valued at Level 1, Level 2, and Level 3 according to their respective classifications?" + }, + { + "input": "What was the amount of senior secured term loan for fiscal years 2019 and 2018?", + "output": "What is the value of senior secured term loan for fiscal years 2019 and 2018 respectively?" + }, + { + "input": "What is the percentage shift in the amount of finance leases and other financing obligations from fiscal year 2018 to fiscal year 2019?", + "output": "What is the percentage change in the finance leases and other financing obligations between fiscal years 2018 and 2019?" + }, + { + "input": "What is the average finance leases and other financing obligations for fiscal years 2018 and 2019?", + "output": "What is the mean value of finance leases and other financing obligations for fiscal years 2018 and 2019?" + }, + { + "input": "What are the income tax expenses for the years 2019, 2018, and 2017?", + "output": "What is the total current income tax expense for 2019, 2018 and 2017 respectively?" + }, + { + "input": "What is the amount of deferred income tax expense (benefit) recorded for the years 2019, 2018, and 2017, respectively?", + "output": "What is the Total deferred income tax expense (benefit) for 2019, 2018 and 2017 respectively?" + }, + { + "input": "What is the average total income tax expense for the years 2017, 2018, and 2019?", + "output": "What is the average Total income tax expense for 2019, 2018 and 2017?" + }, + { + "input": "What is the average aggregate size of the facilities in Arizona and Washington?", + "output": "What is the average total size of the facilities located in both Arizona and Washington?" + }, + { + "input": "\"How many states in the United States have a total of more than 5 facilities?\"", + "output": "How many states have more than 5 facilities?" + }, + { + "input": "What percentage of the total contractual obligations does the total inventory purchase commitments represent?", + "output": "What is the percentage constitution of total inventory purchase commitments among the total contractual obligations?" + }, + { + "input": "What percentage of the total contractual obligations is constituted by the inventory purchase commitments in the overall inventory?", + "output": "What is the percentage constitution of total inventory purchase commitments among the total contractual obligations?" + }, + { + "input": "\"What specific component within a contractual obligation holds the highest overall value?\"", + "output": "Which component of contractual obligation has the highest total value?" + }, + { + "input": "At December 29, 2017, how many shares were still unvested?", + "output": "What is the number of shares that are Unvested at December 29, 2017?" + }, + { + "input": "What is the length of time that buildings are typically considered useful for?", + "output": "What is the useful lives of buildings?" + }, + { + "input": "What are the estimated useful lives or lifespans of machinery and equipment commonly used in various industries or sectors?", + "output": "What is the useful lives of Machinery and equipment?" + }, + { + "input": "What are the estimated useful lifespans of machinery and equipment? How long can machinery and equipment be expected to remain functional and productive?", + "output": "What is the useful lives of Machinery and equipment?" + }, + { + "input": "What is the average monetary worth of buildings in the years 2018 and 2019?", + "output": "What is the average value of buildings for 2018 and 2019?" + }, + { + "input": "What is the average monetary worth of buildings in the years 2018 and 2019 combined?", + "output": "What is the average value of buildings for 2018 and 2019?" + }, + { + "input": "What is the average adjusted net income from 2017-2019?", + "output": "\"What is the average adjusted net income for the years 2017, 2018, and 2019?\"" + }, + { + "input": "What were the values of receivables and inventory in the years 2019 and 2018, respectively?", + "output": "What is the value of Receivables and inventory for 2019 and 2018 respectively?" + }, + { + "input": "What is the value of Accrued expenses for 2019 and 2018 respectively?", + "output": "What is the amount of Accrued expenses in 2019 and 2018?" + }, + { + "input": "What is the value of Self-insurance reserves for 2019 and 2018 respectively?", + "output": "What are the self-insurance reserve values for the years 2019 and 2018?" + }, + { + "input": "What are the average values of receivables and inventory for the years 2019 and 2018?", + "output": "What is the average value of Receivables and inventory for 2019 and 2018?" + }, + { + "input": "What are the average values of Receivables and inventory for the years 2019 and 2018?", + "output": "What is the average value of Receivables and inventory for 2019 and 2018?" + }, + { + "input": "In which year did the Accrued expenses reach the highest level?", + "output": "Which year has the highest Accrued expenses?" + }, + { + "input": "In which specific year did the Accrued expenses reach their highest value?", + "output": "Which year has the highest Accrued expenses?" + }, + { + "input": "Which year recorded the highest Senior Secured Term Loan amount?", + "output": "Which year has the highest Senior secured term loan?" + }, + { + "input": "What information does the table present?", + "output": "What data is being shown in the table and what details can be derived from it?" + }, + { + "input": "What is the change in long-term portion of contingent earn-out liabilities for 2018 and 2019?", + "output": "What is the difference in the long-term portion of contingent earn-out liabilities between 2018 and 2019?" + }, + { + "input": "What were the statutory U.S. Federal tax rates for the years 2019, 2018, and 2017?", + "output": "What is the Statutory U.S. Federal tax for 2019, 2018 and 2017 respectively?" + }, + { + "input": "What are the respective statutory federal tax rates for the years 2019, 2018, and 2017 in the United States?", + "output": "What is the Statutory U.S. Federal tax for 2019, 2018 and 2017 respectively?" + }, + { + "input": "How much did the valuation allowance change in 2017?", + "output": "What is the change in valuation allowance for 2017?" + }, + { + "input": "What was the difference in valuation allowance between 2016 and 2017?", + "output": "What is the change in valuation allowance for 2017?" + }, + { + "input": "What has been the average amount of Statutory U.S. Federal tax paid annually for the years 2017, 2018, and 2019?", + "output": "What is the average Statutory U.S. Federal tax from 2017-2019?" + }, + { + "input": "What was the average statutory U.S. federal tax rate for the years 2017-2019?", + "output": "What is the average Statutory U.S. Federal tax from 2017-2019?" + }, + { + "input": "What is the Working capital, excluding cash and cash equivalents for fiscal years 2019, 2018 and 2017 respectively?", + "output": "What is the year-end working capital, excluding cash and cash equivalents, for the fiscal years 2019, 2018, and 2017, respectively?" + }, + { + "input": "What is the Working capital, excluding cash and cash equivalents for fiscal years 2019, 2018 and 2017 respectively?", + "output": "What is the Working Capital, excluding cash and cash equivalents, for the fiscal years 2019, 2018, and 2017?" + }, + { + "input": "What are the average values of Cash and cash equivalents for fiscal years 2019, 2018, and 2017?", + "output": "What is the average value for the Cash and cash equivalents for fiscal years 2019, 2018 and 2017?" + }, + { + "input": "What are the average values of the Availability under asset-based loan facility for the fiscal years 2019, 2018, and 2017?", + "output": "What is the average value for the Availability under asset-based loan facility for fiscal years 2019, 2018 and 2017?" + }, + { + "input": "What were the net income (or net losses) for the years 2019, 2018, and 2017 respectively?", + "output": "What was the Net (loss) income in 2019, 2018 and 2017 respectively?" + }, + { + "input": "What were the respective net losses or incomes for the years 2019, 2018, and 2017?", + "output": "What was the Net (loss) income in 2019, 2018 and 2017 respectively?" + }, + { + "input": "In which year was Adjusted EBITDA less than 20,000 thousands?", + "output": "\"In which specific year, out of the given years, was the Adjusted EBITDA figure lower than 20,000 thousands?\"" + }, + { + "input": "In which year was Adjusted EBITDA less than 20,000 thousands?", + "output": "In which specific year was the Adjusted EBITDA, expressed in thousands, less than 20,000?" + }, + { + "input": "What was the percentage increase in the expense incurred for Research and Development in the year 2018 compared to the previous period?", + "output": "What was the increase in Research and development expense in 2018?" + }, + { + "input": "\"What was the percentage increase in Research and Development (R&D) expense during the year 2018 compared to the previous year?\"", + "output": "What was the increase in Research and development expense in 2018?" + }, + { + "input": "What were the average research and development expenses in both 2017 and 2018?", + "output": "What was the average Research and development expenses in 2017 and 2018?" + }, + { + "input": "What were the respective average amounts spent on research and development in 2017 and 2018?", + "output": "What was the average Research and development expenses in 2017 and 2018?" + }, + { + "input": "What was the change in the Net operating loss carryforwards from 2018 to 2019?", + "output": "What was the numerical difference between the Net operating loss carryforwards in 2018 and 2019?" + }, + { + "input": "\"In which specific year did the value of Deferred revenue fall below 2,000?\"", + "output": "In which year was Deferred revenue less than 2,000?" + }, + { + "input": "What is the difference in the amount of accumulated depreciation between March 31, 2018, and March 31, 2019?", + "output": "What is the change in Accumulated depreciation from March 31, 2018 to March 31, 2019?" + }, + { + "input": "How much did the Accumulated depreciation increase between March 31, 2018 and March 31, 2019?", + "output": "What is the change in Accumulated depreciation from March 31, 2018 to March 31, 2019?" + }, + { + "input": "What was the percentage change in the General and administrative expenses in 2019 compared to the previous year?", + "output": "What was the increase in the General and administrative expenses in 2019?" + }, + { + "input": "What was the percentage increase in the General and administrative expenses from 2018 to 2019?", + "output": "What was the increase in the General and administrative expenses in 2019?" + }, + { + "input": "\"Who has the authority over the management and administration of the company's operations in a specific country?\"", + "output": "Which country controls the company's affairs?" + }, + { + "input": "\"Who has jurisdiction over the overall management and operations of the company?\"", + "output": "Which country controls the company's affairs?" + }, + { + "input": "What was the change in the U.S. state taxes, net of federal from 2018 to 2019?", + "output": "What was the difference in the amount of state taxes paid in the United States, after deducting federal taxes, from 2018 to 2019?" + }, + { + "input": "What was the change in the U.S. state taxes, net of federal from 2018 to 2019?", + "output": "What was the difference in the amount of state taxes, after deducting federal taxes, between the years 2018 and 2019 in the United States?" + }, + { + "input": "In which year was Tax credits less than 10.0?", + "output": "When was the year when tax credits were less than 10.0 units?" + }, + { + "input": "In which year was Tax credits less than 10.0?", + "output": "In which specific year did the amount of Tax credits fall below 10.0?" + }, + { + "input": "What was the exact amount of share-based compensation expense incurred during the year 2019?", + "output": "What was the Total share-based compensation expense in 2019?" + }, + { + "input": "\"What changes, if any, took place once the IPO concluded?\"", + "output": "What became effective upon the closing of the IPO?" + }, + { + "input": "What were the initial balances in the years 2019 and 2018, respectively?", + "output": "What was the Beginning balance in 2019 and 2018 respectively?" + }, + { + "input": "What were the starting balances for the year 2019 and 2018?", + "output": "What was the Beginning balance in 2019 and 2018 respectively?" + }, + { + "input": "How much did the Company recorded amortization expense for the year ended March 31, 2018?", + "output": "What was the amount of amortization expense recorded by the Company for the fiscal year ending on March 31, 2018?" + }, + { + "input": "How much did the Company recorded amortization expense for the year ended March 31, 2018?", + "output": "What was the amount of amortization expense recorded by the Company for the fiscal year that ended on March 31, 2018?" + }, + { + "input": "How much did the Company recorded amortization expense for the year ended March 31, 2017?", + "output": "What was the amount of amortization expense recorded by the Company for the fiscal year that ended on March 31, 2017?" + }, + { + "input": "What are the main sources of liquidity in financial markets and institutions?", + "output": "What are the principal sources of liquidity?" + }, + { + "input": "What was the total value of outstanding letters of credit associated with specific operating leases as of March 31, 2018?", + "output": "How much was the outstanding letters of credit related to certain operating leases as of March 31, 2018?" + }, + { + "input": "What were the revenue retention rates for the years 2019, 2018, and 2017 in chronological order?", + "output": "What was the Revenue retention rate in 2019, 2018 and 2017 respectively?" + }, + { + "input": "What is the average number of customers in total from 2017 to 2019?", + "output": "What is the average Total customers between 2017-2019?" + }, + { + "input": "\"In which specific year did the Adjusted EBITDA amount to less than 20,000 thousands?\"", + "output": "In which year was Adjusted EBITDA less than 20,000 thousands?" + }, + { + "input": "In which specific year did the Adjusted EBITDA amount to less than 20,000 thousands?", + "output": "In which year was Adjusted EBITDA less than 20,000 thousands?" + }, + { + "input": "What was the amount of Depreciation and amortization expense recorded for the fiscal year that ended on March 31, 2017?", + "output": "How much was Depreciation and amortization expense for the years ended March 31, 2017?" + }, + { + "input": "What was the total amount of Depreciation and amortization expense recorded for the fiscal years ending on March 31, 2017?", + "output": "How much was Depreciation and amortization expense for the years ended March 31, 2017?" + }, + { + "input": "What is the net increase or decrease in the Accumulated Amortization balance from March 31, 2018, to March 31, 2019?", + "output": "What is the change in Accumulated amortization from March 31, 2018 to March 31, 2019?" + }, + { + "input": "What is the net increase or decrease in the amount of Accumulated Amortization between March 31, 2018, and March 31, 2019?", + "output": "What is the change in Accumulated amortization from March 31, 2018 to March 31, 2019?" + }, + { + "input": "What was the percentage change in the Risk-free interest rate from 2018 to 2019?", + "output": "What was the change in the Risk-free interest rate from 2018 to 2019?" + }, + { + "input": "What was the average level of expected volatility recorded between 2017 and 2019?", + "output": "What was the average Expected volatility between 2017-2019?" + }, + { + "input": "What was the average expected volatility during the period of 2017-2019?", + "output": "What was the average Expected volatility between 2017-2019?" + }, + { + "input": "In which specific year did the grant date fair value per ordinary share fall below 30.0?", + "output": "In which year was the Grant date fair value per ordinary share less than 30.0?" + }, + { + "input": "When was the year when the grant date fair value per ordinary share fell below 30.0?", + "output": "In which year was the Grant date fair value per ordinary share less than 30.0?" + }, + { + "input": "\"What was the specific quantity or value of work that was at the intermediate stage of completion in the year 2018?\"", + "output": "What was the amount of work in process in 2018?" + }, + { + "input": "What was the change in finished goods between 2018 and 2019?", + "output": "What was the numerical difference in the amount of finished goods produced between the years 2018 and 2019?" + }, + { + "input": "What was the specific amount of interest incurred in the year 2018?", + "output": "What was the interest cost in 2018?" + }, + { + "input": "What was the change in interest cost between 2018 and 2019?", + "output": "By how much did the interest cost change from 2018 to 2019?" + }, + { + "input": "For how many years did the actuarial loss surpass $1,000 thousand and receive recognition?", + "output": "How many years did the recognized actuarial loss exceed $1,000 thousand?" + }, + { + "input": "What was the total amount of insurance proceeds received during the fiscal year that ended on August 31, 2019?", + "output": "What were the insurance proceeds for the fiscal year ended August 31, 2019?" + }, + { + "input": "\"What was the total amount of insurance claims paid out during the fiscal year that concluded on August 31, 2019?\"", + "output": "What were the insurance proceeds for the fiscal year ended August 31, 2019?" + }, + { + "input": "What was the specific difference in the amount of Restructuring and related charges incurred by the company in the years 2018 and 2019?", + "output": "What was the change in Restructuring and related charges between 2018 and 2019?" + }, + { + "input": "What were the reductions for tax positions primarily related to?", + "output": "\"What was the primary reason for the reductions in tax positions?\"" + }, + { + "input": "What is the company's definition of working capital and how is it calculated?", + "output": "How does the company define working capital?" + }, + { + "input": "What was the amount of assets in 2019?", + "output": "What were the total assets in 2019?" + }, + { + "input": "What was the value of the total assets in the year 2019?", + "output": "What were the total assets in 2019?" + }, + { + "input": "What is the range of years covered in the table?", + "output": "What are the years included in the table?" + }, + { + "input": "What was the change in Current installments of notes payable and long-term debt between 2018 and 2019?", + "output": "What was the difference in the amount of current installments of notes payable and long-term debt between the year 2018 and 2019?" + }, + { + "input": "What was the change in Current installments of notes payable and long-term debt between 2018 and 2019?", + "output": "What is the difference in the amount of current installments of notes payable and long-term debt between the years 2018 and 2019?" + }, + { + "input": "What was the percentage increase or decrease in the stockholders' equity of Total Jabil Inc. from 2018 to 2019?", + "output": "What was the percentage change in Total Jabil Inc. stockholders’ equity between 2018 and 2019?" + }, + { + "input": "What was the specific net revenue figure reported?", + "output": "What was the net revenue as reported?" + }, + { + "input": "What was the operating income as reported?", + "output": "What was the reported operating income amount?" + }, + { + "input": "What was the specific distinction between the reported net revenue and cost of revenue? Please elaborate on the differences observed between these two financial measures.", + "output": "What was the difference between net revenue and cost of revenue as reported?" + }, + { + "input": "What was the distinction between the net revenue and cost of revenue as stated in the report, and can you provide further details to assist in answering?", + "output": "What was the difference between net revenue and cost of revenue as reported?" + }, + { + "input": "What was the operating income balance expressed as a ratio of the amount reported, before considering the implementation of ASU 2014-09?", + "output": "What was the operating income balance without the adoption of ASU 2014-09 as a ratio of the amount as reported?" + }, + { + "input": "What was the ratio of the operating income balance without the adoption of ASU 2014-09 to the amount as reported?", + "output": "What was the operating income balance without the adoption of ASU 2014-09 as a ratio of the amount as reported?" + }, + { + "input": "By what amount did the gross profit increase or decrease from May 2018 to August 2018?", + "output": "What was the change in gross profit between May 2018 and August 2018?" + }, + { + "input": "What are the distinctions between the September 2018 balances of contract assets and contract liabilities? Please provide a comprehensive explanation while keeping all the details intact.", + "output": "What is the difference between the balance in September 2018 for contract assets and contract liabilities?" + }, + { + "input": "What was the percentage change for Other accrued expenses due to adjustments by the new standard?", + "output": "What was the percentage change specifically for Other accrued expenses as a result of adjustments made under the new standard?" + }, + { + "input": "What was the percentage change for Other accrued expenses due to adjustments by the new standard?", + "output": "What was the percentage change in Other accrued expenses after incorporating adjustments made by the new standard? Please provide the specific percentage change." + }, + { + "input": "What is the exact amount of net revenue generated in the fiscal year 2019?", + "output": "What was the net revenue in 2019?" + }, + { + "input": "What was the total revenue generated during the year 2019 after deducting all expenses and costs?", + "output": "What was the net revenue in 2019?" + }, + { + "input": "What was the gross profit in 2018?", + "output": "What was the gross profit generated in the year 2018?" + }, + { + "input": "What was the operating income in 2017?", + "output": "What was the operating income for the year 2017?" + }, + { + "input": "What was the change in gross profit between 2017 and 2018?", + "output": "What was the difference in gross profit from 2017 to 2018?" + }, + { + "input": "What was the change in Prepaid expenses and other current assets due to the adoption of ASU 2014-09?", + "output": "\"What was the impact on Prepaid expenses and other current assets resulting from the adoption of ASU 2014-09? Please provide details and explain the specific changes that occurred as a result of this accounting standard.\"" + }, + { + "input": "How many reported segments have a value exceeding $2,000,000?", + "output": "How many segments as reported exceed $2,000,000 thousand?" + }, + { + "input": "What were the items incorporated within the amounts for the fiscal year that concluded on August 31, 2017?", + "output": "What did the amounts in fiscal year ended August 31, 2017 include?" + }, + { + "input": "What expenses or revenues were included in the amounts reported for the fiscal year that ended on August 31, 2017?", + "output": "What did the amounts in fiscal year ended August 31, 2017 include?" + }, + { + "input": "What was the difference in the costs of severance and employee benefits for the company from 2017 to 2018?", + "output": "What was the change in Employee severance and benefit costs between 2017 and 2018?" + }, + { + "input": "Which periods does the table include?", + "output": "What time periods are encompassed in the table's content?" + }, + { + "input": "\"What specific items or transactions were encompassed within the category of acquisitions and adjustments?\"", + "output": "What did Acquisitions and adjustments include?" + }, + { + "input": "What were the variations in acquisitions and adjustments made in fiscal year 2018 between the Electronic Manufacturing Services (EMS) and Document Management Systems (DMS)?", + "output": "What is the difference in Acquisitions and adjustments in fiscal 2018 between EMS and DMS?" + }, + { + "input": "What are the distinctions in acquisitions and adjustments, specifically pertaining to fiscal year 2018, when comparing EMS (Emergency Medical Services) and DMS (Document Management Systems)?", + "output": "What is the difference in Acquisitions and adjustments in fiscal 2018 between EMS and DMS?" + }, + { + "input": "What was the balance of EMS as in 2018 as a percentage of the total balance at the end of fiscal 2018?", + "output": "What percentage of the total balance at the end of fiscal 2018 represented the balance of EMS in 2018?" + }, + { + "input": "What categories of income or loss are included in the table's income (loss) figures before accounting for income tax expense?", + "output": "What types of income (loss) before income tax expense is provided by the table?" + }, + { + "input": "What was the foreign income (loss) in 2018?", + "output": "What was the amount of foreign income or loss for the year 2018?" + }, + { + "input": "What was the change in Foreign income (loss) between 2018 and 2019?", + "output": "What was the difference in the amount of income or loss generated from foreign sources, comparing the years 2018 and 2019?" + }, + { + "input": "What was the change in Foreign income (loss) between 2018 and 2019?", + "output": "What was the difference in the amount of foreign income or loss reported between 2018 and 2019?" + }, + { + "input": "\"How many annual periods experienced a Foreign income loss that was greater than $800,000 thousand dollars?\"", + "output": "How many years did Foreign income (loss) exceed $800,000 thousand?" + }, + { + "input": "For how many years was the amount of Foreign income (loss) greater than $800,000 thousand?", + "output": "How many years did Foreign income (loss) exceed $800,000 thousand?" + }, + { + "input": "What was the change in Accumulated benefit obligation between 2018 and 2019?", + "output": "What was the specific numerical difference in the Accumulated Benefit Obligation (ABO) amount between the fiscal years of 2018 and 2019?" + }, + { + "input": "\"What were the specific expenses incurred by the company for employee severance and benefits during the year 2018?\"", + "output": "What were the Employee severance and benefit costs in 2018?" + }, + { + "input": "What were the severance and benefit costs for employees in the year 2018?", + "output": "What were the Employee severance and benefit costs in 2018?" + }, + { + "input": "What was the precise difference in terms of employee severance and benefit costs from 2018 to 2019?", + "output": "What was the change in Employee severance and benefit costs between 2018 and 2019?" + }, + { + "input": "How many years did cash proceeds received exceed $5,000 million?", + "output": "How many years have the cash proceeds received been above $5,000 million?" + }, + { + "input": "How many years did cash proceeds received exceed $5,000 million?", + "output": "For how many years did the cash proceeds received exceed $5,000 million?" + }, + { + "input": "What was the percentage increase or decrease in pre-tax losses on the sale of receivables from 2017 to 2018?", + "output": "What was the percentage change in Pre-tax losses on sale of receivables between 2017 and 2018?" + }, + { + "input": "What was the difference in the amount of money spent on repurchasing shares in 2016 compared to 2017?", + "output": "What was the change in share repurchases between 2016 and 2017?" + }, + { + "input": "What was the percentage increase or decrease in dividend payments from 2018 to 2019?", + "output": "What was the percentage change in dividends paid between 2018 and 2019?" + }, + { + "input": "What was the percentage increase or decrease in dividends paid from 2018 to 2019?", + "output": "What was the percentage change in dividends paid between 2018 and 2019?" + }, + { + "input": "What was the specific topic of discussion in the DMS segment?", + "output": "What was the DMS segment focused on?" + }, + { + "input": "What was the change in the net revenue from EMS between 2018 and 2019?", + "output": "What was the difference in net revenue generated by EMS between the years 2018 and 2019?" + }, + { + "input": "What was the change in the net revenue from EMS between 2018 and 2019?", + "output": "What was the exact difference in net revenue for EMS between the years 2018 and 2019?" + }, + { + "input": "What was the average year-on-year percentage change in total net revenue from 2017-2019?", + "output": "What was the average annual percentage increase or decrease in the total net revenue from 2017 to 2019?" + }, + { + "input": "What was the average year-on-year percentage change in total net revenue from 2017-2019?", + "output": "What was the average percentage change in net revenue from year to year for the total period between 2017 and 2019?" + }, + { + "input": "What is the difference in the balance of Employee Severance and Benefit Costs as of August between 2017 and 2018?", + "output": "What is the change in the balance as of August in Employee Severance and Benefit Costs between 2017 and 2018?" + }, + { + "input": "What were the lease costs in 2017 as a percentage of the total balance in 2017?", + "output": "\"What was the percentage of lease costs in 2017 compared to the total balance in 2017?\"" + }, + { + "input": "What were the lease costs in 2017 as a percentage of the total balance in 2017?", + "output": "\"What proportion of the total balance in 2017 was allocated towards lease costs?\"" + }, + { + "input": "\"What was the amount of the domestic-federal income tax expense (benefit) recorded for the year 2017?\"", + "output": "What was the current domestic-federal income tax expense (benefit) in 2017?" + }, + { + "input": "What was the amount of domestic-federal income tax expense (benefit) recorded in the financial statements for the year 2017?", + "output": "What was the current domestic-federal income tax expense (benefit) in 2017?" + }, + { + "input": "What was the amount of income tax expense or benefit incurred for domestic operations in 2019?", + "output": "What was the current domestic-state income tax expense (benefit) in 2019?" + }, + { + "input": "In 2019, what was the amount of income tax expense or benefit incurred at the domestic state level?", + "output": "What was the current domestic-state income tax expense (benefit) in 2019?" + }, + { + "input": "What is the change in the company's domestic-state income tax expense (benefit) between 2018 and 2019?", + "output": "What is the difference in the domestic-state income tax expense (benefit) for the company from 2018 to 2019?" + }, + { + "input": "What is the change in the company's domestic-state income tax expense (benefit) between 2018 and 2019?", + "output": "What was the difference in the domestic-state income tax expense (benefit) of the company from 2018 to 2019?" + }, + { + "input": "What were the types of land and the associated improvements that existed in the year 2019?", + "output": "What were the land and improvements in 2019?" + }, + { + "input": "What was the total monetary worth of all buildings in the year 2018?", + "output": "What was the value of buildings in 2018?" + }, + { + "input": "What was the percentage change in total property, plant and equipment between 2018 and 2019?", + "output": "What was the percentage increase or decrease in the total value of property, plant, and equipment from 2018 to 2019?" + }, + { + "input": "Based on what factors or criteria were the fair value estimates for Level 3 determined?", + "output": "What were the Level 3 fair value estimates based on?" + }, + { + "input": "What factors or criteria were taken into consideration when determining the Level 3 fair value estimates?", + "output": "What were the Level 3 fair value estimates based on?" + }, + { + "input": "What was the change in the fair value for the 3.950% Senior Notes between 2018 and 2019?", + "output": "What was the difference in fair value for the 3.950% Senior Notes from 2018 to 2019?" + }, + { + "input": "What is the significance of the amount awarded as shares, which is contingent upon meeting specific performance criteria?", + "output": "What does the amount for shares granted that are based on the achievement of certain performance criteria represent?" + }, + { + "input": "What was the percentage difference in the number of shares from 2018 to 2019 and how do I calculate it accurately?", + "output": "What was the percentage change in the number of shares between 2018 and 2019?" + }, + { + "input": "What was the percentage change in Expected dividend yield between 2017 and 2018?", + "output": "What was the percentage adjustment in the expected dividend yield from 2017 to 2018?" + }, + { + "input": "What were the restricted stock units in 2019?", + "output": "What is the significance of restricted stock units in 2019, and can you provide more details about them?" + }, + { + "input": "What were the details and features of the Employee stock purchase plan (ESPP) implemented in 2018?", + "output": "What was the Employee stock purchase plan in 2018?" + }, + { + "input": "What was the change in Other stock-based compensation expenses between 2017 and 2018?", + "output": "What was the difference in the expenses related to stock-based compensation for Other category between the years 2017 and 2018?" + }, + { + "input": "\"What was the difference in the number of restricted stock units awarded by a company in 2018 compared to 2019?\"", + "output": "What was the change in the restricted stock units between 2018 and 2019?" + }, + { + "input": "What was the net change in the number of restricted stock units from 2018 to 2019?", + "output": "What was the change in the restricted stock units between 2018 and 2019?" + }, + { + "input": "What does the key management comprise of?", + "output": "What is included in key management?" + }, + { + "input": "What is the combined value of all shares held in joint ventures as of December 31, 2019?", + "output": "What is the total value of shares at 31 December 2019 for each joint venture?" + }, + { + "input": "What is the precise percentage change in revenue losses experienced by the United Kingdom from the year 2018 to 2019?", + "output": "What is the percentage change in the revenue losses in UK from 2018 to 2019?" + }, + { + "input": "What is the percentage increase or decrease in the revenue losses experienced in the United Kingdom from 2018 to 2019?", + "output": "What is the percentage change in the revenue losses in UK from 2018 to 2019?" + }, + { + "input": "What was the net amount of debt in 2019?", + "output": "What is the Net debt in 2019?" + }, + { + "input": "What was the net debt amount in the year 2019?", + "output": "What is the Net debt in 2019?" + }, + { + "input": "What is the percentage change in the net debt from 2018 to 2019?", + "output": "What is the percentage increase or decrease in the net debt from 2018 to 2019?" + }, + { + "input": "What were the fees payable by the Group's joint ventures in 2019?", + "output": "What were the specific fees that the Group's joint ventures had to pay in the year 2019?" + }, + { + "input": "What were the fees payable by the Group's joint ventures in 2019?", + "output": "What were the fees that the Group's joint ventures had to pay in 2019? Could you provide details on the specific amounts payable by each joint venture?" + }, + { + "input": "What proportion of the total borrowings in 2019, including both the principal and interest, will be due within a period of 5 years?", + "output": "What is the percentage of borrowings (including interest) that matures over 5 years in the total borrowings in 2019?" + }, + { + "input": "What was the net asset value (NAV) of EPRA in 2018?", + "output": "What is the EPRA NAV in 2018?" + }, + { + "input": "What is the precise percentage difference in the overall investment made in joint ventures for the years 2018 and 2019?", + "output": "What is the percentage change in the total investment in joint ventures from 2018 to 2019?" + }, + { + "input": "What was the interest rate protection provided in 2019?", + "output": "What is the interest rate protection in 2019?" + }, + { + "input": "What is the current interest rate protection in 2019 and how does it work?", + "output": "What is the interest rate protection in 2019?" + }, + { + "input": "What is the percentage difference in the fair value of unallocated swaps between 2018 and 2019?", + "output": "What is the percentage change in the fair value of unallocated swaps from 2018 to 2019?" + }, + { + "input": "What was the difference in the level of interest rate protection from 2018 to 2019?", + "output": "What is the change in interest rate protection between 2018 and 2019?" + }, + { + "input": "What is the year-on-year percentage change in the calculation of contingent rents based on tenants' turnover from 2018 to 2019?", + "output": "What is the percentage change in the amount of contingent rents calculated by reference to tenants' turnover from 2018 to 2019?" + }, + { + "input": "In what year will the future minimum lease amounts receivable be higher than usual?", + "output": "In which year is there higher future minimum lease amounts receivable?" + }, + { + "input": "What were the dividends in respect of these shares have been waived by agreement in 2018?", + "output": "What was the specific agreement regarding the waiver of dividends on these shares in 2018?" + }, + { + "input": "What is the percentage change in the disposals value from 2018 to 2019?", + "output": "What is the percentage difference in the value of disposals from 2018 to 2019, and how can it be calculated?" + }, + { + "input": "What is the current total quantity of units that the Company possesses?", + "output": "What is the total number of units the Company has?" + }, + { + "input": "What is the weighted average exercise price for the outstanding options in the Save As You Earn Scheme as of 31 December 2019?", + "output": "What is the weighted average exercise prices of the outstanding options exercisable at 31 December 2019 for the Save As You Earn Scheme?" + }, + { + "input": "What is the calculated average exercise prices of the options that are currently outstanding and can be exercised as of December 31, 2019, under the Save As You Earn Scheme?", + "output": "What is the weighted average exercise prices of the outstanding options exercisable at 31 December 2019 for the Save As You Earn Scheme?" + }, + { + "input": "What is the percentage change in the total provided deferred tax provision from 1 January 2018 to 31 December 2019?", + "output": "What is the precise percentage change in the total amount of deferred tax provision that was provided from 1 January 2018 to 31 December 2019?" + }, + { + "input": "What was the total amount of administration expenses incurred in the year 2019?", + "output": "What is the administration expense in 2019?" + }, + { + "input": "What is encompassed in diluted shares?", + "output": "What do the diluted shares include?" + }, + { + "input": "What is the percentage of counterparty #5 exposure in the total exposure in 2019?", + "output": "What is the proportion of the exposure to counterparty #5 compared to the total exposure in the year 2019?" + }, + { + "input": "What is the percentage of counterparty #5 exposure in the total exposure in 2019?", + "output": "What is the proportion of counterparty #5's exposure compared to the total exposure in the year 2019?" + }, + { + "input": "What is the percentage difference in the combined value of cash deposits and derivative financial instrument assets between 2018 and 2019?", + "output": "What is the percentage change in the sum of cash deposits and derivative financial instrument assets from 2018 to 2019?" + }, + { + "input": "What is the percentage difference in the loss before tax, including joint ventures and associates, from 2018 to 2019?", + "output": "What is the percentage change in the loss before tax, joint ventures and associates from 2018 to 2019?" + }, + { + "input": "What is the net exposure to foreign exchange risk (euro) in 2018?", + "output": "\"What is the total amount of foreign exchange risk (in euros) faced by a company in the year 2018?\"" + }, + { + "input": "What is the impact on equity attributable to owners of the Group when there is a 10% depreciation in foreign exchange rates from 2018 to 2019? Specifically, how does this affect the negative movement of money to equity?", + "output": "What is the change in the negative movement of money to equity attributable to owners of the Group when there is a 10 per cent depreciation in foreign exchange rates from 2018 to 2019?" + }, + { + "input": "What is the impact on the Group's owners' equity when foreign exchange rates depreciate by 10% between 2018 and 2019?", + "output": "What is the change in the negative movement of money to equity attributable to owners of the Group when there is a 10 per cent depreciation in foreign exchange rates from 2018 to 2019?" + }, + { + "input": "What is the percentage difference in the euro amount drawn from 2018 to 2019?", + "output": "What is the percentage change in the amount drawn in euros from 2018 to 2019?" + }, + { + "input": "What is the percentage increase or decrease in the euro amount withdrawn between 2018 and 2019?", + "output": "What is the percentage change in the amount drawn in euros from 2018 to 2019?" + }, + { + "input": "\"In which specific year did the total debt reach its highest level, and is it greater than the total debt in any other year?\"", + "output": "In which year is there a greater total debt?" + }, + { + "input": "In which year does the total debt amount exceed or surpass the debt levels of other years?", + "output": "In which year is there a greater total debt?" + }, + { + "input": "What is the percentage change in the total debt from 2018 to 2019?", + "output": "What is the percentage increase or decrease in the total debt from 2018 to 2019?" + }, + { + "input": "\"What were the average salaries for administrative positions in fiscal years 2019 and 2018?", + "output": "What is the average Administrative salaries for fiscal 2019 and 2018?" + }, + { + "input": "\"What was the average annual salary for administrative employees in fiscal years 2019 and 2018?", + "output": "What is the average Administrative salaries for fiscal 2019 and 2018?" + }, + { + "input": "What is the weekly processing capacity comparison between the plants located in Laurel, Mississippi and Collins, Mississippi?", + "output": "What is the difference in capacity per week between the processing plants at Laurel, Mississippi and Collins, Mississippi? " + }, + { + "input": "What are the average amounts for prepaid insurance in both fiscal years 2019 and 2018?", + "output": "What is the average Prepaid insurance for fiscal years 2019 and 2018?" + }, + { + "input": "What is the difference in the amount of Total prepaid expenses recorded in the financial statements for fiscal years 2019 and 2018? I need to determine the change in prepaid expenses for these two specific years.", + "output": "What is the change in Total prepaid expenses between fiscal years 2019 and 2018?" + }, + { + "input": "What is the difference in the total amount of prepaid expenses between fiscal years 2019 and 2018?", + "output": "What is the change in Total prepaid expenses between fiscal years 2019 and 2018?" + }, + { + "input": "What is the difference in the statutory income tax rates between fiscal years 2019 and 2018, and how does this impact income taxes?", + "output": "What is the change in Income taxes at statutory rate between fiscal years 2019 and 2018?" + }, + { + "input": "What is the net sales from Fresh, vacuum-sealed chicken for fiscal years 2019 to 2017 respectively?", + "output": "What were the net sales of Fresh, vacuum-sealed chicken for fiscal years 2019, 2018, and 2017?" + }, + { + "input": "What is the net sales from Fresh, chill-packed chicken for fiscal years 2019 to 2017 respectively?", + "output": "What are the net sales figures for Fresh, chill-packed chicken for fiscal years 2019, 2018, and 2017, respectively?" + }, + { + "input": "What is the net sales from Fresh, chill-packed chicken for fiscal years 2019 to 2017 respectively?", + "output": "How much revenue was generated from the sales of Fresh, chill-packed chicken for the fiscal years of 2019, 2018, and 2017, respectively?" + }, + { + "input": "What is the net sales from Fresh, ice-packed chicken for fiscal years 2019 to 2017 respectively?", + "output": "What were the net sales of Fresh, ice-packed chicken for fiscal years 2019, 2018, and 2017?" + }, + { + "input": "What was the purpose of the company's operating leases, and how did they contribute to the company's operations or financial performance?", + "output": "What was the company's operating leases for?" + }, + { + "input": "What is the discrepancy in the overall amount when comparing revenues gained from revolving loan facility fees to expenses incurred from operating leases?", + "output": "What was the difference in the total between Revolving loan facility fees and operating leases? " + }, + { + "input": "What was the change in the Net cash used in investing activities between 2017 and 2019?", + "output": "What was the difference in the amount of net cash used in investing activities from 2017 to 2019?" + }, + { + "input": "What was the percentage change in the Net cash used in financing activities between 2018 and 2019?", + "output": "What was the percentage difference in the amount of cash used in financing activities from 2018 to 2019?" + }, + { + "input": "Which years does the table provide information for the company's Selected Consolidated Statements of Operations Data?", + "output": "For which specific time periods does the table present the company's Selected Consolidated Statements of Operations Data?" + }, + { + "input": "What was the exact amount of revenue generated in the year 2015?", + "output": "What was the total revenue in 2015?" + }, + { + "input": "What was the specific amount of operating profit generated in the year 2017?", + "output": "What was the operating profit in 2017?" + }, + { + "input": "What was the exact amount of operating profit earned during the year 2017?", + "output": "What was the operating profit in 2017?" + }, + { + "input": "What is the precise percentage difference in operating profit from 2015 to 2016?", + "output": "What was the percentage change in operating profit between 2015 and 2016?" + }, + { + "input": "What was the percentage increase or decrease in operating profit from 2015 to 2016?", + "output": "What was the percentage change in operating profit between 2015 and 2016?" + }, + { + "input": "What was the cash used in Software in 2019?", + "output": "How much money was spent on Software in the year 2019?" + }, + { + "input": "What was the net income in 2019?", + "output": "What was the exact net income amount for the fiscal year of 2019?" + }, + { + "input": "What was the specific amount of interest that was recorded as an expense in the year 2018?", + "output": "What was the interest expense in 2018?" + }, + { + "input": "What is the amount of money paid as interest in 2018?", + "output": "What was the interest expense in 2018?" + }, + { + "input": "For how many consecutive years has the net income exceeded $100,000 thousand?", + "output": "How many years did net income exceed $100,000 thousand?" + }, + { + "input": "What was the change in the interest expense between 2017 and 2018?", + "output": "What were the differences in the amount of interest expense incurred in 2017 and 2018?" + }, + { + "input": "How much was the change in fair value of the company's servicing asset that was included in the fees charged for servicing?", + "output": "How much was the included change in fair value of the company's servicing asset included in its servicing fees?" + }, + { + "input": "For how many consecutive years have Interchange fees surpassed $50,000?", + "output": "How many years did Interchange fees exceed $50,000 thousand?" + }, + { + "input": "How many years have the Interchange fees been over $50,000 thousand?", + "output": "How many years did Interchange fees exceed $50,000 thousand?" + }, + { + "input": "What was the difference in the fees charged for transactions in 2017 compared to 2019? How did the transaction fees change between 2017 and 2019?", + "output": "What was the change in the transaction fees between 2017 and 2019?" + }, + { + "input": "What was the percentage change in the total revenue between 2018 and 2019?", + "output": "What is the percentage increase or decrease in the total revenue from 2018 to 2019?" + }, + { + "input": "What was the percentage change in the total revenue between 2018 and 2019?", + "output": "What was the percentage difference in the overall revenue from 2018 to 2019?" + }, + { + "input": "How much did the company invest in partnerships during the year 2018?", + "output": "What was the company's investment in partnership in 2018?" + }, + { + "input": "How much money did the company invest in partnership during the year 2018?", + "output": "What was the company's investment in partnership in 2018?" + }, + { + "input": "What is the significance and meaning of the number of Settlements?", + "output": "What does the amount of Settlements represent?" + }, + { + "input": "What is the significance or meaning of the number of Settlements?", + "output": "What does the amount of Settlements represent?" + }, + { + "input": "How many years did the face value of term loan exceed $300,000 thousand?", + "output": "For how many years has the term loan been valued above $300,000 thousand?" + }, + { + "input": "How many years did the face value of term loan exceed $300,000 thousand?", + "output": "How many years has the face value of the term loan been consistently higher than $300,000 thousand?" + }, + { + "input": "What was the change in the Loan Servicing Portfolio between 2017 and 2018?", + "output": "What was the difference in the size of the Loan Servicing Portfolio from 2017 to 2018?" + }, + { + "input": "What was the total costs and expenses?", + "output": "What was the overall amount of costs and expenses associated with the given context or situation?" + }, + { + "input": "What was the exact value of the restricted cash in the year 2017?", + "output": "What was the amount of restricted cash in 2017?" + }, + { + "input": "\"What is the range of years covered in the table?\"", + "output": "Which years does the table provide?" + }, + { + "input": "What was the change in Cash and cash equivalents between 2018 and 2019?", + "output": "What was the difference in the amount of Cash and cash equivalents between 2018 and 2019?" + }, + { + "input": "For how long did the amount of Restricted Cash surpass $200,000 thousand?", + "output": "How many years did Restricted Cash exceed $200,000 thousand?" + }, + { + "input": "What was the total quantity of Furniture sold or produced in the year 2018?", + "output": "What was the amount of Furniture in 2018?" + }, + { + "input": "What was the total quantity or number of furniture items in the year 2018?", + "output": "What was the amount of Furniture in 2018?" + }, + { + "input": "What was the total quantity of computer hardware devices manufactured or sold globally in the year 2019?", + "output": "What was the amount of Computer hardware in 2019?" + }, + { + "input": "How much computer hardware was present in the year 2019?", + "output": "What was the amount of Computer hardware in 2019?" + }, + { + "input": "What was the change in the amount of Software between 2018 and 2019?", + "output": "What was the difference in the quantity of Software from 2018 to 2019, specifically looking at the change in amount?" + }, + { + "input": "What was the change in the amount of Software between 2018 and 2019?", + "output": "How much did the amount of Software change from 2018 to 2019?" + }, + { + "input": "What was the amount of Receipts in 2017?", + "output": "How many receipts were recorded in the year 2017?" + }, + { + "input": "What was the amount of Receipts in 2017?", + "output": "\"How many total receipts were recorded in the year 2017?\"" + }, + { + "input": "What was the change in the amount of Settlements between 2017 and 2019?", + "output": "What was the net difference in the number of Settlements from 2017 to 2019?" + }, + { + "input": "What was the change in the amount of Settlements between 2017 and 2019?", + "output": "What was the difference in the number of Settlements from 2017 to 2019 and how did it change over the two-year period?" + }, + { + "input": "What was the exact amount of revenue generated in the year 2018?", + "output": "What was the total revenue in 2018?" + }, + { + "input": "What is the total amount of money earned in 2018?", + "output": "What was the total revenue in 2018?" + }, + { + "input": "\"What was the specific financial figure measuring earnings from regular business operations, known as operating profit, during the year 2019?\"", + "output": "What was the operating profit in 2019?" + }, + { + "input": "What was the operating profit in the first quarter?", + "output": "What is the exact amount of operating profit recorded in the first quarter of the fiscal year?" + }, + { + "input": "What was the specific amount of net income generated in the third quarter?", + "output": "What was the net income in the third quarter?" + }, + { + "input": "What was the percentage increase or decrease in the basic earnings per share of Class A common stock from the first quarter to the second quarter?", + "output": "What was the percentage change in the basic earnings per share of Class A common stock between the first and second quarter?" + }, + { + "input": "\"What is the range of years covered in the table?\"", + "output": "Which years does the table provide?" + }, + { + "input": "What was the difference in the amount of net income recorded between the years 2017 and 2018?", + "output": "What was the change in net income between 2017 and 2018?" + }, + { + "input": "\"What is the meaning and significance of net fair value changes recognized in other gains (losses)?\"", + "output": "What does the net Fair value changes recognized in other gains (losses) represent?" + }, + { + "input": "What is the representation of net fair value changes recognized in other gains (losses)?", + "output": "What does the net Fair value changes recognized in other gains (losses) represent?" + }, + { + "input": "What was the beginning balance in 2018?", + "output": "\"The starting balance for the year 2018, specifically referring to financial records or accounts, is requested. Please provide the initial amount present at the beginning of that year.\"" + }, + { + "input": "Which years did the ending balance exceed $3,000 thousand?", + "output": "In which years was the ending balance higher than $3,000 thousand?" + }, + { + "input": "What is the percentage of fair value time deposits compared to the overall fair value of marketable securities?", + "output": "What percentage of the total fair value marketable securities is made up of fair value time deposits?" + }, + { + "input": "\"What is the current interest rate specified in the credit facility agreement that governs our credit arrangement?\"", + "output": "What is the interest rate on the credit facility agreement?" + }, + { + "input": "\"What is the specific interest rate specified in the credit facility agreement that governs our borrowing terms?\"", + "output": "What is the interest rate on the credit facility agreement?" + }, + { + "input": "What factors contributed to the increase in research and development expenses in 2019?", + "output": "What are the reasons for higher research and development expense in 2019?" + }, + { + "input": "What is the net difference in research and development expense between 2019 and 2017?", + "output": "What is the exact amount of change in research and development expense between the fiscal years of 2019 and 2017?" + }, + { + "input": "How much were the marketable securities worth in 2019?", + "output": "What was the amount of marketable securities in 2019?" + }, + { + "input": "What was the precise value of marketable securities held in the year 2019?", + "output": "What was the amount of marketable securities in 2019?" + }, + { + "input": "What is the difference in the total amount of shareholders' equity between the years 2018 and 2019?", + "output": "What is the change in total shareholders' equity from 2018 to 2019?" + }, + { + "input": "How much did the total shareholders' equity change between 2018 and 2019?", + "output": "What is the change in total shareholders' equity from 2018 to 2019?" + }, + { + "input": "How does the net (loss) income of 2019 compare to the net (loss) income of 2018?", + "output": "What is the difference between Net (loss) income in 2018 and 2019?" + }, + { + "input": "What was the exact percentage increase in gross profit from the year 2018 to the year 2019?", + "output": "What was the percentage increase in gross profit from 2018 to 2019?" + }, + { + "input": "What are the different components of expenses that need to be considered when starting production?", + "output": "What are components of production start-up expense?" + }, + { + "input": "What is the total change in expenditure for initiating production between the years 2019 and 2017?", + "output": "What is the net difference in production start-up expense between 2019 and 2017?" + }, + { + "input": "What is the difference in net sales amount in 2019 and 2018?", + "output": "What is the difference in the net sales amount between the years 2019 and 2018? Please provide details and figures to compare the net sales amounts of these two specific years." + }, + { + "input": "What is the value of foreign government obligations as of December 31, 2019?", + "output": "What is the total amount of foreign government obligations recorded as of December 31, 2019?" + }, + { + "input": "What is the comparative value of money market funds and foreign debt as of December 31, 2019, and how do they differ?", + "output": "What is the difference in the value of money market funds and foreign debt as of December 31, 2019?" + }, + { + "input": "What is the increase in cash provided by operating activities from 2018 to 2019?", + "output": "How much did the cash provided by operating activities increase from 2018 to 2019?" + }, + { + "input": "What is the difference in net cash and cash equivalents between 2019 and 2018?", + "output": "What is the change in net cash and cash equivalents between the fiscal years 2019 and 2018?" + }, + { + "input": "\"What specific items or responsibilities are typically considered as part of other obligations?\"", + "output": "What are included in other obligations?" + }, + { + "input": "What does the category of \"other obligations\" encompass and include?", + "output": "What are included in other obligations?" + }, + { + "input": "Why was $72.2 million of unrecognized tax benefits excluded?", + "output": "Why were the $72.2 million in unrecognized tax benefits excluded from something?" + }, + { + "input": "What percentage of the total contractual obligations is made up of total long-term debt obligations?", + "output": "What is the proportion of the overall contractual obligations that consists specifically of the total amount owed in long-term debt obligations?" + }, + { + "input": "What is the distinction between the total amount paid in interest and the total sum of operating lease obligations?", + "output": "What difference between total interest payments and total operating lease obligations?" + }, + { + "input": "What is the interest rate for the term loan that I am inquiring about?", + "output": "What is the interest rate of the term loan?" + }, + { + "input": "What are the differences in the amounts of notes receivable recorded in 2018 and 2019?", + "output": "What is the difference between notes receivables from 2018 to 2019?" + }, + { + "input": "What is the precise percentage by which the total prepaid expenses and other current assets increased from 2018 to 2019?", + "output": "What is the percentage increase in total prepaid expenses and other current assets from 2018 to 2019?" + }, + { + "input": "How are the accounting procedures used to record changes in fair value of hedging instruments?", + "output": "How are changes in fair value of hedging instruments accounted for?" + }, + { + "input": "What are the types of derivative instruments included in the total for other liabilities on a financial statement?", + "output": "What is the total derivate instruments for other liabilities?" + }, + { + "input": "What are the types of derivative instruments used to measure the total value of other liabilities?", + "output": "What is the total derivate instruments for other liabilities?" + }, + { + "input": "What is the ratio of the total derivatives classified as hedging instruments to the total derivatives not classified as hedging instruments under prepaid expenses and other current assets?", + "output": "Under prepaid expenses and other current assets, what is the ratio of the total derivates designated as hedging instruments to those not designated as hedging instruments?" + }, + { + "input": "What was the increase in machinery and equipment from 2018 to 2019?", + "output": "What was the percentage change in the value of machinery and equipment between 2018 and 2019?" + }, + { + "input": "What was the increase in machinery and equipment from 2018 to 2019?", + "output": "What percentage growth was observed in the value of machinery and equipment between the years 2018 and 2019?" + }, + { + "input": "What are the differences in land statistics comparing the year 2018 and 2019?", + "output": "What is the difference between land from 2018 to 2019?" + }, + { + "input": "What are the discrepancies in land conditions between the years 2018 and 2019?", + "output": "What is the difference between land from 2018 to 2019?" + }, + { + "input": "What is the net change in selling, general, and administrative expense between the years 2019 and 2017?", + "output": "What is the net difference in selling, general and administrative expense between 2019 and 2017?" + }, + { + "input": "What is the current percentage shareholding of Tata Sons Private Limited and Life Insurance Corporation of India, and how does it differ between the two entities?", + "output": "What is the difference in percentage shareholding between Tata Sons Private Limited and Life Insurance Corporation of India?" + }, + { + "input": "What is the disparity in the quantity of equity shares possessed by Promoters and Insurance Companies?", + "output": "What is the difference between number of equity shares held between Promoters and Insurance Companies?" + }, + { + "input": "How many shareholding accounts were there as of March 31, 2019?", + "output": "What is the number of existing shareholding accounts as on March 31, 2019? " + }, + { + "input": "As of March 31, 2019, what is the overall sum of all assets owned by someone or something?", + "output": "What is the grand total of holdings as on March 31, 2019?" + }, + { + "input": "What is the overall value of assets and investments held as of March 31, 2019?", + "output": "What is the grand total of holdings as on March 31, 2019?" + }, + { + "input": "What is the difference in the number of holdings within the share categories of '1-100' and '101-500'? How do the share categories of '1-100' and '101-500' differ in terms of the number of holdings they encompass?", + "output": "What is the difference in holdings between the share categories of '1-100' and '101-500'?" + }, + { + "input": "What is the basis for consolidating shareholdings and how does it affect the overall company structure?", + "output": "On what basis is shareholding consolidated?" + }, + { + "input": "What is the basis for the consolidation of shareholding?", + "output": "On what basis is shareholding consolidated?" + }, + { + "input": "\"What is the proportion of unsecured loans out of the total debt at the start of the financial year?\"", + "output": "At the beginning of the financial year, what percentage of total indebtedness is made up of unsecured loans?" + }, + { + "input": "What was the change in the quantity of shares transferred from 2011 to 2012 into the Investor Education and Protection Fund (IEPF)?", + "output": "What is the difference in number of shares transferred to IEPF from 2011 to 2012?" + }, + { + "input": "What is the total remuneration for Ramakrishnan V?", + "output": "What is the complete amount of compensation that Ramakrishnan V receives?" + }, + { + "input": "What is the total remuneration for Ramakrishnan V?", + "output": "What is the total amount of money received as payment or compensation for services rendered by Ramakrishnan V?" + }, + { + "input": "What is the monetary worth of the stock option that the Company Secretary receives?", + "output": "What is the value of Stock Option given to the Company Secretary?" + }, + { + "input": "What is the monetary worth or amount of Stock Option that has been granted or allocated to the Company Secretary as part of their compensation or benefits package?", + "output": "What is the value of Stock Option given to the Company Secretary?" + }, + { + "input": "What is the specific value or percentage of commission that is usually given to the Chief Financial Officer (CFO) of a company?", + "output": "What is the value of Commission given to the Chief Financial Officer?" + }, + { + "input": "\"What is the specific amount or percentage of commission that is typically awarded to the Chief Financial Officer (CFO) for their role?\"", + "output": "What is the value of Commission given to the Chief Financial Officer?" + }, + { + "input": "What distinguishes the CFO from the Company Secretary in terms of Others and Allowances? Clarify and elaborate on the differences between these two roles regarding their responsibilities, remunerations, and any additional benefits they may receive.", + "output": "What is the difference in Others, Allowances between the CFO and Company Secretary?" + }, + { + "input": "Which key managerial personnel had the highest total remuneration?", + "output": "\"Who among the key managerial personnel received the highest total remuneration?\"" + }, + { + "input": "How does the ratio of median remuneration between the two Executive Directors differ?", + "output": "What is the difference in ratio to median remuneration between the two Executive Directors?" + }, + { + "input": "\"What is the difference in the amount of money received from sales or services between the years 2018 and 2019?\"", + "output": "What is the change in revenue between 2018 and 2019?" + }, + { + "input": "What is the difference in the amount of money earned by the company between the years 2018 and 2019?", + "output": "What is the change in revenue between 2018 and 2019?" + }, + { + "input": "What portion of total unconsolidated revenue in FY 2019 constitutes of export revenue?", + "output": "What percentage of the total unconsolidated revenue for the fiscal year 2019 is comprised of revenue from exports?" + }, + { + "input": "What portion of total unconsolidated revenue in FY 2018 constitutes of export revenue?", + "output": "What percentage of the overall unconsolidated revenue for the fiscal year 2018 is derived from export sales?" + }, + { + "input": "What is the difference in the amount of money earned from foreign exchanges between the fiscal years of 2018 and 2019?", + "output": "What is the change in foreign exchange earnings between FY 2018 and FY 2019?" + }, + { + "input": "What is the change in Cost, Insurance and Freight (CIF) value of imports from FY 2018 to FY 2019?", + "output": "How has the Cost, Insurance and Freight (CIF) value of imports changed from FY 2018 to FY 2019?" + }, + { + "input": "What is the specific amount of money charged as a sitting fee for N Chandrasekaran?", + "output": "What is the sitting fee of N Chandrasekaran?" + }, + { + "input": "What is the difference in sitting fees between O P Bhatt and Aarthi Subramanian?", + "output": "What is the difference in sitting fees between O P Bhatt and Aarthi Subramanian, and in what context are these fees being compared or analyzed?" + }, + { + "input": "What is the difference in sitting fees between O P Bhatt and Aarthi Subramanian?", + "output": "What is the difference in the sitting fees charged by O P Bhatt and Aarthi Subramanian?" + }, + { + "input": "What is the percentage change in pre-tax margin between 2017 and 2018?", + "output": "What is the increase/ (decrease) in Pre-tax margin from 2017 to 2018" + }, + { + "input": "What is the percentage change in Pre-tax margin between 2017 and 2018?", + "output": "What is the increase/ (decrease) in Pre-tax margin from 2017 to 2018" + }, + { + "input": "What does Net Income include?", + "output": "\"What elements are included in the calculation of Net Income?\"" + }, + { + "input": "What is the increase / (decrease) in revenue from 2018 to 2019?", + "output": "How much did the revenue change from 2018 to 2019?" + }, + { + "input": "What is the percentage increase / (decrease) in Current liabilities from 2018 to 2019?", + "output": "What is the percentage change in Current Liabilities between 2018 and 2019?" + }, + { + "input": "What caused the decrease in the actual shares?", + "output": "What factors led to the decrease in the current number of shares held by individuals or entities?" + }, + { + "input": "What was the percentage change in Earnings per Share of common stock from continuing operations (basic) compared to the previous period?", + "output": "What was the increase / (decrease) from the Earnings per share of common stock from continuing operations basic?" + }, + { + "input": "What was the percentage change in the basic earnings per share of common stock from continuing operations?", + "output": "What was the increase / (decrease) from the Earnings per share of common stock from continuing operations basic?" + }, + { + "input": "How did the performance of hardware platforms compare from year to year?", + "output": "How was the performance of hardware platforms year to year" + }, + { + "input": "What does the Pre-tax income performance implied? ", + "output": "What is the meaning of Pre-tax income performance?" + }, + { + "input": "What was the pre-tax margin of 2019?", + "output": "\"What was the pre-tax margin percentage for the year 2019?\"" + }, + { + "input": "What was the pre-tax margin of 2019?", + "output": "\"What was the specific pre-tax margin for the fiscal year of 2019?\"" + }, + { + "input": "What was the External gross profit margin in 2019?", + "output": "What was the gross profit margin from sources external to the company for the year 2019?" + }, + { + "input": "What is the average of Balance at January 1?", + "output": "What is the average balance as of January 1st for all accounts (or customers, if applicable)?" + }, + { + "input": "What is the average balance amount as of December 31st?", + "output": "What is the average of Balance at December 31?" + }, + { + "input": "What is the average balance amount recorded on December 31st for a specific period of time?", + "output": "What is the average of Balance at December 31?" + }, + { + "input": "What is the increase / (decrease) in the net capitalized software from 2018 to 2019?", + "output": "What is the change in the net capitalized software amount from 2018 to 2019?" + }, + { + "input": "What was the percentage change in pre-tax income from 2018 to 2019?", + "output": "What was the increase / (decrease) in the Pre-tax income from 2018 to 2019?" + }, + { + "input": "What is the percentage change in gross profit for External Operating Systems Software from 2018 to 2019?", + "output": "What is the increase / (decrease) in the External Operating Systems Software gross profit from 2018 to 2019?" + }, + { + "input": "What was the percentage increase / (decrease) in total short term debt?", + "output": "What was the percentage change in the total amount of short term debt?" + }, + { + "input": "What was the percentage change in the pre-tax margin from 2018 to 2019?", + "output": "What was the increase / (decrease) in the Pre-tax margin from 2018 to 2019?" + }, + { + "input": "What percentage change in the pre-tax margin occurred between 2018 and 2019?", + "output": "What was the increase / (decrease) in the Pre-tax margin from 2018 to 2019?" + }, + { + "input": "What is the meaning or significance of the launch expense?", + "output": "What does launch expense represent?" + }, + { + "input": "How many types of expenses are listed in the table?", + "output": "How many categories of expenses are included in the table?" + }, + { + "input": "What was the average adjusted EBITDA for 2018 and 2019?", + "output": "What was the average amount of adjusted EBITDA for both the years 2018 and 2019?" + }, + { + "input": "\"What is the chronological order of the gross profit for each financial year end as depicted in the table?\"", + "output": "What is the gross profit for each financial year end shown in the table (in chronological order)?" + }, + { + "input": "What was the year with the highest value for other financial expenses?", + "output": "In which year was the amount of other financial expenses the largest?" + }, + { + "input": "What was the net difference in the overall financial expenses incurred during the year 2019 as compared to 2018?", + "output": "What was the change in the total financial expenses in 2019 from 2018?" + }, + { + "input": "What was the sum of all financial costs incurred in the year 2019?", + "output": "What is the total amount of financial expenses in 2019?" + }, + { + "input": "What was the specific year when the amount of Current lease liabilities was greater than in any other year?", + "output": "In which year was the amount of Current lease liabilities larger?" + }, + { + "input": "When did the amount of Current lease liabilities exceed the previous year's amount?", + "output": "In which year was the amount of Current lease liabilities larger?" + }, + { + "input": "What is the total financial income for 2019?", + "output": "What was the overall financial income for the year 2019?" + }, + { + "input": "What was the total number of financial items in the year 2019?", + "output": "What is the amount of total financial items in 2019?" + }, + { + "input": "What is the total number of financial items recorded in the year 2019?", + "output": "What is the amount of total financial items in 2019?" + }, + { + "input": "What are the primary categories that are examined within the Financial Items section of the table?", + "output": "What are the main categories analyzed under Financial Items in the table?" + }, + { + "input": "In which year was the amount of financial income the smallest?", + "output": "What is the year with the minimum financial income amount?" + }, + { + "input": "What was the change in the Average invested capital less average impairment in 2019 from 2018?", + "output": "What was the difference in the average amount of capital invested excluding average impairment between 2019 and 2018?" + }, + { + "input": "What was the change in the Average invested capital less average impairment in 2019 from 2018?", + "output": "What was the difference in the average amount of money invested minus the average amount of impairments in 2019 compared to 2018?" + }, + { + "input": "What was the percentage change in retained earnings in 2019 from 2018?", + "output": "What was the precise percentage difference in retained earnings between 2018 and 2019, specifically referring to the change observed in 2019?" + }, + { + "input": "What was the percentage change in retained earnings in 2019 from 2018?", + "output": "What was the percentage increase or decrease in the amount of retained earnings from the year 2018 to 2019?" + }, + { + "input": "How is Total Cost of Ownership (TCE) earnings utilized as a widely accepted performance measure for the shipping industry?", + "output": "How is TCE earnings used as a standard shipping industry performance measure?" + }, + { + "input": "What is the specific year when the revenue reached its maximum value?", + "output": "In which year was Revenue the largest?" + }, + { + "input": "What items were included in the freight receivables as of 2019?", + "output": "As of 2019, what did freight receivables include?" + }, + { + "input": "What was included in the category of freight receivables as of 2019?", + "output": "As of 2019, what did freight receivables include?" + }, + { + "input": "What is the determining basis for the calculation and establishment of an allowance for expected credit loss?", + "output": "What is the making of allowance for expected credit loss based on?" + }, + { + "input": "What is the basis for determining the provision for expected credit loss?", + "output": "What is the making of allowance for expected credit loss based on?" + }, + { + "input": "What is the specific year when the total gross freight receivables reached their highest amount?", + "output": "In which year was the amount of total gross freight receivables the largest?" + }, + { + "input": "What was the net increase or decrease in the total gross freight receivables between 2018 and 2019?", + "output": "What was the change in the total net gross freight receivables in 2019 from 2018?" + }, + { + "input": "What information can be derived in note 16?", + "output": "What data or details can be obtained from note 16?" + }, + { + "input": "What information can be derived in note 16?", + "output": "What kind of information can be obtained from note 16?" + }, + { + "input": "What was the change in the carrying amount as of 31 December from 2018 to 2019?", + "output": "What was the difference in the carrying amount as of December 31 between the years 2018 and 2019? Please provide the specific change in the carrying amount." + }, + { + "input": "What are the specific components present in the table that are utilized for liquidity calculations?", + "output": "What are the components in the table used to calculate liquidity?" + }, + { + "input": "What was the difference in liquidity levels between 2019 and 2018, and how did it change over the course of the year?", + "output": "What was the change in liquidity in 2019 from 2018?" + }, + { + "input": "What does TORM have leases for?", + "output": "What types of leases does TORM currently have?" + }, + { + "input": "How are leases represented on the balance sheet and what specific details are included for each lease?", + "output": "How is each lease reflected on the balance sheet?" + }, + { + "input": "\"What is the asset type that experiences the highest rate of depreciation in a year?\"", + "output": "Which asset type has the largest depreciation of the year?" + }, + { + "input": "What was the difference in the amount of gross profit in 2019 compared to 2018?", + "output": "What was the change in gross profit in 2019 from 2018?" + }, + { + "input": "What was the exact percentage increase or decrease in the gross profit from 2018 to 2019?", + "output": "What was the percentage change in gross profit in 2019 from 2018?" + }, + { + "input": "What was the percentage increase or decrease in gross profit from 2018 to 2019?", + "output": "What was the percentage change in gross profit in 2019 from 2018?" + }, + { + "input": "\"What specific details or data can be found in Note 21 of the provided information?\"", + "output": "What information is provided in Note 21?" + }, + { + "input": "What was the percentage change in interest rate swaps between the year 2018 and 2019?", + "output": "What was the change in interest rate swaps from 2018 to 2019?" + }, + { + "input": "How did interest rate swaps change from 2018 to 2019?", + "output": "What was the change in interest rate swaps from 2018 to 2019?" + }, + { + "input": "What was the percentage difference in the interest rate swaps between 2018 and 2019? I would like to know the rate at which the interest rate swaps changed between these two years.", + "output": "What was the percentage change in interest rate swaps from 2018 to 2019?" + }, + { + "input": "What was the precise percentage difference in the interest rate swap market between 2018 and 2019?", + "output": "What was the percentage change in interest rate swaps from 2018 to 2019?" + }, + { + "input": "What is TORM's belief or estimation of the amount of net interest-bearing debt they possess?", + "output": "What does TORM believe net interest-bearing debt to be?" + }, + { + "input": "What is the methodology used to calculate the net asset value (NAV) per share in investment funds?", + "output": "How is NAV/share calculated?" + }, + { + "input": "What are the types of audit fees in the table?", + "output": "What are the different types of audit fees listed in the table?" + }, + { + "input": "In what year did the auditor receive the highest overall compensation?", + "output": "In which year was the total remuneration to the auditor the largest?" + }, + { + "input": "For which specific years were the calculations of Other Liabilities amounts conducted?", + "output": "In which years were the amounts of Other Liabilities calculated for?" + }, + { + "input": "In which specific year did the amount allocated to Partners and commercial managements surpass the amount allocated in other years?", + "output": "In which year was the amount under Partners and commercial managements larger?" + }, + { + "input": "\"What specific expenses are included in the category of operating expenses that are related to staff costs?\"", + "output": "What are the staff costs included in operating expenses related to?" + }, + { + "input": "How is the average number of employees determined and what is the methodology behind its calculation?", + "output": "How is the average number of employees calculated?" + }, + { + "input": "What was the change in the total number of permanent employees from 2018 to 2019?", + "output": "How many permanent employees were added or lost between 2018 and 2019, resulting in the change in the total number of permanent employees?" + }, + { + "input": "What does note 21 include in terms of information?", + "output": "What information does note 21 contain?" + }, + { + "input": "What does accounts receivables in the table include?", + "output": "What specific components are included in the accounts receivables section of the table?" + }, + { + "input": "What specific items or costs are included in the income statement as Port expenses, including bunkers and commissions?", + "output": "What is recognized in the income statement under Port expenses, bunkers and commissions?" + }, + { + "input": "How is allowance for expected credit loss of freight receivables calculated?", + "output": "How is the calculation for allowance for expected credit loss determined specifically for freight receivables?" + }, + { + "input": "\"What specific components are accounted for in the carrying amount designated for 'Vessels and capitalized dry-docking'?\"", + "output": "What is included in the carrying amount for \"Vessels and capitalized dry-docking\"?" + }, + { + "input": "What specific sub-elements, denoted in capital letters, can be found under the category of \"Vessels\" in the table related to dry-docking?", + "output": "What are the sub-elements under Vessels and capitalized dry-docking in the table?" + }, + { + "input": "What specific components or sub-elements fall under the category of Vessels and capitalized dry-docking in the table?", + "output": "What are the sub-elements under Vessels and capitalized dry-docking in the table?" + }, + { + "input": "\"What is the meaning of the phrase 'company's retirement obligations' and what specific aspects does it encompass?\"", + "output": "What does the company's retirement obligations refer to?" + }, + { + "input": "\"What are the retirement obligations of the company and what do they encompass?\"", + "output": "What does the company's retirement obligations refer to?" + }, + { + "input": "What is the company's total contractual cash obligations due in more than 5 years?", + "output": "What is the total amount of cash that the company is obligated to pay according to its contracts, and when are these payments due, specifically for obligations that extend beyond a period of 5 years?" + }, + { + "input": "What is the company's total contractual cash obligations due in more than 5 years?", + "output": "\"What is the total amount of cash that the company owes based on contractual agreements with a maturity period of more than 5 years?\"" + }, + { + "input": "How much does operating leases account for total contractual cash obligations for period of less than 1 year?", + "output": "What is the percentage of total contractual cash obligations attributable to operating leases with a duration of less than one year?" + }, + { + "input": "What is the specific monetary difference in the company's operating income between the years 2018 and 2019?", + "output": "What is the company's increase in income from operating activities between 2018 and 2019? " + }, + { + "input": "What is the cash balance and the amount of cash equivalents held by the company as of August 31, 2019?", + "output": "What is the company's cash and cash equivalents as at 31 August 2019?" + }, + { + "input": "What is the change in cash flow from investing activities from 2018 to 2019, specifically referring to any increase or decrease in the amount of cash generated or used in investing activities during this period?", + "output": "What is the increase in cash flow from investing activities between 2018 and 2019?" + }, + { + "input": "What is the total cashflow from investing activities in both 2018 and 2019?", + "output": "What is the combined amount of cash inflows and outflows from investing activities in 2018 and 2019?" + }, + { + "input": "What is the total cashflow from investing activities in both 2018 and 2019?", + "output": "What was the net cash flow from investing activities in 2018 and 2019 combined?" + }, + { + "input": "What is the total effect of exchange rate changes on cash and cash equivalents in both 2018 and 2019?", + "output": "What is the cumulative impact of fluctuations in exchange rates on the combined balances of cash and cash equivalents for the years 2018 and 2019?" + }, + { + "input": "When was the approval by Accenture's Board of Directors granted for the implementation of an open-market share purchase program specifically designed for the acquisition of Accenture's Class A ordinary shares?", + "output": "When did Accenture's Board of Directors authorize and confirm an open-market share purchase program for acquiring Accenture pls Class A ordinary shares?" + }, + { + "input": "How much of the shares purchased in July were part of publicly announced plan or programs?", + "output": "What proportion of the shares acquired in the month of July were specifically disclosed as part of publicly announced plan or programs?" + }, + { + "input": "How much of the shares purchased in July were part of publicly announced plan or programs?", + "output": "What was the proportion of shares acquired in July that were part of publicly disclosed plans or programs?" + }, + { + "input": "What was the primary source of the company's operational revenue in the year 2019?", + "output": "What is the company's main source of operating income in 2019?" + }, + { + "input": "What was the specific amount spent on expenses directly related to the production or provision of goods and services in the year 2019?", + "output": "What was the cost of revenue in 2019?" + }, + { + "input": "What was the precise amount spent on expenses directly related to generating revenue in the year 2019?", + "output": "What was the cost of revenue in 2019?" + }, + { + "input": "What was the total count of shares that were approved and allocated?", + "output": "What was the number of granted shares?" + }, + { + "input": "How many shares were approved and given to individuals or entities as stocks?", + "output": "What was the number of granted shares?" + }, + { + "input": "What is the disparity in the weighted-average grant date fair value between shares that have been allotted and subsequently forfeited?", + "output": "What is the difference in weighted-average grant date fair value between granted and forfeited shares?" + }, + { + "input": "What is the difference in the weighted-average grant date fair value between unvested shares and vested shares in 2018?", + "output": "What is the difference in weighted-average grant date fair value for unvested shares in 2018 and vested shares?" + }, + { + "input": "What is the discrepancy in the weighted-average grant date fair value between unvested shares and vested shares in the year 2018?", + "output": "What is the difference in weighted-average grant date fair value for unvested shares in 2018 and vested shares?" + }, + { + "input": "What was the previously reported amount of total current assets?", + "output": "What was the total current assets as previously reported?" + }, + { + "input": "What is the total value of the deferred commissions, including the current portion, and the total current assets as reported in the previous financial statement?", + "output": "What was the sum of deferred commissions, current portion and total current assets as previously reported?" + }, + { + "input": "What was the total amount reported for deferred commissions, the current portion of deferred commissions, and the overall total for current assets in the previous report?", + "output": "What was the sum of deferred commissions, current portion and total current assets as previously reported?" + }, + { + "input": "What is the revised percentage of accrued expenses in relation to the total sum of liabilities and stockholders' equity?", + "output": "What was accrued expenses as revised as a percentage of total liabilities and stockholders' equity?" + }, + { + "input": "What was the company's bad debt expense for the year ending December 31, 2018?", + "output": "What was the exact amount recorded as bad debt expense by the company for the entire year ending on December 31, 2018?" + }, + { + "input": "What was the company's bad debt expense for the year ending December 31, 2018?", + "output": "What was the amount of bad debts that the company recorded as an expense for the fiscal year that ended on December 31, 2018?" + }, + { + "input": "What was the total amount of interest earned as income in the year 2017?", + "output": "What was interest income in 2017?" + }, + { + "input": "What was the net income of others in 2019?", + "output": "What was others, net in 2019?" + }, + { + "input": "What was the percentage change in Interest expense between 2017 and 2018?", + "output": "What was the percentage increase or decrease in Interest expense from 2017 to 2018?" + }, + { + "input": "What is the average interest income from 2017-2019?", + "output": "What is the average income generated from interest for the years 2017 to 2019 inclusive?" + }, + { + "input": "What percentage increase or decrease in interest income occurred from 2018 to 2019?", + "output": "What was the percentage change in interest income between 2018 and 2019?" + }, + { + "input": "What is the average amount of net cash provided by operating activities for the years 2017, 2018, and 2019?", + "output": "What was the average net cash provided by operating activities from 2017-2019?" + }, + { + "input": "What was the percentage change in the free flow cash margin from 2017 to 2018?", + "output": "What was the change in free flow cash margin between 2017 and 2018?" + }, + { + "input": "What was the total amount of federal net operating losses incurred by the company in the year 2019?", + "output": "What was the company's federal net operating losses in 2019?" + }, + { + "input": "What was the amount of federal net operating losses incurred by the company during the year 2019 for tax purposes?", + "output": "What was the company's federal net operating losses in 2019?" + }, + { + "input": "What was the company's state net operating losses in 2019?", + "output": "What was the total amount of net operating losses incurred by the company in the state during the year 2019?" + }, + { + "input": "What is the percentage change in Deferred revenue between 2018 and 2019?", + "output": "What is the exact percentage difference in Deferred revenue from 2018 to 2019?" + }, + { + "input": "What was the precise amount spent on sales and marketing in the year 2018?", + "output": "What was the sales and marketing expense in 2018?" + }, + { + "input": "What was the specific fair value amount of cash that is being referred to in the context of a certain situation or event?", + "output": "What was the fair value amount of cash?" + }, + { + "input": "What was the specific fair value figure assigned to the amount of cash? Please provide the determined fair value amount for the cash in question.", + "output": "What was the fair value amount of cash?" + }, + { + "input": "What percentage of fair value total cash equivalents consist of agency bonds?", + "output": "What is the proportion of agency bonds, in terms of percentage, in the total cash equivalents that make up the fair value?" + }, + { + "input": "What updates and advancements were made in computer equipment and software from 2018 to 2019?", + "output": "What is the change in computer equipment and software between 2018 and 2019?" + }, + { + "input": "What are the differences in computer equipment and software between the years 2018 and 2019?", + "output": "What is the change in computer equipment and software between 2018 and 2019?" + }, + { + "input": "What was the percentage change in revenue from research and development from 2017 to 2018?", + "output": "What was the change in percentage of revenue of research and development between 2017 and 2018?" + }, + { + "input": "What are the main promises or obligations that the company is committed to?", + "output": "What are the company's principal commitments?" + }, + { + "input": "What are the main commitments of the company?", + "output": "What are the company's principal commitments?" + }, + { + "input": "What is the sum of total operating lease obligations and Long-term debt obligations including interest?", + "output": "What is the combined amount of operating lease obligations and long-term debt obligations, including accrued interest?" + }, + { + "input": "What portion of the total obligations is attributable to payments that are due within a time frame of 1-3 years?", + "output": "What is the percentage of the total obligations that consists of payments due in 1-3 years?" + }, + { + "input": "What is the specific percentage of the overall obligations that are categorized as payments to be made within a period of 1-3 years?", + "output": "What is the percentage of the total obligations that consists of payments due in 1-3 years?" + }, + { + "input": "\"What are the regulations or guidelines regarding the payment of Foreign income tax applicable for the year 2019?\"", + "output": "What is the provision for Foreign income tax in 2019?" + }, + { + "input": "\"What are the regulations or rules implemented in 2019 regarding the taxation of foreign income?\"", + "output": "What is the provision for Foreign income tax in 2019?" + }, + { + "input": "What is the disparity in the weighted-average grant date fair value when comparing shares that have been granted to those that have been forfeited?", + "output": "What is the difference in weighted-average grant date fair value between granted and forfeited shares?" + }, + { + "input": "What is the disparity in weighted-average grant date fair value when comparing shares that have been granted with those that have been forfeited?", + "output": "What is the difference in weighted-average grant date fair value between granted and forfeited shares?" + }, + { + "input": "What is the Net sales for 2019?", + "output": "What was the total global revenue generated from sales in the year 2019?" + }, + { + "input": "What was the percentage change in diluted net income per share from continuing operations from 2017 to 2018?", + "output": "What was the change in Diluted Net income per share from continuing operations in 2018 from 2017?" + }, + { + "input": "What was the percentage increase or decrease in the Diluted Net income per share from continuing operations between 2018 and 2017?", + "output": "What was the percentage change in Diluted Net income per share from continuing operations in 2018 from 2017?" + }, + { + "input": "What does the Euro Term Loan due 2024 consist of?", + "output": "What is included in the Euro Term Loan due in 2024?" + }, + { + "input": "What does the Euro Term Loan due 2024 consist of?", + "output": "\"What are the components and details of the Euro Term Loan due in 2024?\"" + }, + { + "input": "In which year did the value of the 1.0% State of Connecticut term loan, which has a maturity date in 2023, surpass its previous size?", + "output": "In which year was the 1.0% State of Connecticut term loan due 2023 larger?" + }, + { + "input": "In which year did the size of the 1.0% State of Connecticut term loan due in 2023 increase?", + "output": "In which year was the 1.0% State of Connecticut term loan due 2023 larger?" + }, + { + "input": "What was the change in Capital lease obligations from 2018 to 2019?", + "output": "What was the exact difference in the amount of Capital lease obligations between the years 2018 and 2019?" + }, + { + "input": "In which year was ILS a higher percentage of total net sales?", + "output": "In which specific year did the Incremental Lifetime Sales (ILS) constitute a larger proportion of the overall net sales?" + }, + { + "input": "What were the net sales figures for ILS in both 2018 and 2019, and what was the average amount for each year?", + "output": "What was the average amount of net sales for ILS in 2018 and 2019?" + }, + { + "input": "What were the average net sales for ILS for the years 2018 and 2019?", + "output": "What was the average amount of net sales for ILS in 2018 and 2019?" + }, + { + "input": "What is the estimated duration of a building and any associated enhancements before they are deemed no longer useful?", + "output": "What is the useful life of Buildings and improvements?" + }, + { + "input": "How is property and equipment stated in the table?", + "output": "In what manner is property and equipment presented and described within the table?" + }, + { + "input": "In which year was the amount of Land larger?", + "output": "\"When comparing the years, which year had a larger amount of land?\"" + }, + { + "input": "What was the change in Leasehold improvements from 2018 to 2019?", + "output": "What was the difference in Leasehold improvements value between 2018 and 2019?" + }, + { + "input": "What was the percentage change in Short-term investments in 2019 from 2018?", + "output": "What was the percentage difference in the value of Short-term investments between 2019 and 2018?" + }, + { + "input": "What was the percentage change in Short-term investments in 2019 from 2018?", + "output": "What was the exact percentage difference in the value of Short-term investments between 2018 and 2019?" + }, + { + "input": "What was the net income for the year 2019?", + "output": "What was Net income in 2019?" + }, + { + "input": "\"In which specific year did the company report the highest amount of comprehensive income?\"", + "output": "In which year was Comprehensive income largest?" + }, + { + "input": "What is the largest year for Comprehensive income?", + "output": "In which year was Comprehensive income largest?" + }, + { + "input": "What was the difference in the amount of money earned in 2018 compared to 2017 after all expenses and taxes were accounted for?", + "output": "What was the change in Net income in 2018 from 2017?" + }, + { + "input": "What was the Projected Benefit Obligation (PBO) amount for the year 2019? Please provide the numerical value for the PBO as of December 31st, 2019.", + "output": "What was the Projected benefit obligation in 2019?" + }, + { + "input": "In which years was information on defined benefit plans provided?", + "output": "During which specific years was information regarding defined benefit plans provided?" + }, + { + "input": "In which year was the amount of Research and development largest?", + "output": "In which specific year did Research and development reach its highest amount or expenditure?" + }, + { + "input": "What was the specific amount allocated for income taxes in the year 2019?", + "output": "What was the Provision for income taxes in 2019?" + }, + { + "input": "What specific amount was set aside for income taxes in the fiscal year of 2019?", + "output": "What was the Provision for income taxes in 2019?" + }, + { + "input": "What has been the modification in the amount of state income taxes that individuals are required to pay in 2019 compared to 2018?", + "output": "What was the change in state income taxes that is currently payable in 2019 from 2018?" + }, + { + "input": "How much Microelectronics was present in the year 2019?", + "output": "What is the amount of Microelectronics in 2019?" + }, + { + "input": "What is the total volume or quantity of Microelectronics produced or used worldwide in the year 2019?", + "output": "What is the amount of Microelectronics in 2019?" + }, + { + "input": "In which years is net sales calculated?", + "output": "In which specific years does the calculation of net sales occur?" + }, + { + "input": "In which years is net sales calculated?", + "output": "During which specific years is the calculation of net sales undertaken?" + }, + { + "input": "What was the percentage difference in the quantity of OEM components and instrumentation between 2018 and 2019?", + "output": "What was the percentage change in the amount of OEM components and instrumentation in 2019 from 2018?" + }, + { + "input": "What was the Net cash provided by operating activities in 2019?", + "output": "What was the amount of net cash generated from operating activities during the year 2019?" + }, + { + "input": "What was the Purchases of property and equipment in 2018?", + "output": "What was the total value of purchases made for property and equipment in the year 2018?" + }, + { + "input": "In which specific years are the instances or applications of physical currency emphasized or showcased in the table?", + "output": "In which years are the uses of cash highlighted in the table?" + }, + { + "input": "What years are specified in the table to illustrate the purpose of utilizing cash?", + "output": "In which years are the uses of cash highlighted in the table?" + }, + { + "input": "In which year was the Issuance of shares under employee stock plans larger?", + "output": "When comparing the issuance of shares under employee stock plans, in which specific year was the volume of shares issued found to be greater?" + }, + { + "input": "In which year were the Additions charged to expenses the largest?", + "output": "What is the specific year when the largest Additions were charged to expenses?" + }, + { + "input": "In which year were the Additions charged to expenses the largest?", + "output": "What was the year when the largest amount of Additions were charged to expenses?" + }, + { + "input": "In which year did tax fees have a higher value or amount than in other years?", + "output": "In which year were tax fees larger?" + }, + { + "input": "What was the difference in the amount of all other fees charged in 2019 compared to 2018?", + "output": "What was the change in All other fees in 2019 from 2018?" + }, + { + "input": "What was Long-term taxes payable in 2019?", + "output": "What was the amount of Long-term taxes payable in the year 2019?" + }, + { + "input": "In which year was Other long-term liabilities larger?", + "output": "\"In which specific year did Other long-term liabilities exhibit a greater amount compared to the other years?\"" + }, + { + "input": "In 2019, what was the exact amount of deferred compensation liability?", + "output": "What was the Total deferred compensation liability in 2019?" + }, + { + "input": "For which years was the calculation of Total deferred compensation liability performed?", + "output": "In which years was Total deferred compensation liability calculated?" + }, + { + "input": "How was the calculation for diluted earnings per share derived?", + "output": "How was diluted earnings per share computed?" + }, + { + "input": "In which specific years can we find the earnings per share data that was included in the table?", + "output": "In which years was earnings per share provided in the table?" + }, + { + "input": "What year experienced the highest dilutive impact from employee stock awards?", + "output": "In which year was the Dilutive effect of employee stock awards largest?" + }, + { + "input": "In what specific year did employee stock awards have the most significant dilutive effect?", + "output": "In which year was the Dilutive effect of employee stock awards largest?" + }, + { + "input": "What was the change in Dilutive effect of employee stock awards in 2019 from 2018?", + "output": "What was the difference in the dilutive impact caused by employee stock awards between 2019 and 2018?" + }, + { + "input": "What was the change in Dilutive effect of employee stock awards in 2019 from 2018?", + "output": "What was the difference in how much employee stock awards had a dilutive effect in 2019 compared to 2018?" + }, + { + "input": "What was the percentage change in Dilutive effect of employee stock awards in 2019 from 2018?", + "output": "What was the percentage change in the dilutive effect of employee stock awards from 2018 to 2019?" + }, + { + "input": "In which specific year did the Amortization of intangible assets account for a larger proportion of the overall net sales?", + "output": "In which year was Amortization of intangible assets a higher percentage of total net sales?" + }, + { + "input": "What was the change in the amount of Amortization of intangible assets in 2019 from 2018?", + "output": "What was the difference in the amount of Amortization of intangible assets between the fiscal years 2019 and 2018?" + }, + { + "input": "What was the value of Net deferred tax assets in the financial year of 2019?", + "output": "What was the Net deferred tax assets in 2019?" + }, + { + "input": "What was the difference in the initial balance for 2019 compared to 2018?", + "output": "What was the change in Beginning balance in 2019 from 2018?" + }, + { + "input": "What was the difference in the starting balance in 2019 compared to 2018?", + "output": "What was the change in Beginning balance in 2019 from 2018?" + }, + { + "input": "What was the balance in the accounts as of the start of the year in 2018?", + "output": "What was the Balance as of the beginning of the year in 2018?" + }, + { + "input": "\"What was the exact monetary balance in the accounts as of January 1st, 2018, at the start of the year?\"", + "output": "What was the Balance as of the beginning of the year in 2018?" + }, + { + "input": "What was the percentage change in Balance as of the beginning of the year in 2019 from 2018?", + "output": "What is the percentage change in the Balance as of the start of 2019 compared to the Balance at the start of 2018?" + }, + { + "input": "What was the percentage change in Prepaid and refundable income taxes from 2018 to 2019?", + "output": "What was the percentage difference in the amount of income taxes that were prepaid and refundable between the years 2018 and 2019?" + }, + { + "input": "What was the percentage change in Prepaid and refundable income taxes from 2018 to 2019?", + "output": "What was the percentage difference in the amount of prepaid and refundable income taxes between 2018 and 2019?" + }, + { + "input": "What does the Current portion of Euro Term Loan consist of?", + "output": "What is included in the current portion of the Euro Term Loan?" + }, + { + "input": "What was the net change in the amount of outstanding Capital lease obligations between the years 2018 and 2019?", + "output": "What was the change in Capital lease obligations from 2018 to 2019?" + }, + { + "input": "What was the percentage increase or decrease in Capital lease obligations from 2018 to 2019?", + "output": "What was the percentage change in Capital lease obligations from 2018 to 2019?" + }, + { + "input": "What was the percentage increase or decrease in Capital lease obligations between 2018 and 2019?", + "output": "What was the percentage change in Capital lease obligations from 2018 to 2019?" + }, + { + "input": "What are the respective values of the company's work in process inventories on March 31, 2018 and 2019?", + "output": "What were the specific values of the company's work in process inventories as of March 31 in both 2018 and 2019?" + }, + { + "input": "What are the respective values of the company's work in process inventories on March 31, 2018 and 2019?", + "output": "What is the dollar amount of the work in process inventories for the company on March 31 of both 2018 and 2019?" + }, + { + "input": "What was the value of the company's finished goods on March 31, 2018 and March 31, 2019?", + "output": "What are the respective values of the company's finished goods on March 31, 2018 and 2019?" + }, + { + "input": "What is the change in the company's raw materials on March 31, 2018 and 2019?", + "output": "What is the difference in the amount of raw materials held by the company as of March 31, 2018 and March 31, 2019?" + }, + { + "input": "What was the mean value of the company's raw materials on March 31 in both 2018 and 2019?", + "output": "What is the average value of the company's raw materials on March 31, 2018 and 2019?" + }, + { + "input": "What is the average worth of the company's raw materials specifically on March 31st, both in the years 2018 and 2019?", + "output": "What is the average value of the company's raw materials on March 31, 2018 and 2019?" + }, + { + "input": "What is the mean amount of the company's completed products on March 31, in both the years 2018 and 2019?", + "output": "What is the average value of the company's finished goods on March 31, 2018 and 2019?" + }, + { + "input": "What is the average value of the finished goods held by the company on March 31 in both 2018 and 2019?", + "output": "What is the average value of the company's finished goods on March 31, 2018 and 2019?" + }, + { + "input": "What are the company's respective foreign income before taxes in 2018 and 2019?", + "output": "What were the pre-tax foreign incomes of the company in 2018 and 2019?" + }, + { + "input": "What is the company's average loss before income taxes from the United States in 2018 and 2019?", + "output": "\"What was the average pre-tax loss incurred by the company in the United States for the years 2018 and 2019?\"" + }, + { + "input": "What is the company's average loss before income taxes from the United States in 2018 and 2019?", + "output": "What was the average pre-tax income loss for the company in the United States for both 2018 and 2019?" + }, + { + "input": "What is the company's average foreign income before taxes in 2018 and 2019?", + "output": "What was the average amount of foreign income before taxes for the company in both 2018 and 2019?" + }, + { + "input": "What are the average pre-tax earnings of the company for the fiscal years 2018 and 2019?", + "output": "What is the company's average total income before income taxes in 2018 and 2019?" + }, + { + "input": "What are the specific cost of goods sold for the company in both 2018 and 2019?", + "output": "What are the company's respective cost of goods sold in 2018 and 2019?" + }, + { + "input": "What were the cost of goods sold for the company in 2018 and 2019?", + "output": "What are the company's respective cost of goods sold in 2018 and 2019?" + } +] diff --git a/libs/ktem/ktem/reasoning/prompt_optimization/rewrite_question.py b/libs/ktem/ktem/reasoning/prompt_optimization/rewrite_question.py new file mode 100644 index 0000000..3891f54 --- /dev/null +++ b/libs/ktem/ktem/reasoning/prompt_optimization/rewrite_question.py @@ -0,0 +1,37 @@ +from ktem.llms.manager import llms + +from kotaemon.base import BaseComponent, Document, HumanMessage, Node, SystemMessage +from kotaemon.llms import ChatLLM, PromptTemplate + +DEFAULT_REWRITE_PROMPT = ( + "Given the following question, rephrase and expand it " + "to help you do better answering. Maintain all information " + "in the original question. Keep the question as concise as possible. " + "Give answer in {lang}\n" + "Original question: {question}\n" + "Rephrased question: " +) + + +class RewriteQuestionPipeline(BaseComponent): + """Rewrite user question + + Args: + llm: the language model to rewrite question + rewrite_template: the prompt template for llm to paraphrase a text input + lang: the language of the answer. Currently support English and Japanese + """ + + llm: ChatLLM = Node(default_callback=lambda _: llms.get_default()) + rewrite_template: str = DEFAULT_REWRITE_PROMPT + + lang: str = "English" + + def run(self, question: str) -> Document: # type: ignore + prompt_template = PromptTemplate(self.rewrite_template) + prompt = prompt_template.populate(question=question, lang=self.lang) + messages = [ + SystemMessage(content="You are a helpful assistant"), + HumanMessage(content=prompt), + ] + return self.llm(messages) diff --git a/libs/ktem/ktem/reasoning/prompt_optimization/suggest_conversation_name.py b/libs/ktem/ktem/reasoning/prompt_optimization/suggest_conversation_name.py new file mode 100644 index 0000000..c5b2b25 --- /dev/null +++ b/libs/ktem/ktem/reasoning/prompt_optimization/suggest_conversation_name.py @@ -0,0 +1,36 @@ +import logging + +from ktem.llms.manager import llms + +from kotaemon.base import AIMessage, BaseComponent, Document, HumanMessage, Node +from kotaemon.llms import ChatLLM, PromptTemplate + +logger = logging.getLogger(__name__) + + +class SuggestConvNamePipeline(BaseComponent): + """Suggest a good conversation name based on the chat history.""" + + llm: ChatLLM = Node(default_callback=lambda _: llms.get_default()) + SUGGEST_NAME_PROMPT_TEMPLATE = ( + "You are an expert at suggesting good and memorable conversation name. " + "Based on the chat history above, " + "suggest a good conversation name (max 10 words). " + "Give answer in {lang}. Just output the conversation " + "name without any extra." + ) + prompt_template: str = SUGGEST_NAME_PROMPT_TEMPLATE + lang: str = "English" + + def run(self, chat_history: list[tuple[str, str]]) -> Document: # type: ignore + prompt_template = PromptTemplate(self.prompt_template) + prompt = prompt_template.populate(lang=self.lang) + + messages = [] + for human, ai in chat_history: + messages.append(HumanMessage(content=human)) + messages.append(AIMessage(content=ai)) + + messages.append(HumanMessage(content=prompt)) + + return self.llm(messages) diff --git a/libs/ktem/ktem/reasoning/react.py b/libs/ktem/ktem/reasoning/react.py index 9f92023..afdd931 100644 --- a/libs/ktem/ktem/reasoning/react.py +++ b/libs/ktem/ktem/reasoning/react.py @@ -19,7 +19,10 @@ from kotaemon.agents import ( from kotaemon.base import BaseComponent, Document, HumanMessage, Node, SystemMessage from kotaemon.llms import ChatLLM, PromptTemplate +from ..utils import SUPPORTED_LANGUAGE_MAP + logger = logging.getLogger(__name__) +DEFAULT_AGENT_STEPS = 4 class DocSearchArgs(BaseModel): @@ -97,7 +100,7 @@ class DocSearchTool(BaseTool): ) print("Retrieved #{}: {}".format(_id, retrieved_content[:100])) - print("Score", retrieved_item.metadata.get("relevance_score", None)) + print("Score", retrieved_item.metadata.get("cohere_reranking_score", None)) # trim context by trim_len if evidence: @@ -190,7 +193,9 @@ class ReactAgentPipeline(BaseReasoning): "Action: {tool}[{input}]\n\nOutput: {output}" ).format( tool=step.tool if status == "thinking" else "", - input=step.tool_input.replace("\n", "") if status == "thinking" else "", + input=step.tool_input.replace("\n", "").replace('"', "") + if status == "thinking" + else "", output=output if status == "thinking" else "Finished", ) return Document( @@ -261,9 +266,17 @@ class ReactAgentPipeline(BaseReasoning): llm_name = settings[f"{prefix}.llm"] llm = llms.get(llm_name, llms.get_default()) + max_context_length_setting = settings.get("reasoning.max_context_length", None) + pipeline = ReactAgentPipeline(retrievers=retrievers) pipeline.agent.llm = llm pipeline.agent.max_iterations = settings[f"{prefix}.max_iterations"] + + if max_context_length_setting: + pipeline.agent.max_context_length = ( + max_context_length_setting // DEFAULT_AGENT_STEPS + ) + tools = [] for tool_name in settings[f"reasoning.options.{_id}.tools"]: tool = TOOL_REGISTRY[tool_name] @@ -273,7 +286,7 @@ class ReactAgentPipeline(BaseReasoning): tool.llm = llm tools.append(tool) pipeline.agent.plugins = tools - pipeline.agent.output_lang = {"en": "English", "ja": "Japanese"}.get( + pipeline.agent.output_lang = SUPPORTED_LANGUAGE_MAP.get( settings["reasoning.lang"], "English" ) pipeline.use_rewrite = states.get("app", {}).get("regen", False) @@ -298,6 +311,7 @@ class ReactAgentPipeline(BaseReasoning): "value": llm, "component": "dropdown", "choices": llm_choices, + "special_type": "llm", "info": ( "The language model to use for generating the answer. If None, " "the application default language model will be used." @@ -325,5 +339,10 @@ class ReactAgentPipeline(BaseReasoning): return { "id": "ReAct", "name": "ReAct Agent", - "description": "Implementing ReAct paradigm", + "description": ( + "Implementing ReAct paradigm: https://arxiv.org/abs/2210.03629. " + "ReAct agent answers the user's request by iteratively formulating " + "plan and executing it. The agent can use multiple tools to gather " + "information and generate the final answer." + ), } diff --git a/libs/ktem/ktem/reasoning/rewoo.py b/libs/ktem/ktem/reasoning/rewoo.py index 87210f7..e4d461f 100644 --- a/libs/ktem/ktem/reasoning/rewoo.py +++ b/libs/ktem/ktem/reasoning/rewoo.py @@ -20,7 +20,10 @@ from kotaemon.agents import ( from kotaemon.base import BaseComponent, Document, HumanMessage, Node, SystemMessage from kotaemon.llms import ChatLLM, PromptTemplate +from ..utils import SUPPORTED_LANGUAGE_MAP + logger = logging.getLogger(__name__) +DEFAULT_AGENT_STEPS = 4 DEFAULT_PLANNER_PROMPT = ( @@ -135,7 +138,7 @@ class DocSearchTool(BaseTool): ) print("Retrieved #{}: {}".format(_id, retrieved_content)) - print("Score", retrieved_item.metadata.get("relevance_score", None)) + print("Score", retrieved_item.metadata.get("cohere_reranking_score", None)) # trim context by trim_len if evidence: @@ -215,7 +218,7 @@ class RewooAgentPipeline(BaseReasoning): use_rewrite: bool = False enable_citation: bool = False - def format_info_panel(self, worker_log): + def format_info_panel_evidence(self, worker_log): header = "" content = [] @@ -223,6 +226,10 @@ class RewooAgentPipeline(BaseReasoning): if line.startswith("#Plan"): # line starts with #Plan should be marked as a new segment header = line + elif line.startswith("#Action"): + # small fix for markdown output + line = "\\" + line + "
" + content.append(line) elif line.startswith("#"): # stop markdown from rendering big headers line = "\\" + line @@ -238,6 +245,17 @@ class RewooAgentPipeline(BaseReasoning): content=Render.collapsible( header=header, content=Render.table("\n".join(content)), + open=False, + ), + ) + + def format_info_panel_planner(self, planner_output): + planner_output = planner_output.replace("\n", "
") + return Document( + channel="info", + content=Render.collapsible( + header="Planner Output", + content=planner_output, open=True, ), ) @@ -285,12 +303,19 @@ class RewooAgentPipeline(BaseReasoning): # line starts with #Plan should be marked as a new segment new_segment = [line] segments.append(new_segment) + elif line.startswith("#Action"): + # small fix for markdown output + line = "\\" + line + "
" + segments[-1].append(line) elif line.startswith("#"): # stop markdown from rendering big headers line = "\\" + line segments[-1].append(line) else: - segments[-1].append(line) + if segments: + segments[-1].append(line) + else: + segments.append([line]) outputs = [] for segment in segments: @@ -337,18 +362,23 @@ class RewooAgentPipeline(BaseReasoning): for item in output_stream: if item.intermediate_steps: for step in item.intermediate_steps: - yield Document( - channel="info", - content=self.format_info_panel(step["worker_log"]), - ) + if "planner_log" in step: + yield Document( + channel="info", + content=self.format_info_panel_planner(step["planner_log"]), + ) + else: + yield Document( + channel="info", + content=self.format_info_panel_evidence(step["worker_log"]), + ) if item.text: + # final answer yield Document(channel="chat", content=item.text) answer = output_stream.value yield Document(channel="info", content=None) - refined_citations = self.prepare_citation(answer) - for _ in refined_citations: - yield _ + yield from self.prepare_citation(answer) return answer @@ -360,6 +390,8 @@ class RewooAgentPipeline(BaseReasoning): prefix = f"reasoning.options.{_id}" pipeline = RewooAgentPipeline(retrievers=retrievers) + max_context_length_setting = settings.get("reasoning.max_context_length", None) + planner_llm_name = settings[f"{prefix}.planner_llm"] planner_llm = llms.get(planner_llm_name, llms.get_default()) solver_llm_name = settings[f"{prefix}.solver_llm"] @@ -367,6 +399,10 @@ class RewooAgentPipeline(BaseReasoning): pipeline.agent.planner_llm = planner_llm pipeline.agent.solver_llm = solver_llm + if max_context_length_setting: + pipeline.agent.max_context_length = ( + max_context_length_setting // DEFAULT_AGENT_STEPS + ) tools = [] for tool_name in settings[f"{prefix}.tools"]: @@ -377,7 +413,7 @@ class RewooAgentPipeline(BaseReasoning): tool.llm = solver_llm tools.append(tool) pipeline.agent.plugins = tools - pipeline.agent.output_lang = {"en": "English", "ja": "Japanese"}.get( + pipeline.agent.output_lang = SUPPORTED_LANGUAGE_MAP.get( settings["reasoning.lang"], "English" ) pipeline.agent.prompt_template["Planner"] = PromptTemplate( @@ -413,6 +449,7 @@ class RewooAgentPipeline(BaseReasoning): "value": llm, "component": "dropdown", "choices": llm_choices, + "special_type": "llm", "info": ( "The language model to use for planning. " "This model will generate a plan based on the " @@ -424,6 +461,7 @@ class RewooAgentPipeline(BaseReasoning): "value": llm, "component": "dropdown", "choices": llm_choices, + "special_type": "llm", "info": ( "The language model to use for solving. " "This model will generate the answer based on the " @@ -457,6 +495,10 @@ class RewooAgentPipeline(BaseReasoning): "id": "ReWOO", "name": "ReWOO Agent", "description": ( - "Implementing ReWOO paradigm " "https://arxiv.org/pdf/2305.18323.pdf" + "Implementing ReWOO paradigm: https://arxiv.org/abs/2305.18323. " + "The ReWOO agent makes a step by step plan in the first stage, " + "then solves each step in the second stage. The agent can use " + "external tools to help in the reasoning process. Once all stages " + "are completed, the agent will summarize the answer." ), } diff --git a/libs/ktem/ktem/reasoning/simple.py b/libs/ktem/ktem/reasoning/simple.py index 5118b8f..8244690 100644 --- a/libs/ktem/ktem/reasoning/simple.py +++ b/libs/ktem/ktem/reasoning/simple.py @@ -1,14 +1,20 @@ -import asyncio import html import logging -import re +import threading from collections import defaultdict +from difflib import SequenceMatcher from functools import partial from typing import Generator +import numpy as np import tiktoken from ktem.llms.manager import llms +from ktem.reasoning.prompt_optimization import ( + DecomposeQuestionPipeline, + RewriteQuestionPipeline, +) from ktem.utils.render import Render +from theflow.settings import settings as flowsettings from kotaemon.base import ( AIMessage, @@ -22,8 +28,8 @@ from kotaemon.base import ( from kotaemon.indices.qa.citation import CitationPipeline from kotaemon.indices.splitters import TokenSplitter from kotaemon.llms import ChatLLM, PromptTemplate -from kotaemon.loaders.utils.gpt4v import generate_gpt4v, stream_gpt4v +from ..utils import SUPPORTED_LANGUAGE_MAP from .base import BaseReasoning logger = logging.getLogger(__name__) @@ -32,6 +38,22 @@ EVIDENCE_MODE_TEXT = 0 EVIDENCE_MODE_TABLE = 1 EVIDENCE_MODE_CHATBOT = 2 EVIDENCE_MODE_FIGURE = 3 +MAX_IMAGES = 10 + + +def find_text(search_span, context): + sentence_list = search_span.split("\n") + matches = [] + # don't search for small text + if len(search_span) > 5: + for sentence in sentence_list: + match = SequenceMatcher( + None, sentence, context, autojunk=False + ).find_longest_match() + if match.size > len(sentence) * 0.35: + matches.append((match.b, match.b + match.size)) + + return matches class PrepareEvidencePipeline(BaseComponent): @@ -44,21 +66,29 @@ class PrepareEvidencePipeline(BaseComponent): chunk of text into smaller ones. The first one will be retained. """ - trim_func: TokenSplitter = TokenSplitter.withx( - chunk_size=3000, - chunk_overlap=0, - separator=" ", - tokenizer=partial( - tiktoken.encoding_for_model("gpt-3.5-turbo").encode, - allowed_special=set(), - disallowed_special="all", - ), - ) + max_context_length: int = 32000 + trim_func: TokenSplitter | None = None def run(self, docs: list[RetrievedDocument]) -> Document: evidence = "" + images = [] table_found = 0 - evidence_mode = EVIDENCE_MODE_TEXT + evidence_modes = [] + + evidence_trim_func = ( + self.trim_func + if self.trim_func + else TokenSplitter( + chunk_size=self.max_context_length, + chunk_overlap=0, + separator=" ", + tokenizer=partial( + tiktoken.encoding_for_model("gpt-3.5-turbo").encode, + allowed_special=set(), + disallowed_special="all", + ), + ) + ) for _id, retrieved_item in enumerate(docs): retrieved_content = "" @@ -67,9 +97,11 @@ class PrepareEvidencePipeline(BaseComponent): if page: source += f" (Page {page})" if retrieved_item.metadata.get("type", "") == "table": - evidence_mode = EVIDENCE_MODE_TABLE + evidence_modes.append(EVIDENCE_MODE_TABLE) if table_found < 5: - retrieved_content = retrieved_item.metadata.get("table_origin", "") + retrieved_content = retrieved_item.metadata.get( + "table_origin", retrieved_item.text + ) if retrieved_content not in evidence: table_found += 1 evidence += ( @@ -78,7 +110,7 @@ class PrepareEvidencePipeline(BaseComponent): + "\n
" ) elif retrieved_item.metadata.get("type", "") == "chatbot": - evidence_mode = EVIDENCE_MODE_CHATBOT + evidence_modes.append(EVIDENCE_MODE_CHATBOT) retrieved_content = retrieved_item.metadata["window"] evidence += ( f"
Chatbot scenario from {filename} (Row {page})\n" @@ -86,15 +118,16 @@ class PrepareEvidencePipeline(BaseComponent): + "\n
" ) elif retrieved_item.metadata.get("type", "") == "image": - evidence_mode = EVIDENCE_MODE_FIGURE + evidence_modes.append(EVIDENCE_MODE_FIGURE) retrieved_content = retrieved_item.metadata.get("image_origin", "") retrieved_caption = html.escape(retrieved_item.get_content()) evidence += ( f"
Figure from {source}\n" - + f"" + "\n
" ) + images.append(retrieved_content) else: if "window" in retrieved_item.metadata: retrieved_content = retrieved_item.metadata["window"] @@ -108,27 +141,27 @@ class PrepareEvidencePipeline(BaseComponent): + " \n
" ) - print("Retrieved #{}: {}".format(_id, retrieved_content)) - print(retrieved_item.metadata) - print("Score", retrieved_item.metadata.get("relevance_score", None)) + # resolve evidence mode + evidence_mode = EVIDENCE_MODE_TEXT + if EVIDENCE_MODE_FIGURE in evidence_modes: + evidence_mode = EVIDENCE_MODE_FIGURE + elif EVIDENCE_MODE_TABLE in evidence_modes: + evidence_mode = EVIDENCE_MODE_TABLE - if evidence_mode != EVIDENCE_MODE_FIGURE: - # trim context by trim_len - print("len (original)", len(evidence)) - if evidence: - texts = self.trim_func([Document(text=evidence)]) - evidence = texts[0].text - print("len (trimmed)", len(evidence)) + # trim context by trim_len + print("len (original)", len(evidence)) + if evidence: + texts = evidence_trim_func([Document(text=evidence)]) + evidence = texts[0].text + print("len (trimmed)", len(evidence)) - print(f"PrepareEvidence with input {docs}\nOutput: {evidence}\n") - - return Document(content=(evidence_mode, evidence)) + return Document(content=(evidence_mode, evidence, images)) DEFAULT_QA_TEXT_PROMPT = ( - "Use the following pieces of context to answer the question at the end. " + "Use the following pieces of context to answer the question at the end in detail with clear explanation. " # noqa: E501 "If you don't know the answer, just say that you don't know, don't try to " - "make up an answer. Keep the answer as concise as possible. Give answer in " + "make up an answer. Give answer in " "{lang}.\n\n" "{context}\n" "Question: {question}\n" @@ -136,15 +169,15 @@ DEFAULT_QA_TEXT_PROMPT = ( ) DEFAULT_QA_TABLE_PROMPT = ( - "List all rows (row number) from the table context that related to the question, " - "then provide detail answer with clear explanation and citations. " + "Use the given context: texts, tables, and figures below to answer the question, " + "then provide answer with clear explanation." "If you don't know the answer, just say that you don't know, " "don't try to make up an answer. Give answer in {lang}.\n\n" "Context:\n" "{context}\n" "Question: {question}\n" "Helpful Answer:" -) +) # noqa DEFAULT_QA_CHATBOT_PROMPT = ( "Pick the most suitable chatbot scenarios to answer the question at the end, " @@ -155,7 +188,7 @@ DEFAULT_QA_CHATBOT_PROMPT = ( "{context}\n" "Question: {question}\n" "Answer:" -) +) # noqa DEFAULT_QA_FIGURE_PROMPT = ( "Use the given context: texts, tables, and figures below to answer the question. " @@ -165,7 +198,7 @@ DEFAULT_QA_FIGURE_PROMPT = ( "{context}\n" "Question: {question}\n" "Answer: " -) +) # noqa DEFAULT_REWRITE_PROMPT = ( "Given the following question, rephrase and expand it " @@ -174,7 +207,9 @@ DEFAULT_REWRITE_PROMPT = ( "Give answer in {lang}\n" "Original question: {question}\n" "Rephrased question: " -) +) # noqa + +CONTEXT_RELEVANT_WARNING_SCORE = 0.7 class AnswerWithContextPipeline(BaseComponent): @@ -193,7 +228,8 @@ class AnswerWithContextPipeline(BaseComponent): """ llm: ChatLLM = Node(default_callback=lambda _: llms.get_default()) - vlm_endpoint: str = "" + vlm_endpoint: str = getattr(flowsettings, "KH_VLM_ENDPOINT", "") + use_multimodal: bool = getattr(flowsettings, "KH_REASONINGS_USE_MULTIMODAL", True) citation_pipeline: CitationPipeline = Node( default_callback=lambda _: CitationPipeline(llm=llms.get_default()) ) @@ -210,33 +246,25 @@ class AnswerWithContextPipeline(BaseComponent): def get_prompt(self, question, evidence, evidence_mode: int): """Prepare the prompt and other information for LLM""" - images = [] - if evidence_mode == EVIDENCE_MODE_TEXT: prompt_template = PromptTemplate(self.qa_template) elif evidence_mode == EVIDENCE_MODE_TABLE: prompt_template = PromptTemplate(self.qa_table_template) elif evidence_mode == EVIDENCE_MODE_FIGURE: - prompt_template = PromptTemplate(self.qa_figure_template) + if self.use_multimodal: + prompt_template = PromptTemplate(self.qa_figure_template) + else: + prompt_template = PromptTemplate(self.qa_template) else: prompt_template = PromptTemplate(self.qa_chatbot_template) - if evidence_mode == EVIDENCE_MODE_FIGURE: - # isolate image from evidence - evidence, images = self.extract_evidence_images(evidence) - prompt = prompt_template.populate( - context=evidence, - question=question, - lang=self.lang, - ) - else: - prompt = prompt_template.populate( - context=evidence, - question=question, - lang=self.lang, - ) + prompt = prompt_template.populate( + context=evidence, + question=question, + lang=self.lang, + ) - return prompt, images + return prompt, evidence def run( self, question: str, evidence: str, evidence_mode: int = 0, **kwargs @@ -244,37 +272,22 @@ class AnswerWithContextPipeline(BaseComponent): return self.invoke(question, evidence, evidence_mode, **kwargs) def invoke( - self, question: str, evidence: str, evidence_mode: int = 0, **kwargs + self, + question: str, + evidence: str, + evidence_mode: int = 0, + images: list[str] = [], + **kwargs, ) -> Document: - history = kwargs.get("history", []) - prompt, images = self.get_prompt(question, evidence, evidence_mode) - - output = "" - if evidence_mode == EVIDENCE_MODE_FIGURE: - output = generate_gpt4v(self.vlm_endpoint, images, prompt, max_tokens=768) - else: - messages = [] - if self.system_prompt: - messages.append(SystemMessage(content=self.system_prompt)) - for human, ai in history[-self.n_last_interactions :]: - messages.append(HumanMessage(content=human)) - messages.append(AIMessage(content=ai)) - messages.append(HumanMessage(content=prompt)) - output = self.llm(messages).text - - # retrieve the citation - citation = None - if evidence and self.enable_citation: - citation = self.citation_pipeline.invoke( - context=evidence, question=question - ) - - answer = Document(text=output, metadata={"citation": citation}) - - return answer + raise NotImplementedError async def ainvoke( # type: ignore - self, question: str, evidence: str, evidence_mode: int = 0, **kwargs + self, + question: str, + evidence: str, + evidence_mode: int = 0, + images: list[str] = [], + **kwargs, ) -> Document: """Answer the question based on the evidence @@ -298,127 +311,94 @@ class AnswerWithContextPipeline(BaseComponent): (determined by retrieval pipeline) evidence_mode: the mode of evidence, 0 for text, 1 for table, 2 for chatbot """ - history = kwargs.get("history", []) - prompt, images = self.get_prompt(question, evidence, evidence_mode) - - citation_task = None - if evidence and self.enable_citation: - citation_task = asyncio.create_task( - self.citation_pipeline.ainvoke(context=evidence, question=question) - ) - print("Citation task created") - - output = "" - if evidence_mode == EVIDENCE_MODE_FIGURE: - for text in stream_gpt4v(self.vlm_endpoint, images, prompt, max_tokens=768): - output += text - self.report_output(Document(channel="chat", content=text)) - await asyncio.sleep(0) - else: - messages = [] - if self.system_prompt: - messages.append(SystemMessage(content=self.system_prompt)) - for human, ai in history[-self.n_last_interactions :]: - messages.append(HumanMessage(content=human)) - messages.append(AIMessage(content=ai)) - messages.append(HumanMessage(content=prompt)) - - try: - # try streaming first - print("Trying LLM streaming") - for text in self.llm.stream(messages): - output += text.text - self.report_output(Document(content=text.text, channel="chat")) - await asyncio.sleep(0) - except NotImplementedError: - print("Streaming is not supported, falling back to normal processing") - output = self.llm(messages).text - self.report_output(Document(content=output, channel="chat")) - - # retrieve the citation - print("Waiting for citation task") - if citation_task is not None: - citation = await citation_task - else: - citation = None - - answer = Document(text=output, metadata={"citation": citation}) - - return answer + raise NotImplementedError def stream( # type: ignore - self, question: str, evidence: str, evidence_mode: int = 0, **kwargs + self, + question: str, + evidence: str, + evidence_mode: int = 0, + images: list[str] = [], + **kwargs, ) -> Generator[Document, None, Document]: history = kwargs.get("history", []) - prompt, images = self.get_prompt(question, evidence, evidence_mode) - - output = "" - if evidence_mode == EVIDENCE_MODE_FIGURE: - for text in stream_gpt4v(self.vlm_endpoint, images, prompt, max_tokens=768): - output += text - yield Document(channel="chat", content=text) + print(f"Got {len(images)} images") + # check if evidence exists, use QA prompt + if evidence: + prompt, evidence = self.get_prompt(question, evidence, evidence_mode) else: - messages = [] - if self.system_prompt: - messages.append(SystemMessage(content=self.system_prompt)) - for human, ai in history[-self.n_last_interactions :]: - messages.append(HumanMessage(content=human)) - messages.append(AIMessage(content=ai)) - messages.append(HumanMessage(content=prompt)) - - try: - # try streaming first - print("Trying LLM streaming") - for text in self.llm.stream(messages): - output += text.text - yield Document(channel="chat", content=text.text) - except NotImplementedError: - print("Streaming is not supported, falling back to normal processing") - output = self.llm(messages).text - yield Document(channel="chat", content=output) + prompt = question # retrieve the citation citation = None - if evidence and self.enable_citation: - citation = self.citation_pipeline.invoke( - context=evidence, question=question - ) - answer = Document(text=output, metadata={"citation": citation}) + def citation_call(): + nonlocal citation + citation = self.citation_pipeline(context=evidence, question=question) + + if evidence and self.enable_citation: + # execute function call in thread + citation_thread = threading.Thread(target=citation_call) + citation_thread.start() + else: + citation_thread = None + + output = "" + logprobs = [] + + messages = [] + if self.system_prompt: + messages.append(SystemMessage(content=self.system_prompt)) + for human, ai in history[-self.n_last_interactions :]: + messages.append(HumanMessage(content=human)) + messages.append(AIMessage(content=ai)) + + if self.use_multimodal and evidence_mode == EVIDENCE_MODE_FIGURE: + # create image message: + messages.append( + HumanMessage( + content=[ + {"type": "text", "text": prompt}, + ] + + [ + { + "type": "image_url", + "image_url": {"url": image}, + } + for image in images[:MAX_IMAGES] + ], + ) + ) + else: + # append main prompt + messages.append(HumanMessage(content=prompt)) + + try: + # try streaming first + print("Trying LLM streaming") + for out_msg in self.llm.stream(messages): + output += out_msg.text + logprobs += out_msg.logprobs + yield Document(channel="chat", content=out_msg.text) + except NotImplementedError: + print("Streaming is not supported, falling back to normal processing") + output = self.llm(messages).text + yield Document(channel="chat", content=output) + + if logprobs: + qa_score = np.exp(np.average(logprobs)) + else: + qa_score = None + + if citation_thread: + citation_thread.join() + answer = Document( + text=output, + metadata={"citation": citation, "qa_score": qa_score}, + ) return answer - def extract_evidence_images(self, evidence: str): - """Util function to extract and isolate images from context/evidence""" - image_pattern = r"src='(data:image\/[^;]+;base64[^']+)'" - matches = re.findall(image_pattern, evidence) - context = re.sub(image_pattern, "", evidence) - return context, matches - - -class RewriteQuestionPipeline(BaseComponent): - """Rewrite user question - - Args: - llm: the language model to rewrite question - rewrite_template: the prompt template for llm to paraphrase a text input - lang: the language of the answer. Currently support English and Japanese - """ - - llm: ChatLLM = Node(default_callback=lambda _: llms.get_default()) - rewrite_template: str = DEFAULT_REWRITE_PROMPT - - lang: str = "English" - - def run(self, question: str) -> Document: # type: ignore - prompt_template = PromptTemplate(self.rewrite_template) - prompt = prompt_template.populate(question=question, lang=self.lang) - messages = [ - SystemMessage(content="You are a helpful assistant"), - HumanMessage(content=prompt), - ] - return self.llm(messages) - class AddQueryContextPipeline(BaseComponent): @@ -470,50 +450,72 @@ class FullQAPipeline(BaseReasoning): class Config: allow_extra = True + # configuration parameters + trigger_context: int = 150 + use_rewrite: bool = False + retrievers: list[BaseComponent] evidence_pipeline: PrepareEvidencePipeline = PrepareEvidencePipeline.withx() answering_pipeline: AnswerWithContextPipeline = AnswerWithContextPipeline.withx() - rewrite_pipeline: RewriteQuestionPipeline = RewriteQuestionPipeline.withx() + rewrite_pipeline: RewriteQuestionPipeline | None = None add_query_context: AddQueryContextPipeline = AddQueryContextPipeline.withx() - trigger_context: int = 150 - use_rewrite: bool = False def retrieve( self, message: str, history: list ) -> tuple[list[RetrievedDocument], list[Document]]: """Retrieve the documents based on the message""" - if len(message) < self.trigger_context: - # prefer adding context for short user questions, avoid adding context for - # long questions, as they are likely to contain enough information - # plus, avoid the situation where the original message is already too long - # for the model to handle - query = self.add_query_context(message, history).content - else: - query = message - print(f"Rewritten query: {query}") + # if len(message) < self.trigger_context: + # # prefer adding context for short user questions, avoid adding context for + # # long questions, as they are likely to contain enough information + # # plus, avoid the situation where the original message is already too long + # # for the model to handle + # query = self.add_query_context(message, history).content + # else: + # query = message + # print(f"Rewritten query: {query}") + query = None if not query: - return [], [] + # TODO: previously return [], [] because we think this message as something + # like "Hello", "I need help"... + query = message docs, doc_ids = [], [] - for retriever in self.retrievers: - for doc in retriever(text=query): + plot_docs = [] + + for idx, retriever in enumerate(self.retrievers): + retriever_node = self._prepare_child(retriever, f"retriever_{idx}") + retriever_docs = retriever_node(text=query) + + retriever_docs_text = [] + retriever_docs_plot = [] + + for doc in retriever_docs: + if doc.metadata.get("type", "") == "plot": + retriever_docs_plot.append(doc) + else: + retriever_docs_text.append(doc) + + for doc in retriever_docs_text: if doc.doc_id not in doc_ids: docs.append(doc) doc_ids.append(doc.doc_id) - info = [] - for doc in docs: - info.append( - Document( - channel="info", - content=Render.collapsible( - header=doc.metadata["file_name"], - content=Render.table(doc.text), - open=True, - ), - ) + plot_docs.extend(retriever_docs_plot) + + info = [ + Document( + channel="info", + content=Render.collapsible_with_header(doc, open_collapsible=True), ) + for doc in docs + ] + [ + Document( + channel="plot", + content=doc.metadata.get("data", ""), + ) + for doc in plot_docs + ] return docs, info @@ -521,153 +523,172 @@ class FullQAPipeline(BaseReasoning): """Prepare the citations to show on the UI""" with_citation, without_citation = [], [] spans = defaultdict(list) + has_llm_score = any("llm_trulens_score" in doc.metadata for doc in docs) - if answer.metadata["citation"] is not None: + if answer.metadata["citation"] and answer.metadata["citation"].answer: for fact_with_evidence in answer.metadata["citation"].answer: for quote in fact_with_evidence.substring_quote: + matched_excerpts = [] for doc in docs: - start_idx = doc.text.find(quote) - if start_idx == -1: - continue + matches = find_text(quote, doc.text) - end_idx = start_idx + len(quote) - - current_idx = start_idx - if "|" not in doc.text[start_idx:end_idx]: - spans[doc.doc_id].append( - {"start": start_idx, "end": end_idx} - ) - else: - while doc.text[current_idx:end_idx].find("|") != -1: - match_idx = doc.text[current_idx:end_idx].find("|") + for start, end in matches: + if "|" not in doc.text[start:end]: spans[doc.doc_id].append( { - "start": current_idx, - "end": current_idx + match_idx, + "start": start, + "end": end, } ) - current_idx += match_idx + 2 - if current_idx > end_idx: - break - break + matched_excerpts.append(doc.text[start:end]) + + print("Matched citation:", quote, matched_excerpts), id2docs = {doc.doc_id: doc for doc in docs} not_detected = set(id2docs.keys()) - set(spans.keys()) - for id, ss in spans.items(): + + # render highlight spans + for _id, ss in spans.items(): if not ss: - not_detected.add(id) + not_detected.add(_id) continue + cur_doc = id2docs[_id] + highlight_text = "" + ss = sorted(ss, key=lambda x: x["start"]) - text = id2docs[id].text[: ss[0]["start"]] + text = cur_doc.text[: ss[0]["start"]] for idx, span in enumerate(ss): - text += Render.highlight(id2docs[id].text[span["start"] : span["end"]]) + to_highlight = cur_doc.text[span["start"] : span["end"]] + if len(to_highlight) > len(highlight_text): + highlight_text = to_highlight + text += Render.highlight(to_highlight) if idx < len(ss) - 1: - text += id2docs[id].text[span["end"] : ss[idx + 1]["start"]] - text += id2docs[id].text[ss[-1]["end"] :] + text += cur_doc.text[span["end"] : ss[idx + 1]["start"]] + text += cur_doc.text[ss[-1]["end"] :] + # add to display list with_citation.append( Document( channel="info", - content=Render.collapsible( - header=id2docs[id].metadata["file_name"], - content=Render.table(text), - open=True, + content=Render.collapsible_with_header_score( + cur_doc, + override_text=text, + highlight_text=highlight_text, + open_collapsible=True, ), ) ) - without_citation = [ - Document( - channel="info", - content=Render.collapsible( - header=id2docs[id].metadata["file_name"], - content=Render.table(id2docs[id].text), - open=False, - ), - ) - for id in list(not_detected) - ] + print("Got {} cited docs".format(len(with_citation))) + sorted_not_detected_items_with_scores = [ + (id_, id2docs[id_].metadata.get("llm_trulens_score", 0.0)) + for id_ in not_detected + ] + sorted_not_detected_items_with_scores.sort(key=lambda x: x[1], reverse=True) + + for id_, _ in sorted_not_detected_items_with_scores: + doc = id2docs[id_] + doc_score = doc.metadata.get("llm_trulens_score", 0.0) + is_open = not has_llm_score or ( + doc_score > CONTEXT_RELEVANT_WARNING_SCORE and len(with_citation) == 0 + ) + without_citation.append( + Document( + channel="info", + content=Render.collapsible_with_header_score( + doc, open_collapsible=is_open + ), + ) + ) return with_citation, without_citation + def show_citations(self, answer, docs): + # show the evidence + with_citation, without_citation = self.prepare_citations(answer, docs) + if not with_citation and not without_citation: + yield Document(channel="info", content="
No evidence found.
") + else: + # clear the Info panel + max_llm_rerank_score = max( + doc.metadata.get("llm_trulens_score", 0.0) for doc in docs + ) + has_llm_score = any("llm_trulens_score" in doc.metadata for doc in docs) + # clear previous info + yield Document(channel="info", content=None) + + # yield warning message + if has_llm_score and max_llm_rerank_score < CONTEXT_RELEVANT_WARNING_SCORE: + yield Document( + channel="info", + content=( + "
WARNING! Context relevance score is low. " + "Double check the model answer for correctness.
" + ), + ) + + # show QA score + qa_score = ( + round(answer.metadata["qa_score"], 2) + if answer.metadata.get("qa_score") + else None + ) + if qa_score: + yield Document( + channel="info", + content=f"
Answer confidence: {qa_score}
", + ) + + yield from with_citation + if without_citation: + yield from without_citation + async def ainvoke( # type: ignore self, message: str, conv_id: str, history: list, **kwargs # type: ignore ) -> Document: # type: ignore - if self.use_rewrite: - rewrite = await self.rewrite_pipeline(question=message) - message = rewrite.text - - docs, infos = self.retrieve(message, history) - for _ in infos: - self.report_output(_) - await asyncio.sleep(0.1) - - evidence_mode, evidence = self.evidence_pipeline(docs).content - answer = await self.answering_pipeline( - question=message, - history=history, - evidence=evidence, - evidence_mode=evidence_mode, - conv_id=conv_id, - **kwargs, - ) - - # show the evidence - with_citation, without_citation = self.prepare_citations(answer, docs) - if not with_citation and not without_citation: - self.report_output(Document(channel="info", content="No evidence found.\n")) - else: - self.report_output(Document(channel="info", content=None)) - for _ in with_citation: - self.report_output(_) - if without_citation: - self.report_output( - Document( - channel="info", - content="Retrieved segments without matching evidence:\n", - ) - ) - for _ in without_citation: - self.report_output(_) - - self.report_output(None) - return answer + raise NotImplementedError def stream( # type: ignore self, message: str, conv_id: str, history: list, **kwargs # type: ignore ) -> Generator[Document, None, Document]: - if self.use_rewrite: + if self.use_rewrite and self.rewrite_pipeline: + print("Chosen rewrite pipeline", self.rewrite_pipeline) message = self.rewrite_pipeline(question=message).text + print("Rewrite result", message) + print(f"Retrievers {self.retrievers}") # should populate the context docs, infos = self.retrieve(message, history) - for _ in infos: - yield _ + print(f"Got {len(docs)} retrieved documents") + yield from infos + + evidence_mode, evidence, images = self.evidence_pipeline(docs).content + + def generate_relevant_scores(): + nonlocal docs + docs = self.retrievers[0].generate_relevant_scores(message, docs) + + # generate relevant score using + if evidence and self.retrievers: + scoring_thread = threading.Thread(target=generate_relevant_scores) + scoring_thread.start() + else: + scoring_thread = None - evidence_mode, evidence = self.evidence_pipeline(docs).content answer = yield from self.answering_pipeline.stream( question=message, history=history, evidence=evidence, evidence_mode=evidence_mode, + images=images, conv_id=conv_id, **kwargs, ) # show the evidence - with_citation, without_citation = self.prepare_citations(answer, docs) - if not with_citation and not without_citation: - yield Document(channel="info", content="No evidence found.\n") - else: - yield Document(channel="info", content=None) - for _ in with_citation: - yield _ - if without_citation: - yield Document( - channel="info", - content="Retrieved segments without matching evidence:\n", - ) - for _ in without_citation: - yield _ + if scoring_thread: + scoring_thread.join() + + yield from self.show_citations(answer, docs) return answer @@ -679,12 +700,21 @@ class FullQAPipeline(BaseReasoning): settings: the settings for the pipeline retrievers: the retrievers to use """ - prefix = f"reasoning.options.{cls.get_info()['id']}" - pipeline = cls(retrievers=retrievers) + max_context_length_setting = settings.get("reasoning.max_context_length", 32000) + pipeline = cls( + retrievers=retrievers, + rewrite_pipeline=RewriteQuestionPipeline(), + ) + + prefix = f"reasoning.options.{cls.get_info()['id']}" llm_name = settings.get(f"{prefix}.llm", None) llm = llms.get(llm_name, llms.get_default()) + # prepare evidence pipeline configuration + evidence_pipeline = pipeline.evidence_pipeline + evidence_pipeline.max_context_length = max_context_length_setting + # answering pipeline configuration answer_pipeline = pipeline.answering_pipeline answer_pipeline.llm = llm @@ -693,7 +723,7 @@ class FullQAPipeline(BaseReasoning): answer_pipeline.enable_citation = settings[f"{prefix}.highlight_citation"] answer_pipeline.system_prompt = settings[f"{prefix}.system_prompt"] answer_pipeline.qa_template = settings[f"{prefix}.qa_prompt"] - answer_pipeline.lang = {"en": "English", "ja": "Japanese"}.get( + answer_pipeline.lang = SUPPORTED_LANGUAGE_MAP.get( settings["reasoning.lang"], "English" ) @@ -704,10 +734,11 @@ class FullQAPipeline(BaseReasoning): pipeline.trigger_context = settings[f"{prefix}.trigger_context"] pipeline.use_rewrite = states.get("app", {}).get("regen", False) - pipeline.rewrite_pipeline.llm = llm - pipeline.rewrite_pipeline.lang = {"en": "English", "ja": "Japanese"}.get( - settings["reasoning.lang"], "English" - ) + if pipeline.rewrite_pipeline: + pipeline.rewrite_pipeline.llm = llm + pipeline.rewrite_pipeline.lang = SUPPORTED_LANGUAGE_MAP.get( + settings["reasoning.lang"], "English" + ) return pipeline @classmethod @@ -727,6 +758,7 @@ class FullQAPipeline(BaseReasoning): "value": llm, "component": "dropdown", "choices": choices, + "special_type": "llm", "info": ( "The language model to use for generating the answer. If None, " "the application default language model will be used." @@ -734,7 +766,7 @@ class FullQAPipeline(BaseReasoning): }, "highlight_citation": { "name": "Highlight Citation", - "value": False, + "value": True, "component": "checkbox", }, "system_prompt": { @@ -767,5 +799,163 @@ class FullQAPipeline(BaseReasoning): return { "id": "simple", "name": "Simple QA", - "description": "Simple QA pipeline", + "description": ( + "Simple RAG-based question answering pipeline. This pipeline can " + "perform both keyword search and similarity search to retrieve the " + "context. After that it includes that context to generate the answer." + ), + } + + +class FullDecomposeQAPipeline(FullQAPipeline): + def answer_sub_questions( + self, messages: list, conv_id: str, history: list, **kwargs + ): + output_str = "" + for idx, message in enumerate(messages): + yield Document( + channel="chat", + content=f"
Sub-question {idx + 1}" + f"
{message}
Answer
", + ) + # should populate the context + docs, infos = self.retrieve(message, history) + print(f"Got {len(docs)} retrieved documents") + + yield from infos + + evidence_mode, evidence, images = self.evidence_pipeline(docs).content + answer = yield from self.answering_pipeline.stream( + question=message, + history=history, + evidence=evidence, + evidence_mode=evidence_mode, + images=images, + conv_id=conv_id, + **kwargs, + ) + + output_str += ( + f"Sub-question {idx + 1}-th: '{message}'\nAnswer: '{answer.text}'\n\n" + ) + + return output_str + + def stream( # type: ignore + self, message: str, conv_id: str, history: list, **kwargs # type: ignore + ) -> Generator[Document, None, Document]: + sub_question_answer_output = "" + if self.rewrite_pipeline: + print("Chosen rewrite pipeline", self.rewrite_pipeline) + result = self.rewrite_pipeline(question=message) + print("Rewrite result", result) + if isinstance(result, Document): + message = result.text + elif ( + isinstance(result, list) + and len(result) > 0 + and isinstance(result[0], Document) + ): + yield Document( + channel="chat", + content="

Sub questions and their answers

", + ) + sub_question_answer_output = yield from self.answer_sub_questions( + [r.text for r in result], conv_id, history, **kwargs + ) + + yield Document( + channel="chat", + content=f"

Main question

{message}
Answer
", + ) + + # should populate the context + docs, infos = self.retrieve(message, history) + print(f"Got {len(docs)} retrieved documents") + yield from infos + + evidence_mode, evidence, images = self.evidence_pipeline(docs).content + answer = yield from self.answering_pipeline.stream( + question=message, + history=history, + evidence=evidence + "\n" + sub_question_answer_output, + evidence_mode=evidence_mode, + images=images, + conv_id=conv_id, + **kwargs, + ) + + # show the evidence + with_citation, without_citation = self.prepare_citations(answer, docs) + if not with_citation and not without_citation: + yield Document(channel="info", content="
No evidence found.
") + else: + yield Document(channel="info", content=None) + yield from with_citation + yield from without_citation + + return answer + + @classmethod + def get_user_settings(cls) -> dict: + user_settings = super().get_user_settings() + user_settings["decompose_prompt"] = { + "name": "Decompose Prompt", + "value": DecomposeQuestionPipeline.DECOMPOSE_SYSTEM_PROMPT_TEMPLATE, + } + return user_settings + + @classmethod + def get_pipeline(cls, settings, states, retrievers): + """Get the reasoning pipeline + + Args: + settings: the settings for the pipeline + retrievers: the retrievers to use + """ + prefix = f"reasoning.options.{cls.get_info()['id']}" + pipeline = cls( + retrievers=retrievers, + rewrite_pipeline=DecomposeQuestionPipeline( + prompt_template=settings.get(f"{prefix}.decompose_prompt") + ), + ) + + llm_name = settings.get(f"{prefix}.llm", None) + llm = llms.get(llm_name, llms.get_default()) + + # answering pipeline configuration + answer_pipeline = pipeline.answering_pipeline + answer_pipeline.llm = llm + answer_pipeline.citation_pipeline.llm = llm + answer_pipeline.n_last_interactions = settings[f"{prefix}.n_last_interactions"] + answer_pipeline.enable_citation = settings[f"{prefix}.highlight_citation"] + answer_pipeline.system_prompt = settings[f"{prefix}.system_prompt"] + answer_pipeline.qa_template = settings[f"{prefix}.qa_prompt"] + answer_pipeline.lang = SUPPORTED_LANGUAGE_MAP.get( + settings["reasoning.lang"], "English" + ) + + pipeline.add_query_context.llm = llm + pipeline.add_query_context.n_last_interactions = settings[ + f"{prefix}.n_last_interactions" + ] + + pipeline.trigger_context = settings[f"{prefix}.trigger_context"] + pipeline.use_rewrite = states.get("app", {}).get("regen", False) + if pipeline.rewrite_pipeline: + pipeline.rewrite_pipeline.llm = llm + return pipeline + + @classmethod + def get_info(cls) -> dict: + return { + "id": "complex", + "name": "Complex QA", + "description": ( + "Use multi-step reasoning to decompose a complex question into " + "multiple sub-questions. This pipeline can " + "perform both keyword search and similarity search to retrieve the " + "context. After that it includes that context to generate the answer." + ), } diff --git a/libs/ktem/ktem/settings.py b/libs/ktem/ktem/settings.py index dec1d4c..89f5c65 100644 --- a/libs/ktem/ktem/settings.py +++ b/libs/ktem/ktem/settings.py @@ -19,6 +19,7 @@ class SettingItem(BaseModel): choices: list = Field(default_factory=list) metadata: dict = Field(default_factory=dict) component: str = "text" + special_type: str = "" class BaseSettingGroup(BaseModel): @@ -55,6 +56,9 @@ class BaseSettingGroup(BaseModel): option = self.options[option_id] return option.get_setting_item(sub_path) + def __bool__(self): + return bool(self.settings) or bool(self.options) + class SettingReasoningGroup(BaseSettingGroup): def _get_options(self) -> dict: diff --git a/libs/ktem/ktem/utils/__init__.py b/libs/ktem/ktem/utils/__init__.py index e69de29..009c60a 100644 --- a/libs/ktem/ktem/utils/__init__.py +++ b/libs/ktem/ktem/utils/__init__.py @@ -0,0 +1,3 @@ +from .lang import SUPPORTED_LANGUAGE_MAP + +__all__ = ["SUPPORTED_LANGUAGE_MAP"] diff --git a/libs/ktem/ktem/utils/conversation.py b/libs/ktem/ktem/utils/conversation.py new file mode 100644 index 0000000..2550aa7 --- /dev/null +++ b/libs/ktem/ktem/utils/conversation.py @@ -0,0 +1,20 @@ +def sync_retrieval_n_message( + messages: list[list[str]], + retrievals: list[str], +) -> list[str]: + """Ensure len of messages history and retrieval history are equal + Empty string/Truncate will be used in case any difference exist + """ + n_message = len(messages) # include previous history + n_retrieval = min(n_message, len(retrievals)) + + diff = n_message - n_retrieval + retrievals = retrievals[:n_retrieval] + ["" for _ in range(diff)] + + assert len(retrievals) == n_message + + return retrievals + + +if __name__ == "__main__": + print(sync_retrieval_n_message([[""], [""], [""]], [])) diff --git a/libs/ktem/ktem/utils/lang.py b/libs/ktem/ktem/utils/lang.py new file mode 100644 index 0000000..af6601d --- /dev/null +++ b/libs/ktem/ktem/utils/lang.py @@ -0,0 +1 @@ +SUPPORTED_LANGUAGE_MAP = {"en": "English", "ja": "Japanese", "vi": "Vietnamese"} diff --git a/libs/ktem/ktem/utils/render.py b/libs/ktem/ktem/utils/render.py index 5890d33..b1695aa 100644 --- a/libs/ktem/ktem/utils/render.py +++ b/libs/ktem/ktem/utils/render.py @@ -1,4 +1,36 @@ +import os.path + import markdown +from fast_langdetect import detect + +from kotaemon.base import RetrievedDocument + + +def is_close(val1, val2, tolerance=1e-9): + return abs(val1 - val2) <= tolerance + + +def replace_mardown_header(text: str) -> str: + textlines = text.splitlines() + newlines = [] + for line in textlines: + if line.startswith("#"): + line = "" + line.replace("#", "") + "" + if line.startswith("=="): + line = "" + newlines.append(line) + + return "\n".join(newlines) + + +def get_header(doc: RetrievedDocument) -> str: + """Get the header for the document""" + header = "" + if "page_label" in doc.metadata: + header += f" [Page {doc.metadata['page_label']}]" + + header += f" {doc.metadata.get('file_name', '')}" + return header.strip() class Render: @@ -13,9 +45,152 @@ class Render: @staticmethod def table(text: str) -> str: """Render table from markdown format into HTML""" + text = replace_mardown_header(text) return markdown.markdown(text, extensions=["markdown.extensions.tables"]) + @staticmethod + def preview( + html_content: str, + doc: RetrievedDocument, + highlight_text: str | None = None, + ) -> str: + text = doc.content + pdf_path = doc.metadata.get("file_path", "") + + if not os.path.isfile(pdf_path): + print(f"pdf-path: {pdf_path} does not exist") + return html_content + + is_pdf = doc.metadata.get("file_type", "") == "application/pdf" + page_idx = int(doc.metadata.get("page_label", 1)) + + if not is_pdf: + print("Document is not pdf") + return html_content + + if page_idx < 0: + print("Fail to extract page number") + return html_content + + if not highlight_text: + try: + lang = detect(text.replace("\n", " "))["lang"] + print("lang", lang) + if lang not in ["ja", "cn"]: + highlight_words = [ + t[:-1] if t.endswith("-") else t for t in text.split("\n") + ] + highlight_text = highlight_words[0] + phrase = "true" + else: + highlight_text = text.replace("\n", "") + phrase = "false" + + print("highlight_text", highlight_text, phrase) + except Exception as e: + print(e) + highlight_text = text + else: + phrase = "true" + + return f""" + {html_content} +
+ [Preview] + + """ # noqa + @staticmethod def highlight(text: str) -> str: """Highlight text""" return f"{text}" + + @staticmethod + def image(url: str, text: str = "") -> str: + """Render an image""" + img = f'
' + if text: + caption = f"

{text}

" + return f"
{img}{caption}

" + return img + + @staticmethod + def collapsible_with_header( + doc: RetrievedDocument, + open_collapsible: bool = False, + ) -> str: + header = f"{get_header(doc)}" + if doc.metadata.get("type", "") == "image": + doc_content = Render.image(url=doc.metadata["image_origin"], text=doc.text) + else: + doc_content = Render.table(doc.text) + + return Render.collapsible( + header=Render.preview(header, doc), + content=doc_content, + open=open_collapsible, + ) + + @staticmethod + def collapsible_with_header_score( + doc: RetrievedDocument, + override_text: str | None = None, + highlight_text: str | None = None, + open_collapsible: bool = False, + ) -> str: + """Format the retrieval score and the document""" + # score from doc_store (Elasticsearch) + if is_close(doc.score, -1.0): + vectorstore_score = "" + text_search_str = " (full-text search)
" + else: + vectorstore_score = str(round(doc.score, 2)) + text_search_str = "
" + + llm_reranking_score = ( + round(doc.metadata["llm_trulens_score"], 2) + if doc.metadata.get("llm_trulens_score") is not None + else 0.0 + ) + cohere_reranking_score = ( + round(doc.metadata["cohere_reranking_score"], 2) + if doc.metadata.get("cohere_reranking_score") is not None + else 0.0 + ) + item_type_prefix = doc.metadata.get("type", "") + item_type_prefix = item_type_prefix.capitalize() + if item_type_prefix: + item_type_prefix += " from " + + rendered_score = Render.collapsible( + header=f" Relevance score: {llm_reranking_score}", + content="  Vectorstore score:" + f" {vectorstore_score}" + f"{text_search_str}" + "  LLM relevant score:" + f" {llm_reranking_score}
" + "  Reranking score:" + f" {cohere_reranking_score}
", + ) + + text = doc.text if not override_text else override_text + if doc.metadata.get("type", "") == "image": + rendered_doc_content = Render.image( + url=doc.metadata["image_origin"], + text=text, + ) + else: + rendered_doc_content = Render.table(text) + + rendered_header = Render.preview( + f"{item_type_prefix}{get_header(doc)}" + f" [score: {llm_reranking_score}]", + doc, + highlight_text=highlight_text, + ) + + return Render.collapsible( + header=rendered_header, + content=rendered_score + rendered_doc_content, + open=open_collapsible, + ) diff --git a/libs/ktem/pyproject.toml b/libs/ktem/pyproject.toml index eb6ac12..a995495 100644 --- a/libs/ktem/pyproject.toml +++ b/libs/ktem/pyproject.toml @@ -26,7 +26,7 @@ dependencies = [ "SQLAlchemy>=2.0.29,<3", "sqlmodel>=0.0.16,<0.1", "tiktoken>=0.6.0,<1", - "gradio>=4.26.0,<5", + "gradio>=4.31.0,<5", "markdown>=3.6,<4", ] authors = [ diff --git a/scripts/migrate/__init__.py b/scripts/migrate/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scripts/migrate/migrate_chroma_db.py b/scripts/migrate/migrate_chroma_db.py new file mode 100644 index 0000000..96fa920 --- /dev/null +++ b/scripts/migrate/migrate_chroma_db.py @@ -0,0 +1,191 @@ +import uuid + +import chromadb +from ktem.index.models import Index +from sqlalchemy import ( + JSON, + Column, + DateTime, + Integer, + String, + UniqueConstraint, + create_engine, + select, +) +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.ext.mutable import MutableDict +from sqlalchemy.orm import Session +from sqlalchemy.sql import func + + +def _init_resource(private: bool = True, id: int = 1): + """Init schemas. Hard-code""" + Base = declarative_base() + + if private: + Source = type( + "Source", + (Base,), + { + "__tablename__": f"index__{id}__source", + "__table_args__": ( + UniqueConstraint("name", "user", name="_name_user_uc"), + ), + "id": Column( + String, + primary_key=True, + default=lambda: str(uuid.uuid4()), + unique=True, + ), + "name": Column(String), + "path": Column(String), + "size": Column(Integer, default=0), + "date_created": Column( + DateTime(timezone=True), server_default=func.now() + ), + "user": Column(Integer, default=1), + "note": Column( + MutableDict.as_mutable(JSON), # type: ignore + default={}, + ), + }, + ) + else: + Source = type( + "Source", + (Base,), + { + "__tablename__": f"index__{id}__source", + "id": Column( + String, + primary_key=True, + default=lambda: str(uuid.uuid4()), + unique=True, + ), + "name": Column(String, unique=True), + "path": Column(String), + "size": Column(Integer, default=0), + "date_created": Column( + DateTime(timezone=True), server_default=func.now() + ), + "user": Column(Integer, default=1), + "note": Column( + MutableDict.as_mutable(JSON), # type: ignore + default={}, + ), + }, + ) + Index = type( + "IndexTable", + (Base,), + { + "__tablename__": f"index__{id}__index", + "id": Column(Integer, primary_key=True, autoincrement=True), + "source_id": Column(String), + "target_id": Column(String), + "relation_type": Column(Integer), + "user": Column(Integer, default=1), + }, + ) + + return {"Source": Source, "Index": Index} + + +def get_chromadb_collection( + db_dir: str = "../ktem_app_data/user_data/vectorstore", + collection_name: str = "index_1", +): + """Extract collection from chromadb""" + client = chromadb.PersistentClient(path=db_dir) + collection = client.get_or_create_collection(collection_name) + + return collection + + +def update_metadata(metadata, file_id): + """Update file_id""" + metadata["file_id"] = file_id + return metadata + + +def migrate_chroma_db( + chroma_db_dir: str, sqlite_path: str, is_private: bool = True, int_index: int = 1 +): + chroma_collection_name = f"index_{int_index}" + + """Update chromadb with metadata.file_id""" + engine = create_engine(sqlite_path) + resource = _init_resource(private=is_private, id=int_index) + print("Load sqlalchemy engine successfully!") + + chroma_db_collection = get_chromadb_collection( + db_dir=chroma_db_dir, collection_name=chroma_collection_name + ) + print( + f"Load chromadb collection: {chroma_collection_name}, " + f"path: {chroma_db_dir} successfully!" + ) + + # Load docs id of user + with Session(engine) as session: + stmt = select(resource["Source"]) + results = session.execute(stmt) + doc_ids = [r[0].id for r in results.all()] + print(f"Retrieve n-docs: {len(doc_ids)}") + print(doc_ids) + + for doc_id in doc_ids: + print("-") + # Find corresponding vector ids + with Session(engine) as session: + stmt = select(resource["Index"]).where( + resource["Index"].relation_type == "vector", + resource["Index"].source_id.in_([doc_id]), + ) + results = session.execute(stmt) + vs_ids = [r[0].target_id for r in results.all()] + + print(f"Got {len(vs_ids)} vs_ids for doc {doc_id}") + + # Update file_id + if len(vs_ids) > 0: + batch = chroma_db_collection.get(ids=vs_ids, include=["metadatas"]) + batch.update( + ids=batch["ids"], + metadatas=[ + update_metadata(metadata, doc_id) for metadata in batch["metadatas"] + ], + ) + + # Assert file_id. Skip + print(f"doc-{doc_id} got updated") + + +def main(chroma_db_dir: str, sqlite_path: str): + engine = create_engine(sqlite_path) + + with Session(engine) as session: + stmt = select(Index) + + results = session.execute(stmt) + file_indices = [r[0] for r in results.all()] + + for file_index in file_indices: + _id = file_index.id + _is_private = file_index.config["private"] + + print(f"Migrating for Index id: {_id}, is_private: {_is_private}") + + migrate_chroma_db( + chroma_db_dir=chroma_db_dir, + sqlite_path=sqlite_path, + is_private=_is_private, + int_index=_id, + ) + + +if __name__ == "__main__": + chrome_db_dir: str = "./vectorstore/kan_db" + sqlite_path: str = "sqlite:///../ktem_app_data/user_data/sql.db" + + main(chrome_db_dir, sqlite_path)

$PbI$Ay)M)PvQ?M{$So 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 z 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