-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ollama UX Needs Improvement #54
Comments
I dug a bit deeper and it seems to be a Fundamental issue with:
it does not properly fetch the /api/tags model list. Sadly I could with my effort not properly debug the "Why" |
interesting. What does a Do you have one of the supported Ollama models installed. Also: note the (i) info link in the screenshot - fewer models are supported for structured output. Smaller models can't produce it reliably, so they are filtered out. It might be working for task with unstructured output, but filtered for tasks with structured output. UI improvements I should make here:
And potentially the root cause for why /api/tags is failing to parse |
Oh- i did not know there is a specific list of "supported" models as i use custom loaded models via gguf since mine have a slightly altered finedtune. may i ask why you added a list of "supported" models... given that technically people who'd want to create synthetic data know what kind of model they should choose? |
the /api/tags endpoint returns the normal |
yeah - that's by design (if the design is good is another question). I want the out of box experience to be great so I test every feature with every model in a big matrix. But you should be able to override it. Try one of the supported models for now. I'll keep this issue for improving the UX around Ollama. Issues exist already for the other two:
|
@LumiWasTaken fixed this. Grab a updated version from a main build here: https://github.com/Kiln-AI/Kiln/actions/workflows/build_desktop.yml If you have time to confirm it works for you that would be great! |
I've tested the new version. While this is a valid approach, consider making the error message more clear by actively stating that unsupported models have been found, and prompt the user to install at least one Supported model or allow to just connect directly but keep the "Supported" Tab instead of empty, with one Place-Holder that says "No Supported Models installed" to highlight that all of them are untested While i was writing this message, i installed llama3.2 to debug and saw that it's unsupported / structured output fails... Additional Bug i found: Why do the Models require "tools" support? Could you highlight that one for me? If it's about the JSON output, their API supports Additional Note: The "Raw Output" Represents that too. Wouldn't it make more sense to swap it around as the generation is Left to right / top to bottom? Sorry for this long winded response! I hope this gave some insight into my thoughts as i'm eating my dinner |
Another extension to my previous post. I have also noticed, if you use a quanted pull e.g. using: Kiln will not recognize it UNLESS you specifically pull only the That's pretty bad if you do not support for quants. The API responds with: So one way to check it with is somewhere here
is to Split it by : and use the [0] value in that array so. ADDITIONALLY you could compare the model name (pre |
fixed the issue requiring at least 1 supported model just now. Good call. The messaging/UI should reflect what you're asking for now. It was setup like that, just missed the zero supported model case in tests. Also fixed the issue with slashes. Literally had a TODO to fix that in code, just missed it 🤦 Great bug reports, keep them coming! re:tools. The prompt should be pointing you to llama 3.1 now (which supports tools). Although the docs say it should work on 3.2 as well so not sure why it's erroring. I'll look at json mode + Ollama soon which might let me expand the structured output support. Trying to make a bunch of providers play nice is no fun. For now we test, and flag them as unlikely to work when there are known compatibility issues. You should see a big warning in the UI under the model selector. re:joke example - JSON dictionaries don't have order so they might render in any order once parsed. The rendering you're seeing is after parsing (including "raw"). In general, I've seen most models are smart enough to write the setup first and punchline second, but if they aren't that's just a model problem. 1B param models might not get it right. Let me know if I missed something. re:String matching - I really hate Ollama IDs. I can't just match the prefix, because "llama3.2" != "llama3.2:1b" (the first is 3b). However sometimes 2 IDs map to same model "llama3.2" == "llama3.2:latest". However, I think the current is working as I want it to. I only want it to match if that exact version (including quants) has passed the tests for structured output and data generation. I don't want to treat q4 like fp16 or even fp16 like fpb16. Your specific quants should appear in the untested section and work fine if selected (let me know if they don't, that would be a bug). They shouldn't appear in the "tested" list since those quants really aren't tested. |
The Quants actually did not appear in the Tested section. Your idea was working as suggested. Regarding the string matching, maybe you are right... maybe there is also a combo of things to check, like general matching if ids match OR if the name contains "llama3.2" AND "3b" or some weird chains. of course this might be an issue for a later "polishing" state where it could slowly work into the "convenience" features. I don't know if you plan on re-factoring code some day. As i was exploring these issues i slowly managed to get myself a overview of the structuring and found that some files e.g. with the list for the Ai models might not be very "long-term-scaleable" Regarding the JSON / Tools i am not too sure why the models still need tool support but maybe that's for the JSON compatibility which would be logical. Other than that, thank you for the feedback. if i see more issues or things that bug me i'll make sure to open a seperate Issue to keep things on-topic |
If you'd like maybe a bit more in-depth theorizing or experimenting, feel free to let me know, we could chat on discord or something! |
Just to wrap this, I think everything is fixed? Please confirm I'm not missing anything.
JSON vs tools is going to be a forever problem. Some models are better at one, and others at another. We'll bake in guidance for the built in models. When I add the ability to add any model, we'll have an option for this. But there isn't a universal solution, and there will probably be more modes in time. For Kiln default install I want to focus on ease of use, with lots of options in config files under the covers for power users (not documented yet, but I'll get there). |
Yup works! |
Using:
https://github.com/Kiln-AI/Kiln/actions/runs/12130985759
Backend:
Both normal Ollama and KoboldCPP Ollama Compatible API
Issue:
No model found.
The text was updated successfully, but these errors were encountered: