Fix read and write operations when LLM asks for absolute path (#126)

* fix resolution of filepaths

* fix imports

* Update write.py
This commit is contained in:
Robert Brennan 2024-03-25 08:53:26 -04:00 committed by GitHub
parent e445f92281
commit 8a64d7c912
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 6 deletions

View File

@ -1,7 +1,7 @@
import os
from .util import resolve_path
def read(base_path, file_path):
file_path = os.path.join(base_path, file_path)
file_path = resolve_path(base_path, file_path)
with open(file_path, 'r') as file:
return file.read()

View File

@ -0,0 +1,10 @@
import os
# This is the path where the workspace is mounted in the container
# The LLM sometimes returns paths with this prefix, so we need to remove it
PATH_PREFIX = "/workspace/"
def resolve_path(base_path, file_path):
if file_path.startswith(PATH_PREFIX):
file_path = file_path[len(PATH_PREFIX):]
return os.path.join(base_path, file_path)

View File

@ -1,8 +1,8 @@
import os
from .util import resolve_path
def write(base_path, path, contents):
path = os.path.join(base_path, path)
with open(path, 'w') as file:
def write(base_path, file_path, contents):
file_path = resolve_path(base_path, file_path)
with open(file_path, 'w') as file:
file.write(contents)
return ""