)]}'
{
  "log": [
    {
      "commit": "efc9008d5df05d9afb91827f988cdbdab8f8c663",
      "tree": "2e16716c4293a5f7199858adbfc9ba6f76b9e0ba",
      "parents": [
        "2df0b6e1583a900211c31f6f169d836363f1d7c1"
      ],
      "author": {
        "name": "Muawiya Amir",
        "email": "contactmuawia@gmail.com",
        "time": "Thu May 21 15:40:23 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 18:40:23 2026 +0800"
      },
      "message": "fix(client): handle silent-skip anti-pattern in test_gremlin.py (#336)\n\nFixes the silent-skip anti-pattern in \u003ccode\u003etest_gremlin.py\u003c/code\u003e —\npreviously,\nif the Gremlin endpoint was down, all 6 tests would silently show as\n\u003cstrong\u003eSKIPPED\u003c/strong\u003e in CI instead of \u003cstrong\u003eFAILED\u003c/strong\u003e,\nhiding real regressions.\u003c/p\u003e\n\n\n---------\n\nSigned-off-by: Muawiya-contact \u003ccontactmuawia@gmail.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "2df0b6e1583a900211c31f6f169d836363f1d7c1",
      "tree": "042a69c22a0d07cf8337b9c4ff63d178fcbe0f6c",
      "parents": [
        "d36135dbf4f0604effeff270da0f575e9f7d54e8"
      ],
      "author": {
        "name": "Makoto",
        "email": "2762006003@qq.com",
        "time": "Wed May 20 15:20:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 15:20:54 2026 +0800"
      },
      "message": "fix(llm): improve rag demo error handling (#335)\n\n## Summary\n\n- Make RAG demo auto-reload opt-in through `HG_DEV_RELOAD` instead of\nenabling reload by default.\n- Improve LLM error handling so LiteLLM/OpenAI runtime failures surface\nconsistently instead of being silently converted to ordinary result\nstrings.\n- Update Ollama async embeddings to use the batch `embed(input\u003d...)` API\nand validate malformed embedding responses.\n- Make graph summary fetching handle HugeGraph Gremlin response shapes\nmore defensively while preserving real execution failures.\n- Clarify HugeGraph schema and HTTP error messages so callers receive\nmore actionable failures.\n\n---------\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "d36135dbf4f0604effeff270da0f575e9f7d54e8",
      "tree": "09c3dc8852712ffa1ee4658eca68f6bf736449ea",
      "parents": [
        "a15965ef00062f0eb4025f3120d66020b1499306"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed May 20 10:51:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 10:51:05 2026 +0800"
      },
      "message": "docs: add root agent guidance and refine LLM module rules (#339)\n\n## Summary\n- add root AGENTS.md with concise repo-wide AI agent guidance\n- refactor hugegraph-llm/AGENTS.md into focused module rules\n- emphasize sufficient and effective tests for code changes"
    },
    {
      "commit": "a15965ef00062f0eb4025f3120d66020b1499306",
      "tree": "25b0c62d766a02cef683133713950cc01c4cb60a",
      "parents": [
        "016158f1a3ee19f880a9e9cd7bb1e641234b20d3"
      ],
      "author": {
        "name": "mengmeng.lin",
        "email": "15639710163@163.com",
        "time": "Tue May 19 21:50:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 21:50:26 2026 +0800"
      },
      "message": "fix(graph): resolve edge creation failure due to vertex ID mismatch (#331)\n\n## Summary\n\n- Fix edge creation failure when loading extracted graph data into\nHugeGraph\n- The HugeGraph server assigns vertex IDs (e.g., `1:Sarah`) using\nnumeric label IDs, which differ from LLM-predicted IDs (e.g.,\n`person:Sarah`) that edges reference\n- Add `vid_mapping` to track the ID mapping and update edge `outV`/`inV`\nafter vertex creation\n- Normalize extracted graph IDs and edge endpoints after LLM extraction,\nincluding missing item `type` fields and custom string IDs\n\n```\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "016158f1a3ee19f880a9e9cd7bb1e641234b20d3",
      "tree": "f29d8aa93b3bda1913a2b8045ff2c0eaa9a043a1",
      "parents": [
        "e14c25d22f1d6a802908f37fd4b7ec615398be63"
      ],
      "author": {
        "name": "mengmeng.lin",
        "email": "15639710163@163.com",
        "time": "Tue May 19 15:53:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 15:53:36 2026 +0800"
      },
      "message": "fix(llm): improve graph JSON parsing robustness for LLM outputs (#332)\n\n## Summary\n\n- Improve `_extract_and_filter_label` to handle varying LLM output\nformats\n- Strip markdown code blocks before JSON extraction\n- Support both `{\"vertices\":[...], \"edges\":[...]}` (object) and flat\narray formats\n- Auto-convert flat arrays to the expected object structure\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: linmm \u003clinmm@huaun.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e14c25d22f1d6a802908f37fd4b7ec615398be63",
      "tree": "2561e79054aa6fb7740c40e3e0a7e0163a2d48cd",
      "parents": [
        "f6e08f9482aa5810c5595197cbbc60fce782c894"
      ],
      "author": {
        "name": "mengmeng.lin",
        "email": "15639710163@163.com",
        "time": "Tue May 19 12:54:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 12:54:28 2026 +0800"
      },
      "message": "fix(api): fix POST /config/graph AttributeError (req.name -\u003e req.graph) (#337)\n\n## Summary\n- Fix `req.name` to `req.graph` in `rag_api.py:158` to match the\n`GraphConfigRequest` model field name\n\nFixes #330\n\n## Test plan\n- [x] `ruff format --check .` and `ruff check .` pass\n- [ ] Verify `POST /config/graph` returns success instead of 500\n\n---------\n\nCo-authored-by: linmm \u003clinmm@huaun.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "f6e08f9482aa5810c5595197cbbc60fce782c894",
      "tree": "2197eb39c8c74f358296bbb7bbd728fc68248862",
      "parents": [
        "2f6e4dfd349d40fbc0318384e5fc9239d7ecf2d1"
      ],
      "author": {
        "name": "mengmeng.lin",
        "email": "15639710163@163.com",
        "time": "Tue May 19 12:53:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 12:53:06 2026 +0800"
      },
      "message": "fix(llm): strip markdown code fences in keyword extraction parser (#338)\n\n## Summary\n- Strip markdown code fences (` ``` `) from LLM response before keyword\nextraction parsing\n- Consistent with how other operators (`gremlin_generate`,\n`schema_build`, `property_graph_extract`) already handle LLM output\n\nFixes #333\n\n## Test plan\n- [x] `ruff format --check .` and `ruff check .` pass\n- [ ] Verify keyword extraction works when LLM returns responses wrapped\nin markdown code blocks\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: linmm \u003clinmm@huaun.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "2f6e4dfd349d40fbc0318384e5fc9239d7ecf2d1",
      "tree": "afce3d49521566dddc7b1a00d1dc8da21b4f57a6",
      "parents": [
        "168adf9fa04bbac54af43daa24ceae2fd96245b1"
      ],
      "author": {
        "name": "lokidundun",
        "email": "lokidundun@apache.org",
        "time": "Mon May 11 22:49:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 22:49:07 2026 +0800"
      },
      "message": "fix: fix the sync action failure (#328)\n\nPurpose                                          \nThis PR fixes the sync action failure when upstream modifies workflow\nfiles in .github/workflows/.\nPreviously, Fork-Sync-With-Upstream-action would fail to push with a\npermission error because GitHub\u0027s GITHUB_TOKEN cannot create or update\nworkflow files.\n  Changes         \n- Replace Fork-Sync-With-Upstream-action with a manual git sync script.\n  - Check whether upstream modified .github/workflows/ before pushing.\n- Preserve local workflow files when upstream changes them, allowing\nGITHUB_TOKEN to push the remaining changes.\n- Remove the misleading hardcoded error message and unrelated tutorial\nlink."
    },
    {
      "commit": "168adf9fa04bbac54af43daa24ceae2fd96245b1",
      "tree": "b6294bf139c94785174298cf8e31b23c94dc542b",
      "parents": [
        "c79713d71182619442c5b9d01460d3937e9a1a04"
      ],
      "author": {
        "name": "Moavia Amir",
        "email": "contactmuawia@gmail.com",
        "time": "Fri May 08 18:28:32 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 21:28:32 2026 +0800"
      },
      "message": "fix(client): implement graphspace auth routing (#325)\n\nAuth endpoints in the Python client were using absolute paths\n(`/auth/users`, etc.) that only worked because of a temporary\n`PathFilter` compatibility layer in HugeGraph 1.7.0. Once `PathFilter`\nis removed, those endpoints would break.\n\nThis PR implements the same dual-path strategy as the Java client\u0027s\n`AuthAPI.java` — graphspace-scoped paths when a graphspace is available,\nserver-level fallback when it isn\u0027t.\n\n## Changes\n\n**`src/pyhugegraph/utils/huge_router.py`**\nPath resolution moved to runtime — prefers explicit graphspace arg, then\n`session.cfg.graphspace` when `gs_supported` is true, falls back to\nserver-level `/auth/...` otherwise.\n\n**`src/pyhugegraph/api/auth.py`**\n- `users`, `accesses`, `belongs`, `targets` →\n`graphspaces/{graphspace}/auth/...`\n- `groups` → `/auth/groups` (server-level, unchanged)\n\n**`src/tests/api/test_auth_routing.py`** (new)\nUnit tests mocking `HGraphSession` — asserts correct URL resolution for\nboth graphspace and fallback cases. 9 tests, all passing.\n\n**`src/tests/api/test_auth.py`**\nIntegration tests now skip gracefully when no live server is reachable —\nlocal runs won\u0027t fail without a HugeGraph instance.\n\n## Backward Compatibility\n\nPublic method signatures are unchanged. Behavior only differs when a\ngraphspace is configured — requests use the scoped path automatically.\nNo user action required.\n\n\n---------\n\nSigned-off-by: Muawiya-contact \u003ccontactmuawia@gmail.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "c79713d71182619442c5b9d01460d3937e9a1a04",
      "tree": "8008e5e233ca920d3bb095769ce5c5393d2a5faa",
      "parents": [
        "c04f3a1c82cfb61e6a20170b5d49af471c36028d"
      ],
      "author": {
        "name": "Moavia Amir",
        "email": "contactmuawia@gmail.com",
        "time": "Tue May 05 11:46:31 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 14:46:31 2026 +0800"
      },
      "message": "refactor(client): upgrade pyclient from 1.3.0 to 1.7.0 (#320)\n\n- Update server image to `hugegraph/hugegraph:1.7.0`\n- Migrate CI from manual docker run to GitHub service containers\n- Add health check for reliable startup verification\n- Remove legacy version gates for `/metrics/system` endpoint\n- Add version guard to reject servers older than `1.5.0`\n- Fix exception handling to prevent RuntimeError from being silently\nswallowed\n- Remove TestSystemMetricsVersionGate test class (no longer needed)\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "c04f3a1c82cfb61e6a20170b5d49af471c36028d",
      "tree": "c575a63d67dd39ffb3a96699258e473638c45b8b",
      "parents": [
        "830374074052031044e561443d224312f4858af0"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Sun Apr 26 14:18:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 14:18:23 2026 +0800"
      },
      "message": "chore: add automatic rerun workflow for CI (#321)\n\n## Summary\n\n- Add a `Rerun CI` workflow to automatically rerun failed test CI jobs.\n- Limit reruns to CI workflows that may be affected by transient\nintegration or service startup issues.\n- Keep automatic reruns limited to push and pull request events, with a\nmax retry count of 2."
    },
    {
      "commit": "830374074052031044e561443d224312f4858af0",
      "tree": "5a49115b04667d46832872702a4d7981bb8ede9d",
      "parents": [
        "4dd6a1642f203406403539ef0d96d7d378dfbaef"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Tue Apr 07 23:36:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 23:36:13 2026 +0800"
      },
      "message": "refactor: remove \u0027incubating\u0027 branding, update docs \u0026 packaging (#318)\n\n- remove the obsolete `DISCLAIMER` file\n- update `NOTICE` project name and copyright year\n- replace `apache/incubator-hugegraph-ai` links with\n`apache/hugegraph-ai`\n- update related HugeGraph ecosystem links in docs\n- adjust release script source package naming and ASF dist SVN path\n- update issue templates and fork sync workflow upstream repo name\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "4dd6a1642f203406403539ef0d96d7d378dfbaef",
      "tree": "32f78c2d29d9d8b0c687785569c75f60365a402e",
      "parents": [
        "7116b317ccea5f0e694727c2ea866f67f6d7d0c5"
      ],
      "author": {
        "name": "vaughn",
        "email": "vaughn@apache.org",
        "time": "Mon Dec 15 20:40:49 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 15 20:40:49 2025 +0800"
      },
      "message": "Feature vaughn (#316)\n\n"
    },
    {
      "commit": "7116b317ccea5f0e694727c2ea866f67f6d7d0c5",
      "tree": "b38a271a1a13dc476d327f4583bf4c136a63ac31",
      "parents": [
        "53a8255a427987a3d3edccd78918922700cda249"
      ],
      "author": {
        "name": "vaughn",
        "email": "vaughn@apache.org",
        "time": "Sun Dec 07 23:53:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 07 23:53:17 2025 +0800"
      },
      "message": "feat: remove python-igraph (#314)\n\nthe python-igraph is GPL license that not compatible with apache\nlicense, so it need to be removed"
    },
    {
      "commit": "53a8255a427987a3d3edccd78918922700cda249",
      "tree": "33a66decbca010fa835600c197541fb952e934b9",
      "parents": [
        "1c2b5780e0a414c9074b8245259c47a114ff8bf3"
      ],
      "author": {
        "name": "LingXiao Qi",
        "email": "lotus0721@outlook.com",
        "time": "Thu Nov 27 11:22:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 27 11:22:06 2025 +0800"
      },
      "message": "feat: add ruff format \u0026 init mypy config \u0026 add pre-commit (#313)\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "1c2b5780e0a414c9074b8245259c47a114ff8bf3",
      "tree": "aa03f78efd96dd6cfb738b96973aba7d9d8c1f1a",
      "parents": [
        "0a6a705c661c822ec88ba0d22080dce36f89cfc4"
      ],
      "author": {
        "name": "Linyu",
        "email": "weijinglin@sjtu.edu.cn",
        "time": "Wed Nov 26 19:27:10 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 26 19:27:10 2025 +0800"
      },
      "message": "feat(llm): add basic unit-test for llm module  (#311)\n\nCo-authored-by: Yan Chao Mei \u003c1653720237@qq.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "0a6a705c661c822ec88ba0d22080dce36f89cfc4",
      "tree": "75decf683b9d40428dff560f1f1f9c419f7eb365",
      "parents": [
        "101f10f1f0568ca935928cc5bdaf149eee66e4fe"
      ],
      "author": {
        "name": "Linyu",
        "email": "weijinglin@sjtu.edu.cn",
        "time": "Sat Nov 15 20:10:02 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 15 20:10:02 2025 +0800"
      },
      "message": "chore: integrate pycgraph with uv for arm64 support (#309)\n\n"
    },
    {
      "commit": "101f10f1f0568ca935928cc5bdaf149eee66e4fe",
      "tree": "f98f97ef228b702bc0b4a5e5d80c141b5a0c767b",
      "parents": [
        "6a82a8595b530f8d44bd193f80f8cc65af11be14"
      ],
      "author": {
        "name": "Linyu",
        "email": "weijinglin@sjtu.edu.cn",
        "time": "Tue Nov 11 17:18:54 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 11 17:18:54 2025 +0800"
      },
      "message": "chore(llm): upgrade pycgraph to v3.2.2 (#307)\n\n"
    },
    {
      "commit": "6a82a8595b530f8d44bd193f80f8cc65af11be14",
      "tree": "ec13e3b2c7265e4f06acd0633c7cfee766a79f9f",
      "parents": [
        "ba3ad2bc4165639f7278c0e17797cf8f28f72048"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Nov 05 19:03:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 19:03:46 2025 +0800"
      },
      "message": "fix(llm): Ollama embedding API usage and config param (#306)\n\nCorrects the OllamaEmbedding instantiation to use \u0027model\u0027 instead of\n\u0027model_name\u0027 and updates the embed API call to pass input as a list,\nmatching the expected Ollama API format. Also removes the Linux-only\nmarker from the pycgraph dependency in pyproject.toml.\n\n\nWE DO NEED TEST:)"
    },
    {
      "commit": "ba3ad2bc4165639f7278c0e17797cf8f28f72048",
      "tree": "b3dff254d39014a0485ea3aff252af0f3a90bf8c",
      "parents": [
        "28f857570f300547fec67b372797e5894df55c06"
      ],
      "author": {
        "name": "Linyu",
        "email": "weijinglin@sjtu.edu.cn",
        "time": "Wed Nov 05 16:21:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 16:21:53 2025 +0800"
      },
      "message": "chore: update CGraph version with tag (#305)\n\nFixed PyCGraph to version 3.2.0 (solving a bug occured when combining\nGCondition with GRegion in PyCGraph)"
    },
    {
      "commit": "28f857570f300547fec67b372797e5894df55c06",
      "tree": "d9f494d76390b7dee2da4994d5e4c2187f930da5",
      "parents": [
        "edae38950adb51b47352b6376d4b569f99f2d1e9"
      ],
      "author": {
        "name": "LingXiao Qi",
        "email": "lotus0721@outlook.com",
        "time": "Tue Oct 28 19:34:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 28 19:34:31 2025 +0800"
      },
      "message": "feat(llm): support vector db layer V1.0 (#304)\n\nclose #239 #246\n\n---\n## Summar\n\n* **New Features**\n* Added support for multiple vector database backends: Milvus and Qdrant\nalongside Faiss.\n  * Introduced admin authentication system with login configuration.\n* Enhanced RAG API with reranking methods, neighbor-first option, and\ncustom priority information.\n  * Added new Gremlin output types for query results.\n\n* **Configuration**\n  * Improved type safety across core configurations.\n  * Added embedding dimension specifications for LLM models.\n  * New vector database configuration options.\n\n* **Documentation**\n* Updated setup instructions for vector database backends and NLTK\ndependencies.\n\n* **Refactoring**\n  * Redesigned vector index system to support pluggable backends.\n  * Restructured workflow system with extensible flow abstraction.\n---\n## 架构序列图\n\n```mermaid\nsequenceDiagram\n    participant User\n    participant Scheduler\n    participant Flow\n    participant GPipeline\n    participant Node\n    participant Operator\n    participant VectorStore\n\n    User-\u003e\u003eScheduler: schedule_flow(flow_name, ...)\n    Scheduler-\u003e\u003eFlow: build_flow(...)\n    Flow-\u003e\u003eGPipeline: 创建管道\n    Flow-\u003e\u003eNode: 注册节点\n    Node-\u003e\u003eOperator: 初始化操作符\n    Operator-\u003e\u003eVectorStore: 获取向量存储实例\n    \n    GPipeline-\u003e\u003eNode: run()\n    Node-\u003e\u003eNode: node_init()\n    Node-\u003e\u003eOperator: operator_schedule(data_json)\n    Operator-\u003e\u003eVectorStore: add/search/remove()\n    \n    Node--\u003e\u003eGPipeline: 返回状态\n    Flow-\u003e\u003eFlow: post_deal(pipeline)\n    Flow--\u003e\u003eScheduler: 返回结果\n    Scheduler--\u003e\u003eUser: 返回答案\n```\n\n---------\n\nCo-authored-by: Linyu \u003c94553312+weijinglin@users.noreply.github.com\u003e\nCo-authored-by: mikumifa \u003c1055069518@qq.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "edae38950adb51b47352b6376d4b569f99f2d1e9",
      "tree": "4697626f59fbee5169d3d3af7ccb3ad433a82b93",
      "parents": [
        "6ad8fd9ba6ed488923ba7902dfdec7bbc064a53a"
      ],
      "author": {
        "name": "jinglinwei",
        "email": "weijinglin@sjtu.edu.cn",
        "time": "Mon Oct 13 01:01:47 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Oct 23 22:00:17 2025 +0800"
      },
      "message": "refactor: port batch build gremlin examples \u0026 delete some doc related to Pipeline(old design) \u0026 refactor some operator\u0027s design and implementation \u0026 code format\n"
    },
    {
      "commit": "6ad8fd9ba6ed488923ba7902dfdec7bbc064a53a",
      "tree": "1d45bb943c3338d7cf70f6e40f2a715c7dca5709",
      "parents": [
        "d36d41d164ed04b77bf0d105ced442638bb5a2be"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Tue Sep 30 10:55:47 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Oct 23 22:00:17 2025 +0800"
      },
      "message": "refactor(RAG workflow): modularize flows, add streaming, and improve node initialization (#51)\n"
    },
    {
      "commit": "d36d41d164ed04b77bf0d105ced442638bb5a2be",
      "tree": "991e045a50db58a9c334cca2bacb42017e25d85f",
      "parents": [
        "b90925ad6d01183657fd91b54f8ed56590475da2"
      ],
      "author": {
        "name": "LingXiao Qi",
        "email": "lotus0721@outlook.com",
        "time": "Tue Sep 30 00:24:18 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Oct 23 22:00:17 2025 +0800"
      },
      "message": "refactor: text2germlin with PCGraph framework (#50)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\nCo-authored-by: Linyu \u003c94553312+weijinglin@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "b90925ad6d01183657fd91b54f8ed56590475da2",
      "tree": "3fd0178c9199b28390217befd2cdc15f4ea52702",
      "parents": [
        "0bdbf8997edec7661ef79172a0efc1e03dbd78ba"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Thu Sep 25 15:09:38 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Oct 23 22:00:17 2025 +0800"
      },
      "message": "refactor: refactor hugegraph-ai to integrate with CGraph \u0026 port some usecases in web demo (#49)\n"
    },
    {
      "commit": "0bdbf8997edec7661ef79172a0efc1e03dbd78ba",
      "tree": "39f58ac84029b695b29ae22a3660fe0b0da996c8",
      "parents": [
        "2eb7834bb6e859599a088a20c9c4328f56d2a5e6"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Tue Sep 16 14:54:03 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Oct 23 22:00:17 2025 +0800"
      },
      "message": "refactor: refactor scheduler to support dynamic workflow scheduling and pipeline pooling (#48)\n"
    },
    {
      "commit": "2eb7834bb6e859599a088a20c9c4328f56d2a5e6",
      "tree": "c2a1aa6ee3c82ddb7a2f4f1874fca291a1ab56a9",
      "parents": [
        "9e76c2a0f6cfad226e99fddf887358b6f82ce5ec"
      ],
      "author": {
        "name": "Frui Guo",
        "email": "153489642+Gfreely@users.noreply.github.com",
        "time": "Tue Oct 21 17:33:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 21 17:33:31 2025 +0800"
      },
      "message": "feat(llm): update keyword extraction method (BREAKING CHANGE)  (#282)\n\nBREAKING CHANGE\n**MUST** :UPDATE YOUR \"KEYWORD EXTRACT PROMPT\" To LATEST VERSION\n\nfix #224 problem, update the new UI to support change keyword extraction\nmethod.\n\n**Main changes**\n\nAdded options to the RAG interface for selecting the keyword extraction\nmethod(including LLM, TextRank, Hybrid) and the max number of keywords.\n\u003cimg width\u003d\"619\" height\u003d\"145\" alt\u003d\"QQ20250818-193453\"\nsrc\u003d\"https://github.com/user-attachments/assets/3c0d21f0-82bb-4176-bfe2-1b0744c06b6d\"\n/\u003e\n\nA \u0027TextRank mask words\u0027 setting has also been added. It allows users to\nmanually input specific phrases composed of letters and symbols to\nprevent them from being split during word segmentation. And the input\nwill also be saved.\n\u003cimg width\u003d\"1207\" height\u003d\"263\" alt\u003d\"QQ20250818-193518\"\nsrc\u003d\"https://github.com/user-attachments/assets/6366789a-f87d-46a4-a85a-9f3b4d9ce9a5\"\n/\u003e\n\n\n**Test results**\n\nTextRank Method:\n-Input\n\u003cimg width\u003d\"363\" height\u003d\"144\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/4a6267f7-3982-4fca-82df-60cd55bed6af\"\n/\u003e\n\n-Result:\n\u003cimg width\u003d\"232\" height\u003d\"118\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/54a34d00-e588-44ad-9eff-d7281d7d93e5\"\n/\u003e\n\n\nHybrid Method:\n\u003cimg width\u003d\"710\" height\u003d\"129\" alt\u003d\"QQ20250818-193508\"\nsrc\u003d\"https://github.com/user-attachments/assets/541534fd-cec0-4002-9967-e49954a6c19e\"\n/\u003e\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "9e76c2a0f6cfad226e99fddf887358b6f82ce5ec",
      "tree": "1a881703875809199ee7f7aa1bdd32c24a10883d",
      "parents": [
        "dedf4aee6cdfa3d5d39a272ad4b159acc584fa11"
      ],
      "author": {
        "name": "LingXiao Qi",
        "email": "148341767+fantasy-lotus@users.noreply.github.com",
        "time": "Thu Sep 11 12:23:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 11 12:23:06 2025 +0800"
      },
      "message": "docs(llm): use AGENTS.md as LLM  standard doc (#299)\n\n"
    },
    {
      "commit": "dedf4aee6cdfa3d5d39a272ad4b159acc584fa11",
      "tree": "63e1fe461fd400012cc6c997ddeabfd8ff02080d",
      "parents": [
        "71fe026e9bee0f62da70f37164bc68277ccd0562"
      ],
      "author": {
        "name": "Sean",
        "email": "2579935313@qq.com",
        "time": "Mon Aug 11 19:23:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 11 19:23:42 2025 +0800"
      },
      "message": "fix(llm): add missing \u0027properties\u0027 in gremlin prompt formatting (#298)\n\n"
    },
    {
      "commit": "71fe026e9bee0f62da70f37164bc68277ccd0562",
      "tree": "44420b8ca0e074d34624aa552202873d4a490c69",
      "parents": [
        "957283e642d11f866638898f00e142f67fbe7840"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Mon Aug 11 14:24:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 11 14:24:17 2025 +0800"
      },
      "message": "feat(llm): add text2gremlin api (#258)\n\nCo-authored-by: jinsong04 \u003cjinsong04@MacBook-Pro-2.local\u003e\nCo-authored-by: Seanium \u003cSeanium@foxmail.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "957283e642d11f866638898f00e142f67fbe7840",
      "tree": "525cd1361f0dc623d391f0942447cd77f16f18bc",
      "parents": [
        "99cd5e406c9796384d4056b760bf847c857e9969"
      ],
      "author": {
        "name": "Gearless",
        "email": "77921223+Creeprime@users.noreply.github.com",
        "time": "Wed Aug 06 21:41:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 06 21:41:40 2025 +0800"
      },
      "message": "feat(llm): support vector data for a graph instance by multi model (#265)\n\n## Overview\nThis PR implements independent data directory management when switching\nbetween different embedding models. Each embedding model will store its\nresults in a separate directory, and during queries, the corresponding\nmodel’s embedding data will be automatically identified and loaded,\nensuring that multiple models can coexist without data overwriting.\n\n## Main Changes\n1. **`vector_index` Module Method Adjustments**  \n- Updated methods such as `from_index_file`, `to_index_file`, and\n`clean` to include a `model_name` parameter, enabling model-based\nindependent storage paths.\n- Backward compatibility is maintained: if `model_name` is not provided,\nthe original behavior remains unchanged.\n\n2. **Index Operation Class Path Concatenation Refactoring**  \n- In classes like `BuildSemanticIndex`, modified directory concatenation\nso that the current `embedding_type` is automatically used to generate\nsubdirectories without manual specification.\n\n3. **Embedding Class Name Unification**  \n- Unified the model name field across all embedding classes as\n`model_name`, and updated related invocation logic to ensure consistency\nwith the index module.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e\nCo-authored-by: Frui Guo \u003c153489642+Gfreely@users.noreply.github.com\u003e"
    },
    {
      "commit": "99cd5e406c9796384d4056b760bf847c857e9969",
      "tree": "a3de5970ff1fe64380b1c07c1847a83ebd936331",
      "parents": [
        "0c9c15c20fee3748718c5a77b3120469b6b06d02"
      ],
      "author": {
        "name": "day0n",
        "email": "niuzj0@gmail.com",
        "time": "Wed Aug 06 18:10:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 06 18:10:31 2025 +0800"
      },
      "message": "feat(llm): support switch prompt language in EN/CN (#269)\n\nclose #260\n  - Add prompt language indicator\n  \n\u003cimg width\u003d\"1878\" height\u003d\"89\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/a0040611-8c5d-45c5-8aa7-580fd4e5367d\"\n/\u003e\n\u003cimg width\u003d\"1853\" height\u003d\"52\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/49201c7b-e6e9-403c-bc76-7e2b6e03ac8d\"\n/\u003e\n\n  - Add  query examples for CN/EN support\n  \n\u003cimg width\u003d\"1233\" height\u003d\"407\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/4c06cd78-a6c3-4749-b132-a9db42a29429\"\n/\u003e\n\n-update README with prompt language support details\n-Support switching prompt EN/CN\n\nsupport switch prompt language EN/CN\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai\n--\u003e\n## Summary by CodeRabbit\n\n* **新功能**\n  * 增加了对中英文提示词的支持，可通过 `.env` 文件中的 `LANGUAGE` 配置切换语言，默认使用英文。\n  * 配置文件中新增 `language` 字段，支持 \"EN\" 和 \"CN\" 两种语言选项。\n  * 自动检测并同步 `.env` 配置与 YAML 提示词文件的语言设置，确保提示词内容与当前语言一致，语言切换时自动重新生成提示词。\n  * 提示词属性重命名以区分语言版本，新增语言参数支持提示词生成。\n  * 演示界面新增语言指示器，动态显示当前使用的提示词语言。\n  * 查询示例根据语言自动加载对应的中英文版本。\n  * 新增中文查询示例资源文件，丰富多样的图数据库查询案例。\n\n* **文档**\n  * README 增加了“语言支持”说明，指导如何切换中英文提示词。\n  * 新增详细的配置说明文档 `CONFIGURATION.md`，涵盖系统、提示词、部署和项目配置，提供完整配置参数说明和使用示例。\n\n* **样式**\n  * 优化了 README 部分格式，提升可读性。\n  * pylint 配置调整，改善对动态属性和兼容性警告的处理。\n  * 新增语言指示器相关样式，支持界面语言状态的视觉展示。\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "0c9c15c20fee3748718c5a77b3120469b6b06d02",
      "tree": "99b5bcd3bfbcd8c3ebbadda1eb00b945f3be61f2",
      "parents": [
        "cd404b8c7facade86bc541212e6e071ec6a61402"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Jul 31 17:30:41 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 31 17:30:41 2025 +0800"
      },
      "message": "fix(llm): refactor embedding parallelization to preserve order (#295)\n\nReworked get_embeddings_parallel to use asyncio.gather for batch\nprocessing, ensuring output order matches input. Added a helper for\nbatch progress updates and improved progress bar accuracy."
    },
    {
      "commit": "cd404b8c7facade86bc541212e6e071ec6a61402",
      "tree": "88610ee9293120d9d065d18ed83be0f62bc19c26",
      "parents": [
        "a825e65bdbb73fd48c466ea7fd4bd1a6ddd587b5"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Thu Jul 31 17:02:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 31 17:02:58 2025 +0800"
      },
      "message": "perf(llm): optimize vector index with asyncio embedding (#264)\n\n## Changes\nThis PR introduces performance optimizations for vector index building\nand querying by implementing parallel text embedding generation.\n\n### Key Improvements\n1. Added new utility class `embedding_utils.py` with parallel batch\nprocessing capabilities\n- Implements `get_embeddings_parallel` function for efficient batch\nprocessing\n   - Uses asyncio with semaphore for controlled concurrency\n   - Supports batch size of 1000 with max 10 concurrent tasks\n\n2. Refactored all index operation classes to use parallel processing:\n   - `BuildGremlinExampleIndex`\n   - `BuildSemanticIndex`\n   - `BuildVectorIndex`\n   - `GremlinExampleIndexQuery`\n   - `SemanticIdQuery`\n   - `VectorIndexQuery`\n\n3. Unified embedding generation approach:\n- Replaced individual `get_text_embedding` calls with batch\n`get_texts_embeddings`\n   - Removed duplicate parallel processing code\n   - Improved code reusability and maintainabilityl\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "a825e65bdbb73fd48c466ea7fd4bd1a6ddd587b5",
      "tree": "6690b3f5c6798d259e7e1296ea272d4d38618971",
      "parents": [
        "6dd9cd7e14cc96a6b155ed6ee0611c706e1ad50b"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Mon Jul 28 16:30:33 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 28 16:30:33 2025 +0800"
      },
      "message": "docs: update README with improved setup instructions (#294)\n\nAdded explicit instructions for creating a .env configuration file under\nhugegraph-llm if it does not exist, to help new users avoid setup\nissues."
    },
    {
      "commit": "6dd9cd7e14cc96a6b155ed6ee0611c706e1ad50b",
      "tree": "0b5d145945dea3e838bc431d85ad03736d66b838",
      "parents": [
        "b4e2fe9a2989de756bcc43037fb20197b95bb176"
      ],
      "author": {
        "name": "day0n",
        "email": "niuzj0@gmail.com",
        "time": "Fri Jul 25 17:42:13 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 25 17:42:13 2025 +0800"
      },
      "message": "refactor(llm): replace QianFan by OpenAI-compatible format (#285)\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "b4e2fe9a2989de756bcc43037fb20197b95bb176",
      "tree": "60139ddb980d1d7c9a2354311c3258813dee8113",
      "parents": [
        "fe94881b7b43f24e7d49b3174d0fad7b5942bcc5"
      ],
      "author": {
        "name": "LingXiao Qi",
        "email": "148341767+fantasy-lotus@users.noreply.github.com",
        "time": "Fri Jul 25 17:13:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 25 17:13:46 2025 +0800"
      },
      "message": "feat(llm): add rules for AI coding guideline - V1.0 (#293)\n\nThis pull request introduces a comprehensive workflow and documentation\nframework for AI-assisted software development, focusing on structured\ncollaboration between developers and AI. Key changes include defining\nworkflow stages, creating detailed documentation templates, and\nestablishing clear rules for task execution and analysis.\n\n### Workflow and Process Definitions:\n* **`rules/README.md`**: Introduced a staged workflow for AI-assisted\ndevelopment, emphasizing requirements, design, planning, and execution\nphases. Key principles include staged progression, explicit approval,\nand iterative loops.\n* **`rules/execute.md`**: Defined task execution standards, including\natomic task focus, TDD-first development, and clear completion criteria.\n* **`rules/plan.md`**: Outlined the process for creating structured task\nchecklists (`tasks.md`), with rules for dependency tracking and\niterative feedback.\n* **`rules/basic.md`**: Established core communication protocols and\naction principles for AI agents, including risk analysis and proactive\nalignment with users.\n* **`rules/design.md`**: Detailed the process for creating technical\ndesign documents (`design.md`), including mandatory research, iterative\nfeedback, and approval loops.\n* **`rules/requirements.md`**: Defined a structured approach for\ncollecting and documenting requirements (`requirements.md`) using EARS\nsyntax and user story formats.\n\n### Analysis and Project Documentation:\n* **`rules/prompts/project-deep.md`**: Added a prompt for in-depth\ntechnical and business process analysis, including detailed\ndocumentation templates and analysis techniques.\n* **`rules/prompts/project-general.md`**: Defined standards for\nproject-level documentation, including domain models, API documentation,\nand external dependencies.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "fe94881b7b43f24e7d49b3174d0fad7b5942bcc5",
      "tree": "af4b410899b54b247c472234e912baf28cf44dd7",
      "parents": [
        "220ceb18be0665643c5423ec9c269b273c41bd53"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Fri Jul 25 15:50:29 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 25 15:50:29 2025 +0800"
      },
      "message": "chore(llm): add a basic LLM/AI coding instruction file (#290)\n\nPR #293 follow it to create first step"
    },
    {
      "commit": "220ceb18be0665643c5423ec9c269b273c41bd53",
      "tree": "9cba34e123381b5af9a47d6901831a99408f166f",
      "parents": [
        "860105829e7280c6484c1f0b2bef4e65cf6c8c5f"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Thu Jul 24 21:43:20 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 21:43:20 2025 +0800"
      },
      "message": "chore: add GitHub Actions for auto upstream sync and update SEALData subsample logic (#289)\n\nThis PR includes the following changes:\n\n1. chore(workflow):\n- Add .github/pull.yml to configure pull request rules for automatic\nsyncing with the upstream apache/main branch, including assignees and\nreviewers.\n- Add .github/workflows/sync.yml to enable scheduled (every 3 hours) and\nmanual synchronization of the fork with the upstream repository using\nthe Fork-Sync-With-Upstream-action. Includes error handling for workflow\nsuspension.\n2. chore(seal):\n\n- Update the SEALData.__call__ method in hugegraph_ml/models/seal.py to\nremove the assignment of subsample_ratio for both \"train\" and other\nsplit types, replacing it with pass statements.\n\t- Update the file path string formatting for saving subsampled data.\n\nThese changes help automate repository maintenance and clarify the\nSEALData subsampling logic. No functional changes to model behavior are\nintroduced."
    },
    {
      "commit": "860105829e7280c6484c1f0b2bef4e65cf6c8c5f",
      "tree": "8fa6207c99eff60f2e0cc79c15c04a61cd6f522d",
      "parents": [
        "6fbf164f6bdac411b92cf2550ce76532fc08f15f"
      ],
      "author": {
        "name": "Zequan",
        "email": "63642221+ZequanLIU@users.noreply.github.com",
        "time": "Mon Jul 21 12:40:05 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 21 18:40:05 2025 +0800"
      },
      "message": "fix(log): reduce 3rd-party library log output  (#284)\n\nThis PR fixes #244 by reducing excessive third-party library log output.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "6fbf164f6bdac411b92cf2550ce76532fc08f15f",
      "tree": "b1eb1baebccd117acd75fec45e91c05930e9f3ad",
      "parents": [
        "409fc12ee532455e5b165ec1f18179988e76c5d5"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Jul 21 17:33:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 21 17:33:56 2025 +0800"
      },
      "message": "chore: unify all modules with uv (#287)\n\n## Walkthrough\n\nThis update mainly focuses on project dependency management, construction configuration, documentation and development process standardization.The core changes include the introduction of a unified root-level pyproject.toml and uv tools for dependency management, the removal of version constraints in each submodule dependency, the standardization of the system to hatchling, and the reconstruction and simplification of each README document and CI workflow.\n\n---------\n\nCo-authored-by: Hongjun Li \u003c103014488+returnToInnocence@users.noreply.github.com\u003e\nCo-authored-by: jinglinwei \u003cweijinglin@sjtu.edu.cn\u003e"
    },
    {
      "commit": "409fc12ee532455e5b165ec1f18179988e76c5d5",
      "tree": "072bc965c589b0cc4adefb1e45368e1f92bd6d5f",
      "parents": [
        "b51717c214bd53f2bcc50594318698e7e6e1e40c"
      ],
      "author": {
        "name": "Zhangjian He",
        "email": "hezhangjian97@gmail.com",
        "time": "Fri Jul 11 17:55:49 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 11 17:55:49 2025 +0800"
      },
      "message": "docs: update with `docker compose` command (#283)\n\nSigned-off-by: Zhangjian He \u003chezhangjian97@gmail.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "b51717c214bd53f2bcc50594318698e7e6e1e40c",
      "tree": "3e1788567433d431403e080eb76088c46128fed4",
      "parents": [
        "52a666efabc879d704edc6aad3837358b2d486c1"
      ],
      "author": {
        "name": "Gearless",
        "email": "77921223+Creeprime@users.noreply.github.com",
        "time": "Mon Jul 07 21:15:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 07 21:15:46 2025 +0800"
      },
      "message": "feat(llm): support semi-automated generated graph schema (#274)\n\n## Overview\nThis PR implements a semi‑automated graph schema generation feature. The\nsystem collects raw data samples provided by the user, along with\nuser‑provided or default built‑in Query Examples and Few‑Shot templates,\nsends them to the LLM to generate an initial schema draft for user\nreference. After users review and adjust the draft in the UI, the final\nGraph Schema is applied to the HugeGraph instance.\n\n## Main Changes\n1. **New Operator: `schema_builder.py`**  \n- Adds `SchemaBuilder` operator responsible for prompt construction,\ninvoking the LLM, and parsing the returned schema JSON.\n2. **Built‑in Prompt Configuration: `prompt_config.py`**  \n- Preloads default Query Examples and Few‑Shot schema templates in\n`prompt_config.py`; users can directly use these default templates for\nschema generation.\n3. **UI \u0026 Workflow Updates**  \n- Updates files such as `vector_graph_block.py` and\n`kg_construction_task.py` to add a collapsible \"Advanced Schema Options\"\nsection in the “Build RAG Index” module for triggering the\nsemi‑automated graph schema generation.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "52a666efabc879d704edc6aad3837358b2d486c1",
      "tree": "36c9f36e6ef145e481efcd3a6ec8bbbc3508648f",
      "parents": [
        "b027744850f75317be284dbc7c07128b3a7a7421"
      ],
      "author": {
        "name": "LRriver",
        "email": "145582757+LRriver@users.noreply.github.com",
        "time": "Tue Jul 01 21:01:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 01 21:01:31 2025 +0800"
      },
      "message": "feat(llm): support semi-automated prompt generation (#281)\n\n### Overview \nThis PR aims to introduce a semi-automated Prompt generation feature\n#253. This functionality leverages the capabilities of large language\nmodels (LLMs), allowing users to generate a highly customized Prompt for\nknowledge graph extraction by simply providing the original text, a\ndescription of the desired scenario, and selecting one example from a\nfew system-provided examples that best matches their scenario. The\ngenerated Prompt serves as a reference for users, reducing the\ndifficulty for them to get started.\n### Main Changes\n\n* **New Operator: `prompt_generate.py`**\n* Adds the `PromptGenerate` operator, which is responsible for\nconstructing the meta-prompt by combining user inputs with a selected\nfew-shot example, invoking the LLM, and returning the generated prompt.\n\n* **Built-in Prompt Examples \u0026 Configuration:**\n* Adds `prompt_examples.json`, a centralized file to store multiple,\nhigh-quality, structured few-shot examples for different domains.\n* Updates `prompt_config.py` with a new meta-prompt template\n(`generate_extract_prompt_template`) designed to guide the LLM in this\ngeneration task.\n\n* **UI \u0026 Workflow Updates:**\n* Updates `vector_graph_block.py` to add a collapsible \"Assist in\ngenerating graph extraction prompts\" section in the “Build RAG Index”\ntab.\n* This new UI section includes a dropdown for selecting few-shot\nexamples and a dynamic preview area that updates on selection.\n* Fixes a UI \"cold start\" bug by implementing a `demo.load()` event to\nensure the preview for the default example is displayed on initial page\nload.\n\n### New UI interface features\n**New interface location**\n\n\n![image](https://github.com/user-attachments/assets/1d5c0a1c-8add-4a89-9b17-d32d09379bce)\n**Expected scenario/direction and few-shot**\n\n\n![image](https://github.com/user-attachments/assets/16d672b6-bab2-4ad1-85dd-1c8a9e61b841)\n\n![image](https://github.com/user-attachments/assets/c77e323b-3dd6-45d7-b84c-36606fab6542)\n**prompt generate by LLM**\n\n\n![image](https://github.com/user-attachments/assets/5fffb36c-4a67-43bb-9762-b08065682e1e)\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "b027744850f75317be284dbc7c07128b3a7a7421",
      "tree": "5202a625003d8fbe45e2d6a909e21d6732269208",
      "parents": [
        "0bf31d23b327606fbb3ccf38ec0971793560de1a"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Tue Jul 01 19:53:10 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 01 19:53:10 2025 +0800"
      },
      "message": "chore: add docker-compose deployment and improve container networking instructions (#280)\n\nThis PR updates the hugegraph-llm/README.md and related Docker files to:\n\n- Add a new recommended deployment method using docker-compose\n(docker/docker-compose-network.yml), enabling one-command startup of\nboth HugeGraph Server and RAG containers in the same network.\n- Clearly distinguish between docker-compose (multi-container,\nrecommended) and manual single-container deployment, with step-by-step\ninstructions for both.\n- Provide explicit examples for .env mounting, network creation, and\ncontainer inter-communication (using container name as hostname).\n\nThis update makes it much easier for users to deploy, manage, and\nconnect the RAG and HugeGraph containers, and helps avoid common\npitfalls with Docker networking and environment configuration.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "0bf31d23b327606fbb3ccf38ec0971793560de1a",
      "tree": "76ab754c0748185d04be43bc2aae0a00f278f2c9",
      "parents": [
        "9231272d04954e15578c0edbfe3af065ed3ef334"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Jun 19 21:35:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 19 21:35:55 2025 +0800"
      },
      "message": "fix(llm): limit the deps version to handle critical init problems (#279)\n\nNote:\n\nDON\u0027T USE `xxx \u003e x.x` in python deps management (This would lead to\nunforeseeable disaster:👿)\n\n\nrefer:\nhttps://github.com/gradio-app/gradio/issues/10649#issuecomment-2764623464"
    },
    {
      "commit": "9231272d04954e15578c0edbfe3af065ed3ef334",
      "tree": "e340f81e0d5e44b1ce464d5612bc8c481ea2b7cc",
      "parents": [
        "2eb743b1266bd33b97a88d6348fc25766b435e07"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Wed Jun 18 20:49:59 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 18 20:49:59 2025 +0800"
      },
      "message": "docs: improve README clarity and deployment instructions (#276)\n\nThis PR improves the README documentation with the following changes:\n\n1. Added DeepWiki reference for AI-generated documentation\n2. Restructured deployment section for better clarity:\n   - Renamed \"Preparation\" to \"Deployment Options\"\n   - Clarified Docker deployment instructions\n   - Simplified container startup commands\n3. Fixed grammar and formatting:\n   - Improved sentence structures\n4. Enhanced readability:\n   - Added clear section headers\n   - Improved command examples formatting\n   - Better organized deployment options\n\nThe changes make the documentation more user-friendly and easier to\nfollow, especially for new users getting started with HugeGraph-AI.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "2eb743b1266bd33b97a88d6348fc25766b435e07",
      "tree": "4cae9fd52029b62c0a63ab03ea0cf6fdec54933b",
      "parents": [
        "5ca7a1cc05c703132f63062820a5aa322d782b51"
      ],
      "author": {
        "name": "chenzihong",
        "email": "58508660+ChenZiHong-Gavin@users.noreply.github.com",
        "time": "Mon Jun 16 14:28:44 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 16 14:28:44 2025 +0800"
      },
      "message": "docs(llm): fix grammar errors (#275)\n\n"
    },
    {
      "commit": "5ca7a1cc05c703132f63062820a5aa322d782b51",
      "tree": "3c1830790ff86c6717ffd73ecd26685b03d292d9",
      "parents": [
        "e403108710ff8a7adb68e38c795940fb41c4c3ce"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Mon Jun 16 14:27:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 16 14:27:56 2025 +0800"
      },
      "message": "docs(llm): synchronization with official documentation (#273)\n\n## Key Updates\n\nSynchronization with official documentation.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e403108710ff8a7adb68e38c795940fb41c4c3ce",
      "tree": "615d6d0af0a212d7b90d9d6335fbbc3e2bd224cd",
      "parents": [
        "6ea1102f85a856e7659e2ca2748bb2439d09d926"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Jun 11 21:18:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 11 21:18:19 2025 +0800"
      },
      "message": "refactor(vermeer): use uv to manage pkgs \u0026 update README (#272)\n\nThis commit introduces the following changes to the\n`vermeer-python-client` module:\n\n1.  **Build System Update:**\n* Replaced `setup.py` and `requirements.txt` with a `pyproject.toml`\nfile.\n* This aligns the project structure with other modules in the repository\nthat use `uv` for dependency management and `setuptools` for building.\n* Dependencies from `requirements.txt` have been moved into\n`pyproject.toml`.\n\n2.  **README Update:**\n    *   Removed TODO markers from the `README.md` file.\n* Added comprehensive installation instructions, including how to\ninstall using `uv pip install .` (for regular install) and `uv pip\ninstall -e .` (for editable/development install).\n* Added placeholder sections for client usage examples, including client\ninitialization, running graph algorithms, and managing jobs. These\nexamples will need to be filled in with specific code for the\n`vermeer-python-client`.\n* Updated contribution and contact information to be consistent with\nother modules.\n"
    },
    {
      "commit": "6ea1102f85a856e7659e2ca2748bb2439d09d926",
      "tree": "1f50146f3c89a98523a6225300d2dd7d0fc3d189",
      "parents": [
        "e3561782397b79a825832ad41b36634b070f2b58"
      ],
      "author": {
        "name": "HLOVI",
        "email": "126333723+cgwer@users.noreply.github.com",
        "time": "Wed Jun 11 17:45:34 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 11 17:45:34 2025 +0800"
      },
      "message": "refactor: use uv in client \u0026 ml modules \u0026 adapter the CI (#257)\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e3561782397b79a825832ad41b36634b070f2b58",
      "tree": "d118258a51d3a496a7b58a3f935fe4e5c8f0e5c4",
      "parents": [
        "594b97817d3f28f65fa2288033eae79c97af5e91"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Tue Jun 10 22:08:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 10 22:08:52 2025 +0800"
      },
      "message": "feat(vermeer): add vermeer python client for graph computing (#263)\n\ndevelop vermeer python client.\nSupport some graph computation algorithms.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "594b97817d3f28f65fa2288033eae79c97af5e91",
      "tree": "16502ce152651285af8b682243437d82beb71ae7",
      "parents": [
        "cd6fd333a60a91811386b74ce11c8127dde902b5"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Thu Jun 05 17:36:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 05 17:36:30 2025 +0800"
      },
      "message": "fix(chore): Dockerfile to add pyproject.toml anchor file (#266)\n\nThis PR fixes both Dockerfile.llm and Dockerfile.nk by adding the\nmissing step to copy pyproject.toml into the runtime image.\n\nDetails:\n\n- Added COPY command to include /build/hugegraph-llm/pyproject.toml (or\n/home/work/hugegraph-llm/pyproject.toml) in the final image.\n- Ensures that pyproject.toml is available in the runtime environment\nfor get_project_path() api in anchor.py\n- Improves image completeness.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "cd6fd333a60a91811386b74ce11c8127dde902b5",
      "tree": "a1f76391918d17ed41b933e1f61ea4f318bdd129",
      "parents": [
        "434d691e4918f11603933a566c18ad6a41b6a60f"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Wed Jun 04 22:11:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 04 22:11:48 2025 +0800"
      },
      "message": "fix(config): enhance config path handling and add project root validation (#262)\n\n# Add Path Checking Logic for Configuration Files\n\n## Description\nThis PR introduces path validation logic to ensure the application is\nrunning from the correct project root directory. It adds a new utility\nfunction to determine the project root and implements checks to prevent\nconfiguration loading from incorrect working directories.\n\n## Changes\n- Added new utility function `get_project_root()` in\n`hugegraph_llm/utils/anchor.py` to reliably determine the project root\ndirectory\n- Updated configuration file path in `base_prompt_config.py` to use the\ncorrect path structure\n- Implemented working directory validation in\n`BasePromptConfig.ensure_yaml_file_exists()`\n- Added graceful error handling with informative messages when running\nfrom incorrect directory\n\n## Technical Details\n- The path checking logic verifies if the current working directory\nmatches the project root\n- If running from incorrect directory, the application will exit with a\nclear error message\n- Configuration file path has been updated to use the correct structure\nunder `src/hugegraph_llm/resources/demo`\n\n## Testing\n- [x] Verify application runs correctly from project root\n- [x] Confirm appropriate error message when running from incorrect\ndirectory\n- [x] Test configuration file loading with the new path structure\n\n## Impact\nThis change improves the reliability of the application by ensuring\nconfiguration files are loaded from the correct location and provides\nbetter error handling for incorrect usage.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "434d691e4918f11603933a566c18ad6a41b6a60f",
      "tree": "21472efcfa518dc3a19862d58874ade0dd3564bd",
      "parents": [
        "26b9e45392d5c2abd648f52dd5aa7f2e91331c61"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Tue May 27 19:58:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 27 19:58:46 2025 +0800"
      },
      "message": "refactor(llm): basic compatible in text2gremlin generation (#261)\n\n"
    },
    {
      "commit": "26b9e45392d5c2abd648f52dd5aa7f2e91331c61",
      "tree": "7357642377ffa0db5d435649fdb5768149154f88",
      "parents": [
        "6a897eea9397f6b9c06929861d5df3f3f2ecaad9"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Fri May 23 18:25:13 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 23 18:25:13 2025 +0800"
      },
      "message": "fix(llm): mark wrong usage in embedding api (#250)\n\ntell users to update the deps\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "6a897eea9397f6b9c06929861d5df3f3f2ecaad9",
      "tree": "3849b1e22c88c201117f92285ae9784d98b02726",
      "parents": [
        "122b1248b9b5bdacc6b2a965bdd1894ffdeea7b0"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Thu May 22 15:40:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 22 15:40:39 2025 +0800"
      },
      "message": "fix(llm): skip empty chunk in LLM steaming mode  (#245)\n\nThis PR adds guards to skip over empty choices in streaming responses to prevent errors during token generation.\n- Adds an early continue when chunk.choices is empty in the synchronous generate_streaming loop\n- Adds the same guard in the asynchronous agenerate_streaming loop\n\n---\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "122b1248b9b5bdacc6b2a965bdd1894ffdeea7b0",
      "tree": "9f6361900fa4ac5814eda1b1e6bcaf0ba284aa60",
      "parents": [
        "8887a3baa316fbbd7b89b0ebd77e2cdec55fd8ea"
      ],
      "author": {
        "name": "HLOVI",
        "email": "126333723+cgwer@users.noreply.github.com",
        "time": "Thu May 22 15:21:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 22 15:21:30 2025 +0800"
      },
      "message": "chore(hg-llm): use uv instead poetry as the deps management tool (#226)\n\n### 1 Description\n\nThis PR migrates the dependency management in the hugegraph-llm project\nfrom Poetry to uv. uv is a high-performance Python package manager\nwritten in Rust that provides 10-100x performance improvement over\nPoetry.\n\n### 2 Key Changes\n\n* **Dependency Management:** Removed `[tool.poetry.dependencies]`\nsection and replaced it with the standard `[project.dependencies]`\nformat in `pyproject.toml`.\n* **Package Index Configuration:** Added `[tool.uv]` section to\nconfigure PyPI sources, including multiple mirror repositories in\n`pyproject.toml`.\n* **Removed Files:** Deleted the `poetry.lock` lockfile and `setup.py`\n(as it\u0027s no longer needed with uv configuration).\n\n### 3 Detailed Setup Instructions\n\nTo set up the development environment with uv:\n\n1.  **Install the uv tool:**\n    ```bash\n    curl -LsSf https://astral.sh/uv/install.sh | sh\n    ```\n\n2. **Create a virtual environment** in the\n`incubator-hugegraph-ai/hugegraph-llm` directory:\n    ```bash\n    cd incubator-hugegraph-ai/hugegraph-llm\n    uv venv   # The name .venv can be customized\n    ```\n\n3. **Activate the virtual environment** (if the activation script isn\u0027t\nexecutable, add execute permission):\n    ```bash\n    source .venv/bin/activate\n    ```\n\n4.  **Install dependencies** in development mode:\n    ```bash\n    uv pip install -e .\n    ```\n\nThis change does not affect project functionality and only optimizes the\ndependency management and build process.\n\nMore information about Hatch build can be referred to\n[Hatch](https://daobook.github.io/hatch/dev/)\n\n\nMore information about uv can be referred to\n[uv](https://docs.astral.sh/uv/)\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "8887a3baa316fbbd7b89b0ebd77e2cdec55fd8ea",
      "tree": "3cb28083a54bc246c0bed3cf14e5602f398b1412",
      "parents": [
        "8a61cf7991fe9dc264ad197e8ed1fd52e61494a9"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Wed May 21 23:42:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 21 23:42:42 2025 +0800"
      },
      "message": "chore(llm): using nuitka to provide a binary/perf way for the service (#242)\n\nfollow #199 to build a new docker image using\n[Nuitka](https://github.com/Nuitka/Nuitka) in Dockerfile.nk\n\n- [x] Only simple tests have been conducted so far\n- [ ] more complete tests are still needed\n\n\nclose #200\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "8a61cf7991fe9dc264ad197e8ed1fd52e61494a9",
      "tree": "63f6f2337bf9075b674d49a470ff42edfdd7b73c",
      "parents": [
        "f6b547c81fbf7bcdd5bf8349d4842cfebd0b3eff"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Wed May 21 19:49:15 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 21 19:49:15 2025 +0800"
      },
      "message": "feat(llm): support batch embedding (#238)\n\n## Implement Batch Embedding by modifying the underlying LLM interaction\ninterface\n\n- [✔] ollama\n- [✔ ] openai\n- [✔ ] qianfan\n\nI\u0027ve modified the original concurrent call to a single batch call in\nbuild_semantic_index.py \u0026 perform a simple test\n\nclose #233\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "f6b547c81fbf7bcdd5bf8349d4842cfebd0b3eff",
      "tree": "d4fc174a349e89e6e9fe057151d06e2e6df3a08e",
      "parents": [
        "279802b2fbfa8e06e8092735371758b161372b2b"
      ],
      "author": {
        "name": "Ethereal-O",
        "email": "91931223+Ethereal-O@users.noreply.github.com",
        "time": "Tue May 20 19:47:41 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 20 19:47:41 2025 +0800"
      },
      "message": "refactor(llm): change QPS -\u003e RPM for timer decorator (#241)\n\nWhat did I do:\n1. Change the function record_qps to record_rpm, which outputs RPM\ninformation instead of qps.\n2. Replace the position where record_qps is used with record_rpm to\nensure runtime accuracy.\n3. Testing: Tested using the example of hugegraph_1lm.demo.rag_demo.app\nto correctly calculate RPM.\n4. Testing: Simulate unexpected situations, such as incorrect\nconfiguration items, to ensure that this function does not report\nerrors.\n\n\nclose #229\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "279802b2fbfa8e06e8092735371758b161372b2b",
      "tree": "419e7d3799ad89bfb6974c0e32702004f0561183",
      "parents": [
        "e1d3e44ee4aebf72e6d229fb1cfee412390c8222"
      ],
      "author": {
        "name": "Moncef",
        "email": "75338118+Mushrimpy@users.noreply.github.com",
        "time": "Tue May 20 11:53:56 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 20 18:53:56 2025 +0800"
      },
      "message": "refactor(llm): use asyncio to embed text (#215)\n\nThis PR refactors the embedding retrieval by replacing the synchronous ThreadPoolExecutor with an asynchronous implementation using asyncio.  \n- Introduces an async function to retrieve embeddings concurrently with a semaphore to limit concurrency.  \n- Updates the run method to use asyncio.run for executing the async embedding retrieval.\n\n---\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e1d3e44ee4aebf72e6d229fb1cfee412390c8222",
      "tree": "dc33cd9e3f036ce2556d54cbe032f72474b7b17e",
      "parents": [
        "32abd2ab558606f794fd67675f51c543dec4e92a"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Tue May 20 16:30:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 20 16:30:48 2025 +0800"
      },
      "message": "fix(llm): failed to remove vectors when updating vid embedding (#243)\n\n## Bug Report\nAfter deleting vertices, running `update_vid_embedding` does **not**\nsuccessfully remove the corresponding vectors.\n\n### Initial State\n\n* 13 vertices\n* 13 `vid` embeddings\n\n### After Clearing Graph Data\n\n* 0 vertices\n\n### After `update_vid_embedding`\n\n* Output shows: “Removed 13 vectors”\n\n![image](https://github.com/user-attachments/assets/be815bf5-c516-4ebb-989b-71e2120c9e66)\n\nHowever, calling `get_vector_index_info` still shows 13 `vid`\nembeddings.\n\n![image](https://github.com/user-attachments/assets/0ab510d8-6b2e-4ce3-b54f-979e4ec775ba)"
    },
    {
      "commit": "32abd2ab558606f794fd67675f51c543dec4e92a",
      "tree": "c4b7bc018c3c2305e9b700fbc6c48a4e781b5d44",
      "parents": [
        "6754fae19d45e4778c7057457372852cc1138382"
      ],
      "author": {
        "name": "Linyu",
        "email": "94553312+weijinglin@users.noreply.github.com",
        "time": "Thu May 15 16:31:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 15 16:31:24 2025 +0800"
      },
      "message": "chore(llm): update gradio\u0027s version for pip (#235)\n\n## Dependency Update\nI try to run a graphrag demo presented in document. However, a error\n\"ERROR: Error loading ASGI app factory: Code.__init__() got an\nunexpected keyword argument \u0027max_lines\u0027\" occured.\n\n![image](https://github.com/user-attachments/assets/7ca7d663-5b62-400b-9794-bc6b20323e1c)\nAfter check gradio\u0027s document, I find that the Class Code in\ngradio(4.44.1) has not attribute (masx_lines). So, I update the\ndependency in requirement.txt"
    },
    {
      "commit": "6754fae19d45e4778c7057457372852cc1138382",
      "tree": "6a4d676e4356478adb870d61783d1d70ffa8056b",
      "parents": [
        "b336203879c12ff560fc8f0ba22632567feb9c77"
      ],
      "author": {
        "name": "Ming Fang",
        "email": "mingfang@mac.com",
        "time": "Fri May 09 07:57:13 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 09 19:57:13 2025 +0800"
      },
      "message": "refactor: replace the IP + Port with URL (#209)\n\nThis pull request refactors multiple modules to replace separate IP and\nport parameters with a unified URL parameter, addressing issue (fix\n#191). Key changes include updating configuration classes, client\nconstructors, and example/test files to use \"url\" consistently, as well\nas modifying related API endpoints and configuration docs.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "b336203879c12ff560fc8f0ba22632567feb9c77",
      "tree": "a885a73b4656a0193c04d7f4500c215aa3013959",
      "parents": [
        "6a672cdd3f2dc1a2d624ead0a92d32d452a9656b"
      ],
      "author": {
        "name": "xie qizhuo",
        "email": "99951454+mikumifa@users.noreply.github.com",
        "time": "Fri May 09 18:49:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 09 18:49:26 2025 +0800"
      },
      "message": "refactor(llm): change Textbox to Code (#223)\n\nfix #217\n\n\n![image](https://github.com/user-attachments/assets/6521d003-f9f9-4d42-bd79-1e468ab636b2)\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "6a672cdd3f2dc1a2d624ead0a92d32d452a9656b",
      "tree": "56d700e85ba9ec5822d0ecfa6dcb0797a78003ba",
      "parents": [
        "212d9a58f4cb0fd4439e821858fcd2d2c4980f5a"
      ],
      "author": {
        "name": "HLOVI",
        "email": "126333723+cgwer@users.noreply.github.com",
        "time": "Fri May 09 17:50:41 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 09 17:50:41 2025 +0800"
      },
      "message": "refactor(llm): enhance the multi configs for LLM (#212)\n\nThis PR aims to enhance configuration handling by integrating\nenvironment variable management and improved logging. Key changes\ninclude:\n- Introducing os and dotenv imports to load environment variables in the\ndemo configuration block.\n- Adding logic to read API keys from a .env file and conditionally\napplying configuration updates based on their presence.\n- Updating the base configuration class to verify and update the .env\nfile with added error handling and logging.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "212d9a58f4cb0fd4439e821858fcd2d2c4980f5a",
      "tree": "110e8f1ef4f0ef0661b7bf5b587f02da1ce9f17b",
      "parents": [
        "6e25d231b918e1b27e5851ad9efa70b3ee7e37b5"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Wed May 07 15:44:29 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 07 15:44:29 2025 +0800"
      },
      "message": "chore(llm): use 4.1-mini and 0.01 temperature by default (#214)\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "6e25d231b918e1b27e5851ad9efa70b3ee7e37b5",
      "tree": "69d85a153d1d2f0ae40a19735c577cfef4b3386e",
      "parents": [
        "a972b5614769fb51852c94691a70f358468a060b"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Wed May 07 15:40:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 07 15:40:48 2025 +0800"
      },
      "message": "refactor(llm): add doc \u0026 disable text2gql by default (#216)\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "a972b5614769fb51852c94691a70f358468a060b",
      "tree": "eee9bbf3de0f0cb63efa0d5a037c2a28ecf6b0d2",
      "parents": [
        "aa83ec2a8596ff86ded04e154f32e38252de0574"
      ],
      "author": {
        "name": "John",
        "email": "thespica@qq.com",
        "time": "Tue May 06 11:28:54 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 06 11:28:54 2025 +0800"
      },
      "message": "fix(clien): fix documentation sample code error (#219)\n\nId of vertex in sample code in README is hardcoding, but which should be\nget by `id` field."
    },
    {
      "commit": "aa83ec2a8596ff86ded04e154f32e38252de0574",
      "tree": "718628c5745a6abcb198f8d4bac08c680e3b26de",
      "parents": [
        "36d5444016fb05330f83dbeb4a9cf6b2544b80db"
      ],
      "author": {
        "name": "John",
        "email": "thespica@qq.com",
        "time": "Tue Apr 22 11:25:02 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 22 11:25:02 2025 +0800"
      },
      "message": "fix(llm): align regex extraction of json to json format of prompt (#211)\n\nSee #210 \n\nMain change of regex: matching `(\\[.*])` -\u003e matching `({.*})`.\n\ntested models:\n- qwen-max\n- qwen-plus\n- deepseek-v3\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "36d5444016fb05330f83dbeb4a9cf6b2544b80db",
      "tree": "ce5ceb2a2708471c7ba7aaaadbd23ea3f5c0b095",
      "parents": [
        "4f2f123014b7793f346f396e006e76d5204e2395"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Mon Apr 07 19:37:47 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 07 19:37:47 2025 +0800"
      },
      "message": "refactor(llm): check graph conn before updating embedding (#205)\n\nThe vertex embedding is updated every hour. \n\n**When a new user starts the program for the first time**, if the graph\ndatabase related information is not configured, **many errors will\noccur, which affects the user experience.**\n\nTherefore, **before updating the vertex embedding, it will check whether\nthe current graph link is reachable.**\n\nWhen the link is unreachable, **the effect is as follows:**\n\n\n![image](https://github.com/user-attachments/assets/5ef1b521-a3ba-43ab-baf6-5b1c4dbda57f)\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "4f2f123014b7793f346f396e006e76d5204e2395",
      "tree": "4d49acb0aefb94de94e9ee1e023d3c515067539c",
      "parents": [
        "927e17cde6bff339e912f29c4ec87815b4794e4a"
      ],
      "author": {
        "name": "Kryst4lDem0ni4s",
        "email": "126225558+Kryst4lDem0ni4s@users.noreply.github.com",
        "time": "Wed Apr 02 17:59:56 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 02 20:29:56 2025 +0800"
      },
      "message": "fix(llm): enable tasks concurrency configs in Gradio (#188)\n\nfix #176 \n\nBlocking and Queuing Behavior: Gradio, by default, has a concurrency\nlimit of 1. This causes blocking when multiple users or windows are\naccessing the application simultaneously.\n\nNo Asynchronous Execution: The current implementation does not specify\nconcurrency_limit, leading to sequential execution.\n\nQueue Configuration: If queue() is not configured properly, tasks are\nprocessed one at a time.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "927e17cde6bff339e912f29c4ec87815b4794e4a",
      "tree": "0bae00e7bd4a3d6547e222f56c969634e49d0ce0",
      "parents": [
        "2eee1842dbc6fc43e0d277910941f421388b1607"
      ],
      "author": {
        "name": "HaoJin Yang",
        "email": "1454yhj@gmail.com",
        "time": "Tue Mar 18 20:32:22 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 18 20:32:22 2025 +0800"
      },
      "message": "fix(llm): fix tiny bugs \u0026 optimize reranker layout (#202)\n\n* also update answer promp"
    },
    {
      "commit": "2eee1842dbc6fc43e0d277910941f421388b1607",
      "tree": "bb88fb8f9ee12a46a30e0a244847aff02820a6fb",
      "parents": [
        "d02ec96ae17ea9fb27012785a5547aa62b498836"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Mar 12 18:04:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 12 18:04:48 2025 +0800"
      },
      "message": "chore: enable discussion \u0026 change merge way (#201)\n\n"
    },
    {
      "commit": "d02ec96ae17ea9fb27012785a5547aa62b498836",
      "tree": "0dcec49862daf1c7d74a57a1aa55f22e9826fcce",
      "parents": [
        "a316258101044960cd24d83cc6331df055fff2dc"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Mar 10 19:48:08 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 19:48:08 2025 +0800"
      },
      "message": "chore(llm): multi-stage building in Dockerfile (#199)\n\nfollow #195\n\n![image](https://github.com/user-attachments/assets/ca4c8457-3999-43a9-9453-14cb0448840a)\n\n\n\nAfter the image uploaded, users could use the following cmd like:\n```bash\ndocker run -d --name rag -p 8001:8001 \\\n  -v /path/to/.env:/home/work/hugegraph-llm/.env \\\n  -v /path/to/resources:/home/work/hugegraph-llm/src/hugegraph_llm/resources \\\n  hugegraph/graphrag:1.5.0\n```\n\nor configs in docker-compose.yml\n```yaml\n    volumes:\n      # Mount local \u0027.env\u0027 file, could use ${ENV_FILE_PATH:-/dev/null} to avoid error\n      - /path/to/.env:/home/work/hugegraph-llm/.env\n      # Mount local resources file\n      - /path/to/resources:/home/work/hugegraph-llm/src/hugegraph_llm/resources\n```\n\nor volume/configmap/pvc in k8s\n\nBuild/Test the image in root\n```bash\n# Build Image\ndocker build -f docker/Dockerfile.llm -t graphrag .\n\n# Test/Run container\ndocker run -it --name rag -p 8001:8001 graphrag  bash\n```\n\n\u003e [!NOTE]  \n\u003e Currently we store the vector data in local by `faiss`, should replace it as a **separate processes/service** make rag services stateless)\n\u003e Or the graph database supports small-scale vector indexing itself\n\n\n"
    },
    {
      "commit": "a316258101044960cd24d83cc6331df055fff2dc",
      "tree": "a95765df3d4843b68d9bbb977963d0eef0c26dab",
      "parents": [
        "e12a0bbacbd842ba5fe95714360dec81fa8f0135"
      ],
      "author": {
        "name": "PeiChaoXu",
        "email": "563853580@qq.com",
        "time": "Fri Mar 07 16:02:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 07 16:02:46 2025 +0800"
      },
      "message": "feat(llm): support Docker \u0026 K8s deployment way (#195)\n\n* tiny improve\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e12a0bbacbd842ba5fe95714360dec81fa8f0135",
      "tree": "aa226310d24a21aca3037d0a047d6c5b0b8ebe4a",
      "parents": [
        "c26f5bfb44bf6e349adadf071c0497f5d5d6ea95"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Fri Mar 07 15:50:29 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 07 15:50:29 2025 +0800"
      },
      "message": "docs(llm): add quick_start.md for UI usage (#196)\n\n* update the UI link \u0026 highlight for it\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "c26f5bfb44bf6e349adadf071c0497f5d5d6ea95",
      "tree": "23cf9bc344d10fc43222521f3c8c281bf2d5ccb9",
      "parents": [
        "7ae5d6fcc1013bc39164672355a8270f078bff8d"
      ],
      "author": {
        "name": "HaoJin Yang",
        "email": "1454yhj@gmail.com",
        "time": "Fri Mar 07 14:01:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 07 14:01:40 2025 +0800"
      },
      "message": "refactor(llm): enhance the regex extraction func (#194)\n\n"
    },
    {
      "commit": "7ae5d6fcc1013bc39164672355a8270f078bff8d",
      "tree": "0a77674f233ced355498562e38c495f7ce4d30b0",
      "parents": [
        "ca28faf29b1d3499467cc8b366b4462b829182e5"
      ],
      "author": {
        "name": "vichayturen",
        "email": "1073931273@qq.com",
        "time": "Thu Mar 06 18:21:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 06 18:21:42 2025 +0800"
      },
      "message": "feat(llm): support async streaming output in RAG answer block (#190)\n\nfollow #172 \n\nIn order to achieve asynchronization, we compromised by changing `gremlin_generate_operator` to a synchronous generation mode. This can be changed back to an asynchronous mode after achieving full asynchronization in the subsequent agentization process.\n\n---------\n\nCo-authored-by: chenzihong \u003c522023320011@smail.nju.edu.cn\u003e\nCo-authored-by: chenzihong \u003c58508660+ChenZiHong-Gavin@users.noreply.github.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "ca28faf29b1d3499467cc8b366b4462b829182e5",
      "tree": "ff5a931f55aa87d1d1a5a335d9d0b00b43135bf0",
      "parents": [
        "8c1ffbb7373ab7a3ffac5f1ec99788c5a0f146ce"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Mar 03 19:42:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 03 19:42:30 2025 +0800"
      },
      "message": "refactor(llm): replace vid by full vertexes info (#189)\n\n"
    },
    {
      "commit": "8c1ffbb7373ab7a3ffac5f1ec99788c5a0f146ce",
      "tree": "11c71917cfa1000544d6f5c6c071162c38d0c7c9",
      "parents": [
        "759b963eabff4c421fd3352b07d15789ac9f213f"
      ],
      "author": {
        "name": "Kryst4lDem0ni4s",
        "email": "126225558+Kryst4lDem0ni4s@users.noreply.github.com",
        "time": "Mon Mar 03 13:49:45 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 03 16:19:45 2025 +0800"
      },
      "message": "refactor(llm): improve graph extraction default prompt (#187)\n\nTODO:\nsync CN version\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "759b963eabff4c421fd3352b07d15789ac9f213f",
      "tree": "9ee0cc6fd87dd6f58c0ed6b3dbeaa5882960a224",
      "parents": [
        "3e0bf46bcf8471cba1e656d724ba6419befb7996"
      ],
      "author": {
        "name": "PeiChaoXu",
        "email": "563853580@qq.com",
        "time": "Mon Mar 03 16:14:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 03 16:14:48 2025 +0800"
      },
      "message": "feat(llm): support switch graph in api \u0026 add some query configs (#184)\n\nTODO: we need wrapper the query configs\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "3e0bf46bcf8471cba1e656d724ba6419befb7996",
      "tree": "be86f097af78b653a42f073b48a3ca0e57869d54",
      "parents": [
        "e78792f5b25443e953671c2f752a1be2661499e2"
      ],
      "author": {
        "name": "Cong Zhao",
        "email": "zhaocong@apache.org",
        "time": "Thu Feb 27 16:50:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 27 16:50:12 2025 +0800"
      },
      "message": "feat(llm): support `litellm` for multi-LLM provider (#178)\n\n* Update README.md\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e78792f5b25443e953671c2f752a1be2661499e2",
      "tree": "78dce32bc0cd2b10b5153ea68b1bbc252099681a",
      "parents": [
        "2ae610c32f7b174cff199926480f9bb3e2e02c02"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Feb 27 15:25:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 27 15:25:26 2025 +0800"
      },
      "message": "chore: add collaborators in asf config (#182)\n\n"
    },
    {
      "commit": "2ae610c32f7b174cff199926480f9bb3e2e02c02",
      "tree": "ef8e63748c3a796351cc7c74811f97a17a88ef34",
      "parents": [
        "0a335508b0c22c45849a6d8895baf1d8e941e015"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Feb 24 18:33:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 24 18:33:30 2025 +0800"
      },
      "message": "refactor(llm): use EN prompt for keywords extraction (#174)\n\n* chore: use EN prompt for keywords extraction\n\n* disable C0301: Line too long (131/120) (line-too-long)\n\n* add CN prompt"
    },
    {
      "commit": "0a335508b0c22c45849a6d8895baf1d8e941e015",
      "tree": "9391c61c897122b401fd2f4baefa050a1417fda9",
      "parents": [
        "d01e07e160247d92c905422766a2e28376172057"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Feb 24 18:27:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 24 18:27:17 2025 +0800"
      },
      "message": "refactor: use uv for the CI action (#175)\n\n* refactor: use uv for the CI action\n\n* Update pylint.yml\n\n* refactor client\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml\n\n* Update hugegraph-python-client.yml"
    },
    {
      "commit": "d01e07e160247d92c905422766a2e28376172057",
      "tree": "9d030cf0b8e30fe1cafa047b638334ff25f73986",
      "parents": [
        "9a9de7738f382acf278e793188ca38c14871b5b0"
      ],
      "author": {
        "name": "Aryan Kumar Baghel",
        "email": "118632488+Aryankb@users.noreply.github.com",
        "time": "Mon Feb 24 11:40:40 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 24 14:10:40 2025 +0800"
      },
      "message": "fix(llm): Merge all logs into one file (#171)\n\nTODO:\ngradio web-access log still out of control\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "9a9de7738f382acf278e793188ca38c14871b5b0",
      "tree": "5cd92953e5e88dafe203e845011016e5b3a55ac9",
      "parents": [
        "e00d6e7945c757d4dc60b74f1435fc420b8a82dc"
      ],
      "author": {
        "name": "Aryan Kumar Baghel",
        "email": "118632488+Aryankb@users.noreply.github.com",
        "time": "Thu Feb 20 12:57:06 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 20 15:27:06 2025 +0800"
      },
      "message": "fix(llm): enable fastapi auto reload function (#164)\n\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "e00d6e7945c757d4dc60b74f1435fc420b8a82dc",
      "tree": "187db9e88eac9ec2b8c021453d97e8bf29216c14",
      "parents": [
        "a0cc3f93a6a739c7433a982d4864e172296259d0"
      ],
      "author": {
        "name": "HaoJin Yang",
        "email": "1454yhj@gmail.com",
        "time": "Thu Feb 20 14:59:20 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 20 14:59:20 2025 +0800"
      },
      "message": "fix(llm): update gremlin_generate prompt to apply fuzzy match (#163)\n\n"
    },
    {
      "commit": "a0cc3f93a6a739c7433a982d4864e172296259d0",
      "tree": "04e9934d0b32a9108ba2c2da87cfdb91a1aee93e",
      "parents": [
        "1c9bb5e58ff01162addf3efd4e3ca0496cdd452e"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Fri Feb 07 15:44:41 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 07 15:44:41 2025 +0800"
      },
      "message": "refactor(llm): return schema.groovy first when backup graph data (#161)\n\nNote: for non-groovy mode, return JSON format\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "1c9bb5e58ff01162addf3efd4e3ca0496cdd452e",
      "tree": "4738f37d186b9d686866ca5f4c4053841816a06a",
      "parents": [
        "88264e7bb26a676a904638add289bf812e1dbf2d"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Fri Feb 07 15:32:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 07 15:32:42 2025 +0800"
      },
      "message": "feat(llm): add post method for paths-api  (#162)\n\n"
    },
    {
      "commit": "88264e7bb26a676a904638add289bf812e1dbf2d",
      "tree": "1dafa06302a25583bb780b98eff61c49bf2c4cd4",
      "parents": [
        "fa2672a1376f2ddca5417e093750ccee9fec715c"
      ],
      "author": {
        "name": "Hongjun Li",
        "email": "103014488+returnToInnocence@users.noreply.github.com",
        "time": "Thu Jan 16 19:14:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 16 19:14:12 2025 +0800"
      },
      "message": "feat(llm): use poetry to manage the dependencies (#149)\n\n* update poetry configs\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "fa2672a1376f2ddca5417e093750ccee9fec715c",
      "tree": "1fce336dd8258860cf598c2316e2173f03819551",
      "parents": [
        "def84a2c1ec9cc7ee18c0ac9ec4e80d371ce5044"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Thu Jan 16 17:12:07 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 16 17:12:07 2025 +0800"
      },
      "message": "refactor(llm): support mathjax in rag query block V1 (#157)\n\n* Update gremlin_example_index_query.py\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "def84a2c1ec9cc7ee18c0ac9ec4e80d371ce5044",
      "tree": "259b5dced3e3a19fd488dcbc1b2dae6f3d97f158",
      "parents": [
        "7f7c82c1c4d7053c1d80cee1f485192228af08cc"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Wed Jan 15 20:10:44 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 15 20:10:44 2025 +0800"
      },
      "message": "refactor(llm): change vid embedding x:yy to yy \u0026 use multi-thread (#158)\n\n* remove num prefix in ok mode\r\n\r\n* use multi-thread for building\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "7f7c82c1c4d7053c1d80cee1f485192228af08cc",
      "tree": "1767d8d4db3eaab0521b389ee86f14d198321685",
      "parents": [
        "84c4d7e08204cf6e482629a36a93d963b68f003e"
      ],
      "author": {
        "name": "HaoJin Yang",
        "email": "1454yhj@gmail.com",
        "time": "Tue Jan 14 19:03:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 14 19:03:31 2025 +0800"
      },
      "message": "feat(llm): support intent recognition V1 (#159)\n\n"
    },
    {
      "commit": "84c4d7e08204cf6e482629a36a93d963b68f003e",
      "tree": "43597027a7d97f56d338edab69ee161ca873ddf3",
      "parents": [
        "9239799f899b181869e188f25d0268d3dbc3c49a"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Thu Jan 09 16:54:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 09 16:54:12 2025 +0800"
      },
      "message": "feat(llm): modify clear buttons (#156)\n\n3 buttons:\r\n1. Clear Chunks Vector Index\r\n2. Clear Graph Vid Vector Index (clear text2gql vector at the same time)\r\n3. Clear Graph Data\r\n4. hide abs path in UI\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "9239799f899b181869e188f25d0268d3dbc3c49a",
      "tree": "a9d05d175548221f640b4e4a7bb92e5107a8f9f0",
      "parents": [
        "2441d2bdbe1b4c7ed515f168aaba761488dcb7d3"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Thu Jan 09 16:11:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 09 16:11:19 2025 +0800"
      },
      "message": "refactor(llm): extract `topk_per_keyword` \u0026 `topk_return_results` to .env\n\n1. Extract argument `topk_per_keyword` to file .env\r\n2. Extract argument `topk_return_results` to file .env\r\n3. Rename `max_items` to `max_graph_items` (argument of function `query_graphdb`)\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "2441d2bdbe1b4c7ed515f168aaba761488dcb7d3",
      "tree": "4420992848ffbe4ca5065f4a2ca55dcfb3a71319",
      "parents": [
        "820bfb27ec4d2068ec43ccd1f980d2e3fed9392c"
      ],
      "author": {
        "name": "chenzihong",
        "email": "58508660+ChenZiHong-Gavin@users.noreply.github.com",
        "time": "Wed Jan 08 17:35:54 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 08 17:35:54 2025 +0800"
      },
      "message": "fix(llm): use empty str for llm config (#155)\n\nTODO: we should better reuse the LLM API/configs"
    },
    {
      "commit": "820bfb27ec4d2068ec43ccd1f980d2e3fed9392c",
      "tree": "c1fdce727d443debb4be6227b84ff1b2684b2498",
      "parents": [
        "4c97cd65999e551aaf0ee5493b179a2b1a91713e"
      ],
      "author": {
        "name": "SoJGooo",
        "email": "102796027+MrJs133@users.noreply.github.com",
        "time": "Fri Jan 03 18:56:48 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 03 18:56:48 2025 +0800"
      },
      "message": "refactor(llm): add a button to backup data \u0026 count together (#153)\n\n1. add a button to backup data\r\n2. refactor backup_data\r\n3. refactor timely_update_vid_embedding\r\n4. return count \u0026 graph elements together\r\n\r\n---------\r\n\r\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    }
  ],
  "next": "4c97cd65999e551aaf0ee5493b179a2b1a91713e"
}
