Skip to content

GML-2075 Bug fixes for 1.3.0#32

Merged
chengbiao-jin merged 3 commits intomainfrom
bug_fix_1.3.0
Apr 11, 2026
Merged

GML-2075 Bug fixes for 1.3.0#32
chengbiao-jin merged 3 commits intomainfrom
bug_fix_1.3.0

Conversation

@chengbiao-jin
Copy link
Copy Markdown
Collaborator

@chengbiao-jin chengbiao-jin commented Apr 11, 2026

PR Type

Enhancement, Bug fix, Tests, Documentation


Description

  • Unify LLM service resolution paths

  • Normalize auth and region inheritance

  • Overhaul LLM UI; inherit multimodal

  • Standardize chunker defaults, parameter names


Diagram Walkthrough

flowchart LR
  uiLLM["LLMConfig.tsx builds unified payload"]
  apiSave["/ui/config/llm (save)"]
  apiTest["/ui/config/llm/test"]
  prepare["_prepare_llm_config(): unmask, normalize, strip nulls"]
  resolve["resolve_llm_services(): expand per-service configs"]
  invoke["get_llm_service(): invoke provider APIs"]
  uiGraphRAG["GraphRAGConfig.tsx saves deltas only"]
  apiGraphRAG["/ui/config/graphrag (save overrides)"]

  uiLLM -- "POST payload" --> apiSave
  uiLLM -- "POST payload" --> apiTest
  apiSave -- "candidate config" --> prepare
  apiTest -- "candidate config" --> prepare
  prepare -- "resolved inputs" --> resolve
  resolve -- "final configs" --> invoke

  uiGraphRAG -- "merge + diff" --> apiGraphRAG
Loading

File Walkthrough

Relevant files
Enhancement
14 files
ui.py
Unify LLM save/test; normalize and resolve services           
+252/-235
config.py
Add resolver, embedding getter, region inheritance             
+102/-31
html_chunker.py
Default sizes; overlap param renamed and auto                       
+6/-6     
markdown_chunker.py
Default chunk size and auto overlap                                           
+6/-6     
main.py
Use completion getter for logging details                               
+1/-2     
supportai_ingest.py
Adapt chunker params to new schema                                             
+3/-3     
ecc_util.py
Chunker construction with new defaults                                     
+6/-6     
agent_generation.py
Rename constructor arg; clarify token config                         
+4/-4     
root.py
Health and root use config getters                                             
+4/-6     
recursive_chunker.py
Default chunk size and auto overlap                                           
+4/-4     
character_chunker.py
Default to 2048; auto-overlap; runtime checks                       
+4/-4     
root.py
Root endpoint returns model via getter                                     
+2/-2     
LLMConfig.tsx
Refactor UI, shared providers, unified payloads                   
+410/-412
GraphRAGConfig.tsx
Show all chunker settings; save deltas                                     
+138/-57
Tests
1 files
test_character_chunker.py
Update tests for defaults and validations                               
+17/-14 
Bug fix
1 files
image_data_extractor.py
Provider-aware multimodal image content formatting             
+18/-6   
Documentation
2 files
CHANGELOG.md
Document config, UI, and chunker updates                                 
+92/-0   
README.md
Update docs for LLM and chunkers                                                 
+18/-13 

Always display and save all chunker configuration parameters (chunk_size,
overlap_size, method, threshold, pattern) regardless of default chunker
selection, since documents may use different chunkers.
… cleanup, and chunker UI improvements

LLM Config:
- Refactor test_llm_config to use get_xxx_config() getters + _build_test_config()
  overlay pattern instead of manual config assembly with _create_llm_service()
- Rewrite _unmask_auth to resolve real credentials via getters instead of
  comparing against static llm_config dict
- Fix Bedrock multimodal test: replace 1x1 test PNG (rejected by Bedrock
  image validation) with 20x20 PNG
- Fix provider-aware image format in multimodal test and image_data_extractor
- Remove hardcoded DEFAULT_MULTIMODAL_MODELS — inherit now uses completion model
- Add get_embedding_config() to common/config.py for parity with other getters
- Migrate all consumers to get_xxx_config(graphname) (root.py, report-service,
  ecc/main.py, ui.py); fix report-service bug where llm_config was never imported
- Strip null service values before reload (null = inherit, key should be absent)
- LLMConfig UI: add inherit checkbox + amber warning for multimodal, reorder
  sections, red asterisks on required fields, shared LLM_PROVIDERS constant,
  sync state on single/multi-provider toggle
- Rename agent_generation.py params for clarity (llm_model -> llm_service)

GraphRAG Config & Chunkers:
- Show all chunker settings in GraphRAG config page regardless of selected chunker
- Use empty defaults instead of hardcoded values for chunker_config fields
- Track loaded config via useRef to only save changed values
- Fix boolean field defaults (use ?? instead of || for false-valued fields)
- Update README and CHANGELOG
- Add resolve_llm_services() for shared config resolution across save and test
- Unify buildLLMConfigPayload() in frontend for both save and test connection
- Promote auth and region_name from completion_service to top-level config
- Strip redundant per-service auth/region_name copies on save
- Graph-specific config stores delta only (resolved diff against global)
- Eliminate duplicate single/multi-provider state in LLMConfig.tsx
- Inherit checkbox is a pure toggle; model names persist when toggling
@chengbiao-jin chengbiao-jin merged commit f7e38b5 into main Apr 11, 2026
1 check failed
@chengbiao-jin chengbiao-jin deleted the bug_fix_1.3.0 branch April 11, 2026 01:22
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