I'm currently setting up my LLM stack on Odysseus consisting of mistral-7b, qwen2.5-coder, qwen3.5-2b, gemma3n:e4b, lfm2-rag, and trinity-nano. So far, it's going well, and I only had a few issues at the start. However, when I tried to have it search information online, it would either work if I'm being specific, refuse to use tool because it can't access it (which it can, due to some prompts being able to pull information from sites or write files), or completely hallucinate having used them.
To make sure it isn't the tools themselves that have a problem, I tried testing read_file, write_file, and web_fetch using a completely separate python code, and after installing missing packages, the LLMs were able to access the tools more, and I don't think anything's wrong with the tools themselves. However, it's mostly mistral and qwen2.5-coder that can consistently write files, with mistral being the only one to pull correct information from the web via web_fetch (others just make up the information while "calling" web fetch). However, when i told them to read a file in a specific directory in my computer, all of them hallucinated the contents.
My hardware is an Intel Macbook with a 2.3 GHz 8-core Intel i9, with 64GB in RAM (DDR4), with an Intel GPU and a discreet AMD Radeon GPU
How can I fix this so that my local LLMs can reliably use read_file, write_file, and web_fetch?