langflow/docs/static/json_files/SearchApi_Tool.json
Gabriel Luiz Freitas Almeida 05cd6e4fd7
1.0 Alpha (#1599)
* Update model kwargs and temperature values

* Update keyboard shortcuts for advanced editing

* make Message field have no handles

* Update OpenAI API Key handling in OpenAIEmbeddingsComponent

* Remove unnecessary field_type key from CustomComponent class

* Update required field behavior in CustomComponent class

* Refactor AzureOpenAIModel.py: Removed unnecessary "required" attribute from input parameters

* Update BaiduQianfanChatModel and OpenAIModel configurations

* Fix range_spec step type validation

* Update RangeSpec step_type default value to "float"

* Fix Save debounce

* Update parameterUtils to use debounce instead of throttle

* Update input type options in schemas and graph base classes

* Refactor run_flow_with_caching endpoint to include simplified and experimental versions

* Add PythonFunctionComponent and test case for it

* Add nest_asyncio to fix event loop issue

* Refactor test_initial_setup.py to use RunOutputs instead of ResultData

* Remove unused code in test_endpoints.py

* Add asyncio loop to uvicorn command

* Refactor load_session method to handle coroutine result

* Fixed saving

* Fixed debouncing

* Add InputType and OutputType literals to schema.py

* Update input type in Graph class

* Add new schema for simplified API request

* Add delete_messages function and update test_successful_run assertions

* Add STREAM_INFO_TEXT constant to model components

* Add session_id to simplified_run_flow_with_caching endpoint

* Add field_typing import to OpenAIModel.py

* update starter projects

* Add constants for Langflow base module

* Update setup.py to include latest component versions

* Update Starter Examples

* sets starter_project fixture to Basic Prompting

* Refactor test_endpoints.py: Update test names and add new tests for different output types

* Update HuggingFace Spaces link and add image for dark mode

* Remove filepath reference

* Update Vertex params in base.py

* Add tests for different input types

* Add type annotations and improve test coverage

* Add duplicate space link to README

* Update HuggingFace Spaces badge in README

* Add Python 3.10 installation requirement to README

* Refactor flow running endpoints

* Refactor SimplifiedAPIRequest and add documentation for Tweaks

* Refactor input_request parameter in simplified_run_flow function

* Add support for retrieving specific component output

* Add custom Uvicorn worker for Langflow application

* Add asyncio loop to LangflowApplication initialization

* Update Makefile with new variables and start command

* Fix indentation in Makefile

* Refactor run_graph function to add support for running a JSON flow

* Refactor getChatInputField function and update API code

* Update HuggingFace Spaces documentation with duplication process

* Add asyncio event loop to uvicorn command

* Add installation of backend in start target

* udpate some starter projects

* Fix formatting in hugging-face-spaces.mdx

* Update installation instructions for Langflow

* set examples order

* Update start command in Makefile

* Add installation and usage instructions for Langflow

* Update Langflow installation and usage instructions

* Fix langflow command in README.md

* Fix broken link to HuggingFace Spaces guide

* Add new SVG assets for blog post, chat bot, and cloud docs

* Refactor example rendering in NewFlowModal

* Add new SVG file for short bio section

* Remove unused import and add new component

* Update title in usage.mdx

* Update HuggingFace Spaces heading in usage.mdx

* Update usage instructions in getting-started/usage.mdx

* Update cache option in usage documentation

* Remove 'advanced' flag from 'n_messages' parameter in MemoryComponent.py

* Refactor code to improve performance and readability

* Update project names and flow examples

* fix document qa example

* Remove commented out code in sidebars.js

* Delete unused documentation files

* Fix bug in login functionality

* Remove global variables from components

* Fix bug in login functionality

* fix modal returning to input

* Update max-width of chat message sender name

* Update styling for chat message component

* Refactor OpenAIEmbeddingsComponent signature

* Update usage.mdx file

* Update path in Makefile

* Add new migration and what's new documentation files

* Add new chapters and migration guides

* Update version to 0.0.13 in pyproject.toml

* new locks

* Update dependencies in pyproject.toml

* general fixes

* Update dependencies in pyproject.toml and poetry.lock files

* add padding to modal

*  (undrawCards/index.tsx): update the SVG used for BasicPrompt component to undraw_short_bio_re_fmx0.svg to match the desired design
♻️ (undrawCards/index.tsx): adjust the width and height of the BasicPrompt SVG to 65% to improve the visual appearance

* Commented out components/data in sidebars.js

* Refactor component names in outputs.mdx

* Update embedded chat script URL

* Add data component and fix formatting in outputs component

* Update dependencies in poetry.lock and pyproject.toml

* Update dependencies in poetry.lock and pyproject.toml

* Refactor code to improve performance and readability

* Update dependencies in poetry.lock and pyproject.toml

* Fixed IO Modal updates

* Remove dead code at API Modal

* Fixed overflow at CodeTabsComponent tweaks page

*  (NewFlowModal/index.tsx): update the name of the example from "Blog Writter" to "Blog Writer" for better consistency and clarity

* Update dependencies versions

* Update langflow-base to version 0.0.15 and fix setup_env script

* Update dependencies in pyproject.toml

* Lock dependencies in parallel

* Add logging statement to setup_app function

* Fix Ace not having type="module" and breaking build

* Update authentication settings for access token cookie

* Update package versions in package-lock.json

* Add scripts directory to Dockerfile

* Add setup_env command to build_and_run target

* Remove unnecessary make command in setup_env

* Remove unnecessary installation step in build_and_run

* Add debug configuration for CLI

* 🔧 chore(Makefile): refactor build_langflow target to use a separate script for updating dependencies and building
 feat(update_dependencies.py): add script to update pyproject.toml dependency version based on langflow-base version in src/backend/base/pyproject.toml

* Add number_of_results parameter to AstraDBSearchComponent

* Update HuggingFace Spaces links

* Remove duplicate imports in hugging-face-spaces.mdx

* Add number_of_results parameter to vector search components

* Fixed supabase not commited

* Revert "Fixed supabase not commited"

This reverts commit afb10a6262.

* Update duplicate-space.png image

* Delete unused files and components

* Add/update script to update dependencies

* Add .bak files to .gitignore

* Update version numbers and remove unnecessary dependencies

* Update langflow-base dependency path

* Add Text import to VertexAiModel.py

* Update langflow-base version to 0.0.16 and update dependencies

* Delete start projects and commit session in delete_start_projects function

* Refactor backend startup script to handle autologin option

* Update poetry installation script to include pipx update check

* Update pipx installation script for different operating systems

* Update Makefile to improve setup process

* Add error handling on streaming and fix streaming bug on error

* Added description to Blog Writer

* Sort base classes alphabetically

* Update duplicate-space.png image

* update position on langflow prompt chaining

* Add Langflow CLI and first steps documentation

* Add exception handling for missing 'content' field in search_with_vector_store method

* Remove unused import and update type hinting

* fix bug on egdes after creating group component

* Refactor APIRequest class and update model imports

* Remove unused imports and fix formatting issues

* Refactor reactflowUtils and styleUtils

* Add CLI documentation to getting-started/cli.mdx

* Add CLI usage instructions

* Add ZoomableImage component to first-steps.mdx

* Update CLI and first steps documentation

* Remove duplicate import and add new imports for ThemedImage and useBaseUrl

* Update Langflow CLI documentation link

* Remove first-steps.mdx and update index.mdx and sidebars.js

* Update Docusaurus dependencies

* Add AstraDB RAG Flow guide

* Remove unused imports

* Remove unnecessary import statement

* Refactor guide for better readability

* Add data component documentation

* Update component headings and add prompt template

* Fix logging level and version display

* Add datetime import and buffer for alembic log

* Update flow names in NewFlowModal and documentation

* Add starter projects to sidebars.js

* Fix error handling in DirectoryReader class

* Handle exception when loading components in setup.py

* Update version numbers in pyproject.toml files

* Update build_langflow_base and build_langflow_backup in Makefile

* Added docs

* Update dependencies and build process

* Add Admonition component for API Key documentation

* Update API endpoint in async-api.mdx

* Remove async-api guidelines

* Fix UnicodeDecodeError in DirectoryReader

* Update dependency version and fix encoding issues

* Add conditional build and publish for base and main projects

* Update version to 1.0.0a2 in pyproject.toml

* Remove duplicate imports and unnecessary code in custom-component.mdx

* Fix poetry lock command in Makefile

* Update package versions in pyproject.toml

* Remove unused components and update imports

* 📦 chore(pre-release-base.yml): add pre-release workflow for base project
📦 chore(pre-release-langflow.yml): add pre-release workflow for langflow project

* Add ChatLiteLLMModelComponent to models package

* Add frontend installation and build steps

* Add Dockerfile for building and pushing base image

* Add emoji package and nest-asyncio dependency

* 📝 (components.mdx): update margin style of ZoomableImage to improve spacing
📝 (features.mdx): update margin style of ZoomableImage to improve spacing
📝 (login.mdx): update margin style of ZoomableImage to improve spacing

* Fix module import error in validate.py

* Fix error message in directory_reader.py

* Update version import and handle ImportError

* Add cryptography and langchain-openai dependencies

* Update poetry installation and remove poetry-monorepo-dependency-plugin

* Update workflow and Dockerfile for Langflow base pre-release

* Update display names and descriptions for AstraDB components

* Update installation instructions for Langflow

* Update Astra DB links and remove unnecessary imports

* Rename AstraDB

* Add new components and images

* Update HuggingFace Spaces URLs

* Update Langflow documentation and add new starter projects

* Update flow name to "Basic Prompting (Hello, world!)" in relevant files

* Update Basic Prompting flow name to "Ahoy World!"

* Remove HuggingFace Spaces documentation

* Add new files and update sidebars.js

* Remove async-tasks.mdx and update sidebars.js

* Update starter project URLs

* Enable migration of global variables

* Update OpenAIEmbeddings deployment and model

* 📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment
📝 (inputs.mdx): add margin to image style to improve spacing and center alignment

📝 (rag-with-astradb.mdx): add margin to image styles to improve spacing and readability

* Update welcome message in index.mdx

* Add global variable feature to Langflow documentation

* Reorganized sidebar categories

* Update migration documentation

* Refactor SplitTextComponent class to accept inputs of type Record and Text

* Adjust embeddings docs

*  (cardComponent/index.tsx): add a minimum height to the card component to ensure consistent layout and prevent content from overlapping when the card is empty or has minimal content

* Update flow name from "Ahoy World!" to "Hello, world!"

* Update documentation for embeddings, models, and vector stores

* Update CreateRecordComponent and parameterUtils.ts

* Add documentation for Text and Record types

* Remove commented lines in sidebars.js

* Add run_flow_from_json function to load.py

* Update Langflow package to run flow from JSON file

* Fix type annotations and import errors

* Refactor tests and fix test data

---------

Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: carlosrcoelho <carlosrodrigo.coelho@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Matheus <jacquesmats@gmail.com>
2024-04-04 02:46:44 -03:00

1747 lines
No EOL
88 KiB
JSON

{
"id": "7fc56f82-3493-4742-9c85-82b144127aff",
"data": {
"nodes": [
{
"id": "ChatOpenAI-4Mfuz",
"type": "genericNode",
"position": {
"x": -2243.8068684913856,
"y": -2026.350019258601
},
"data": {
"type": "ChatOpenAI",
"node": {
"template": {
"callbacks": {
"type": "langchain_core.callbacks.base.BaseCallbackHandler",
"required": false,
"placeholder": "",
"list": true,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "callbacks",
"advanced": false,
"dynamic": false,
"info": ""
},
"async_client": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "async_client",
"advanced": false,
"dynamic": false,
"info": ""
},
"cache": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "cache",
"advanced": false,
"dynamic": false,
"info": ""
},
"client": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "client",
"advanced": false,
"dynamic": false,
"info": ""
},
"default_headers": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "default_headers",
"advanced": false,
"dynamic": false,
"info": ""
},
"default_query": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "default_query",
"advanced": false,
"dynamic": false,
"info": ""
},
"http_client": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "http_client",
"advanced": false,
"dynamic": false,
"info": ""
},
"max_retries": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"value": 2,
"fileTypes": [],
"password": false,
"name": "max_retries",
"advanced": false,
"dynamic": false,
"info": ""
},
"max_tokens": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": true,
"name": "max_tokens",
"advanced": false,
"dynamic": false,
"info": "",
"value": ""
},
"metadata": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "metadata",
"advanced": false,
"dynamic": false,
"info": ""
},
"model_kwargs": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "model_kwargs",
"advanced": true,
"dynamic": false,
"info": ""
},
"model_name": {
"type": "str",
"required": false,
"placeholder": "",
"list": true,
"show": true,
"multiline": false,
"value": "gpt-3.5-turbo-16k",
"fileTypes": [],
"password": false,
"options": [
"gpt-4-1106-preview",
"gpt-4-vision-preview",
"gpt-4",
"gpt-4-32k",
"gpt-3.5-turbo",
"gpt-3.5-turbo-16k"
],
"name": "model_name",
"advanced": false,
"dynamic": false,
"info": ""
},
"n": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"value": 1,
"fileTypes": [],
"password": false,
"name": "n",
"advanced": false,
"dynamic": false,
"info": ""
},
"name": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "name",
"advanced": false,
"dynamic": false,
"info": ""
},
"openai_api_base": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "openai_api_base",
"display_name": "OpenAI API Base",
"advanced": false,
"dynamic": false,
"info": "\nThe base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.\n"
},
"openai_api_key": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "",
"fileTypes": [],
"password": true,
"name": "openai_api_key",
"display_name": "OpenAI API Key",
"advanced": false,
"dynamic": false,
"info": ""
},
"openai_organization": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "openai_organization",
"display_name": "OpenAI Organization",
"advanced": false,
"dynamic": false,
"info": ""
},
"openai_proxy": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "openai_proxy",
"display_name": "OpenAI Proxy",
"advanced": false,
"dynamic": false,
"info": ""
},
"request_timeout": {
"type": "float",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "request_timeout",
"advanced": false,
"dynamic": false,
"info": "",
"rangeSpec": {
"min": -1,
"max": 1,
"step": 0.1
}
},
"streaming": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"value": false,
"fileTypes": [],
"password": false,
"name": "streaming",
"advanced": false,
"dynamic": false,
"info": ""
},
"tags": {
"type": "str",
"required": false,
"placeholder": "",
"list": true,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "tags",
"advanced": false,
"dynamic": false,
"info": ""
},
"temperature": {
"type": "float",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "0.5",
"fileTypes": [],
"password": false,
"name": "temperature",
"advanced": false,
"dynamic": false,
"info": "",
"rangeSpec": {
"min": -1,
"max": 1,
"step": 0.1
}
},
"tiktoken_model_name": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "tiktoken_model_name",
"advanced": false,
"dynamic": false,
"info": ""
},
"verbose": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"value": false,
"fileTypes": [],
"password": false,
"name": "verbose",
"advanced": false,
"dynamic": false,
"info": ""
},
"_type": "ChatOpenAI"
},
"description": "[*Deprecated*] `OpenAI` Chat large language models API.",
"base_classes": [
"BaseLanguageModel",
"BaseChatModel",
"ChatOpenAI",
"BaseLLM"
],
"display_name": "ChatOpenAI",
"documentation": "https://python.langchain.com/docs/modules/model_io/models/chat/integrations/openai",
"custom_fields": {},
"output_types": [],
"field_formatters": {},
"beta": false
},
"id": "ChatOpenAI-4Mfuz"
},
"selected": false,
"width": 384,
"height": 649,
"positionAbsolute": {
"x": -2243.8068684913856,
"y": -2026.350019258601
},
"dragging": false
},
{
"id": "CharacterTextSplitter-WVMFU",
"type": "genericNode",
"position": {
"x": -2661.4749778477553,
"y": -1608.9437055023366
},
"data": {
"type": "CharacterTextSplitter",
"node": {
"template": {
"documents": {
"type": "Document",
"required": true,
"placeholder": "",
"list": true,
"show": true,
"multiline": false,
"value": "",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "documents",
"advanced": false,
"dynamic": false,
"info": ""
},
"chunk_overlap": {
"type": "int",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": 200,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chunk_overlap",
"display_name": "Chunk Overlap",
"advanced": false,
"dynamic": false,
"info": ""
},
"chunk_size": {
"type": "int",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "2000",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chunk_size",
"display_name": "Chunk Size",
"advanced": false,
"dynamic": false,
"info": ""
},
"separator": {
"type": "str",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "\"",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "separator",
"display_name": "Separator",
"advanced": false,
"dynamic": false,
"info": ""
},
"_type": "CharacterTextSplitter"
},
"description": "Splitting text that looks at characters.",
"base_classes": [
"Document"
],
"display_name": "CharacterTextSplitter",
"documentation": "https://python.langchain.com/docs/modules/data_connection/document_transformers/text_splitters/character_text_splitter",
"custom_fields": {},
"output_types": [
"Document"
],
"field_formatters": {},
"beta": false
},
"id": "CharacterTextSplitter-WVMFU"
},
"selected": false,
"width": 384,
"height": 501,
"positionAbsolute": {
"x": -2661.4749778477553,
"y": -1608.9437055023366
},
"dragging": false
},
{
"id": "Chroma-OtYDg",
"type": "genericNode",
"position": {
"x": -2194.2051907050227,
"y": -1370.1637632208287
},
"data": {
"type": "Chroma",
"node": {
"template": {
"documents": {
"type": "Document",
"required": false,
"placeholder": "",
"list": true,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "documents",
"display_name": "Documents",
"advanced": false,
"dynamic": false,
"info": ""
},
"embedding": {
"type": "Embeddings",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "embedding",
"display_name": "Embedding",
"advanced": false,
"dynamic": false,
"info": ""
},
"chroma_server_cors_allow_origins": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chroma_server_cors_allow_origins",
"display_name": "Server CORS Allow Origins",
"advanced": true,
"dynamic": false,
"info": ""
},
"chroma_server_grpc_port": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chroma_server_grpc_port",
"display_name": "Server gRPC Port",
"advanced": true,
"dynamic": false,
"info": ""
},
"chroma_server_host": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chroma_server_host",
"display_name": "Server Host",
"advanced": true,
"dynamic": false,
"info": ""
},
"chroma_server_port": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chroma_server_port",
"display_name": "Server Port",
"advanced": true,
"dynamic": false,
"info": ""
},
"chroma_server_ssl_enabled": {
"type": "bool",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "chroma_server_ssl_enabled",
"display_name": "Server SSL Enabled",
"advanced": true,
"dynamic": false,
"info": ""
},
"code": {
"type": "code",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": true,
"value": "from typing import List, Optional, Union\n\nimport chromadb # type: ignore\nfrom langchain.embeddings.base import Embeddings\nfrom langchain.schema import BaseRetriever, Document\nfrom langchain.vectorstores import Chroma\nfrom langchain.vectorstores.base import VectorStore\n\nfrom langflow.custom import CustomComponent\n\n\nclass ChromaComponent(CustomComponent):\n \"\"\"\n A custom component for implementing a Vector Store using Chroma.\n \"\"\"\n\n display_name: str = \"Chroma\"\n description: str = \"Implementation of Vector Store using Chroma\"\n documentation = \"https://python.langchain.com/docs/integrations/vectorstores/chroma\"\n beta: bool = True\n\n def build_config(self):\n \"\"\"\n Builds the configuration for the component.\n\n Returns:\n - dict: A dictionary containing the configuration options for the component.\n \"\"\"\n return {\n \"collection_name\": {\"display_name\": \"Collection Name\", \"value\": \"langflow\"},\n \"persist\": {\"display_name\": \"Persist\"},\n \"persist_directory\": {\"display_name\": \"Persist Directory\"},\n \"code\": {\"show\": False, \"display_name\": \"Code\"},\n \"documents\": {\"display_name\": \"Documents\", \"is_list\": True},\n \"embedding\": {\"display_name\": \"Embedding\"},\n \"chroma_server_cors_allow_origins\": {\n \"display_name\": \"Server CORS Allow Origins\",\n \"advanced\": True,\n },\n \"chroma_server_host\": {\"display_name\": \"Server Host\", \"advanced\": True},\n \"chroma_server_port\": {\"display_name\": \"Server Port\", \"advanced\": True},\n \"chroma_server_grpc_port\": {\n \"display_name\": \"Server gRPC Port\",\n \"advanced\": True,\n },\n \"chroma_server_ssl_enabled\": {\n \"display_name\": \"Server SSL Enabled\",\n \"advanced\": True,\n },\n }\n\n def build(\n self,\n collection_name: str,\n persist: bool,\n embedding: Embeddings,\n chroma_server_ssl_enabled: bool,\n persist_directory: Optional[str] = None,\n documents: Optional[List[Document]] = None,\n chroma_server_cors_allow_origins: Optional[str] = None,\n chroma_server_host: Optional[str] = None,\n chroma_server_port: Optional[int] = None,\n chroma_server_grpc_port: Optional[int] = None,\n ) -> Union[VectorStore, BaseRetriever]:\n \"\"\"\n Builds the Vector Store or BaseRetriever object.\n\n Args:\n - collection_name (str): The name of the collection.\n - persist_directory (Optional[str]): The directory to persist the Vector Store to.\n - chroma_server_ssl_enabled (bool): Whether to enable SSL for the Chroma server.\n - persist (bool): Whether to persist the Vector Store or not.\n - embedding (Optional[Embeddings]): The embeddings to use for the Vector Store.\n - documents (Optional[Document]): The documents to use for the Vector Store.\n - chroma_server_cors_allow_origins (Optional[str]): The CORS allow origins for the Chroma server.\n - chroma_server_host (Optional[str]): The host for the Chroma server.\n - chroma_server_port (Optional[int]): The port for the Chroma server.\n - chroma_server_grpc_port (Optional[int]): The gRPC port for the Chroma server.\n\n Returns:\n - Union[VectorStore, BaseRetriever]: The Vector Store or BaseRetriever object.\n \"\"\"\n\n # Chroma settings\n chroma_settings = None\n\n if chroma_server_host is not None:\n chroma_settings = chromadb.config.Settings(\n chroma_server_cors_allow_origins=chroma_server_cors_allow_origins or None,\n chroma_server_host=chroma_server_host,\n chroma_server_port=chroma_server_port or None,\n chroma_server_grpc_port=chroma_server_grpc_port or None,\n chroma_server_ssl_enabled=chroma_server_ssl_enabled,\n )\n\n # If documents, then we need to create a Chroma instance using .from_documents\n if documents is not None and embedding is not None:\n if len(documents) == 0:\n raise ValueError(\"If documents are provided, there must be at least one document.\")\n return Chroma.from_documents(\n documents=documents, # type: ignore\n persist_directory=persist_directory if persist else None,\n collection_name=collection_name,\n embedding=embedding,\n client_settings=chroma_settings,\n )\n\n return Chroma(persist_directory=persist_directory, client_settings=chroma_settings)\n",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "code",
"advanced": false,
"dynamic": true,
"info": ""
},
"collection_name": {
"type": "str",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "video",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "collection_name",
"display_name": "Collection Name",
"advanced": false,
"dynamic": false,
"info": ""
},
"persist": {
"type": "bool",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "persist",
"display_name": "Persist",
"advanced": false,
"dynamic": false,
"info": ""
},
"persist_directory": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "persist_directory",
"display_name": "Persist Directory",
"advanced": false,
"dynamic": false,
"info": ""
},
"_type": "CustomComponent"
},
"description": "Implementation of Vector Store using Chroma",
"base_classes": [
"VectorStore",
"BaseRetriever"
],
"display_name": "Chroma",
"documentation": "https://python.langchain.com/docs/integrations/vectorstores/chroma",
"custom_fields": {
"chroma_server_cors_allow_origins": null,
"chroma_server_grpc_port": null,
"chroma_server_host": null,
"chroma_server_port": null,
"chroma_server_ssl_enabled": null,
"collection_name": null,
"documents": null,
"embedding": null,
"persist": null,
"persist_directory": null
},
"output_types": [
"Chroma"
],
"field_formatters": {},
"beta": true
},
"id": "Chroma-OtYDg"
},
"selected": false,
"width": 384,
"height": 625,
"positionAbsolute": {
"x": -2194.2051907050227,
"y": -1370.1637632208287
},
"dragging": false
},
{
"id": "OpenAIEmbeddings-9yqtI",
"type": "genericNode",
"position": {
"x": -2653.011009324626,
"y": -1103.8414515074774
},
"data": {
"type": "OpenAIEmbeddings",
"node": {
"template": {
"allowed_special": {
"type": "str",
"required": false,
"placeholder": "",
"list": true,
"show": true,
"multiline": false,
"value": [],
"fileTypes": [],
"password": false,
"name": "allowed_special",
"advanced": true,
"dynamic": false,
"info": ""
},
"async_client": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "async_client",
"advanced": true,
"dynamic": false,
"info": ""
},
"chunk_size": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": 1000,
"fileTypes": [],
"password": false,
"name": "chunk_size",
"advanced": true,
"dynamic": false,
"info": ""
},
"client": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "client",
"advanced": true,
"dynamic": false,
"info": ""
},
"default_headers": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "default_headers",
"advanced": true,
"dynamic": false,
"info": ""
},
"default_query": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "default_query",
"advanced": true,
"dynamic": false,
"info": ""
},
"deployment": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "text-embedding-ada-002",
"fileTypes": [],
"password": false,
"name": "deployment",
"advanced": true,
"dynamic": false,
"info": ""
},
"disallowed_special": {
"type": "str",
"required": false,
"placeholder": "",
"list": true,
"show": true,
"multiline": false,
"value": "all",
"fileTypes": [],
"password": false,
"name": "disallowed_special",
"advanced": true,
"dynamic": false,
"info": ""
},
"embedding_ctx_length": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": 8191,
"fileTypes": [],
"password": false,
"name": "embedding_ctx_length",
"advanced": true,
"dynamic": false,
"info": ""
},
"headers": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": true,
"value": "{\"Authorization\": \"Bearer <token>\"}",
"fileTypes": [],
"password": false,
"name": "headers",
"advanced": true,
"dynamic": false,
"info": ""
},
"http_client": {
"type": "Any",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "http_client",
"advanced": true,
"dynamic": false,
"info": ""
},
"max_retries": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": 2,
"fileTypes": [],
"password": false,
"name": "max_retries",
"advanced": true,
"dynamic": false,
"info": ""
},
"model": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "text-embedding-ada-002",
"fileTypes": [],
"password": false,
"name": "model",
"advanced": true,
"dynamic": false,
"info": ""
},
"model_kwargs": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "model_kwargs",
"advanced": true,
"dynamic": false,
"info": ""
},
"openai_api_base": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": true,
"name": "openai_api_base",
"display_name": "OpenAI API Base",
"advanced": true,
"dynamic": false,
"info": "",
"value": ""
},
"openai_api_key": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "",
"fileTypes": [],
"password": true,
"name": "openai_api_key",
"display_name": "OpenAI API Key",
"advanced": false,
"dynamic": false,
"info": ""
},
"openai_api_type": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": true,
"name": "openai_api_type",
"display_name": "OpenAI API Type",
"advanced": true,
"dynamic": false,
"info": "",
"value": ""
},
"openai_api_version": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": true,
"name": "openai_api_version",
"display_name": "OpenAI API Version",
"advanced": true,
"dynamic": false,
"info": "",
"value": ""
},
"openai_organization": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "openai_organization",
"display_name": "OpenAI Organization",
"advanced": true,
"dynamic": false,
"info": ""
},
"openai_proxy": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "openai_proxy",
"display_name": "OpenAI Proxy",
"advanced": true,
"dynamic": false,
"info": ""
},
"request_timeout": {
"type": "float",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "request_timeout",
"advanced": true,
"dynamic": false,
"info": "",
"rangeSpec": {
"min": -1,
"max": 1,
"step": 0.1
}
},
"retry_max_seconds": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": 20,
"fileTypes": [],
"password": false,
"name": "retry_max_seconds",
"advanced": true,
"dynamic": false,
"info": ""
},
"retry_min_seconds": {
"type": "int",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": 4,
"fileTypes": [],
"password": false,
"name": "retry_min_seconds",
"advanced": true,
"dynamic": false,
"info": ""
},
"show_progress_bar": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": false,
"fileTypes": [],
"password": false,
"name": "show_progress_bar",
"advanced": true,
"dynamic": false,
"info": ""
},
"skip_empty": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": false,
"fileTypes": [],
"password": false,
"name": "skip_empty",
"advanced": true,
"dynamic": false,
"info": ""
},
"tiktoken_enabled": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "",
"fileTypes": [],
"password": true,
"name": "tiktoken_enabled",
"advanced": false,
"dynamic": false,
"info": ""
},
"tiktoken_model_name": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": true,
"name": "tiktoken_model_name",
"advanced": false,
"dynamic": false,
"info": "",
"value": ""
},
"_type": "OpenAIEmbeddings"
},
"description": "[*Deprecated*] OpenAI embedding models.",
"base_classes": [
"Embeddings",
"OpenAIEmbeddings"
],
"display_name": "OpenAIEmbeddings",
"documentation": "https://python.langchain.com/docs/modules/data_connection/text_embedding/integrations/openai",
"custom_fields": {},
"output_types": [],
"field_formatters": {},
"beta": false
},
"id": "OpenAIEmbeddings-9yqtI"
},
"selected": false,
"width": 384,
"height": 443,
"positionAbsolute": {
"x": -2653.011009324626,
"y": -1103.8414515074774
},
"dragging": false
},
{
"id": "RetrievalQA-DpylI",
"type": "genericNode",
"position": {
"x": -1757.239471200792,
"y": -1258.2132589352987
},
"data": {
"type": "RetrievalQA",
"node": {
"template": {
"callbacks": {
"type": "langchain_core.callbacks.base.BaseCallbackHandler",
"required": false,
"placeholder": "",
"list": true,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "callbacks",
"advanced": false,
"dynamic": false,
"info": ""
},
"combine_documents_chain": {
"type": "BaseCombineDocumentsChain",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "combine_documents_chain",
"advanced": false,
"dynamic": false,
"info": ""
},
"memory": {
"type": "BaseMemory",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "memory",
"advanced": false,
"dynamic": false,
"info": ""
},
"retriever": {
"type": "BaseRetriever",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "retriever",
"advanced": false,
"dynamic": false,
"info": ""
},
"input_key": {
"type": "str",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "query",
"fileTypes": [],
"password": false,
"name": "input_key",
"advanced": true,
"dynamic": false,
"info": ""
},
"metadata": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "metadata",
"advanced": false,
"dynamic": false,
"info": ""
},
"name": {
"type": "str",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "name",
"advanced": false,
"dynamic": false,
"info": ""
},
"output_key": {
"type": "str",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "result",
"fileTypes": [],
"password": false,
"name": "output_key",
"advanced": true,
"dynamic": false,
"info": ""
},
"return_source_documents": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": true,
"fileTypes": [],
"password": false,
"name": "return_source_documents",
"advanced": true,
"dynamic": false,
"info": ""
},
"tags": {
"type": "str",
"required": false,
"placeholder": "",
"list": true,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "tags",
"advanced": false,
"dynamic": false,
"info": ""
},
"verbose": {
"type": "bool",
"required": false,
"placeholder": "",
"list": false,
"show": false,
"multiline": false,
"fileTypes": [],
"password": false,
"name": "verbose",
"advanced": true,
"dynamic": false,
"info": ""
},
"_type": "RetrievalQA"
},
"description": "Chain for question-answering against an index.",
"base_classes": [
"Chain",
"RetrievalQA",
"BaseRetrievalQA",
"Callable"
],
"display_name": "RetrievalQA",
"documentation": "https://python.langchain.com/docs/modules/chains/popular/vector_db_qa",
"custom_fields": {},
"output_types": [],
"field_formatters": {},
"beta": false
},
"id": "RetrievalQA-DpylI"
},
"selected": false,
"width": 384,
"height": 339,
"positionAbsolute": {
"x": -1757.239471200792,
"y": -1258.2132589352987
},
"dragging": true
},
{
"id": "CombineDocsChain-afKOq",
"type": "genericNode",
"position": {
"x": -1775.9040057312934,
"y": -1644.0423777157919
},
"data": {
"type": "CombineDocsChain",
"node": {
"template": {
"llm": {
"type": "BaseLanguageModel",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"value": "",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "llm",
"display_name": "LLM",
"advanced": false,
"dynamic": false,
"info": ""
},
"chain_type": {
"type": "str",
"required": true,
"placeholder": "",
"list": true,
"show": true,
"multiline": false,
"value": "refine",
"fileTypes": [],
"file_path": "",
"password": false,
"options": [
"stuff",
"map_reduce",
"map_rerank",
"refine"
],
"name": "chain_type",
"advanced": false,
"dynamic": false,
"info": ""
},
"_type": "load_qa_chain"
},
"description": "Load question answering chain.",
"base_classes": [
"BaseCombineDocumentsChain",
"Callable"
],
"display_name": "CombineDocsChain",
"documentation": "",
"custom_fields": {},
"output_types": [],
"field_formatters": {},
"beta": false
},
"id": "CombineDocsChain-afKOq"
},
"selected": false,
"width": 384,
"height": 333,
"dragging": false,
"positionAbsolute": {
"x": -1775.9040057312934,
"y": -1644.0423777157919
}
},
{
"id": "SearchApi-kZmEj",
"type": "genericNode",
"position": {
"x": -3074.364183247263,
"y": -1782.5742787937606
},
"data": {
"type": "SearchApi",
"node": {
"template": {
"api_key": {
"type": "str",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": true,
"name": "api_key",
"display_name": "API Key",
"advanced": false,
"dynamic": false,
"info": "The API key to use SearchApi.",
"value": ""
},
"code": {
"type": "code",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": true,
"value": "from langflow.custom import CustomComponent\nfrom langchain.schema import Document\nfrom langflow.services.database.models.base import orjson_dumps\nfrom langchain_community.utilities.searchapi import SearchApiAPIWrapper\nfrom typing import Optional\n\n\nclass SearchApi(CustomComponent):\n display_name: str = \"SearchApi\"\n description: str = \"Real-time search engines API.\"\n output_types: list[str] = [\"Document\"]\n documentation: str = \"https://www.searchapi.io/docs/google\"\n field_config = {\n \"engine\": {\n \"display_name\": \"Engine\",\n \"field_type\": \"str\",\n \"info\": \"The search engine to use.\",\n },\n \"params\": {\n \"display_name\": \"Parameters\",\n \"info\": \"The parameters to send with the request.\",\n },\n \"code\": {\"show\": False},\n \"api_key\": {\n \"display_name\": \"API Key\",\n \"field_type\": \"str\",\n \"required\": True, \n \"password\": True,\n \"info\": \"The API key to use SearchApi.\",\n },\n }\n\n def build(\n self,\n engine: str,\n api_key: str,\n params: Optional[dict] = None,\n ) -> Document:\n if params is None:\n params = {}\n\n search_api_wrapper = SearchApiAPIWrapper(engine=engine, searchapi_api_key=api_key)\n\n query = params.pop(\"query\", \"default query\") \n results = search_api_wrapper.results(query, **params)\n\n result = orjson_dumps(results, indent_2=False)\n \n document = Document(page_content=result) \n\n return document",
"fileTypes": [],
"file_path": "",
"password": false,
"name": "code",
"advanced": false,
"dynamic": true,
"info": ""
},
"engine": {
"type": "str",
"required": true,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "engine",
"display_name": "Engine",
"advanced": false,
"dynamic": false,
"info": "The search engine to use.",
"value": "youtube_transcripts"
},
"params": {
"type": "dict",
"required": false,
"placeholder": "",
"list": false,
"show": true,
"multiline": false,
"fileTypes": [],
"file_path": "",
"password": false,
"name": "params",
"display_name": "Parameters",
"advanced": false,
"dynamic": false,
"info": "The parameters to send with the request.",
"value": [
{
"video_id": "krsBRQbOPQ4"
}
]
},
"_type": "CustomComponent"
},
"description": "Real-time search engines API.",
"base_classes": [
"Document"
],
"display_name": "SearchApi",
"documentation": "https://www.searchapi.io/docs/google",
"custom_fields": {
"api_key": null,
"engine": null,
"params": null
},
"output_types": [
"SearchApi"
],
"field_formatters": {},
"beta": true
},
"id": "SearchApi-kZmEj"
},
"selected": false,
"width": 384,
"height": 539,
"dragging": false,
"positionAbsolute": {
"x": -3074.364183247263,
"y": -1782.5742787937606
}
}
],
"edges": [
{
"source": "CharacterTextSplitter-WVMFU",
"sourceHandle": "{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œCharacterTextSplitterœ,œidœ:œCharacterTextSplitter-WVMFUœ}",
"target": "Chroma-OtYDg",
"targetHandle": "{œfieldNameœ:œdocumentsœ,œidœ:œChroma-OtYDgœ,œinputTypesœ:null,œtypeœ:œDocumentœ}",
"data": {
"targetHandle": {
"fieldName": "documents",
"id": "Chroma-OtYDg",
"inputTypes": null,
"type": "Document"
},
"sourceHandle": {
"baseClasses": [
"Document"
],
"dataType": "CharacterTextSplitter",
"id": "CharacterTextSplitter-WVMFU"
}
},
"style": {
"stroke": "#555"
},
"className": "stroke-gray-900 stroke-connection",
"animated": false,
"id": "reactflow__edge-CharacterTextSplitter-WVMFU{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œCharacterTextSplitterœ,œidœ:œCharacterTextSplitter-WVMFUœ}-Chroma-OtYDg{œfieldNameœ:œdocumentsœ,œidœ:œChroma-OtYDgœ,œinputTypesœ:null,œtypeœ:œDocumentœ}"
},
{
"source": "OpenAIEmbeddings-9yqtI",
"sourceHandle": "{œbaseClassesœ:[œEmbeddingsœ,œOpenAIEmbeddingsœ],œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-9yqtIœ}",
"target": "Chroma-OtYDg",
"targetHandle": "{œfieldNameœ:œembeddingœ,œidœ:œChroma-OtYDgœ,œinputTypesœ:null,œtypeœ:œEmbeddingsœ}",
"data": {
"targetHandle": {
"fieldName": "embedding",
"id": "Chroma-OtYDg",
"inputTypes": null,
"type": "Embeddings"
},
"sourceHandle": {
"baseClasses": [
"Embeddings",
"OpenAIEmbeddings"
],
"dataType": "OpenAIEmbeddings",
"id": "OpenAIEmbeddings-9yqtI"
}
},
"style": {
"stroke": "#555"
},
"className": "stroke-gray-900 stroke-connection",
"animated": false,
"id": "reactflow__edge-OpenAIEmbeddings-9yqtI{œbaseClassesœ:[œEmbeddingsœ,œOpenAIEmbeddingsœ],œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-9yqtIœ}-Chroma-OtYDg{œfieldNameœ:œembeddingœ,œidœ:œChroma-OtYDgœ,œinputTypesœ:null,œtypeœ:œEmbeddingsœ}"
},
{
"source": "Chroma-OtYDg",
"sourceHandle": "{œbaseClassesœ:[œVectorStoreœ,œBaseRetrieverœ],œdataTypeœ:œChromaœ,œidœ:œChroma-OtYDgœ}",
"target": "RetrievalQA-DpylI",
"targetHandle": "{œfieldNameœ:œretrieverœ,œidœ:œRetrievalQA-DpylIœ,œinputTypesœ:null,œtypeœ:œBaseRetrieverœ}",
"data": {
"targetHandle": {
"fieldName": "retriever",
"id": "RetrievalQA-DpylI",
"inputTypes": null,
"type": "BaseRetriever"
},
"sourceHandle": {
"baseClasses": [
"VectorStore",
"BaseRetriever"
],
"dataType": "Chroma",
"id": "Chroma-OtYDg"
}
},
"style": {
"stroke": "#555"
},
"className": "stroke-gray-900 stroke-connection",
"animated": false,
"id": "reactflow__edge-Chroma-OtYDg{œbaseClassesœ:[œVectorStoreœ,œBaseRetrieverœ],œdataTypeœ:œChromaœ,œidœ:œChroma-OtYDgœ}-RetrievalQA-DpylI{œfieldNameœ:œretrieverœ,œidœ:œRetrievalQA-DpylIœ,œinputTypesœ:null,œtypeœ:œBaseRetrieverœ}"
},
{
"source": "ChatOpenAI-4Mfuz",
"sourceHandle": "{œbaseClassesœ:[œBaseLanguageModelœ,œBaseChatModelœ,œChatOpenAIœ,œBaseLLMœ],œdataTypeœ:œChatOpenAIœ,œidœ:œChatOpenAI-4Mfuzœ}",
"target": "CombineDocsChain-afKOq",
"targetHandle": "{œfieldNameœ:œllmœ,œidœ:œCombineDocsChain-afKOqœ,œinputTypesœ:null,œtypeœ:œBaseLanguageModelœ}",
"data": {
"targetHandle": {
"fieldName": "llm",
"id": "CombineDocsChain-afKOq",
"inputTypes": null,
"type": "BaseLanguageModel"
},
"sourceHandle": {
"baseClasses": [
"BaseLanguageModel",
"BaseChatModel",
"ChatOpenAI",
"BaseLLM"
],
"dataType": "ChatOpenAI",
"id": "ChatOpenAI-4Mfuz"
}
},
"style": {
"stroke": "#555"
},
"className": "stroke-gray-900 stroke-connection",
"animated": false,
"id": "reactflow__edge-ChatOpenAI-4Mfuz{œbaseClassesœ:[œBaseLanguageModelœ,œBaseChatModelœ,œChatOpenAIœ,œBaseLLMœ],œdataTypeœ:œChatOpenAIœ,œidœ:œChatOpenAI-4Mfuzœ}-CombineDocsChain-afKOq{œfieldNameœ:œllmœ,œidœ:œCombineDocsChain-afKOqœ,œinputTypesœ:null,œtypeœ:œBaseLanguageModelœ}"
},
{
"source": "CombineDocsChain-afKOq",
"sourceHandle": "{œbaseClassesœ:[œBaseCombineDocumentsChainœ,œCallableœ],œdataTypeœ:œCombineDocsChainœ,œidœ:œCombineDocsChain-afKOqœ}",
"target": "RetrievalQA-DpylI",
"targetHandle": "{œfieldNameœ:œcombine_documents_chainœ,œidœ:œRetrievalQA-DpylIœ,œinputTypesœ:null,œtypeœ:œBaseCombineDocumentsChainœ}",
"data": {
"targetHandle": {
"fieldName": "combine_documents_chain",
"id": "RetrievalQA-DpylI",
"inputTypes": null,
"type": "BaseCombineDocumentsChain"
},
"sourceHandle": {
"baseClasses": [
"BaseCombineDocumentsChain",
"Callable"
],
"dataType": "CombineDocsChain",
"id": "CombineDocsChain-afKOq"
}
},
"style": {
"stroke": "#555"
},
"className": "stroke-gray-900 stroke-connection",
"animated": false,
"id": "reactflow__edge-CombineDocsChain-afKOq{œbaseClassesœ:[œBaseCombineDocumentsChainœ,œCallableœ],œdataTypeœ:œCombineDocsChainœ,œidœ:œCombineDocsChain-afKOqœ}-RetrievalQA-DpylI{œfieldNameœ:œcombine_documents_chainœ,œidœ:œRetrievalQA-DpylIœ,œinputTypesœ:null,œtypeœ:œBaseCombineDocumentsChainœ}"
},
{
"source": "SearchApi-kZmEj",
"sourceHandle": "{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œSearchApiœ,œidœ:œSearchApi-kZmEjœ}",
"target": "CharacterTextSplitter-WVMFU",
"targetHandle": "{œfieldNameœ:œdocumentsœ,œidœ:œCharacterTextSplitter-WVMFUœ,œinputTypesœ:null,œtypeœ:œDocumentœ}",
"data": {
"targetHandle": {
"fieldName": "documents",
"id": "CharacterTextSplitter-WVMFU",
"inputTypes": null,
"type": "Document"
},
"sourceHandle": {
"baseClasses": [
"Document"
],
"dataType": "SearchApi",
"id": "SearchApi-kZmEj"
}
},
"style": {
"stroke": "#555"
},
"className": "stroke-gray-900 stroke-connection",
"animated": false,
"id": "reactflow__edge-SearchApi-kZmEj{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œSearchApiœ,œidœ:œSearchApi-kZmEjœ}-CharacterTextSplitter-WVMFU{œfieldNameœ:œdocumentsœ,œidœ:œCharacterTextSplitter-WVMFUœ,œinputTypesœ:null,œtypeœ:œDocumentœ}"
}
],
"viewport": {
"x": 2046.3642433866817,
"y": 1270.2852546488134,
"zoom": 0.6177254407441625
}
},
"description": "Real-time Google Search engine q&a.",
"name": "SearchApi Tool",
"last_tested_version": "0.6.5a9",
"is_component": false
}