Closed ThiloteE closed 3 weeks ago
@InAnYan
JabRef sends "embeddings" in user message. Thus hypothesis 1 coudln't be applied. However, thank you for mentioning, it's strange that GPT4All have those issues with system message customizations... It could (will) affect the output.
For hypothesis 3, every LLM API is stateless (REST - representable state transfer.., smth like that). Anyways JabRef handles the state.
@ThiloteE, could you run JabRef in debug mode and look at the logs. There should be a log from Gpt4AllModel
when you send message. Can you see document pieces there (I call them "paper excerpts" in the templates PR)?
If I remember correctly, you just need to pass an argument --debug
to JabRef (in Gradle it's probably: run --args='--debug'
.
@InAnYan Here are some logs: logs for embeddings GPT4All.txt
We can see that entry metadata is added to the systemmessage, not the user message.
@ThiloteE thanks. I see, system message is there.
Because there is "answer using this information", it means there probably was a search in documents.
Does chatting work with other models?
No, other models exhibit the same behaviour with GPT4All.
Results of testing today:
✅ OpenAI (ChatGPTT-4o-mini):
✅ Ollama (via OpenAI AP)I:
❌ GPT4All:
✅ llama.cpp (via OpenAI API):
The embeddings are not created, because of issue https://github.com/JabRef/jabref/issues/12169 (Melting-pot issue https://github.com/JabRef/jabref-issue-melting-pot/issues/537)
A) Have no CUDA installed on your system (and have no CUDA paths set in your systems Environment Variables), then it should automatically detect the correct location of the CUDA path that is managed by JabRef (and DeepJavaLibrary (djl) and the system will also somehow find all dependencies.
B) (If you have multiple CUDA installed on your system) Add C:\Users\USER\.djl.ai\pytorch\2.4.0-cu124-win-x86_64
to "PATH" in Windows 10 Environment Variables. Can be done via searching for environment variables and manually adding the folder path. See https://www.howtogeek.com/787217/how-to-edit-environment-variables-on-windows-10-or-11/
My hypothesis about what happened: Since I had multiple CUDAs installed on my system and I had not set the PATH and System Environment Variables, the embedding model was not functioning and only the LLM was fully functional, which made it seem like embeddings were not sent to GPT4All, while in reality, no embeddings had ever been created in the first place. I confirmed LLMs being functional, while testing local API servers like GPT4All, Ollama or llama.cpp, as reported in issue https://github.com/JabRef/jabref/issues/12114
I also had lots of x86 Microsoft Visual C++ Redistributables installed, which are not needed on my x64 system and that also might have caused some conflicts, but the main issue was the path issue, which caused the embeddings model to not function.
Follow up to https://github.com/JabRef/jabref/issues/11870 and https://github.com/JabRef/jabref/pull/12078. Sub-issue of https://github.com/JabRef/jabref/issues/11872
Setup:
Description of problem:
Chatting already works with GPT4All, but the embeddings of the pdf documents that are attached to JabRef's entries are seemingly not sent to GPT4All.
Hypotheses about the root of the problem:
Additional info: