diff --git a/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts
new file mode 100644
index 00000000000..9efe602fb10
--- /dev/null
+++ b/packages/components/nodes/agents/OpenAIFunctionAgent/OpenAIFunctionAgent.ts
@@ -0,0 +1,69 @@
+import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface'
+import { initializeAgentExecutorWithOptions, AgentExecutor } from 'langchain/agents'
+import { Tool } from 'langchain/tools'
+import { CustomChainHandler, getBaseClasses } from '../../../src/utils'
+import { BaseLanguageModel } from 'langchain/base_language'
+import { flatten } from 'lodash'
+
+class OpenAIFunctionAgent_Agents implements INode {
+ label: string
+ name: string
+ description: string
+ type: string
+ icon: string
+ category: string
+ baseClasses: string[]
+ inputs: INodeParams[]
+
+ constructor() {
+ this.label = 'OpenAI Function Agent'
+ this.name = 'openAIFunctionAgent'
+ this.type = 'AgentExecutor'
+ this.category = 'Agents'
+ this.icon = 'openai.png'
+ this.description = `An agent that uses OpenAI's Function Calling functionality to pick the tool and args to call`
+ this.baseClasses = [this.type, ...getBaseClasses(AgentExecutor)]
+ this.inputs = [
+ {
+ label: 'Allowed Tools',
+ name: 'tools',
+ type: 'Tool',
+ list: true
+ },
+ {
+ label: 'OpenAI Chat Model',
+ name: 'model',
+ description:
+ 'Only works with gpt-3.5-turbo-0613 and gpt-4-0613. Refer docs for more info',
+ type: 'BaseChatModel'
+ }
+ ]
+ }
+
+ async init(nodeData: INodeData): Promise {
+ const model = nodeData.inputs?.model as BaseLanguageModel
+ let tools = nodeData.inputs?.tools as Tool[]
+ tools = flatten(tools)
+
+ const executor = await initializeAgentExecutorWithOptions(tools, model, {
+ agentType: 'openai-functions',
+ verbose: process.env.DEBUG === 'true' ? true : false
+ })
+ return executor
+ }
+
+ async run(nodeData: INodeData, input: string, options: ICommonObject): Promise {
+ const executor = nodeData.instance as AgentExecutor
+
+ if (options.socketIO && options.socketIOClientId) {
+ const handler = new CustomChainHandler(options.socketIO, options.socketIOClientId)
+ const result = await executor.run(input, [handler])
+ return result
+ } else {
+ const result = await executor.run(input)
+ return result
+ }
+ }
+}
+
+module.exports = { nodeClass: OpenAIFunctionAgent_Agents }
diff --git a/packages/components/nodes/agents/OpenAIFunctionAgent/openai.png b/packages/components/nodes/agents/OpenAIFunctionAgent/openai.png
new file mode 100644
index 00000000000..de08a05b289
Binary files /dev/null and b/packages/components/nodes/agents/OpenAIFunctionAgent/openai.png differ
diff --git a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts
index f07fce60d5a..7ddb17afa99 100644
--- a/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts
+++ b/packages/components/nodes/chatmodels/ChatOpenAI/ChatOpenAI.ts
@@ -43,6 +43,10 @@ class ChatOpenAI_ChatModels implements INode {
label: 'gpt-4-32k-0314',
name: 'gpt-4-32k-0314'
},
+ {
+ label: 'gpt-4-0613',
+ name: 'gpt-4-0613'
+ },
{
label: 'gpt-3.5-turbo',
name: 'gpt-3.5-turbo'
@@ -50,6 +54,10 @@ class ChatOpenAI_ChatModels implements INode {
{
label: 'gpt-3.5-turbo-0301',
name: 'gpt-3.5-turbo-0301'
+ },
+ {
+ label: 'gpt-3.5-turbo-0613',
+ name: 'gpt-3.5-turbo-0613'
}
],
default: 'gpt-3.5-turbo',
diff --git a/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts b/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts
index 849f5946dec..d16e32e6eb4 100644
--- a/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts
+++ b/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts
@@ -1,4 +1,4 @@
-import { ZapierNLAWrapper, ZapiterNLAWrapperParams } from 'langchain/tools'
+import { ZapierNLAWrapper, ZapierNLAWrapperParams } from 'langchain/tools'
import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { ZapierToolKit } from 'langchain/agents'
@@ -32,7 +32,7 @@ class ZapierNLA_Tools implements INode {
async init(nodeData: INodeData): Promise {
const apiKey = nodeData.inputs?.apiKey as string
- const obj: Partial = {
+ const obj: Partial = {
apiKey
}
const zapier = new ZapierNLAWrapper(obj)
diff --git a/packages/components/package.json b/packages/components/package.json
index a778ea8fdb3..2b4afb5a507 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -32,7 +32,7 @@
"faiss-node": "^0.2.1",
"form-data": "^4.0.0",
"graphql": "^16.6.0",
- "langchain": "^0.0.91",
+ "langchain": "^0.0.94",
"linkifyjs": "^4.1.1",
"mammoth": "^1.5.1",
"moment": "^2.29.3",
diff --git a/packages/server/marketplaces/API Agent.json b/packages/server/marketplaces/API Agent.json
index 20e270af261..ce4b7fb0019 100644
--- a/packages/server/marketplaces/API Agent.json
+++ b/packages/server/marketplaces/API Agent.json
@@ -286,6 +286,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -293,6 +297,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
@@ -481,6 +489,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -488,6 +500,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
@@ -620,6 +636,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -627,6 +647,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/AutoGPT.json b/packages/server/marketplaces/AutoGPT.json
index 4fd1cfdb068..4bb687223c2 100644
--- a/packages/server/marketplaces/AutoGPT.json
+++ b/packages/server/marketplaces/AutoGPT.json
@@ -132,6 +132,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -139,6 +143,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/BabyAGI.json b/packages/server/marketplaces/BabyAGI.json
index 797b574fb21..aefb9902ee9 100644
--- a/packages/server/marketplaces/BabyAGI.json
+++ b/packages/server/marketplaces/BabyAGI.json
@@ -235,6 +235,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -242,6 +246,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/ChatGPTPlugin.json b/packages/server/marketplaces/ChatGPTPlugin.json
index 648c94b7b0c..4d5d18699b5 100644
--- a/packages/server/marketplaces/ChatGPTPlugin.json
+++ b/packages/server/marketplaces/ChatGPTPlugin.json
@@ -295,6 +295,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -302,6 +306,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/Conversational Agent.json b/packages/server/marketplaces/Conversational Agent.json
index 635455ce794..d6d61e864d9 100644
--- a/packages/server/marketplaces/Conversational Agent.json
+++ b/packages/server/marketplaces/Conversational Agent.json
@@ -42,6 +42,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -49,6 +53,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/Conversational Retrieval QA Chain.json b/packages/server/marketplaces/Conversational Retrieval QA Chain.json
index 4d470ab2526..4d8b2881dc5 100644
--- a/packages/server/marketplaces/Conversational Retrieval QA Chain.json
+++ b/packages/server/marketplaces/Conversational Retrieval QA Chain.json
@@ -356,6 +356,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -363,6 +367,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/Github Repo QnA.json b/packages/server/marketplaces/Github Repo QnA.json
index a9294eca185..852c9741df8 100644
--- a/packages/server/marketplaces/Github Repo QnA.json
+++ b/packages/server/marketplaces/Github Repo QnA.json
@@ -373,6 +373,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -380,6 +384,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/Multi Prompt Chain.json b/packages/server/marketplaces/Multi Prompt Chain.json
index a9c41a76b9e..d4aa455056d 100644
--- a/packages/server/marketplaces/Multi Prompt Chain.json
+++ b/packages/server/marketplaces/Multi Prompt Chain.json
@@ -302,6 +302,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -309,6 +313,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/Multi Retrieval QA Chain.json b/packages/server/marketplaces/Multi Retrieval QA Chain.json
index 8f2ca89e65e..cdb468d1fe9 100644
--- a/packages/server/marketplaces/Multi Retrieval QA Chain.json
+++ b/packages/server/marketplaces/Multi Retrieval QA Chain.json
@@ -299,6 +299,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -306,6 +310,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/OpenAI Agent.json b/packages/server/marketplaces/OpenAI Agent.json
new file mode 100644
index 00000000000..77192eb1ea4
--- /dev/null
+++ b/packages/server/marketplaces/OpenAI Agent.json
@@ -0,0 +1,327 @@
+{
+ "description": "An agent that uses OpenAI's Function Calling functionality to pick the tool and args to call",
+ "nodes": [
+ {
+ "width": 300,
+ "height": 524,
+ "id": "chatOpenAI_0",
+ "position": {
+ "x": 373.8366297840716,
+ "y": 448.58765780622326
+ },
+ "type": "customNode",
+ "data": {
+ "id": "chatOpenAI_0",
+ "label": "ChatOpenAI",
+ "name": "chatOpenAI",
+ "type": "ChatOpenAI",
+ "baseClasses": ["ChatOpenAI", "BaseChatModel", "BaseLanguageModel", "BaseLangChain", "Serializable"],
+ "category": "Chat Models",
+ "description": "Wrapper around OpenAI large language models that use the Chat endpoint",
+ "inputParams": [
+ {
+ "label": "OpenAI Api Key",
+ "name": "openAIApiKey",
+ "type": "password",
+ "id": "chatOpenAI_0-input-openAIApiKey-password"
+ },
+ {
+ "label": "Model Name",
+ "name": "modelName",
+ "type": "options",
+ "options": [
+ {
+ "label": "gpt-4",
+ "name": "gpt-4"
+ },
+ {
+ "label": "gpt-4-0314",
+ "name": "gpt-4-0314"
+ },
+ {
+ "label": "gpt-4-32k-0314",
+ "name": "gpt-4-32k-0314"
+ },
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
+ {
+ "label": "gpt-3.5-turbo",
+ "name": "gpt-3.5-turbo"
+ },
+ {
+ "label": "gpt-3.5-turbo-0301",
+ "name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
+ }
+ ],
+ "default": "gpt-3.5-turbo",
+ "optional": true,
+ "id": "chatOpenAI_0-input-modelName-options"
+ },
+ {
+ "label": "Temperature",
+ "name": "temperature",
+ "type": "number",
+ "default": 0.9,
+ "optional": true,
+ "id": "chatOpenAI_0-input-temperature-number"
+ },
+ {
+ "label": "Max Tokens",
+ "name": "maxTokens",
+ "type": "number",
+ "optional": true,
+ "additionalParams": true,
+ "id": "chatOpenAI_0-input-maxTokens-number"
+ },
+ {
+ "label": "Top Probability",
+ "name": "topP",
+ "type": "number",
+ "optional": true,
+ "additionalParams": true,
+ "id": "chatOpenAI_0-input-topP-number"
+ },
+ {
+ "label": "Frequency Penalty",
+ "name": "frequencyPenalty",
+ "type": "number",
+ "optional": true,
+ "additionalParams": true,
+ "id": "chatOpenAI_0-input-frequencyPenalty-number"
+ },
+ {
+ "label": "Presence Penalty",
+ "name": "presencePenalty",
+ "type": "number",
+ "optional": true,
+ "additionalParams": true,
+ "id": "chatOpenAI_0-input-presencePenalty-number"
+ },
+ {
+ "label": "Timeout",
+ "name": "timeout",
+ "type": "number",
+ "optional": true,
+ "additionalParams": true,
+ "id": "chatOpenAI_0-input-timeout-number"
+ },
+ {
+ "label": "BasePath",
+ "name": "basepath",
+ "type": "string",
+ "optional": true,
+ "additionalParams": true,
+ "id": "chatOpenAI_0-input-basepath-string"
+ }
+ ],
+ "inputAnchors": [],
+ "inputs": {
+ "modelName": "gpt-3.5-turbo-0613",
+ "temperature": 0.9,
+ "maxTokens": "",
+ "topP": "",
+ "frequencyPenalty": "",
+ "presencePenalty": "",
+ "timeout": "",
+ "basepath": ""
+ },
+ "outputAnchors": [
+ {
+ "id": "chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLanguageModel|BaseLangChain|Serializable",
+ "name": "chatOpenAI",
+ "label": "ChatOpenAI",
+ "type": "ChatOpenAI | BaseChatModel | BaseLanguageModel | BaseLangChain | Serializable"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 373.8366297840716,
+ "y": 448.58765780622326
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 280,
+ "id": "openAIFunctionAgent_0",
+ "position": {
+ "x": 1084.5405852317417,
+ "y": 384.4653768834282
+ },
+ "type": "customNode",
+ "data": {
+ "id": "openAIFunctionAgent_0",
+ "label": "OpenAI Function Agent",
+ "name": "openAIFunctionAgent",
+ "type": "AgentExecutor",
+ "baseClasses": ["AgentExecutor", "BaseChain", "BaseLangChain", "Serializable"],
+ "category": "Agents",
+ "description": "An agent that uses OpenAI's Function Calling functionality to pick the tool and args to call",
+ "inputParams": [],
+ "inputAnchors": [
+ {
+ "label": "Allowed Tools",
+ "name": "tools",
+ "type": "Tool",
+ "list": true,
+ "id": "openAIFunctionAgent_0-input-tools-Tool"
+ },
+ {
+ "label": "OpenAI Chat Model",
+ "name": "model",
+ "description": "Only works with gpt-3.5-turbo-0613 and gpt-4-0613. Refer docs for more info",
+ "type": "BaseChatModel",
+ "id": "openAIFunctionAgent_0-input-model-BaseChatModel"
+ }
+ ],
+ "inputs": {
+ "tools": ["{{calculator_0.data.instance}}", "{{serper_0.data.instance}}"],
+ "model": "{{chatOpenAI_0.data.instance}}"
+ },
+ "outputAnchors": [
+ {
+ "id": "openAIFunctionAgent_0-output-openAIFunctionAgent-AgentExecutor|BaseChain|BaseLangChain|Serializable",
+ "name": "openAIFunctionAgent",
+ "label": "AgentExecutor",
+ "type": "AgentExecutor | BaseChain | BaseLangChain | Serializable"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 1084.5405852317417,
+ "y": 384.4653768834282
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 278,
+ "id": "serper_0",
+ "position": {
+ "x": 691.7580226065319,
+ "y": 34.00444633899792
+ },
+ "type": "customNode",
+ "data": {
+ "id": "serper_0",
+ "label": "Serper",
+ "name": "serper",
+ "type": "Serper",
+ "baseClasses": ["Serper", "Tool", "StructuredTool", "BaseLangChain", "Serializable"],
+ "category": "Tools",
+ "description": "Wrapper around Serper.dev - Google Search API",
+ "inputParams": [
+ {
+ "label": "Serper Api Key",
+ "name": "apiKey",
+ "type": "password",
+ "id": "serper_0-input-apiKey-password"
+ }
+ ],
+ "inputAnchors": [],
+ "inputs": {},
+ "outputAnchors": [
+ {
+ "id": "serper_0-output-serper-Serper|Tool|StructuredTool|BaseLangChain|Serializable",
+ "name": "serper",
+ "label": "Serper",
+ "type": "Serper | Tool | StructuredTool | BaseLangChain | Serializable"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 691.7580226065319,
+ "y": 34.00444633899792
+ },
+ "dragging": false
+ },
+ {
+ "width": 300,
+ "height": 143,
+ "id": "calculator_0",
+ "position": {
+ "x": 341.63347110886497,
+ "y": 261.6753474034481
+ },
+ "type": "customNode",
+ "data": {
+ "id": "calculator_0",
+ "label": "Calculator",
+ "name": "calculator",
+ "type": "Calculator",
+ "baseClasses": ["Calculator", "Tool", "StructuredTool", "BaseLangChain", "Serializable"],
+ "category": "Tools",
+ "description": "Perform calculations on response",
+ "inputParams": [],
+ "inputAnchors": [],
+ "inputs": {},
+ "outputAnchors": [
+ {
+ "id": "calculator_0-output-calculator-Calculator|Tool|StructuredTool|BaseLangChain|Serializable",
+ "name": "calculator",
+ "label": "Calculator",
+ "type": "Calculator | Tool | StructuredTool | BaseLangChain | Serializable"
+ }
+ ],
+ "outputs": {},
+ "selected": false
+ },
+ "selected": false,
+ "positionAbsolute": {
+ "x": 341.63347110886497,
+ "y": 261.6753474034481
+ },
+ "dragging": false
+ }
+ ],
+ "edges": [
+ {
+ "source": "chatOpenAI_0",
+ "sourceHandle": "chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLanguageModel|BaseLangChain|Serializable",
+ "target": "openAIFunctionAgent_0",
+ "targetHandle": "openAIFunctionAgent_0-input-model-BaseChatModel",
+ "type": "buttonedge",
+ "id": "chatOpenAI_0-chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLanguageModel|BaseLangChain|Serializable-openAIFunctionAgent_0-openAIFunctionAgent_0-input-model-BaseChatModel",
+ "data": {
+ "label": ""
+ }
+ },
+ {
+ "source": "calculator_0",
+ "sourceHandle": "calculator_0-output-calculator-Calculator|Tool|StructuredTool|BaseLangChain|Serializable",
+ "target": "openAIFunctionAgent_0",
+ "targetHandle": "openAIFunctionAgent_0-input-tools-Tool",
+ "type": "buttonedge",
+ "id": "calculator_0-calculator_0-output-calculator-Calculator|Tool|StructuredTool|BaseLangChain|Serializable-openAIFunctionAgent_0-openAIFunctionAgent_0-input-tools-Tool",
+ "data": {
+ "label": ""
+ }
+ },
+ {
+ "source": "serper_0",
+ "sourceHandle": "serper_0-output-serper-Serper|Tool|StructuredTool|BaseLangChain|Serializable",
+ "target": "openAIFunctionAgent_0",
+ "targetHandle": "openAIFunctionAgent_0-input-tools-Tool",
+ "type": "buttonedge",
+ "id": "serper_0-serper_0-output-serper-Serper|Tool|StructuredTool|BaseLangChain|Serializable-openAIFunctionAgent_0-openAIFunctionAgent_0-input-tools-Tool",
+ "data": {
+ "label": ""
+ }
+ }
+ ]
+}
diff --git a/packages/server/marketplaces/Simple Conversation Chain.json b/packages/server/marketplaces/Simple Conversation Chain.json
index f3decc853ba..93cf06d7ed3 100644
--- a/packages/server/marketplaces/Simple Conversation Chain.json
+++ b/packages/server/marketplaces/Simple Conversation Chain.json
@@ -42,6 +42,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -49,6 +53,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/Translator.json b/packages/server/marketplaces/Translator.json
index 6e36f943593..5a57a8f57fd 100644
--- a/packages/server/marketplaces/Translator.json
+++ b/packages/server/marketplaces/Translator.json
@@ -112,6 +112,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -119,6 +123,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/marketplaces/WebBrowser.json b/packages/server/marketplaces/WebBrowser.json
index 7d7ff357850..d533c75f14b 100644
--- a/packages/server/marketplaces/WebBrowser.json
+++ b/packages/server/marketplaces/WebBrowser.json
@@ -42,6 +42,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -49,6 +53,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
@@ -318,6 +326,10 @@
"label": "gpt-4-32k-0314",
"name": "gpt-4-32k-0314"
},
+ {
+ "label": "gpt-4-0613",
+ "name": "gpt-4-0613"
+ },
{
"label": "gpt-3.5-turbo",
"name": "gpt-3.5-turbo"
@@ -325,6 +337,10 @@
{
"label": "gpt-3.5-turbo-0301",
"name": "gpt-3.5-turbo-0301"
+ },
+ {
+ "label": "gpt-3.5-turbo-0613",
+ "name": "gpt-3.5-turbo-0613"
}
],
"default": "gpt-3.5-turbo",
diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts
index 3a176673bb6..8e19bf5b202 100644
--- a/packages/server/src/utils/index.ts
+++ b/packages/server/src/utils/index.ts
@@ -660,7 +660,7 @@ export const isFlowValidForStream = (reactFlowNodes: IReactFlowNode[], endingNod
return (
isChatOrLLMsExist &&
- endingNodeData.category === 'Chains' &&
+ (endingNodeData.category === 'Chains' || endingNodeData.name === 'openAIFunctionAgent') &&
!isVectorStoreFaiss(endingNodeData) &&
process.env.EXECUTION_MODE !== 'child'
)
diff --git a/packages/ui/src/views/canvas/NodeInputHandler.js b/packages/ui/src/views/canvas/NodeInputHandler.js
index 1dc656e8f05..d58f7a66a3a 100644
--- a/packages/ui/src/views/canvas/NodeInputHandler.js
+++ b/packages/ui/src/views/canvas/NodeInputHandler.js
@@ -95,6 +95,7 @@ const NodeInputHandler = ({ inputAnchor, inputParam, data, disabled = false, isA
{inputAnchor.label}
{!inputAnchor.optional && *}
+ {inputAnchor.description && }
>