- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 streamlit 和 gpt 索引来创建某种虚拟测试网站。我不断收到同样的错误。
from gpt_index import GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper, download_loader
from langchain import OpenAI
import logging
import sys
import os
import streamlit as st
os.environ['OPENAI_API_KEY'] = "I am deleting my api key from this post"
fileup = st.file_uploader(label=" ")
SimpleDirectoryReader = download_loader("SimpleDirectoryReader")
loader = SimpleDirectoryReader(fileup)
documents = loader.load_data()
index = GPTSimpleVectorIndex(documents)
index.save_to_disk('index.json')
question = st.text_input("What do you want me to do with the file uploaded?")
response = index.query(question)
st.write(response)
为什么我不断收到“TypeError:预期的 str、bytes 或 os.PathLike 对象,而不是 NoneType”?
这是完整的错误:
Traceback (most recent call last):
File "/home/appuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 565, in _run_script
exec(code, module.__dict__)
File "/app/indextest/streamlit_app.py", line 16, in <module>
loader = SimpleDirectoryReader(fileup)
File ".modules/file.py", line 67, in __init__
self.input_dir = Path(input_dir)
File "/usr/local/lib/python3.9/pathlib.py", line 1082, in __new__
self = cls._from_parts(args, init=False)
File "/usr/local/lib/python3.9/pathlib.py", line 707, in _from_parts
drv, root, parts = self._parse_args(args)
File "/usr/local/lib/python3.9/pathlib.py", line 691, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
最佳答案
根据 Streamlit 文档,st.file_uploader
要么返回 None
,要么返回一个 UploadedFileObject
(可以用作“类文件” "对象):
https://docs.streamlit.io/library/api-reference/widgets/st.file_uploader
它没有明确提及它,但据推测,如果没有文件上传,它会返回 None
。我们无法告诉您为什么没有上传文件。
在您的情况下,这意味着 fileup
变量是 None
,这是 SimpleDirectoryReader
的无效参数,如错误消息所示.
文档中的示例包含一个 if
语句,仅当返回值不是 None
时才继续执行脚本。您或许也应该这样做。
关于python - 使用 Streamlit file_uploader 后 "TypeError: expected str, bytes or os.PathLike object, not NoneType",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75440754/
我正在查看 boto3 文档,但找不到它本身是否支持检查文件是否已存在于 s3 中,如果不存在则不要尝试重新上传。 这是我的工作: import boto3 s3_client = boto3.cli
我正在做一个项目,我正在使用我的大学服务器。但是,file_uploads 在 php.info 中被禁用,我对此无能为力。因此我不能使用正常的方式通过 html 上传文件。 我正在考虑读取文件的内容
Google 最近在其表单中添加了文件上传功能。 但是,我找不到任何关于如何在谷歌脚本中使用它的文档。如果我在谷歌上查看项目类型 API,它没有列出 https://developers.google
在 sr_documents/form : upload_document_path(@service_request.id),:remote=>true,:html => { :multipart
我正在尝试在 slack 中上传 CSV 文件作为消息,以下代码可以上传该文件: import slack client = slack.WebClient(token='SLACK_TOKEN')
我正在使用 boto3 并尝试上传文件。如果有人能解释 file_upload() 和 put_object() s3 bucket methods 在 boto3 之间的确切区别,这将很有帮助> ?
我正在尝试使用 streamlit 和 gpt 索引来创建某种虚拟测试网站。我不断收到同样的错误。 from gpt_index import GPTListIndex, readers, GPTSi
我正在尝试使用 streamlit 和 gpt 索引来创建某种虚拟测试网站。我不断收到同样的错误。 from gpt_index import GPTListIndex, readers, GPTSi
我是一名优秀的程序员,十分优秀!