Skip to content

feat: implement LLM keyword extraction and fusion scoring for table matching - #1372

Merged
ulleo merged 1 commit into
mainfrom
pr@main@add_extract_keywords
Sep 14, 2026
Merged

ulleo merged 1 commit into
mainfrom
pr@main@add_extract_keywords

Conversation

@ulleo

@ulleo ulleo commented Sep 14, 2026

Copy link
Copy Markdown
Contributor
  • Add extract_keywords() to LLMService with conversation context support, using process_stream + start_log/end_log for logging consistency
  • Add expand_with_terminology() to expand keywords with synonym matching
  • Add fusion scoring in calc_table_embedding(): α * vec_score + (1-α) * keyword_score
  • Add calc_keyword_score() with multi-level matching: table name exact (1.0), comment exact (0.9), comment substring (0.7), table name partial (0.25-0.5), field comment exact (0.5), field comment substring (0.4), field name partial (0.3)
  • Scoring considers keyword coverage rate to differentiate tables with different numbers of matched keywords
  • Extracted keywords persisted to ChatRecord for reuse across endpoints
  • get_terminology_template() supports comma-separated keyword input with per-keyword matching for higher precision
  • Add TABLE_EMBEDDING_ALPHA and TABLE_EMBEDDING_KEYWORD_ENABLED config

…atching

- Add extract_keywords() to LLMService with conversation context support,
  using process_stream + start_log/end_log for logging consistency
- Add expand_with_terminology() to expand keywords with synonym matching
- Add fusion scoring in calc_table_embedding(): α * vec_score + (1-α) * keyword_score
- Add calc_keyword_score() with multi-level matching:
  table name exact (1.0), comment exact (0.9), comment substring (0.7),
  table name partial (0.25-0.5), field comment exact (0.5),
  field comment substring (0.4), field name partial (0.3)
- Scoring considers keyword coverage rate to differentiate tables
  with different numbers of matched keywords
- Extracted keywords persisted to ChatRecord for reuse across endpoints
- get_terminology_template() supports comma-separated keyword input
  with per-keyword matching for higher precision
- Add TABLE_EMBEDDING_ALPHA and TABLE_EMBEDDING_KEYWORD_ENABLED config
@ulleo
ulleo merged commit 3fd6fa8 into main Sep 14, 2026
2 of 3 checks passed
@ulleo
ulleo deleted the pr@main@add_extract_keywords branch September 14, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant