diff --git a/app/models/embedding_definition.rb b/app/models/embedding_definition.rb index 621fa5374..77a0ab602 100644 --- a/app/models/embedding_definition.rb +++ b/app/models/embedding_definition.rb @@ -77,7 +77,7 @@ def presets # indexes, so we downsample to 2000 via API. { preset_id: "text-embedding-3-large", - display_name: "OpenAI's text-embedding-3-large", + display_name: "text-embedding-3-large", dimensions: 2000, max_sequence_length: 8191, pg_function: "<=>", @@ -91,7 +91,7 @@ def presets }, { preset_id: "text-embedding-3-small", - display_name: "OpenAI's text-embedding-3-small", + display_name: "text-embedding-3-small", dimensions: 1536, max_sequence_length: 8191, pg_function: "<=>", @@ -105,7 +105,7 @@ def presets }, { preset_id: "text-embedding-ada-002", - display_name: "OpenAI's text-embedding-ada-002", + display_name: "text-embedding-ada-002", dimensions: 1536, max_sequence_length: 8191, pg_function: "<=>", diff --git a/assets/javascripts/discourse/components/ai-embedding-editor.gjs b/assets/javascripts/discourse/components/ai-embedding-editor.gjs index 2ba63c92c..98c32983b 100644 --- a/assets/javascripts/discourse/components/ai-embedding-editor.gjs +++ b/assets/javascripts/discourse/components/ai-embedding-editor.gjs @@ -1,7 +1,7 @@ import Component from "@glimmer/component"; import { tracked } from "@glimmer/tracking"; -import { Input } from "@ember/component"; -import { concat, get } from "@ember/helper"; +import { Input, Textarea } from "@ember/component"; +import { concat, fn, get } from "@ember/helper"; import { on } from "@ember/modifier"; import { action, computed } from "@ember/object"; import didInsert from "@ember/render-modifiers/modifiers/did-insert"; @@ -13,6 +13,8 @@ import DButton from "discourse/components/d-button"; import icon from "discourse/helpers/d-icon"; import { popupAjaxError } from "discourse/lib/ajax-error"; import { i18n } from "discourse-i18n"; +import AdminSectionLandingItem from "admin/components/admin-section-landing-item"; +import AdminSectionLandingWrapper from "admin/components/admin-section-landing-wrapper"; import ComboBox from "select-kit/components/combo-box"; import DTooltip from "float-kit/components/d-tooltip"; import not from "truth-helpers/helpers/not"; @@ -48,7 +50,19 @@ export default class AiEmbeddingEditor extends Component { }; return this.args.embeddings.resultSetMeta.distance_functions.map((df) => { - return { id: df, name: t(df) }; + let iconName; + + if (df === "<=>") { + iconName = "discourse-spaceship-operator"; + } else if (df === "<#>") { + iconName = "discourse-negative-inner-product"; + } + + return { + id: df, + name: t(df), + icon: iconName, + }; }); } @@ -57,12 +71,14 @@ export default class AiEmbeddingEditor extends Component { return { name: preset.display_name, id: preset.preset_id, + provider: preset.provider, }; }); - presets.pushObject({ + presets.unshiftObject({ name: i18n("discourse_ai.embeddings.configure_manually"), id: "manual", + provider: "fake", }); return presets; @@ -90,11 +106,11 @@ export default class AiEmbeddingEditor extends Component { } @action - configurePreset() { + configurePreset(preset) { this.selectedPreset = this.args.embeddings.resultSetMeta.presets.findBy( "preset_id", - this.presetId + preset.id ) || {}; this.editingModel = this.store @@ -185,35 +201,64 @@ export default class AiEmbeddingEditor extends Component { }); } -