MCPcopy Index your code
hub / github.com/CL-lau/SQL-GPT / getSpliter

Method getSpliter

embedding/embeddingHelper.py:346–395  ·  view source on GitHub ↗
(self, textSplit, fileName, autoSpliter=False, chunk_size=500, chunk_overlap=0)

Source from the content-addressed store, hash-verified

344 pass
345
346 def getSpliter(self, textSplit, fileName, autoSpliter=False, chunk_size=500, chunk_overlap=0):
347 self.checkClient()
348 if textSplit is not None:
349 return textSplit
350
351 text_splitter = None
352 if autoSpliter:
353 # 根据文件的类型来实现spliter
354 if str(fileName).endswith("txt"):
355 text_splitter = CharacterTextSplitter(
356 separator="\n\n",
357 chunk_size=chunk_size,
358 chunk_overlap=chunk_overlap,
359 length_function=len,
360 is_separator_regex=False,
361 )
362 elif str(fileName).endswith("md"):
363 headers_to_split_on = [
364 ("#", "Header 1"),
365 ("##", "Header 2"),
366 ("###", "Header 3"),
367 ]
368 text_splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers_to_split_on)
369 elif str(fileName).endswith("py"):
370 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.PYTHON)
371 elif str(fileName).endswith("go"):
372 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.GO)
373 elif str(fileName).endswith("java"):
374 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.JAVA)
375 elif str(fileName).endswith("php"):
376 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.PHP)
377 elif str(fileName).endswith("js"):
378 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.JS)
379 elif str(fileName).endswith("proto"):
380 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.PROTO)
381 elif str(fileName).endswith("rst"):
382 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.RST)
383 elif str(fileName).endswith("ruby"):
384 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.RUBY)
385 elif str(fileName).endswith("scala"):
386 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.SCALA)
387 elif str(fileName).endswith("swift"):
388 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.SWIFT)
389 elif str(fileName).endswith("latex"):
390 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.LATEX)
391 elif str(fileName).endswith("html"):
392 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.HTML)
393 elif str(fileName).endswith("sol"):
394 text_splitter = RecursiveCharacterTextSplitter.get_separators_for_language(Language.SOL)
395 return text_splitter
396
397 def processResult(self, query: list = None, query_vec: list = None, result=None):
398 if self.need_redis and query is not None:

Callers 1

splitMethod · 0.95

Calls 1

checkClientMethod · 0.95

Tested by

no test coverage detected