ramalama icon indicating copy to clipboard operation
ramalama copied to clipboard

RAG not saved on OSX

Open pkarnstein-SI opened this issue 6 months ago • 13 comments

Issue Description

ramalama version 0.11.0

When running ramalama rag, the program completes, but nothing is saved before the tempfile is deleted.

Image Image

Steps to reproduce the issue

ramalama rag file.md output_dir

Describe the results you received

long pause and GPU usage as the script runs, then nothing.

Describe the results you expected

A RAG file

ramalama info output

{
    "Accelerator": "none",
    "Engine": {
        "Info": {
            "Client": {
                "APIVersion": "5.5.2",
                "BuildOrigin": "brew",
                "Built": 1750776105,
                "BuiltTime": "Tue Jun 24 07:41:45 2025",
                "GitCommit": "",
                "GoVersion": "go1.24.4",
                "Os": "darwin",
                "OsArch": "darwin/arm64",
                "Version": "5.5.2"
            },
            "host": {
                "arch": "arm64",
                "buildahVersion": "1.40.1",
                "cgroupControllers": [
                    "cpuset",
                    "cpu",
                    "io",
                    "memory",
                    "pids",
                    "rdma",
                    "misc"
                ],
                "cgroupManager": "systemd",
                "cgroupVersion": "v2",
                "conmon": {
                    "package": "conmon-2.1.12-3.fc41.aarch64",
                    "path": "/usr/bin/conmon",
                    "version": "conmon version 2.1.12, commit: "
                },
                "cpuUtilization": {
                    "idlePercent": 87.46,
                    "systemPercent": 1.46,
                    "userPercent": 11.08
                },
                "cpus": 5,
                "databaseBackend": "sqlite",
                "distribution": {
                    "distribution": "fedora",
                    "variant": "coreos",
                    "version": "41"
                },
                "eventLogger": "journald",
                "freeLocks": 2048,
                "hostname": "localhost.localdomain",
                "idMappings": {
                    "gidmap": null,
                    "uidmap": null
                },
                "kernel": "6.12.13-200.fc41.aarch64",
                "linkmode": "dynamic",
                "logDriver": "journald",
                "memFree": 3132100608,
                "memTotal": 9665441792,
                "networkBackend": "netavark",
                "networkBackendInfo": {
                    "backend": "netavark",
                    "dns": {
                        "package": "aardvark-dns-1.14.0-1.fc41.aarch64",
                        "path": "/usr/libexec/podman/aardvark-dns",
                        "version": "aardvark-dns 1.14.0"
                    },
                    "package": "netavark-1.14.0-1.fc41.aarch64",
                    "path": "/usr/libexec/podman/netavark",
                    "version": "netavark 1.14.0"
                },
                "ociRuntime": {
                    "name": "crun",
                    "package": "crun-1.20-2.fc41.aarch64",
                    "path": "/usr/bin/crun",
                    "version": "crun version 1.20\ncommit: 9c9a76ac11994701dd666c4f0b869ceffb599a66\nrundir: /run/crun\nspec: 1.0.0\n+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL"
                },
                "os": "linux",
                "pasta": {
                    "executable": "/usr/bin/pasta",
                    "package": "passt-0^20250121.g4f2c8e7-2.fc41.aarch64",
                    "version": "pasta 0^20250121.g4f2c8e7-2.fc41.aarch64-pasta\nCopyright Red Hat\nGNU General Public License, version 2 or later\n  <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n"
                },
                "remoteSocket": {
                    "exists": true,
                    "path": "unix:///run/podman/podman.sock"
                },
                "rootlessNetworkCmd": "pasta",
                "security": {
                    "apparmorEnabled": false,
                    "capabilities": "CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT",
                    "rootless": false,
                    "seccompEnabled": true,
                    "seccompProfilePath": "/usr/share/containers/seccomp.json",
                    "selinuxEnabled": true
                },
                "serviceIsRemote": true,
                "slirp4netns": {
                    "executable": "/usr/bin/slirp4netns",
                    "package": "slirp4netns-1.3.1-1.fc41.aarch64",
                    "version": "slirp4netns version 1.3.1\ncommit: e5e368c4f5db6ae75c2fce786e31eef9da6bf236\nlibslirp: 4.8.0\nSLIRP_CONFIG_VERSION_MAX: 5\nlibseccomp: 2.5.5"
                },
                "swapFree": 0,
                "swapTotal": 0,
                "uptime": "1h 36m 31.00s (Approximately 0.04 days)",
                "variant": "v8"
            },
            "plugins": {
                "authorization": null,
                "log": [
                    "k8s-file",
                    "none",
                    "passthrough",
                    "journald"
                ],
                "network": [
                    "bridge",
                    "macvlan",
                    "ipvlan"
                ],
                "volume": [
                    "local"
                ]
            },
            "registries": {
                "search": [
                    "docker.io"
                ]
            },
            "store": {
                "configFile": "/usr/share/containers/storage.conf",
                "containerStore": {
                    "number": 0,
                    "paused": 0,
                    "running": 0,
                    "stopped": 0
                },
                "graphDriverName": "overlay",
                "graphOptions": {
                    "overlay.additionalImageStores": [
                        "/usr/lib/containers/storage"
                    ],
                    "overlay.imagestore": "/usr/lib/containers/storage",
                    "overlay.mountopt": "nodev,metacopy=on"
                },
                "graphRoot": "/var/lib/containers/storage",
                "graphRootAllocated": 98899800064,
                "graphRootUsed": 8608419840,
                "graphStatus": {
                    "Backing Filesystem": "xfs",
                    "Native Overlay Diff": "false",
                    "Supports d_type": "true",
                    "Supports shifting": "true",
                    "Supports volatile": "true",
                    "Using metacopy": "true"
                },
                "imageCopyTmpDir": "/var/tmp",
                "imageStore": {
                    "number": 5
                },
                "runRoot": "/run/containers/storage",
                "transientStore": false,
                "volumePath": "/var/lib/containers/storage/volumes"
            },
            "version": {
                "APIVersion": "5.5.2",
                "BuildOrigin": "Copr: packit/containers-podman-26503",
                "Built": 1750723200,
                "BuiltTime": "Mon Jun 23 17:00:00 2025",
                "GitCommit": "e7d8226745ba07a64b7176a7f128e4ef53225a0e",
                "GoVersion": "go1.23.10",
                "Os": "linux",
                "OsArch": "linux/arm64",
                "Version": "5.5.2"
            }
        },
        "Name": "podman"
    },
    "Image": "quay.io/ramalama/ramalama:latest",
    "Runtime": "llama.cpp",
    "Selinux": false,
    "Shortnames": {
        "Files": [
            "/Users/persekar/miniconda3/share/ramalama/shortnames.conf"
        ],
        "Names": {
            "cerebrum": "huggingface://froggeric/Cerebrum-1.0-7b-GGUF/Cerebrum-1.0-7b-Q4_KS.gguf",
            "deepseek": "ollama://deepseek-r1",
            "dragon": "huggingface://llmware/dragon-mistral-7b-v0/dragon-mistral-7b-q4_k_m.gguf",
            "gemma3": "hf://ggml-org/gemma-3-4b-it-GGUF",
            "gemma3:12b": "hf://ggml-org/gemma-3-12b-it-GGUF",
            "gemma3:1b": "hf://ggml-org/gemma-3-1b-it-GGUF/gemma-3-1b-it-Q4_K_M.gguf",
            "gemma3:27b": "hf://ggml-org/gemma-3-27b-it-GGUF",
            "gemma3:4b": "hf://ggml-org/gemma-3-4b-it-GGUF",
            "gemma3n": "hf://ggml-org/gemma-3n-E4B-it-GGUF/gemma-3n-E4B-it-Q8_0.gguf",
            "gemma3n:e2b": "hf://ggml-org/gemma-3n-E2B-it-GGUF/gemma-3n-E2B-it-Q8_0.gguf",
            "gemma3n:e2b-it-f16": "hf://ggml-org/gemma-3n-E2B-it-GGUF/gemma-3n-E2B-it-f16.gguf",
            "gemma3n:e2b-it-q8_0": "hf://ggml-org/gemma-3n-E2B-it-GGUF/gemma-3n-E2B-it-Q8_0.gguf",
            "gemma3n:e4b": "hf://ggml-org/gemma-3n-E4B-it-GGUF/gemma-3n-E4B-it-Q8_0.gguf",
            "gemma3n:e4b-it-f16": "hf://ggml-org/gemma-3n-E4B-it-GGUF/gemma-3n-E4B-it-f16.gguf",
            "gemma3n:e4b-it-q8_0": "hf://ggml-org/gemma-3n-E4B-it-GGUF/gemma-3n-E4B-it-Q8_0.gguf",
            "granite": "ollama://granite3.1-dense",
            "granite-code": "hf://ibm-granite/granite-3b-code-base-2k-GGUF/granite-3b-code-base.Q4_K_M.gguf",
            "granite-code:20b": "hf://ibm-granite/granite-20b-code-base-8k-GGUF/granite-20b-code-base.Q4_K_M.gguf",
            "granite-code:34b": "hf://ibm-granite/granite-34b-code-base-8k-GGUF/granite-34b-code-base.Q4_K_M.gguf",
            "granite-code:3b": "hf://ibm-granite/granite-3b-code-base-2k-GGUF/granite-3b-code-base.Q4_K_M.gguf",
            "granite-code:8b": "hf://ibm-granite/granite-8b-code-base-4k-GGUF/granite-8b-code-base.Q4_K_M.gguf",
            "granite-lab-7b": "huggingface://instructlab/granite-7b-lab-GGUF/granite-7b-lab-Q4_K_M.gguf",
            "granite-lab-8b": "huggingface://ibm-granite/granite-8b-code-base-GGUF/granite-8b-code-base.Q4_K_M.gguf",
            "granite-lab:7b": "huggingface://instructlab/granite-7b-lab-GGUF/granite-7b-lab-Q4_K_M.gguf",
            "granite:2b": "ollama://granite3.1-dense:2b",
            "granite:7b": "huggingface://instructlab/granite-7b-lab-GGUF/granite-7b-lab-Q4_K_M.gguf",
            "granite:8b": "ollama://granite3.1-dense:8b",
            "hermes": "huggingface://NousResearch/Hermes-2-Pro-Mistral-7B-GGUF/Hermes-2-Pro-Mistral-7B.Q4_K_M.gguf",
            "ibm/granite": "ollama://granite3.1-dense:8b",
            "ibm/granite:2b": "ollama://granite3.1-dense:2b",
            "ibm/granite:7b": "huggingface://instructlab/granite-7b-lab-GGUF/granite-7b-lab-Q4_K_M.gguf",
            "ibm/granite:8b": "ollama://granite3.1-dense:8b",
            "merlinite": "huggingface://instructlab/merlinite-7b-lab-GGUF/merlinite-7b-lab-Q4_K_M.gguf",
            "merlinite-lab-7b": "huggingface://instructlab/merlinite-7b-lab-GGUF/merlinite-7b-lab-Q4_K_M.gguf",
            "merlinite-lab:7b": "huggingface://instructlab/merlinite-7b-lab-GGUF/merlinite-7b-lab-Q4_K_M.gguf",
            "merlinite:7b": "huggingface://instructlab/merlinite-7b-lab-GGUF/merlinite-7b-lab-Q4_K_M.gguf",
            "mistral": "huggingface://TheBloke/Mistral-7B-Instruct-v0.2-GGUF/mistral-7b-instruct-v0.2.Q4_K_M.gguf",
            "mistral-small3.1": "hf://bartowski/mistralai_Mistral-Small-3.1-24B-Instruct-2503-GGUF/mistralai_Mistral-Small-3.1-24B-Instruct-2503-IQ2_M.gguf",
            "mistral-small3.1:24b": "hf://bartowski/mistralai_Mistral-Small-3.1-24B-Instruct-2503-GGUF/mistralai_Mistral-Small-3.1-24B-Instruct-2503-IQ2_M.gguf",
            "mistral:7b": "huggingface://TheBloke/Mistral-7B-Instruct-v0.2-GGUF/mistral-7b-instruct-v0.2.Q4_K_M.gguf",
            "mistral:7b-v1": "huggingface://TheBloke/Mistral-7B-Instruct-v0.1-GGUF/mistral-7b-instruct-v0.1.Q5_K_M.gguf",
            "mistral:7b-v2": "huggingface://TheBloke/Mistral-7B-Instruct-v0.2-GGUF/mistral-7b-instruct-v0.2.Q4_K_M.gguf",
            "mistral:7b-v3": "huggingface://MaziyarPanahi/Mistral-7B-Instruct-v0.3-GGUF/Mistral-7B-Instruct-v0.3.Q4_K_M.gguf",
            "mistral_code_16k": "huggingface://TheBloke/Mistral-7B-Code-16K-qlora-GGUF/mistral-7b-code-16k-qlora.Q4_K_M.gguf",
            "mistral_codealpaca": "huggingface://TheBloke/Mistral-7B-codealpaca-lora-GGUF/mistral-7b-codealpaca-lora.Q4_K_M.gguf",
            "mixtao": "huggingface://MaziyarPanahi/MixTAO-7Bx2-MoE-Instruct-v7.0-GGUF/MixTAO-7Bx2-MoE-Instruct-v7.0.Q4_K_M.gguf",
            "openchat": "huggingface://TheBloke/openchat-3.5-0106-GGUF/openchat-3.5-0106.Q4_K_M.gguf",
            "openorca": "huggingface://TheBloke/Mistral-7B-OpenOrca-GGUF/mistral-7b-openorca.Q4_K_M.gguf",
            "phi2": "huggingface://MaziyarPanahi/phi-2-GGUF/phi-2.Q4_K_M.gguf",
            "qwen2.5vl": "hf://ggml-org/Qwen2.5-VL-32B-Instruct-GGUF",
            "qwen2.5vl:2b": "hf://ggml-org/Qwen2.5-VL-2B-Instruct-GGUF",
            "qwen2.5vl:32b": "hf://ggml-org/Qwen2.5-VL-32B-Instruct-GGUF",
            "qwen2.5vl:3b": "hf://ggml-org/Qwen2.5-VL-3B-Instruct-GGUF",
            "qwen2.5vl:7b": "hf://ggml-org/Qwen2.5-VL-7B-Instruct-GGUF",
            "smollm:135m": "ollama://smollm:135m",
            "smolvlm": "hf://ggml-org/SmolVLM-500M-Instruct-GGUF",
            "smolvlm:256m": "hf://ggml-org/SmolVLM-256M-Instruct-GGUF",
            "smolvlm:2b": "hf://ggml-org/SmolVLM-Instruct-GGUF",
            "smolvlm:500m": "hf://ggml-org/SmolVLM-500M-Instruct-GGUF",
            "tiny": "ollama://tinyllama"
        }
    },
    "Store": "/Users/persekar/.local/share/ramalama",
    "UseContainer": true,
    "Version": "0.11.0"
}

Upstream Latest Release

Yes

Additional environment details

No response

Additional information

No response

pkarnstein-SI avatar Jul 15 '25 23:07 pkarnstein-SI

Did it greate a rag_output OCI Image?

$ podman images | grep rag_output

rhatdan avatar Jul 16 '25 15:07 rhatdan

No

On Wed, Jul 16, 2025, 8:50 AM Daniel J Walsh @.***> wrote:

rhatdan left a comment (containers/ramalama#1701) https://github.com/containers/ramalama/issues/1701#issuecomment-3079236018

Did it greate a rag_output OCI Image?

$ podman images | grep rag_output

— Reply to this email directly, view it on GitHub https://github.com/containers/ramalama/issues/1701#issuecomment-3079236018, or unsubscribe https://github.com/notifications/unsubscribe-auth/BNNQ2H4XPKGTKYFSFAGHDEL3IZYEZAVCNFSM6AAAAACBTK6TJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTANZZGIZTMMBRHA . You are receiving this because you authored the thread.Message ID: @.***>

pkarnstein-SI avatar Jul 16 '25 15:07 pkarnstein-SI

 ./bin/ramalama rag README.md rag_output

Building rag_output ...
adding vectordb ...
305304ffe66a9a659fe62d7a4e3607a94200501798d80c665781a3b087db8666
ramalama (rag) $ podman images  | grep rag_output
localhost/rag_output                         latest                             305304ffe66a  17 seconds ago      344 kB
$ podman unshare
# mnt=$(podman image mount 305304ffe66a9a659fe62d7a4e3607a94200501798d80c665781a3b087db8666); ls $mnt
vector.db

rhatdan avatar Jul 16 '25 16:07 rhatdan

If you want to just make a directory then add / or ./ to the output path.

./bin/ramalama rag --format markdown README.md ./rag_output
tree rag_ramalama (rag) $ tree rag_output
rag_output
└── docs
    └── home
        └── dwalsh
            └── ramalama
                └── README.md

5 directories, 1 file

rhatdan avatar Jul 16 '25 16:07 rhatdan

ok... it doesn't look like it creates a meta.json file though?

pkarnstein-SI avatar Jul 16 '25 19:07 pkarnstein-SI

Please give me an example?

rhatdan avatar Jul 17 '25 10:07 rhatdan

Same example. ramalama rag file.md output_dir on osx, I was able to pull the image from podman but it only has the docs folder and that only has the input files in it. Running find . meta.json returns no results.

PersephoneKarnstein avatar Jul 17 '25 16:07 PersephoneKarnstein

(I'm the same person as above just on a different laptop)

PersephoneKarnstein avatar Jul 17 '25 16:07 PersephoneKarnstein

Did you do: ramalama rag file.md ./output_dir ? The command you showed would create an image called localhost/output_dir

rhatdan avatar Jul 18 '25 10:07 rhatdan

Right, and when I try to use that with ramalama serve it complains that there's no meta.json file

On Fri, Jul 18, 2025, 3:31 AM Daniel J Walsh @.***> wrote:

rhatdan left a comment (containers/ramalama#1701) https://github.com/containers/ramalama/issues/1701#issuecomment-3088973732

Did you do: ramalama rag file.md ./output_dir ? The command you showed would create an image called localhost/output_dir

— Reply to this email directly, view it on GitHub https://github.com/containers/ramalama/issues/1701#issuecomment-3088973732, or unsubscribe https://github.com/notifications/unsubscribe-auth/BNNQ2H47EH6KEYVEJIXFLC33JDEJ5AVCNFSM6AAAAACBTK6TJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTAOBYHE3TGNZTGI . You are receiving this because you authored the thread.Message ID: @.***>

pkarnstein-SI avatar Jul 18 '25 14:07 pkarnstein-SI

Ah, I see the issue. The problem is that Ramalama serve currently only accepts the default configuration for rag not markdwon

try doing rag without the --format=markdown and it should work

bmahabirbu avatar Jul 19 '25 19:07 bmahabirbu

the meta.json file is associated with the qdrant format so thats why u arent seeing it

bmahabirbu avatar Jul 19 '25 19:07 bmahabirbu

See https://github.com/containers/ramalama/issues/2052 for more info regarding --format markdown

bmahabirbu avatar Oct 29 '25 20:10 bmahabirbu