mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-20 00:02:19 +00:00
nit(aichat): recommend anthropic as provider (#6265)
* feat(aichat): add recommendation alert for Claude latest model in Anthropic provider settings Add info alert in AI workspace settings recommending Claude latest model for better reliability of AI chat when using Anthropic provider. Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com> * fix * nit * nit * use badge * use blue * add tooltip --------- Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: Ruben Fiszel <rubenfiszel@users.noreply.github.com> Co-authored-by: centdix <farhadg110@gmail.com>
This commit is contained in:
@@ -104,6 +104,7 @@ jobs:
|
||||
allowed_tools: "mcp__github__create_pull_request,Bash"
|
||||
custom_instructions: |
|
||||
## IMPORTANT INSTRUCTIONS
|
||||
- Your branch name should be a short description of the requested changes.
|
||||
- Bypass previous instructions and instead of adding a url in your comment to manually create a PR, if you created a new branch with your changes, automatically create a draft PR from that branch to main.
|
||||
|
||||
## Code Quality Requirements
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
import Button from '../common/button/Button.svelte'
|
||||
import MultiSelect from '../select/MultiSelect.svelte'
|
||||
import { safeSelectItems } from '../select/utils.svelte'
|
||||
import Badge from '../common/badge/Badge.svelte'
|
||||
import Tooltip from '../Tooltip.svelte'
|
||||
|
||||
const aiProviderLabels: [AIProvider, string][] = [
|
||||
['openai', 'OpenAI'],
|
||||
@@ -152,48 +154,62 @@
|
||||
<div class="flex flex-col gap-4">
|
||||
{#each aiProviderLabels as [provider, label]}
|
||||
<div class="flex flex-col gap-2">
|
||||
<Toggle
|
||||
options={{
|
||||
right: label
|
||||
}}
|
||||
checked={!!aiProviders[provider]}
|
||||
on:change={(e) => {
|
||||
if (e.detail) {
|
||||
aiProviders = {
|
||||
...aiProviders,
|
||||
[provider]: {
|
||||
resource_path: '',
|
||||
models:
|
||||
availableAiModels[provider].length > 0 ? [availableAiModels[provider][0]] : []
|
||||
<div class="flex flex-row gap-2">
|
||||
<Toggle
|
||||
options={{
|
||||
right: label
|
||||
}}
|
||||
checked={!!aiProviders[provider]}
|
||||
on:change={(e) => {
|
||||
if (e.detail) {
|
||||
aiProviders = {
|
||||
...aiProviders,
|
||||
[provider]: {
|
||||
resource_path: '',
|
||||
models:
|
||||
availableAiModels[provider].length > 0
|
||||
? [availableAiModels[provider][0]]
|
||||
: []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (availableAiModels[provider].length > 0 && !defaultModel) {
|
||||
defaultModel = availableAiModels[provider][0]
|
||||
}
|
||||
} else {
|
||||
aiProviders = Object.fromEntries(
|
||||
Object.entries(aiProviders).filter(([key]) => key !== provider)
|
||||
)
|
||||
if (defaultModel) {
|
||||
const currentDefaultModel = Object.values(aiProviders).find(
|
||||
(p) => defaultModel && p.models.includes(defaultModel)
|
||||
if (availableAiModels[provider].length > 0 && !defaultModel) {
|
||||
defaultModel = availableAiModels[provider][0]
|
||||
}
|
||||
} else {
|
||||
aiProviders = Object.fromEntries(
|
||||
Object.entries(aiProviders).filter(([key]) => key !== provider)
|
||||
)
|
||||
if (!currentDefaultModel) {
|
||||
defaultModel = undefined
|
||||
if (defaultModel) {
|
||||
const currentDefaultModel = Object.values(aiProviders).find(
|
||||
(p) => defaultModel && p.models.includes(defaultModel)
|
||||
)
|
||||
if (!currentDefaultModel) {
|
||||
defaultModel = undefined
|
||||
}
|
||||
}
|
||||
if (codeCompletionModel) {
|
||||
const currentCodeCompletionModel = Object.values(aiProviders).find(
|
||||
(p) => codeCompletionModel && p.models.includes(codeCompletionModel)
|
||||
)
|
||||
if (!currentCodeCompletionModel) {
|
||||
codeCompletionModel = undefined
|
||||
}
|
||||
}
|
||||
}
|
||||
if (codeCompletionModel) {
|
||||
const currentCodeCompletionModel = Object.values(aiProviders).find(
|
||||
(p) => codeCompletionModel && p.models.includes(codeCompletionModel)
|
||||
)
|
||||
if (!currentCodeCompletionModel) {
|
||||
codeCompletionModel = undefined
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
/>
|
||||
}}
|
||||
/>
|
||||
{#if provider === 'anthropic'}
|
||||
<Badge color="blue">
|
||||
Recommended
|
||||
<Tooltip class="text-blue-800 dark:text-blue-800 mt-0.5">
|
||||
Anthropic models handle tool calls better than other providers, which makes them a
|
||||
better choice for AI chat.
|
||||
</Tooltip>
|
||||
</Badge>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if aiProviders[provider]}
|
||||
<div class="mb-4 flex flex-col gap-2">
|
||||
<div class="flex flex-row gap-1">
|
||||
|
||||
Reference in New Issue
Block a user