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

调用FAISS.from_texts()时遭遇ValueError: input not a numpy array错误的求助

调用FAISS.from_texts()时遭遇ValueError: input not a numpy array错误的求助

嘿,我仔细看了你的问题和代码片段,发现问题的根源可能在FAISS.from_texts()的参数要求上!

你提到pdf_chunks是numpy数组,但FAISS.from_texts()这个方法的第一个参数只接受Python原生的字符串列表——哪怕你的numpy数组里存的全是字符串,它也不认这个类型,这就是为啥会报input not a numpy array的错误,本质是它要的不是numpy数组,而是普通列表😅

给你两个解决思路:

思路1:把numpy数组转成Python列表直接用

只需要在传入from_texts()的时候,把pdf_chunks转成原生列表就行,用numpy数组的.tolist()方法就可以搞定:

# 把numpy数组转成Python字符串列表
pdf_chunks_list = pdf_chunks.tolist()
# 再传给from_texts
pdf_vector_store = FAISS.from_texts(pdf_chunks_list, embedding=embedding)

思路2:用提前生成好的向量构建索引(更高效)

看你代码里已经提前用embedding.embed_documents(pdf_chunks)生成了向量数组vec_np,那其实可以直接用FAISS.from_embeddings()方法,这样不用让from_texts再重复生成一次向量,节省时间:

# 用提前生成的向量和原文本构建索引
pdf_vector_store = FAISS.from_embeddings(list(zip(vec_np.tolist(), pdf_chunks.tolist())), embedding=embedding)

你可以先试试第一个思路,应该能解决这个报错。如果还有问题,再检查下pdf_chunks里的元素是不是都是有效的字符串哦!

备注:内容来源于stack exchange,提问作者jeonghyeon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 19:38:04