mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-16 17:53:37 +00:00
splitters: Add ensure_ascii parameter (#18485)
- **Description:** Add ensure_ascii parameter
This commit is contained in:
parent
7ad0a3f2a7
commit
e5d7e455dc
@ -96,26 +96,32 @@ class RecursiveJsonSplitter:
|
|||||||
return chunks
|
return chunks
|
||||||
|
|
||||||
def split_text(
|
def split_text(
|
||||||
self, json_data: Dict[str, Any], convert_lists: bool = False
|
self,
|
||||||
|
json_data: Dict[str, Any],
|
||||||
|
convert_lists: bool = False,
|
||||||
|
ensure_ascii: bool = True,
|
||||||
) -> List[str]:
|
) -> List[str]:
|
||||||
"""Splits JSON into a list of JSON formatted strings"""
|
"""Splits JSON into a list of JSON formatted strings"""
|
||||||
|
|
||||||
chunks = self.split_json(json_data=json_data, convert_lists=convert_lists)
|
chunks = self.split_json(json_data=json_data, convert_lists=convert_lists)
|
||||||
|
|
||||||
# Convert to string
|
# Convert to string
|
||||||
return [json.dumps(chunk) for chunk in chunks]
|
return [json.dumps(chunk, ensure_ascii=ensure_ascii) for chunk in chunks]
|
||||||
|
|
||||||
def create_documents(
|
def create_documents(
|
||||||
self,
|
self,
|
||||||
texts: List[Dict],
|
texts: List[Dict],
|
||||||
convert_lists: bool = False,
|
convert_lists: bool = False,
|
||||||
|
ensure_ascii: bool = True,
|
||||||
metadatas: Optional[List[dict]] = None,
|
metadatas: Optional[List[dict]] = None,
|
||||||
) -> List[Document]:
|
) -> List[Document]:
|
||||||
"""Create documents from a list of json objects (Dict)."""
|
"""Create documents from a list of json objects (Dict)."""
|
||||||
_metadatas = metadatas or [{}] * len(texts)
|
_metadatas = metadatas or [{}] * len(texts)
|
||||||
documents = []
|
documents = []
|
||||||
for i, text in enumerate(texts):
|
for i, text in enumerate(texts):
|
||||||
for chunk in self.split_text(json_data=text, convert_lists=convert_lists):
|
for chunk in self.split_text(
|
||||||
|
json_data=text, convert_lists=convert_lists, ensure_ascii=ensure_ascii
|
||||||
|
):
|
||||||
metadata = copy.deepcopy(_metadatas[i])
|
metadata = copy.deepcopy(_metadatas[i])
|
||||||
new_doc = Document(page_content=chunk, metadata=metadata)
|
new_doc = Document(page_content=chunk, metadata=metadata)
|
||||||
documents.append(new_doc)
|
documents.append(new_doc)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
"""Test text splitting functionality using NLTK and Spacy based sentence splitters."""
|
"""Test text splitting functionality using NLTK and Spacy based sentence splitters."""
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from langchain_text_splitters.nltk import NLTKTextSplitter
|
from langchain_text_splitters.nltk import NLTKTextSplitter
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
"""Configuration for unit tests."""
|
"""Configuration for unit tests."""
|
||||||
|
|
||||||
from importlib import util
|
from importlib import util
|
||||||
from typing import Dict, Sequence
|
from typing import Dict, Sequence
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
"""Test text splitting functionality."""
|
"""Test text splitting functionality."""
|
||||||
|
|
||||||
import random
|
import random
|
||||||
import re
|
import re
|
||||||
import string
|
import string
|
||||||
|
Loading…
Reference in New Issue
Block a user