第4章_LlamaIndex知识管理与信息检索,里面的5.1向量检索的案例,跟着视频一步步走的,视频中正常输出,我的输出是乱码:
VyoC£9mV~g/noru/'Q\U%/Vr.kSuEa/aKkȠt'݀X=}/[-XE. htò"u?8C骐j5as[WϗX.yڻ&uF''g="[o*U1_yn}?ҡxU+핼yDZaZ.CNis _UCj:mk?KX7"kKP__y[eTҷ+5lP%Ro;|i*߮..@GgކqGw˳w`<RU%/
<</BBox[0 0 146.25 31.019531]/Filter/FlateDecode/FormType 1/Group 229 0 R/Length 1440/PTEX.FileName(./logo/DeepSeek.pdf)/PTEX.InfoDict 239 0 R/PTEX.PageNumber 1/Resources<</ExtGState<</a0<</CA 1/ca 1>>>>/XObject<</x6 240 0 R>>>>/Subtype/Form/Type/XObject>>stream
p[;~ۗ_\2+^gV}:`q6&wUcy]-6O$[i'6;#ޮקͲ_kN{?Y~[
代码如下:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core.node_parser import TokenTextSplitter, SentenceSplitter
# 加载 pdf 文档
documents = SimpleDirectoryReader(
"./data",
required_exts=[".pdf"],
).load_data()
# 定义 Node Parser
node_parser = TokenTextSplitter(chunk_size=512, chunk_overlap=200)
# 切分文档
nodes = node_parser.get_nodes_from_documents(documents)
# 构建 index,默认是在内存中
index = VectorStoreIndex(nodes)
# 获取 retriever
vector_retriever = index.as_retriever(
similarity_top_k=2 # 返回2个结果
)
# 检索
results = vector_retriever.retrieve("deepseek v3数学能力怎么样?")
print(results[0].text)