作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 langchain 库构建了一个分割器函数,可以分割一系列 python 文件。在代码中的另一点,我需要将这些文档转换回 python 代码。只是我不知道该怎么做
def index_repo(repo_url):
os.environ['OPENAI_API_KEY'] = ""
contents = []
fileextensions = [
".py", ]
print('cloning repo')
repo_dir = get_repo(repo_url)
file_names = []
for dirpath, dirnames, filenames in os.walk(repo_dir):
for file in filenames:
if file.endswith(tuple(fileextensions)):
file_names.append(os.path.join(dirpath, file))
try:
with open(os.path.join(dirpath, file), "r", encoding="utf-8") as f:
contents.append(f.read())
except Exception as e:
pass
# chunk the files
text_splitter = RecursiveCharacterTextSplitter.from_language(language=Language.PYTHON, chunk_size=5000, chunk_overlap=0)
texts = text_splitter.create_documents(contents)
return texts, file_names
最佳答案
尝试替换这个:
texts = text_splitter.create_documents(contents)
这样:
texts = text_splitter.split_text(contents)
您提供的代码使用 create_documents
方法创建一个 Document
对象(这是一个列表对象,其中每个项目都是包含两个键的字典:page_content:字符串
和元数据:字典
)。使用 split_text
方法会将 RecursiveCharacterTextSplitter
中的每个 block 作为一个项目放入 texts
列表中。
希望这有帮助!
关于python - 如何将 langchain 文档转换回字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77025853/
我是一名优秀的程序员,十分优秀!