无法导入LlamaParse
我在Google Colab笔记本里做了一个简单的Python应用,运行得很好。现在我想把这个应用从Google Colab转移到本地的Docker-Python应用里。
但是每当我用Docker运行这个应用,并把它放在一个.py文件里
from llama_parse import LlamaParse
我的应用就会出现以下错误:
pdf-compare-mvp1-web-1 | File "/usr/local/lib/python3.8/site-packages/llama_parse/base.py", line 386, in LlamaParse
pdf-compare-mvp1-web-1 | def get_images(self, json_result: list[dict], download_path: str) -> List[dict]:
pdf-compare-mvp1-web-1 | TypeError: 'type' object is not subscriptable
这是功能正常的笔记本代码:
!pip install -q llama-index
!pip install -q openai
!pip install -q transformers
!pip install -q accelerate
import os
os.environ["OPENAI_API_KEY"] = "..."
from IPython.display import Markdown, display
from llama_index.llms.openai import OpenAI
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_parse import LlamaParse
parser = LlamaParse(
api_key="...",
result_type="markdown"
)
document1 = await parser.aload_data("data/some.pdf")
# some more code
以下是无法正常工作的本地Docker应用:
为了在我自己的电脑上构建和运行这个应用,我创建了一个Python Flask应用,并准备了以下相关文件:
Dockerfile
# Use an official Python runtime as a parent image
FROM python:3.8-slim
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Define environment variable
ENV FLASK_APP=app.py
# Run app.py when the container launches
CMD ["flask", "run", "--host=0.0.0.0"]
docker-compose.yml
version: '3.8'
services:
web:
build: .
volumes:
- .:/app
ports:
- "5002:5000"
environment:
- FLASK_ENV=development
requirements.txt
Flask==2.1.2
python-dotenv==0.20.0
boto3==1.24.12
Werkzeug==2.2.0
PyMuPDF
llama-index
openai
llama-parse
# transformers
# accelerate
processor.py
import fitz # PyMuPDF
import os
from config import Config
# from llama_parse import LlamaParse
# import nest_asyncio
# nest_asyncio.apply()
from llama_index.llms.openai import OpenAI
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_parse import LlamaParse
从 llama_parse 导入 LlamaParse 这一行导致了错误。每当这一行存在或不存在时,应用就会正常或不正常
1 个回答
0
根据这个回答,
list[dict]
从 Python 3.9 版本开始支持。所以你需要把你的 Python 版本升级一下。
你可以在你的 Dockerfile 中把 FROM python:3.8-slim
改成 FROM python:3.9-slim
或者更高的版本。