Merge branch 'main' of github.com:langflow-ai/openrag into chat-input-files

This commit is contained in:
Mike Fortman 2025-10-24 15:21:08 -05:00
commit eb3060e9d3
13 changed files with 200 additions and 2833 deletions

View file

@ -74,6 +74,8 @@ const config = {
],
],
plugins: [require.resolve('docusaurus-plugin-image-zoom')],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
@ -116,6 +118,17 @@ const config = {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
zoom: {
selector: '.markdown img',
background: {
light: 'rgb(255, 255, 255)',
dark: 'rgb(50, 50, 50)',
},
config: {
margin: 24,
scrollOffset: 0,
},
},
}),
};

66
docs/package-lock.json generated
View file

@ -12,6 +12,7 @@
"@docusaurus/preset-classic": "3.8.1",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"docusaurus-plugin-image-zoom": "^3.0.1",
"lucide-react": "^0.544.0",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
@ -7155,6 +7156,19 @@
"node": ">=6"
}
},
"node_modules/docusaurus-plugin-image-zoom": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-3.0.1.tgz",
"integrity": "sha512-mQrqA99VpoMQJNbi02qkWAMVNC4+kwc6zLLMNzraHAJlwn+HrlUmZSEDcTwgn+H4herYNxHKxveE2WsYy73eGw==",
"license": "MIT",
"dependencies": {
"medium-zoom": "^1.1.0",
"validate-peer-dependencies": "^2.2.0"
},
"peerDependencies": {
"@docusaurus/theme-classic": ">=3.0.0"
}
},
"node_modules/dom-converter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
@ -10259,6 +10273,12 @@
"node": ">= 0.6"
}
},
"node_modules/medium-zoom": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz",
"integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==",
"license": "MIT"
},
"node_modules/memfs": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
@ -12847,6 +12867,27 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"license": "MIT"
},
"node_modules/path-root": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
"license": "MIT",
"dependencies": {
"path-root-regex": "^0.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-root-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-to-regexp": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
@ -15270,6 +15311,18 @@
"node": ">=4"
}
},
"node_modules/resolve-package-path": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz",
"integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==",
"license": "MIT",
"dependencies": {
"path-root": "^0.1.1"
},
"engines": {
"node": ">= 12"
}
},
"node_modules/resolve-pathname": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
@ -16944,6 +16997,19 @@
"uuid": "dist/bin/uuid"
}
},
"node_modules/validate-peer-dependencies": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz",
"integrity": "sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA==",
"license": "MIT",
"dependencies": {
"resolve-package-path": "^4.0.3",
"semver": "^7.3.8"
},
"engines": {
"node": ">= 12"
}
},
"node_modules/value-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",

View file

@ -20,6 +20,7 @@
"@docusaurus/preset-classic": "3.8.1",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"docusaurus-plugin-image-zoom": "^3.0.1",
"lucide-react": "^0.544.0",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",

Binary file not shown.

View file

@ -1767,7 +1767,7 @@
"@docusaurus/theme-search-algolia" "3.8.1"
"@docusaurus/types" "3.8.1"
"@docusaurus/theme-classic@3.8.1":
"@docusaurus/theme-classic@>=3.0.0", "@docusaurus/theme-classic@3.8.1":
version "3.8.1"
resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.8.1.tgz"
integrity sha512-bqDUCNqXeYypMCsE1VcTXSI1QuO4KXfx8Cvl6rYfY0bhhqN6d2WZlRkyLg/p6pm+DzvanqHOyYlqdPyP0iz+iw==
@ -3808,6 +3808,14 @@ dns-packet@^5.2.2:
dependencies:
"@leichtgewicht/ip-codec" "^2.0.1"
docusaurus-plugin-image-zoom@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-3.0.1.tgz"
integrity sha512-mQrqA99VpoMQJNbi02qkWAMVNC4+kwc6zLLMNzraHAJlwn+HrlUmZSEDcTwgn+H4herYNxHKxveE2WsYy73eGw==
dependencies:
medium-zoom "^1.1.0"
validate-peer-dependencies "^2.2.0"
dom-converter@^0.2.0:
version "0.2.0"
resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz"
@ -5658,6 +5666,11 @@ media-typer@0.3.0:
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
medium-zoom@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz"
integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==
memfs@^3.4.3:
version "3.5.3"
resolved "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz"
@ -6549,6 +6562,18 @@ path-parse@^1.0.7:
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-root-regex@^0.1.0:
version "0.1.2"
resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz"
integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==
path-root@^0.1.1:
version "0.1.1"
resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz"
integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==
dependencies:
path-root-regex "^0.1.0"
path-to-regexp@^1.7.0:
version "1.9.0"
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz"
@ -7640,6 +7665,13 @@ resolve-from@^4.0.0:
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve-package-path@^4.0.3:
version "4.0.3"
resolved "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz"
integrity sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==
dependencies:
path-root "^0.1.1"
resolve-pathname@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz"
@ -7782,7 +7814,7 @@ semver@^6.3.1:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.5, semver@^7.3.7, semver@^7.5.4:
semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4:
version "7.7.2"
resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
@ -8530,6 +8562,14 @@ uuid@^8.3.2:
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
validate-peer-dependencies@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz"
integrity sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA==
dependencies:
resolve-package-path "^4.0.3"
semver "^7.3.8"
value-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz"

Binary file not shown.

Binary file not shown.

BIN
documents/docling.pdf Normal file

Binary file not shown.

BIN
documents/ibm_anthropic.pdf Normal file

Binary file not shown.

Binary file not shown.

View file

@ -4149,12 +4149,39 @@
},
"selected": false,
"type": "genericNode"
},
{
"data": {
"id": "note-DCu9M",
"node": {
"description": "## README\n\nThis flow transforms raw documents into searchable knowledge stored in an OpenSearch vector database.\nThis [knowledge](https://docs.openr.ag/knowledge) serves as context that your [agents](https://docs.openr.ag/agents) draw upon to answer questions and perform tasks.\n\n* Data sources: This flow ingests data from OAuth connectors or can load from your local machine. For more, see [Ingest Knowledge](https://docs.openr.ag/knowledge#ingest-knowledge).\n* Docling ingestion: The [**Docling Serve** component](https://docs.openr.ag/ingestion) processes input documents by connecting to your instance of Docling serve. For more, see [Docling Ingestion](https://docs.openr.ag/ingestion).\n* Processing: The flow adds metadata through three [**DataFrame Operations** components](https://docs.langflow.org/components-processing#dataframe-operations) that add `filename`, `file_size`, and `mimetype` columns.\nThe **Split Text** component then splits the processed text into uniform, easily searchable chunks.\n* Embedding generation:The [**Embedding Model** component](https://docs.langflow.org/components-embedding-models) generates vector embeddings with the model you selected at [Application onboarding](https://docs.openr.ag/install#application-onboarding), and the [**OpenSearch** component](https://docs.langflow.org/bundles-elastic#opensearch) stores the processed documents and their embeddings in the documents index.\n* Metadata and ownership: The **Secret Input** components provide user context that is stored as metadata in OpenSearch. These fields are populated from OAuth configuration values, and enable multi-tenant document isolation in OpenSearch, so each user's documents remain private and traceable.\n\nFor more information, see the [OpenRAG docs](https://docs.openr.ag/ingestion#knowledge-ingestion-flows).\n",
"display_name": "",
"documentation": "",
"template": {}
},
"type": "note"
},
"dragging": false,
"height": 439,
"id": "note-DCu9M",
"measured": {
"height": 439,
"width": 1000
},
"position": {
"x": -538.3997974029603,
"y": 1984.9915833571447
},
"resizing": true,
"selected": false,
"type": "noteNode",
"width": 1000
}
],
"viewport": {
"x": -418.8241631881149,
"y": -563.2891507884635,
"zoom": 0.6194861362488232
"x": 502.99612621025017,
"y": -497.01724621189965,
"zoom": 0.5248650535598084
}
},
"description": "Load your data for chat context with Retrieval Augmented Generation.",

View file

@ -191,6 +191,7 @@
}
},
"id": "xy-edge__MCP-7EY21{œdataTypeœ:œMCPœ,œidœ:œMCP-7EY21œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}-Agent-crjWf{œfieldNameœ:œtoolsœ,œidœ:œAgent-crjWfœ,œinputTypesœ:[œToolœ],œtypeœ:œotherœ}",
"selected": false,
"source": "MCP-7EY21",
"sourceHandle": "{œdataTypeœ:œMCPœ,œidœ:œMCP-7EY21œ,œnameœ:œcomponent_as_toolœ,œoutput_typesœ:[œToolœ]}",
"target": "Agent-crjWf",
@ -448,8 +449,8 @@
"width": 192
},
"position": {
"x": 1264.0651279011304,
"y": 1192.017532447814
"x": 1338.2905337667046,
"y": 1206.5715335979264
},
"selected": false,
"type": "genericNode"
@ -755,7 +756,7 @@
],
"frozen": false,
"icon": "OpenSearch",
"last_updated": "2025-10-06T15:23:50.339Z",
"last_updated": "2025-10-09T17:03:19.845Z",
"legacy": false,
"lf_version": "1.6.0",
"metadata": {
@ -1375,8 +1376,8 @@
"width": 320
},
"position": {
"x": 1202.1762389080463,
"y": 395.8072555285192
"x": 1183.2560374129,
"y": 320.1264495479339
},
"selected": false,
"type": "genericNode"
@ -1409,7 +1410,7 @@
],
"frozen": false,
"icon": "binary",
"last_updated": "2025-10-06T15:23:50.341Z",
"last_updated": "2025-10-09T17:03:19.846Z",
"legacy": false,
"lf_version": "1.6.0",
"metadata": {
@ -1734,7 +1735,7 @@
],
"frozen": false,
"icon": "bot",
"last_updated": "2025-10-06T15:23:50.396Z",
"last_updated": "2025-10-09T17:03:19.888Z",
"legacy": false,
"lf_version": "1.6.0",
"metadata": {
@ -2241,8 +2242,8 @@
"width": 320
},
"position": {
"x": 745.3341059713564,
"y": 95.0152511387621
"x": 722.0477041311764,
"y": 119.75705309395346
},
"selected": false,
"type": "genericNode"
@ -2273,7 +2274,7 @@
],
"frozen": false,
"icon": "brain-circuit",
"last_updated": "2025-10-06T15:23:50.343Z",
"last_updated": "2025-10-09T17:03:19.855Z",
"legacy": false,
"lf_version": "1.6.0",
"metadata": {
@ -2571,8 +2572,8 @@
"width": 320
},
"position": {
"x": 1206.0291133693556,
"y": -185.39565741253472
"x": 1188.5643119892204,
"y": -237.60813653856357
},
"selected": false,
"type": "genericNode"
@ -2601,7 +2602,7 @@
"frozen": false,
"icon": "Mcp",
"key": "mcp_lf-starter_project",
"last_updated": "2025-10-06T15:23:56.578Z",
"last_updated": "2025-10-09T17:03:19.855Z",
"legacy": false,
"mcpServerName": "lf-starter_project",
"metadata": {
@ -2819,17 +2820,46 @@
"width": 320
},
"position": {
"x": 675.7137923419156,
"y": 878.6218422334763
"x": 733.9297969423658,
"y": 862.6124409683524
},
"selected": false,
"type": "genericNode"
},
{
"data": {
"id": "note-Wg9xF",
"node": {
"description": "## README\n\nThis flow generates answers for OpenRAG's chat, informed by the context stored in OpenSearch.\nIn this flow, the [**Langflow Agent** component](https://docs.langflow.org/agents) uses the connected [**Language Model** component](https://docs.langflow.org/components-models) to select the correct tool to complete requests.\n* If the Agent determines your request requires external knowledge, it will embed your query with the [**Embedding Model** component](https://docs.langflow.org/components-embedding-models) and query your [OpenSearch knowledge](https://docs.openr.ag/knowledge).\n\n* If the Agent determines your request requires a web search, it selects the [**MCP Tools** component](https://docs.langflow.org/mcp-client#mcp-tools-parameters) to fetch web content with the [OpenSearch URL ingestion flow](https://docs.openr.ag/ingestion#url-flow).\n\nUsing the retrieved data, the Agent generates a response with the connected [**Language Model** component](https://docs.langflow.org/components-models) and sends it to the [**Chat Output** component](https://docs.langflow.org/components-io).\n\nFor more information, see the [OpenRAG docs](https://docs.openr.ag/agents).",
"display_name": "",
"documentation": "",
"template": {
"backgroundColor": "amber"
}
},
"type": "note"
},
"dragging": false,
"height": 469,
"id": "note-Wg9xF",
"measured": {
"height": 469,
"width": 644
},
"position": {
"x": 19.942791510714386,
"y": 259.5061905471592
},
"resizing": false,
"selected": false,
"type": "noteNode",
"width": 644
}
],
"viewport": {
"x": -237.0727605845459,
"y": 154.6885920024542,
"zoom": 0.602433700773958
"x": 15.987785397208654,
"y": 201.25966590756093,
"zoom": 0.6870962766086257
}
},
"description": "OpenRAG OpenSearch Agent",

File diff suppressed because one or more lines are too long