Patch model selection for openai (#1128)
prevent rerenders of web-browsing for agents update openai latest pkg name
This commit is contained in:
parent
9655880cf0
commit
91ea37d17a
@ -2,6 +2,20 @@ import useGetProviderModels, {
|
|||||||
DISABLED_PROVIDERS,
|
DISABLED_PROVIDERS,
|
||||||
} from "@/hooks/useGetProvidersModels";
|
} from "@/hooks/useGetProvidersModels";
|
||||||
|
|
||||||
|
// These models do NOT support function calling
|
||||||
|
function supportedModel(provider, model = "") {
|
||||||
|
if (provider !== "openai") return true;
|
||||||
|
if (model.startsWith("gpt-3.5-turbo")) return true;
|
||||||
|
switch (model) {
|
||||||
|
case "gpt-4":
|
||||||
|
case "gpt-4-turbo-preview":
|
||||||
|
case "gpt-4-32k":
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default function AgentModelSelection({
|
export default function AgentModelSelection({
|
||||||
provider,
|
provider,
|
||||||
workspace,
|
workspace,
|
||||||
@ -60,6 +74,7 @@ export default function AgentModelSelection({
|
|||||||
{defaultModels.length > 0 && (
|
{defaultModels.length > 0 && (
|
||||||
<optgroup label="General models">
|
<optgroup label="General models">
|
||||||
{defaultModels.map((model) => {
|
{defaultModels.map((model) => {
|
||||||
|
if (!supportedModel(provider, model)) return null;
|
||||||
return (
|
return (
|
||||||
<option
|
<option
|
||||||
key={model}
|
key={model}
|
||||||
@ -75,6 +90,8 @@ export default function AgentModelSelection({
|
|||||||
{Array.isArray(customModels) && customModels.length > 0 && (
|
{Array.isArray(customModels) && customModels.length > 0 && (
|
||||||
<optgroup label="Custom models">
|
<optgroup label="Custom models">
|
||||||
{customModels.map((model) => {
|
{customModels.map((model) => {
|
||||||
|
if (!supportedModel(provider, model.id)) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<option
|
<option
|
||||||
key={model.id}
|
key={model.id}
|
||||||
@ -93,15 +110,18 @@ export default function AgentModelSelection({
|
|||||||
<>
|
<>
|
||||||
{Object.entries(customModels).map(([organization, models]) => (
|
{Object.entries(customModels).map(([organization, models]) => (
|
||||||
<optgroup key={organization} label={organization}>
|
<optgroup key={organization} label={organization}>
|
||||||
{models.map((model) => (
|
{models.map((model) => {
|
||||||
<option
|
if (!supportedModel(provider, model.id)) return null;
|
||||||
key={model.id}
|
return (
|
||||||
value={model.id}
|
<option
|
||||||
selected={workspace?.agentModel === model.id}
|
key={model.id}
|
||||||
>
|
value={model.id}
|
||||||
{model.name}
|
selected={workspace?.agentModel === model.id}
|
||||||
</option>
|
>
|
||||||
))}
|
{model.name}
|
||||||
|
</option>
|
||||||
|
);
|
||||||
|
})}
|
||||||
</optgroup>
|
</optgroup>
|
||||||
))}
|
))}
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -112,92 +112,92 @@ export default function WorkspaceAgentConfiguration({ workspace }) {
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
}
|
||||||
function LoadingSkeleton() {
|
|
||||||
return (
|
function LoadingSkeleton() {
|
||||||
<div id="workspace-agent-settings-container">
|
return (
|
||||||
<div className="w-1/2 flex flex-col gap-y-6">
|
<div id="workspace-agent-settings-container">
|
||||||
<Skeleton.default
|
<div className="w-1/2 flex flex-col gap-y-6">
|
||||||
height={100}
|
<Skeleton.default
|
||||||
width="100%"
|
height={100}
|
||||||
count={2}
|
width="100%"
|
||||||
baseColor="#292524"
|
count={2}
|
||||||
highlightColor="#4c4948"
|
baseColor="#292524"
|
||||||
enableAnimation={true}
|
highlightColor="#4c4948"
|
||||||
containerClassName="flex flex-col gap-y-1"
|
enableAnimation={true}
|
||||||
/>
|
containerClassName="flex flex-col gap-y-1"
|
||||||
<div className="bg-white/10 h-[1px] w-full" />
|
/>
|
||||||
<Skeleton.default
|
<div className="bg-white/10 h-[1px] w-full" />
|
||||||
height={100}
|
<Skeleton.default
|
||||||
width="100%"
|
height={100}
|
||||||
count={2}
|
width="100%"
|
||||||
baseColor="#292524"
|
count={2}
|
||||||
highlightColor="#4c4948"
|
baseColor="#292524"
|
||||||
enableAnimation={true}
|
highlightColor="#4c4948"
|
||||||
containerClassName="flex flex-col gap-y-1 mt-4"
|
enableAnimation={true}
|
||||||
/>
|
containerClassName="flex flex-col gap-y-1 mt-4"
|
||||||
</div>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
</div>
|
||||||
}
|
);
|
||||||
|
}
|
||||||
function AvailableAgentSkills({ skills, settings, toggleAgentSkill }) {
|
|
||||||
return (
|
function AvailableAgentSkills({ skills, settings, toggleAgentSkill }) {
|
||||||
<div>
|
return (
|
||||||
<div className="flex flex-col mb-8">
|
<div>
|
||||||
<div className="flex w-full justify-between items-center">
|
<div className="flex flex-col mb-8">
|
||||||
<label htmlFor="name" className="text-white text-md font-semibold">
|
<div className="flex w-full justify-between items-center">
|
||||||
Default agent skills
|
<label htmlFor="name" className="text-white text-md font-semibold">
|
||||||
</label>
|
Default agent skills
|
||||||
</div>
|
</label>
|
||||||
<p className="text-white text-opacity-60 text-xs font-medium py-1.5">
|
</div>
|
||||||
Improve the natural abilities of the default agent with these
|
<p className="text-white text-opacity-60 text-xs font-medium py-1.5">
|
||||||
pre-built skills. This set up applies to all workspaces.
|
Improve the natural abilities of the default agent with these
|
||||||
</p>
|
pre-built skills. This set up applies to all workspaces.
|
||||||
</div>
|
</p>
|
||||||
<input
|
</div>
|
||||||
name="system::default_agent_skills"
|
<input
|
||||||
type="hidden"
|
name="system::default_agent_skills"
|
||||||
value={skills.join(",")}
|
type="hidden"
|
||||||
/>
|
value={skills.join(",")}
|
||||||
<div className="flex flex-col gap-y-3">
|
/>
|
||||||
<GenericSkill
|
<div className="flex flex-col gap-y-3">
|
||||||
title="RAG & long-term memory"
|
<GenericSkill
|
||||||
description='Allow the agent to leverage your local documents to answer a query or ask the agent to "remember" pieces of content for long-term memory retrieval.'
|
title="RAG & long-term memory"
|
||||||
settings={settings}
|
description='Allow the agent to leverage your local documents to answer a query or ask the agent to "remember" pieces of content for long-term memory retrieval.'
|
||||||
enabled={true}
|
settings={settings}
|
||||||
disabled={true}
|
enabled={true}
|
||||||
/>
|
disabled={true}
|
||||||
<GenericSkill
|
/>
|
||||||
title="View and summarize documents"
|
<GenericSkill
|
||||||
description="Allow the agent to list and summarize the content of workspace files currently embedded."
|
title="View and summarize documents"
|
||||||
settings={settings}
|
description="Allow the agent to list and summarize the content of workspace files currently embedded."
|
||||||
enabled={true}
|
settings={settings}
|
||||||
disabled={true}
|
enabled={true}
|
||||||
/>
|
disabled={true}
|
||||||
<GenericSkill
|
/>
|
||||||
title="Scrape websites"
|
<GenericSkill
|
||||||
description="Allow the agent to visit and scrape the content of websites."
|
title="Scrape websites"
|
||||||
settings={settings}
|
description="Allow the agent to visit and scrape the content of websites."
|
||||||
enabled={true}
|
settings={settings}
|
||||||
disabled={true}
|
enabled={true}
|
||||||
/>
|
disabled={true}
|
||||||
<GenericSkill
|
/>
|
||||||
title="Generate & save files to browser"
|
<GenericSkill
|
||||||
description="Enable the default agent to generate and write to files that save and can be downloaded in your browser."
|
title="Generate & save files to browser"
|
||||||
skill="save-file-to-browser"
|
description="Enable the default agent to generate and write to files that save and can be downloaded in your browser."
|
||||||
settings={settings}
|
skill="save-file-to-browser"
|
||||||
toggleSkill={toggleAgentSkill}
|
settings={settings}
|
||||||
enabled={skills.includes("save-file-to-browser")}
|
toggleSkill={toggleAgentSkill}
|
||||||
/>
|
enabled={skills.includes("save-file-to-browser")}
|
||||||
<AgentWebSearchSelection
|
/>
|
||||||
skill="web-browsing"
|
<AgentWebSearchSelection
|
||||||
settings={settings}
|
skill="web-browsing"
|
||||||
toggleSkill={toggleAgentSkill}
|
settings={settings}
|
||||||
enabled={skills.includes("web-browsing")}
|
toggleSkill={toggleAgentSkill}
|
||||||
/>
|
enabled={skills.includes("web-browsing")}
|
||||||
</div>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
</div>
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,7 @@
|
|||||||
"node-html-markdown": "^1.3.0",
|
"node-html-markdown": "^1.3.0",
|
||||||
"node-llama-cpp": "^2.8.0",
|
"node-llama-cpp": "^2.8.0",
|
||||||
"openai": "^3.2.1",
|
"openai": "^3.2.1",
|
||||||
"openai:latest": "npm:openai@latest",
|
"openai-latest": "npm:openai@latest",
|
||||||
"pinecone-client": "^1.1.0",
|
"pinecone-client": "^1.1.0",
|
||||||
"pluralize": "^8.0.0",
|
"pluralize": "^8.0.0",
|
||||||
"posthog-node": "^3.1.1",
|
"posthog-node": "^3.1.1",
|
||||||
@ -84,4 +84,4 @@
|
|||||||
"nodemon": "^2.0.22",
|
"nodemon": "^2.0.22",
|
||||||
"prettier": "^3.0.3"
|
"prettier": "^3.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
const OpenAI = require("openai:latest");
|
const OpenAI = require("openai-latest");
|
||||||
const Provider = require("./ai-provider.js");
|
const Provider = require("./ai-provider.js");
|
||||||
const { RetryError } = require("../error.js");
|
const { RetryError } = require("../error.js");
|
||||||
|
|
||||||
|
|||||||
@ -4495,10 +4495,10 @@ onnxruntime-web@1.14.0:
|
|||||||
onnxruntime-common "~1.14.0"
|
onnxruntime-common "~1.14.0"
|
||||||
platform "^1.3.6"
|
platform "^1.3.6"
|
||||||
|
|
||||||
"openai:latest@npm:openai@latest":
|
"openai-latest@npm:openai@latest":
|
||||||
version "4.32.1"
|
version "4.38.0"
|
||||||
resolved "https://registry.yarnpkg.com/openai/-/openai-4.32.1.tgz#9e375fdbc727330c5ea5d287beb325db3e6f9ad7"
|
resolved "https://registry.yarnpkg.com/openai/-/openai-4.38.0.tgz#d97accc7c368670a40c2f668650b624cb941dc8b"
|
||||||
integrity sha512-3e9QyCY47tgOkxBe2CSVKlXOE2lLkMa24Y0s3LYZR40yYjiBU9dtVze+C3mu1TwWDGiRX52STpQAEJZvRNuIrA==
|
integrity sha512-q1w04cRm+7CgUAGDXqt+OMa89zXBffHrEK0FcVDRhD+zL1S1aAatu4iYO5sIxR2QFEP//i8CM3QaxGVTNajxuw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "^18.11.18"
|
"@types/node" "^18.11.18"
|
||||||
"@types/node-fetch" "^2.6.4"
|
"@types/node-fetch" "^2.6.4"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user