You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python字符串直接作为LangChain加载器的输入?

直接使用字符串作为LangChain知识库输入的解决方案

你不需要将数据库获取的字符串写入文件,有两种直接处理的方式:

方法1:使用StringLoader(LangChain v0.1+支持)

StringLoader是专门用于加载字符串内容的加载器,直接传入字符串即可:

from langchain.document_loaders import StringLoader
from langchain.indexes import VectorstoreIndexCreator

# 替换为你从数据库获取的知识库字符串
kb_content = "你的知识库内容字符串"
loader = StringLoader(kb_content)
index = VectorstoreIndexCreator().from_loaders([loader])

方法2:手动构造Document对象(兼容全版本)

如果你的LangChain版本较低没有StringLoader,可以直接构造Document对象,跳过加载器步骤:

from langchain.docstore.document import Document
from langchain.indexes import VectorstoreIndexCreator

# 替换为你从数据库获取的知识库字符串
kb_content = "你的知识库内容字符串"
# 构造单个Document,metadata可选,可用来标记来源等信息
doc = Document(page_content=kb_content, metadata={"source": "database"})

# 如果是多个知识库字符串,只需构造Document列表即可:
# docs = [
#     Document(page_content=kb_content_1, metadata={"source": "db_kb1"}),
#     Document(page_content=kb_content_2, metadata={"source": "db_kb2"})
# ]

index = VectorstoreIndexCreator().from_documents([doc])

多知识库场景说明

如果要处理多个知识库字符串,只需将每个字符串对应构造一个Document对象,或者创建多个StringLoader实例传入from_loaders方法,后续的相似性搜索逻辑和原代码一致。

内容的提问来源于stack exchange,提问作者LukasKratzel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:29:59