mirror of
https://github.com/we-promise/sure.git
synced 2026-04-19 12:04:08 +00:00
Avoid auto-categorizing without user categories (#261)
This commit is contained in:
@@ -16,9 +16,16 @@ class Family::AutoCategorizer
|
||||
Rails.logger.info("Auto-categorizing #{scope.count} transactions for family #{family.id}")
|
||||
end
|
||||
|
||||
categories_input = user_categories_input
|
||||
|
||||
if categories_input.empty?
|
||||
Rails.logger.error("Cannot auto-categorize transactions for family #{family.id}: no categories available")
|
||||
return
|
||||
end
|
||||
|
||||
result = llm_provider.auto_categorize(
|
||||
transactions: transactions_input,
|
||||
user_categories: user_categories_input,
|
||||
user_categories: categories_input,
|
||||
family: family
|
||||
)
|
||||
|
||||
@@ -30,7 +37,7 @@ class Family::AutoCategorizer
|
||||
scope.each do |transaction|
|
||||
auto_categorization = result.data.find { |c| c.transaction_id == transaction.id }
|
||||
|
||||
category_id = user_categories_input.find { |c| c[:name] == auto_categorization&.category_name }&.dig(:id)
|
||||
category_id = categories_input.find { |c| c[:name] == auto_categorization&.category_name }&.dig(:id)
|
||||
|
||||
if category_id.present?
|
||||
transaction.enrich_attribute(
|
||||
|
||||
@@ -54,6 +54,11 @@ class Provider::Openai < Provider
|
||||
def auto_categorize(transactions: [], user_categories: [], model: "", family: nil)
|
||||
with_provider_response do
|
||||
raise Error, "Too many transactions to auto-categorize. Max is 25 per request." if transactions.size > 25
|
||||
if user_categories.blank?
|
||||
family_id = family&.id || "unknown"
|
||||
Rails.logger.error("Cannot auto-categorize transactions for family #{family_id}: no categories available")
|
||||
raise Error, "No categories available for auto-categorization"
|
||||
end
|
||||
|
||||
effective_model = model.presence || @default_model
|
||||
|
||||
|
||||
Reference in New Issue
Block a user