Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
cd2a775
Upgrade dependencies and migrate to LangChain 1.x
chengbiao-jin Jun 24, 2026
9e05e45
Add structured and auto-detecting document chunkers
chengbiao-jin Jun 24, 2026
b96ab1f
Add agentic chat engine with MCP tool execution
chengbiao-jin Jun 24, 2026
2f03a49
Surface backend error detail to superadmins
chengbiao-jin Jun 24, 2026
40b9849
Add chat engine and style selection to the chat menu
chengbiao-jin Jun 25, 2026
cc645a3
Set version to 2.0.0
chengbiao-jin Jun 25, 2026
0d713ac
Paginate and lazy-load chat history
chengbiao-jin Jun 25, 2026
744f1ed
GML-2139 Refine structured and auto-detecting document chunker
chengbiao-jin Jun 27, 2026
feae419
GML-2140 Split prompt customization into fixed rules and an editable …
chengbiao-jin Jun 27, 2026
9844fee
GML-2141 GML-2142 Augment chunk embeddings with summaries and harden …
chengbiao-jin Jun 27, 2026
ef99b34
GML-2143 GML-2144 Install graph queries via REST with async polling
chengbiao-jin Jun 27, 2026
de19217
GML-2145 Resume ingest on transient database connection loss
chengbiao-jin Jun 27, 2026
5378e38
GML-2146 GML-2147 Let query callers select response fields; preserve …
chengbiao-jin Jun 27, 2026
0197909
GML-2148 Configure external MCP servers as agentic tools
chengbiao-jin Jun 27, 2026
b5f748c
GML-2149 Refine chat and setup UI
chengbiao-jin Jun 27, 2026
873aa28
GML-2150 GML-2151 Bias the agentic agent to vector search and make it…
chengbiao-jin Jun 28, 2026
c6542b2
GML-2152 Ship preference-style prompt guidance as editable defaults
chengbiao-jin Jun 28, 2026
2f1dd82
GML-2155 Cap hybrid search results by relevance
chengbiao-jin Jun 29, 2026
512c2ec
GML-2154 Cap community search results by relevance
chengbiao-jin Jun 29, 2026
e920c4d
GML-2156 Separate customizable prompts for planner and react agents
chengbiao-jin Jun 30, 2026
218f54b
GML-2156 Make the agentic retrieval strategy the editable portion
chengbiao-jin Jun 30, 2026
7d529a1
GML-2157 Return structured, cited answers from the React agent
chengbiao-jin Jun 30, 2026
5e31c63
GML-2158 Make agent routing configurable
chengbiao-jin Jun 30, 2026
358c651
GML-2159 Load the graph schema lazily in the agentic engines
chengbiao-jin Jun 30, 2026
e473a95
GML-2160 Support external MCP tools in the React engine
chengbiao-jin Jun 30, 2026
205a566
GML-2161 Stop a streaming chat answer; clearer admin error detail
chengbiao-jin Jun 30, 2026
115b00e
GML-2158 Document the customizable agent prompts
chengbiao-jin Jun 30, 2026
56b3a62
Remove the agentic-vs-classic eval harness from the repo
chengbiao-jin Jul 1, 2026
2a28d05
GML-2157 Improve React answer completeness and accuracy
chengbiao-jin Jul 1, 2026
1c30e6f
Update GraphRAG tutorials for the v2.0 chat engine
chengbiao-jin Jul 1, 2026
34f079f
Merge remote-tracking branch 'origin/main' into release_2.0.0
chengbiao-jin Jul 1, 2026
412e833
Support OpenAI o-series reasoning models as the chat model
chengbiao-jin Jul 1, 2026
4de6f72
Harden the agentic chat engine and Migration Assistant
chengbiao-jin Jul 1, 2026
aa95bfe
Document the v2.0 chat engines and refresh setup screenshots
chengbiao-jin Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# Changelog

## [2.0.0]

### Added
- **The agentic agent's retrieval strategy is customizable, per style.** The Customize Prompts page has separate *Agentic Planner* and *React Agent* entries, each pre-filled with its default retrieval strategy — which methods to use, when, how many, and in what order — that you can edit. The role, act model (plan-up-front for the planner, reason-act-observe for React), and output format stay fixed.
- **Customizable prompts open with editable starting guidance.** The Customize Prompts page now pre-fills each prompt's preference-style guidance (answer formatting and language, summary length and voice, schema granularity hints and examples) as an editable default you can adjust or clear; the format, input, and structural rules that keep the feature working stay locked and out of view.
- **External MCP servers can be configured as agentic tools.** Superusers can register external MCP servers (including installing the Python libraries they need) so the chat agent can call their tools during a conversation.
- **Query responses can return just the answer.** The query endpoints return the answer alone by default and accept an option to include the supporting sources and trace when a caller needs them.
- **The agent answers greetings and questions about itself directly.** Hellos, thanks, and "who are you / what can you do" are answered immediately without searching the knowledge base, so trivial messages return faster and no longer surface unrelated data. How messages are routed — answered directly versus sent to retrieval — is editable on the *Customize Prompts* page.

### Changed
- **Structured documents chunk more faithfully.** Markdown and HTML are split with a structure-aware chunker that keeps each section's heading context inside the chunk, rolls small sections up into their parent up to the size budget, and keeps tables intact — including tables nested inside lists — so retrieval and answers hold together on heading- and table-heavy documents.
- **Prompt customization is additive instead of a full rewrite.** The *Customize Prompts* page now exposes only an editable instructions-and-examples section; the underlying rules are fixed and no longer user-editable, so a customization can extend behavior without accidentally dropping required rules. Pre-existing full-prompt overrides are ignored until re-saved in the new form.
- **Retrieval matches table-heavy and numeric content more reliably.** Each chunk is embedded together with a compact summary of its topic, section, and key entities, so dense vectors carry that context explicitly — improving answers on documents where the raw text alone embeds poorly.

- **Query installation is more reliable on large graphs.** Graph queries install through a non-blocking request with status polling instead of one long call, so initialization no longer fails on a gateway timeout while queries compile.
- **Hybrid and community search results are bounded by relevance.** Search returns at most a configurable number of chunks (`max_results`, default twice Top K), ranked by similarity to the question, instead of every chunk the graph expansion or community membership reaches — reducing the context sent to the model. Tunable on the GraphRAG Configuration page alongside Top K and Number of Hops.
- **Chat and admin UI refinements.** The chat engine/style picker is clearer, older conversations can be cleared in bulk, the graph *Compatibility Check* is renamed *Migration Assistant*, and a rendering glitch that clipped the bottoms of letters in text inputs is fixed.
- **The agentic agent grounds answers in document text more reliably.** It now always includes a vector search unless a question is confidently a pure structured-data request (an exact count, lookup, relationship, or aggregation), so it no longer answers passage questions from a graph query alone.
- **The React agent reports which sources it used.** Its answers now cite the chunks and queries the agent actually selected — visible in the admin trace alongside the planned and classic engines — and follow the same answer formatting and language guidance as the other engines.
- **Questions that don't need the graph skip graph lookups.** The agent loads the graph schema only when a question actually requires structured or document retrieval, so greetings and questions answered by a connected tool return without unnecessary database work.
- **A streaming answer can be stopped.** While the agent is responding, the chat's send button becomes a stop control that ends the current response and re-enables the input, so the next question can be asked without waiting.

### Fixed
- **A single oversized chunk no longer drops embeddings for the rest of a batch.** Embeddings that exceed the provider's input limit are retried at progressively shorter lengths, and a vertex that still doesn't fit is skipped individually instead of aborting the batch; similarity search ignores vertices without an embedding.
- **Large ingests no longer fail on oversized upsert batches.** Upserts are sized to the pending work so very large flushes are not rejected, and progress counts reflect distinct vertices and edges.
- **Schema lookups resolve correctly on asynchronous request paths.** The schema-version lookup is now awaited where it was previously used without awaiting.
- **Ingestion resumes after a transient database disconnect.** Files whose load hits a connection error are retried once the database is reachable again (bounded, so a persistent outage fails out rather than hanging), and any that still fail are named so re-running ingest reloads only those — already-loaded documents upsert idempotently.
- **Non-ASCII answers no longer break when context is large.** Retrieved context is measured against the model's input limit in the same form that is sent to it, so Japanese and other multi-byte content is no longer mis-sized and truncated incorrectly.
- **A malformed answer no longer surfaces raw context to the user.** When the model returns slightly broken JSON, the readable answer (and its citations, when intact) is recovered from the response instead of falling back to dumping the retrieved context as the "answer."
- **OpenAI reasoning models can be configured as the chat model.** The `temperature` setting is omitted for OpenAI o-series models (o1/o3/o4), which reject it; other OpenAI models are unaffected.

## [1.4.2]

### Added
Expand Down
Loading
Loading