Changes
3 changed files (+3/-13)
-
-
@@ -20,7 +20,7 @@ ## DevelopmentThis project uses [uv](https://github.com/astral-sh/uv). Clone this repo and run `uv sync`. For Intel GPUs, run `uv sync --extra intel_gpu`. Use `uv run search-server` and `uv run search-client` to run your cloned versions of the code. If you don't like uv, you might be able to just `pip install -e .` and run `server.py` and `client.py` directly with Python. If you don't like uv, you can simply do `pip install -e .` and run the code using `search-server` and `search-client`. ## TODO
-
@@ -33,5 +33,4 @@ - Nvidia support (should be easy using `fastembed-gpu`)- AMD support using https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/native_linux/install-onnx.html (ideally we should just do `pip3 install onnxruntime-rocm -f https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.1/` (use the latest ROCm version) but uv doesn't recognize that URL as a registry and fastembed specifically depends on onnxruntime not onnxruntime-rocm so the whole thing is a huge mess. I hate Python packaging) - Unload the image embedding model to save RAM unless doing a file to file search - Write a systemd `.service` and `.socket` for running the server with socket activation - Fix the packaging so this works with both uv and `pip install -e .` I really hate Python packaging - Parallelize indexing? Not sure if this will help. I might need to batch embedding queries instead, but that sounds like a huge pain to implement.
-
-
-
@@ -19,7 +19,7 @@ ][project.scripts] search-server = "search:server" search-client = "search:client.main" search-client = "search:client" [tool.uv] package = true
-
-
-
@@ -30,13 +30,4 @@ # print(imgpath)# c = converter.SixelConverter(imgpath, h=50, w=50) # c.write(sys.stdout) def main(): # TODO: This seems like a weird hack # There's got to be a better way to get around the problem # sys.exit(client()) # ^^^^^^^^ # TypeError: 'module' object is not callable # when I make the entrypoint in pyproject.toml just search:client pass sys.exit(0)
-