mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-02-06 11:38:13 +00:00
* FEATURE: add support for new OpenAI embedding models This adds support for just released text_embedding_3_small and large Note, we have not yet implemented truncation support which is a new API feature. (triggered using dimensions) * Tiny side fix, recalc bots when ai is enabled or disabled * FIX: downsample to 2000 items per vector which is a pgvector limitation
50 lines
1.5 KiB
Ruby
50 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class CreateOpenaiTextEmbeddingTables < ActiveRecord::Migration[7.0]
|
|
def change
|
|
create_table :ai_topic_embeddings_6_1, id: false do |t|
|
|
t.integer :topic_id, null: false
|
|
t.integer :model_version, null: false
|
|
t.integer :strategy_version, null: false
|
|
t.text :digest, null: false
|
|
t.column :embeddings, "vector(1536)", null: false
|
|
t.timestamps
|
|
|
|
t.index :topic_id, unique: true
|
|
end
|
|
|
|
create_table :ai_topic_embeddings_7_1, id: false do |t|
|
|
t.integer :topic_id, null: false
|
|
t.integer :model_version, null: false
|
|
t.integer :strategy_version, null: false
|
|
t.text :digest, null: false
|
|
t.column :embeddings, "vector(2000)", null: false
|
|
t.timestamps
|
|
|
|
t.index :topic_id, unique: true
|
|
end
|
|
|
|
create_table :ai_post_embeddings_6_1, id: false do |t|
|
|
t.integer :post_id, null: false
|
|
t.integer :model_version, null: false
|
|
t.integer :strategy_version, null: false
|
|
t.text :digest, null: false
|
|
t.column :embeddings, "vector(1536)", null: false
|
|
t.timestamps
|
|
|
|
t.index :post_id, unique: true
|
|
end
|
|
|
|
create_table :ai_post_embeddings_7_1, id: false do |t|
|
|
t.integer :post_id, null: false
|
|
t.integer :model_version, null: false
|
|
t.integer :strategy_version, null: false
|
|
t.text :digest, null: false
|
|
t.column :embeddings, "vector(2000)", null: false
|
|
t.timestamps
|
|
|
|
t.index :post_id, unique: true
|
|
end
|
|
end
|
|
end
|