From 245df75d9c4cf0f69b5c85c9b96d7c506fdae779 Mon Sep 17 00:00:00 2001 From: Tong Da Date: Mon, 10 Nov 2025 20:49:50 +0800 Subject: [PATCH] easier version: detect chunking_func result is coroutine or not --- lightrag/lightrag.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/lightrag/lightrag.py b/lightrag/lightrag.py index d56687c2..af953fdf 100644 --- a/lightrag/lightrag.py +++ b/lightrag/lightrag.py @@ -1,6 +1,5 @@ from __future__ import annotations -from inspect import iscoroutinefunction import traceback import asyncio import configparser @@ -1758,24 +1757,17 @@ class LightRAG: content = content_data["content"] # Generate chunks from document - if iscoroutinefunction(self.chunking_func): - chunks = await self.chunking_func( - self.tokenizer, - content, - split_by_character, - split_by_character_only, - self.chunk_overlap_token_size, - self.chunk_token_size, - ) - else: - chunks = self.chunking_func( - self.tokenizer, - content, - split_by_character, - split_by_character_only, - self.chunk_overlap_token_size, - self.chunk_token_size, - ) + chunks = self.chunking_func( + self.tokenizer, + content, + split_by_character, + split_by_character_only, + self.chunk_overlap_token_size, + self.chunk_token_size, + ) + # 判断chunks是否是异步异步函数的返回 + if asyncio.iscoroutine(chunks): + chunks = await chunks chunks: dict[str, Any] = { compute_mdhash_id(dp["content"], prefix="chunk-"): { **dp,