Я работаю над функцией AWS Lambda с использованием Docker и сталкиваюсь с ошибкой файловой системы, доступной только для чтения, при попытке использовать библиотеку CrewAI, которая использует embedchain. Моя цель — обеспечить, чтобы все операции записи направлялись в каталог /tmp, поскольку это единственный каталог, доступный для записи в Lambda.
{
"errorMessage": "[Errno 30] Read-only file system: '/home/sbx_user1051'",
"errorType": "OSError",
"requestId": "",
"stackTrace": [
" File \"/var/lang/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n",
" File \"\", line 1387, in _gcd_import\n",
" File \"\", line 1360, in _find_and_load\n",
" File \"\", line 1331, in _find_and_load_unlocked\n",
" File \"\", line 935, in _load_unlocked\n",
" File \"\", line 995, in exec_module\n",
" File \"\", line 488, in _call_with_frames_removed\n",
" File \"/var/task/app.py\", line 3, in \n from crew import PTECrew\n",
" File \"/var/task/crew.py\", line 1, in \n from crewai import Crew\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/__init__.py\", line 1, in \n from crewai.agent import Agent\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/agent.py\", line 23, in \n from crewai.agents import CacheHandler, CrewAgentExecutor, CrewAgentParser, ToolsHandler\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/agents/__init__.py\", line 2, in \n from .executor import CrewAgentExecutor\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/agents/executor.py\", line 16, in \n from crewai.memory.entity.entity_memory_item import EntityMemoryItem\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/memory/__init__.py\", line 1, in \n from .entity.entity_memory import EntityMemory\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/memory/entity/entity_memory.py\", line 3, in \n from crewai.memory.storage.rag_storage import RAGStorage\n",
" File \"/var/lang/lib/python3.12/site-packages/crewai/memory/storage/rag_storage.py\", line 7, in \n from embedchain import App\n",
" File \"/var/lang/lib/python3.12/site-packages/embedchain/__init__.py\", line 10, in \n Client.setup()\n",
" File \"/var/lang/lib/python3.12/site-packages/embedchain/client.py\", line 44, in setup\n os.makedirs(CONFIG_DIR, exist_ok=True)\n",
" File \"\", line 215, in makedirs\n",
" File \"\", line 225, in makedirs\n"
]
}
Я убедился, что для CONFIG_DIR установлено значение /tmp/config_dir и что каталог создается, если он не существует. Несмотря на эти изменения, ошибка сохраняется, что указывает на попытки записи в файловую систему, доступную только для чтения. Что мне не хватает? Как я могу гарантировать, что все операции записи направляются в каталог /tmp в среде AWS Lambda с помощью Docker?
ПРИМЕЧАНИЕ* ЭТО РАБОТАЕТ локально
Я работаю над функцией AWS Lambda с использованием Docker и сталкиваюсь с ошибкой файловой системы, доступной только для чтения, при попытке использовать библиотеку CrewAI, которая использует embedchain. Моя цель — обеспечить, чтобы все операции записи направлялись в каталог /tmp, поскольку это единственный каталог, доступный для записи в Lambda. [code]FROM public.ecr.aws/lambda/python:3.12
RUN microdnf install -y gcc gcc-c++
COPY requirements.txt ${LAMBDA_TASK_ROOT} RUN pip install -r requirements.txt
COPY .env ${LAMBDA_TASK_ROOT}
COPY *.py ${LAMBDA_TASK_ROOT}
CMD [ "app.handler" ] [/code] Обработчик лямбда-выражений (app.py): [code]import os from dotenv import load_dotenv
load_dotenv()
# Ensure configuration directories use /tmp os.environ["CONFIG_DIR"] = "/tmp/config_dir"
def handler(event, context): # INvoke the crew return { 'statusCode': 200, 'body': 'Hello from Lambda!' }
[/code] Инициализация CrewAI: Я пытался наследовать и принудительно перенаправить в папку /tmp, но это тоже не сработало. [code]from crewai import Crew
# Custom CrewAI setup that uses /tmp for configuration class MyCrewApp(Crew): def __init__(self): config_dir = os.getenv('CONFIG_DIR', '/tmp/config_dir') os.makedirs(config_dir, exist_ok=True) super().__init__(config_dir=config_dir)
[/code] Сообщение об ошибке: Когда я развертываю и вызываю функцию Lambda, я получаю следующую ошибку [code]{ "errorMessage": "[Errno 30] Read-only file system: '/home/sbx_user1051'", "errorType": "OSError", "requestId": "", "stackTrace": [ " File \"/var/lang/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n", " File \"\", line 1387, in _gcd_import\n", " File \"\", line 1360, in _find_and_load\n", " File \"\", line 1331, in _find_and_load_unlocked\n", " File \"\", line 935, in _load_unlocked\n", " File \"\", line 995, in exec_module\n", " File \"\", line 488, in _call_with_frames_removed\n", " File \"/var/task/app.py\", line 3, in \n from crew import PTECrew\n", " File \"/var/task/crew.py\", line 1, in \n from crewai import Crew\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/__init__.py\", line 1, in \n from crewai.agent import Agent\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/agent.py\", line 23, in \n from crewai.agents import CacheHandler, CrewAgentExecutor, CrewAgentParser, ToolsHandler\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/agents/__init__.py\", line 2, in \n from .executor import CrewAgentExecutor\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/agents/executor.py\", line 16, in \n from crewai.memory.entity.entity_memory_item import EntityMemoryItem\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/memory/__init__.py\", line 1, in \n from .entity.entity_memory import EntityMemory\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/memory/entity/entity_memory.py\", line 3, in \n from crewai.memory.storage.rag_storage import RAGStorage\n", " File \"/var/lang/lib/python3.12/site-packages/crewai/memory/storage/rag_storage.py\", line 7, in \n from embedchain import App\n", " File \"/var/lang/lib/python3.12/site-packages/embedchain/__init__.py\", line 10, in \n Client.setup()\n", " File \"/var/lang/lib/python3.12/site-packages/embedchain/client.py\", line 44, in setup\n os.makedirs(CONFIG_DIR, exist_ok=True)\n", " File \"\", line 215, in makedirs\n", " File \"\", line 225, in makedirs\n" ] }
[/code] Я убедился, что для CONFIG_DIR установлено значение /tmp/config_dir и что каталог создается, если он не существует. Несмотря на эти изменения, ошибка сохраняется, что указывает на попытки записи в файловую систему, доступную только для чтения. Что мне не хватает? Как я могу гарантировать, что все операции записи направляются в каталог /tmp в среде AWS Lambda с помощью Docker? ПРИМЕЧАНИЕ* ЭТО РАБОТАЕТ локально
Я работаю над функцией AWS Lambda с использованием Docker и сталкиваюсь с ошибкой файловой системы, доступной только для чтения, при попытке использовать библиотеку CrewAI, которая использует embedchain. Моя цель — обеспечить, чтобы все операции...
Я сталкиваюсь с проблемой при попытке запустить функцию Lambda через API Gateway в AWS, используя Crewai. Ошибка, которую я получаю, заключается в следующем:
OSError: Read-only file system: '/home/sbx_user1051'
Traceback (most recent call last):...
Я сталкиваюсь с проблемой при попытке запустить функцию Lambda через API Gateway в AWS, используя Crewai. Ошибка, которую я получаю, заключается в следующем:
OSError: Read-only file system: '/home/sbx_user1051'
Traceback (most recent call last):...
Я пытаюсь загрузить файл из корзины S3 с помощью AWS Lambda, используя загрузчики документов langchain.
Я впервые попробовал использовать S3FileLoader, когда он дал команду на чтение -только ошибка файла.
Поэтому я попробовал сначала загрузить файл...
Я пытаюсь развернуть приложение Fastapi с Selenium Webdriver на Vercel. Приложение работает нормально локально, но при развертывании в Vercel я встречаюсь с ошибкой файловой системы только для чтения, связанной с папкой кэша WebDriver Selenium....