Update documentQA

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-06-21 12:40:56 -03:00
commit 40ad4b63bb

View file

@ -2,10 +2,11 @@
"data": { "data": {
"edges": [ "edges": [
{ {
"className": "",
"data": { "data": {
"sourceHandle": { "sourceHandle": {
"dataType": "File", "dataType": "File",
"id": "File-BzIs2", "id": "File-z24tW",
"name": "data", "name": "data",
"output_types": [ "output_types": [
"Data" "Data"
@ -13,7 +14,7 @@
}, },
"targetHandle": { "targetHandle": {
"fieldName": "Document", "fieldName": "Document",
"id": "Prompt-9DNZG", "id": "Prompt-ws12t",
"inputTypes": [ "inputTypes": [
"Document", "Document",
"Message", "Message",
@ -23,17 +24,18 @@
"type": "str" "type": "str"
} }
}, },
"id": "reactflow__edge-File-BzIs2{œdataTypeœ:œFileœ,œidœ:œFile-BzIs2œ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-Prompt-9DNZG{œfieldNameœ:œDocumentœ,œidœ:œPrompt-9DNZGœ,œinputTypesœ:[œDocumentœ,œMessageœ,œDataœ,œTextœ],œtypeœ:œstrœ}", "id": "reactflow__edge-File-z24tW{œdataTypeœ:œFileœ,œidœ:œFile-z24tWœ,œnameœ:œdataœ,œoutput_typesœ:[œDataœ]}-Prompt-ws12t{œfieldNameœ:œDocumentœ,œidœ:œPrompt-ws12tœ,œinputTypesœ:[œDocumentœ,œMessageœ,œDataœ,œTextœ],œtypeœ:œstrœ}",
"source": "File-BzIs2", "source": "File-z24tW",
"sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-BzIs2œ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}", "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-z24tWœ, œnameœ: œdataœ, œoutput_typesœ: [œDataœ]}",
"target": "Prompt-9DNZG", "target": "Prompt-ws12t",
"targetHandle": "{œfieldNameœ: œDocumentœ, œidœ: œPrompt-9DNZGœ, œinputTypesœ: [œDocumentœ, œMessageœ, œDataœ, œTextœ], œtypeœ: œstrœ}" "targetHandle": "{œfieldNameœ: œDocumentœ, œidœ: œPrompt-ws12tœ, œinputTypesœ: [œDocumentœ, œMessageœ, œDataœ, œTextœ], œtypeœ: œstrœ}"
}, },
{ {
"className": "",
"data": { "data": {
"sourceHandle": { "sourceHandle": {
"dataType": "ChatInput", "dataType": "ChatInput",
"id": "ChatInput-27Usy", "id": "ChatInput-YMjNE",
"name": "message", "name": "message",
"output_types": [ "output_types": [
"Message" "Message"
@ -41,7 +43,7 @@
}, },
"targetHandle": { "targetHandle": {
"fieldName": "Question", "fieldName": "Question",
"id": "Prompt-9DNZG", "id": "Prompt-ws12t",
"inputTypes": [ "inputTypes": [
"Document", "Document",
"Message", "Message",
@ -51,17 +53,18 @@
"type": "str" "type": "str"
} }
}, },
"id": "reactflow__edge-ChatInput-27Usy{œdataTypeœ:œChatInputœ,œidœ:œChatInput-27Usyœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-9DNZG{œfieldNameœ:œQuestionœ,œidœ:œPrompt-9DNZGœ,œinputTypesœ:[œDocumentœ,œMessageœ,œDataœ,œTextœ],œtypeœ:œstrœ}", "id": "reactflow__edge-ChatInput-YMjNE{œdataTypeœ:œChatInputœ,œidœ:œChatInput-YMjNEœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-ws12t{œfieldNameœ:œQuestionœ,œidœ:œPrompt-ws12tœ,œinputTypesœ:[œDocumentœ,œMessageœ,œDataœ,œTextœ],œtypeœ:œstrœ}",
"source": "ChatInput-27Usy", "source": "ChatInput-YMjNE",
"sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-27Usyœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}", "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-YMjNEœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
"target": "Prompt-9DNZG", "target": "Prompt-ws12t",
"targetHandle": "{œfieldNameœ: œQuestionœ, œidœ: œPrompt-9DNZGœ, œinputTypesœ: [œDocumentœ, œMessageœ, œDataœ, œTextœ], œtypeœ: œstrœ}" "targetHandle": "{œfieldNameœ: œQuestionœ, œidœ: œPrompt-ws12tœ, œinputTypesœ: [œDocumentœ, œMessageœ, œDataœ, œTextœ], œtypeœ: œstrœ}"
}, },
{ {
"className": "",
"data": { "data": {
"sourceHandle": { "sourceHandle": {
"dataType": "Prompt", "dataType": "Prompt",
"id": "Prompt-9DNZG", "id": "Prompt-ws12t",
"name": "prompt", "name": "prompt",
"output_types": [ "output_types": [
"Message" "Message"
@ -69,24 +72,25 @@
}, },
"targetHandle": { "targetHandle": {
"fieldName": "input_value", "fieldName": "input_value",
"id": "OpenAIModel-8b6nG", "id": "OpenAIModel-AdQdh",
"inputTypes": [ "inputTypes": [
"Message" "Message"
], ],
"type": "str" "type": "str"
} }
}, },
"id": "reactflow__edge-Prompt-9DNZG{œdataTypeœ:œPromptœ,œidœ:œPrompt-9DNZGœ,œnameœ:œpromptœ,œoutput_typesœ:[œPromptœ]}-OpenAIModel-8b6nG{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-8b6nGœ,œinputTypesœ:[œTextœ,œDataœ,œPromptœ],œtypeœ:œstrœ}", "id": "reactflow__edge-Prompt-ws12t{œdataTypeœ:œPromptœ,œidœ:œPrompt-ws12tœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-AdQdh{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-AdQdhœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
"source": "Prompt-9DNZG", "source": "Prompt-ws12t",
"sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-9DNZGœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}", "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-ws12tœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}",
"target": "OpenAIModel-8b6nG", "target": "OpenAIModel-AdQdh",
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-8b6nGœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}" "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-AdQdhœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
}, },
{ {
"className": "",
"data": { "data": {
"sourceHandle": { "sourceHandle": {
"dataType": "OpenAIModel", "dataType": "OpenAIModel",
"id": "OpenAIModel-8b6nG", "id": "OpenAIModel-AdQdh",
"name": "text_output", "name": "text_output",
"output_types": [ "output_types": [
"Message" "Message"
@ -94,7 +98,7 @@
}, },
"targetHandle": { "targetHandle": {
"fieldName": "input_value", "fieldName": "input_value",
"id": "ChatOutput-y4SCS", "id": "ChatOutput-bSlkp",
"inputTypes": [ "inputTypes": [
"Message", "Message",
"str" "str"
@ -102,11 +106,11 @@
"type": "str" "type": "str"
} }
}, },
"id": "reactflow__edge-OpenAIModel-8b6nG{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-8b6nGœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œTextœ]}-ChatOutput-y4SCS{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-y4SCSœ,œinputTypesœ:[œTextœ,œMessageœ],œtypeœ:œstrœ}", "id": "reactflow__edge-OpenAIModel-AdQdh{œdataTypeœ:œOpenAIModelœ,œidœ:œOpenAIModel-AdQdhœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-bSlkp{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-bSlkpœ,œinputTypesœ:[œMessageœ,œstrœ],œtypeœ:œstrœ}",
"source": "OpenAIModel-8b6nG", "source": "OpenAIModel-AdQdh",
"sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-8b6nGœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}", "sourceHandle": "{œdataTypeœ: œOpenAIModelœ, œidœ: œOpenAIModel-AdQdhœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
"target": "ChatOutput-y4SCS", "target": "ChatOutput-bSlkp",
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-y4SCSœ, œinputTypesœ: [œMessageœ, œstrœ], œtypeœ: œstrœ}" "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-bSlkpœ, œinputTypesœ: [œMessageœ, œstrœ], œtypeœ: œstrœ}"
} }
], ],
"nodes": [ "nodes": [
@ -114,7 +118,7 @@
"data": { "data": {
"description": "Create a prompt template with dynamic variables.", "description": "Create a prompt template with dynamic variables.",
"display_name": "Prompt", "display_name": "Prompt",
"id": "Prompt-9DNZG", "id": "Prompt-ws12t",
"node": { "node": {
"base_classes": [ "base_classes": [
"object", "object",
@ -255,8 +259,8 @@
"type": "Prompt" "type": "Prompt"
}, },
"dragging": false, "dragging": false,
"height": 573, "height": 525,
"id": "Prompt-9DNZG", "id": "Prompt-ws12t",
"position": { "position": {
"x": 585.7906101139403, "x": 585.7906101139403,
"y": 117.52115876762832 "y": 117.52115876762832
@ -271,7 +275,7 @@
}, },
{ {
"data": { "data": {
"id": "ChatInput-27Usy", "id": "ChatInput-YMjNE",
"node": { "node": {
"base_classes": [ "base_classes": [
"str", "str",
@ -349,7 +353,7 @@
"show": true, "show": true,
"title_case": false, "title_case": false,
"type": "str", "type": "str",
"value": "" "value": "what is this?"
}, },
"sender": { "sender": {
"advanced": true, "advanced": true,
@ -428,8 +432,8 @@
"type": "ChatInput" "type": "ChatInput"
}, },
"dragging": false, "dragging": false,
"height": 301, "height": 309,
"id": "ChatInput-27Usy", "id": "ChatInput-YMjNE",
"position": { "position": {
"x": -38.501719080514135, "x": -38.501719080514135,
"y": 379.81180230285355 "y": 379.81180230285355
@ -444,7 +448,7 @@
}, },
{ {
"data": { "data": {
"id": "ChatOutput-y4SCS", "id": "ChatOutput-bSlkp",
"node": { "node": {
"base_classes": [ "base_classes": [
"str", "str",
@ -602,7 +606,7 @@
}, },
"dragging": false, "dragging": false,
"height": 309, "height": 309,
"id": "ChatOutput-y4SCS", "id": "ChatOutput-bSlkp",
"position": { "position": {
"x": 1733.3012915204283, "x": 1733.3012915204283,
"y": 168.76098809939327 "y": 168.76098809939327
@ -619,7 +623,7 @@
"data": { "data": {
"description": "A generic file loader.", "description": "A generic file loader.",
"display_name": "File", "display_name": "File",
"id": "File-BzIs2", "id": "File-z24tW",
"node": { "node": {
"base_classes": [ "base_classes": [
"Data" "Data"
@ -696,7 +700,7 @@
"ts", "ts",
"tsx" "tsx"
], ],
"file_path": "cd558bbb-10b7-4c22-a7ad-3739f26b4bd7/Climate Prediction Updated.json", "file_path": "e56e0529-7225-4f6c-9144-5ad0806f5fed/Math Router.json",
"info": "Supported file types: txt, md, mdx, csv, json, yaml, yml, xml, html, htm, pdf, docx, py, sh, sql, js, ts, tsx", "info": "Supported file types: txt, md, mdx, csv, json, yaml, yml, xml, html, htm, pdf, docx, py, sh, sql, js, ts, tsx",
"list": false, "list": false,
"name": "path", "name": "path",
@ -727,13 +731,13 @@
}, },
"dragging": false, "dragging": false,
"height": 301, "height": 301,
"id": "File-BzIs2", "id": "File-z24tW",
"position": { "position": {
"x": -44.56084223565597, "x": -37.064128418041946,
"y": 39.0475820447775 "y": 39.0475820447775
}, },
"positionAbsolute": { "positionAbsolute": {
"x": -44.56084223565597, "x": -37.064128418041946,
"y": 39.0475820447775 "y": 39.0475820447775
}, },
"selected": true, "selected": true,
@ -742,11 +746,14 @@
}, },
{ {
"data": { "data": {
"id": "OpenAIModel-8b6nG", "description": "Generates text using OpenAI LLMs.",
"display_name": "OpenAI",
"edited": false,
"id": "OpenAIModel-AdQdh",
"node": { "node": {
"base_classes": [ "base_classes": [
"BaseLanguageModel", "LanguageModel",
"Text" "Message"
], ],
"beta": false, "beta": false,
"conditional_paths": [], "conditional_paths": [],
@ -754,16 +761,19 @@
"description": "Generates text using OpenAI LLMs.", "description": "Generates text using OpenAI LLMs.",
"display_name": "OpenAI", "display_name": "OpenAI",
"documentation": "", "documentation": "",
"edited": true,
"field_order": [ "field_order": [
"input_value", "input_value",
"max_tokens", "max_tokens",
"model_kwargs", "model_kwargs",
"output_schema",
"model_name", "model_name",
"openai_api_base", "openai_api_base",
"openai_api_key", "openai_api_key",
"temperature", "temperature",
"stream", "stream",
"system_message" "system_message",
"seed"
], ],
"frozen": false, "frozen": false,
"icon": "OpenAI", "icon": "OpenAI",
@ -811,7 +821,7 @@
"show": true, "show": true,
"title_case": false, "title_case": false,
"type": "code", "type": "code",
"value": "import operator\nfrom functools import reduce\n\nfrom langchain_openai import ChatOpenAI\nfrom pydantic.v1 import SecretStr\n\nfrom langflow.base.constants import STREAM_INFO_TEXT\nfrom langflow.base.models.model import LCModelComponent\nfrom langflow.base.models.openai_constants import MODEL_NAMES\nfrom langflow.field_typing import LanguageModel\nfrom langflow.inputs import (\n BoolInput,\n DictInput,\n DropdownInput,\n FloatInput,\n IntInput,\n MessageInput,\n SecretStrInput,\n StrInput,\n)\nfrom langflow.schema.message import Message\nfrom langflow.template import Output\n\n\nclass OpenAIModelComponent(LCModelComponent):\n display_name = \"OpenAI\"\n description = \"Generates text using OpenAI LLMs.\"\n icon = \"OpenAI\"\n\n inputs = [\n MessageInput(name=\"input_value\", display_name=\"Input\"),\n IntInput(\n name=\"max_tokens\",\n display_name=\"Max Tokens\",\n advanced=True,\n info=\"The maximum number of tokens to generate. Set to 0 for unlimited tokens.\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n DictInput(\n name=\"output_schema\",\n is_list=True,\n display_name=\"Schema\",\n advanced=True,\n info=\"The schema for the Output of the model. You must pass the word JSON in the prompt. If left blank, JSON mode will be disabled.\",\n ),\n DropdownInput(\n name=\"model_name\", display_name=\"Model Name\", advanced=False, options=MODEL_NAMES, value=MODEL_NAMES[0]\n ),\n StrInput(\n name=\"openai_api_base\",\n display_name=\"OpenAI API Base\",\n advanced=True,\n info=\"The base URL of the OpenAI API. Defaults to https://api.openai.com/v1. You can change this to use other APIs like JinaChat, LocalAI and Prem.\",\n ),\n SecretStrInput(\n name=\"openai_api_key\",\n display_name=\"OpenAI API Key\",\n info=\"The OpenAI API Key to use for the OpenAI model.\",\n advanced=False,\n value=\"OPENAI_API_KEY\",\n ),\n FloatInput(name=\"temperature\", display_name=\"Temperature\", value=0.1),\n BoolInput(name=\"stream\", display_name=\"Stream\", info=STREAM_INFO_TEXT, advanced=True),\n StrInput(\n name=\"system_message\",\n display_name=\"System Message\",\n info=\"System message to pass to the model.\",\n advanced=True,\n ),\n IntInput(\n name=\"seed\",\n display_name=\"Seed\",\n info=\"The seed controls the reproducibility of the job.\",\n advanced=True,\n value=1,\n ),\n ]\n outputs = [\n Output(display_name=\"Text\", name=\"text_output\", method=\"text_response\"),\n Output(display_name=\"Language Model\", name=\"model_output\", method=\"build_model\"),\n ]\n\n def text_response(self) -> Message:\n input_value = self.input_value\n stream = self.stream\n system_message = self.system_message\n output = self.build_model()\n result = self.get_chat_result(output, stream, input_value, system_message)\n self.status = result\n return result\n\n def build_model(self) -> LanguageModel:\n # self.output_schea is a list of dictionaries\n # let's convert it to a dictionary\n output_schema_dict: dict[str, str] = reduce(operator.ior, self.output_schema or {}, {})\n openai_api_key = self.openai_api_key\n temperature = self.temperature\n model_name: str = self.model_name\n max_tokens = self.max_tokens\n model_kwargs = self.model_kwargs\n openai_api_base = self.openai_api_base or \"https://api.openai.com/v1\"\n json_mode = bool(output_schema_dict)\n seed = self.seed\n if openai_api_key:\n api_key = SecretStr(openai_api_key)\n else:\n api_key = None\n output = ChatOpenAI(\n max_tokens=max_tokens or None,\n model_kwargs=model_kwargs or {},\n model=model_name,\n base_url=openai_api_base,\n api_key=api_key,\n temperature=temperature or 0.1,\n seed=seed,\n )\n if json_mode:\n output = output.with_structured_output(schema=output_schema_dict, method=\"json_mode\")\n\n return output\n" "value": "import operator\nfrom functools import reduce\n\nfrom langchain_openai import ChatOpenAI\nfrom pydantic.v1 import SecretStr\n\nfrom langflow.base.constants import STREAM_INFO_TEXT\nfrom langflow.base.models.model import LCModelComponent\nfrom langflow.base.models.openai_constants import MODEL_NAMES\nfrom langflow.field_typing import LanguageModel\nfrom langflow.inputs import (\n BoolInput,\n DictInput,\n DropdownInput,\n FloatInput,\n IntInput,\n MessageInput,\n SecretStrInput,\n StrInput,\n)\n\n\nclass OpenAIModelComponent(LCModelComponent):\n display_name = \"OpenAI\"\n description = \"Generates text using OpenAI LLMs.\"\n icon = \"OpenAI\"\n\n inputs = [\n MessageInput(name=\"input_value\", display_name=\"Input\"),\n IntInput(\n name=\"max_tokens\",\n display_name=\"Max Tokens\",\n advanced=True,\n info=\"The maximum number of tokens to generate. Set to 0 for unlimited tokens.\",\n ),\n DictInput(name=\"model_kwargs\", display_name=\"Model Kwargs\", advanced=True),\n DictInput(\n name=\"output_schema\",\n is_list=True,\n display_name=\"Schema\",\n advanced=True,\n info=\"The schema for the Output of the model. You must pass the word JSON in the prompt. If left blank, JSON mode will be disabled.\",\n ),\n DropdownInput(\n name=\"model_name\", display_name=\"Model Name\", advanced=False, options=MODEL_NAMES, value=MODEL_NAMES[0]\n ),\n StrInput(\n name=\"openai_api_base\",\n display_name=\"OpenAI API Base\",\n advanced=True,\n info=\"The base URL of the OpenAI API. Defaults to https://api.openai.com/v1. You can change this to use other APIs like JinaChat, LocalAI and Prem.\",\n ),\n SecretStrInput(\n name=\"openai_api_key\",\n display_name=\"OpenAI API Key\",\n info=\"The OpenAI API Key to use for the OpenAI model.\",\n advanced=False,\n value=\"OPENAI_API_KEY\",\n ),\n FloatInput(name=\"temperature\", display_name=\"Temperature\", value=0.1),\n BoolInput(name=\"stream\", display_name=\"Stream\", info=STREAM_INFO_TEXT, advanced=True),\n StrInput(\n name=\"system_message\",\n display_name=\"System Message\",\n info=\"System message to pass to the model.\",\n advanced=True,\n ),\n IntInput(\n name=\"seed\",\n display_name=\"Seed\",\n info=\"The seed controls the reproducibility of the job.\",\n advanced=True,\n value=1,\n ),\n ]\n\n def build_model(self) -> LanguageModel:\n # self.output_schea is a list of dictionaries\n # let's convert it to a dictionary\n output_schema_dict: dict[str, str] = reduce(operator.ior, self.output_schema or {}, {})\n openai_api_key = self.openai_api_key\n temperature = self.temperature\n model_name: str = self.model_name\n max_tokens = self.max_tokens\n model_kwargs = self.model_kwargs or {}\n openai_api_base = self.openai_api_base or \"https://api.openai.com/v1\"\n json_mode = bool(output_schema_dict)\n seed = self.seed\n model_kwargs[\"seed\"] = seed\n\n if openai_api_key:\n api_key = SecretStr(openai_api_key)\n else:\n api_key = None\n output = ChatOpenAI(\n max_tokens=max_tokens or None,\n model_kwargs=model_kwargs,\n model=model_name,\n base_url=openai_api_base,\n api_key=api_key,\n temperature=temperature or 0.1,\n )\n if json_mode:\n output = output.with_structured_output(schema=output_schema_dict, method=\"json_mode\") # type: ignore\n\n return output\n\n def _get_exception_message(self, e: Exception):\n \"\"\"\n Get a message from an OpenAI exception.\n\n Args:\n exception (Exception): The exception to get the message from.\n\n Returns:\n str: The message from the exception.\n \"\"\"\n\n try:\n from openai import BadRequestError\n except ImportError:\n return\n if isinstance(e, BadRequestError):\n message = e.body.get(\"message\") # type: ignore\n if message:\n return message\n return\n"
}, },
"input_value": { "input_value": {
"advanced": false, "advanced": false,
@ -842,7 +852,8 @@
"required": false, "required": false,
"show": true, "show": true,
"title_case": false, "title_case": false,
"type": "int" "type": "int",
"value": ""
}, },
"model_kwargs": { "model_kwargs": {
"advanced": true, "advanced": true,
@ -855,7 +866,8 @@
"required": false, "required": false,
"show": true, "show": true,
"title_case": false, "title_case": false,
"type": "dict" "type": "dict",
"value": {}
}, },
"model_name": { "model_name": {
"advanced": false, "advanced": false,
@ -906,7 +918,35 @@
"show": true, "show": true,
"title_case": false, "title_case": false,
"type": "str", "type": "str",
"value": "OPENAI_API_KEY" "value": ""
},
"output_schema": {
"advanced": true,
"display_name": "Schema",
"dynamic": false,
"info": "The schema for the Output of the model. You must pass the word JSON in the prompt. If left blank, JSON mode will be disabled.",
"list": true,
"name": "output_schema",
"placeholder": "",
"required": false,
"show": true,
"title_case": false,
"type": "dict",
"value": {}
},
"seed": {
"advanced": true,
"display_name": "Seed",
"dynamic": false,
"info": "The seed controls the reproducibility of the job.",
"list": false,
"name": "seed",
"placeholder": "",
"required": false,
"show": true,
"title_case": false,
"type": "int",
"value": 1
}, },
"stream": { "stream": {
"advanced": true, "advanced": true,
@ -957,7 +997,7 @@
}, },
"dragging": false, "dragging": false,
"height": 623, "height": 623,
"id": "OpenAIModel-8b6nG", "id": "OpenAIModel-AdQdh",
"position": { "position": {
"x": 1141.7303854551026, "x": 1141.7303854551026,
"y": -51.19892217231286 "y": -51.19892217231286
@ -972,14 +1012,15 @@
} }
], ],
"viewport": { "viewport": {
"x": 198.5801484914205, "x": 91.58014849142035,
"y": 244.8736279905512, "y": 287.8736279905512,
"zoom": 0.5335671198494703 "zoom": 0.5335671198494703
} }
}, },
"description": "This flow integrates PDF reading with a language model to answer document-specific questions. Ideal for small-scale texts, it facilitates direct queries with immediate insights.", "description": "This flow integrates PDF reading with a language model to answer document-specific questions. Ideal for small-scale texts, it facilitates direct queries with immediate insights.",
"id": "cd558bbb-10b7-4c22-a7ad-3739f26b4bd7", "endpoint_name": null,
"id": "e56e0529-7225-4f6c-9144-5ad0806f5fed",
"is_component": false, "is_component": false,
"last_tested_version": "1.0.0a52", "last_tested_version": "1.0.0a61",
"name": "Document QA" "name": "Document QA"
} }