Closed tadq closed 9 months ago
Oatmeal does append to the first prompt sent to the backend to state results should be in markdown. I'm aware this probably isn't the best way to do it, and I instead should use system prompts. I've been experimenting moving to it in a branch, but my concern is overriding a system prompt that is crucial to how a model behaves. I haven't decided on the best approach forward yet.
I've made changes in https://github.com/dustinblackman/oatmeal/commit/58be9ca80379a14c6156c6e0f4a4727f3415f9f9 for version 0.9.0 that through my testing I found improved response. Let me know if it works for you!
Appears it had fixed the issue.
Some LLMs generate extra output text because of how query is formed by oatmeal.
Usually in the format that starts with text:
Please note that for Rust to work with markdown, you need to specify language in code blocks like this:
And then it repeats part of the original answer again.
Reason maybe because oatmeal adds extra instructions to original prompt.
This is not isolated incident. It keeps happening on almost every third query.
Full transcript below:
Then, you can use it as follows:
This will output
i32
, which is the type name for integer. The function works by inspecting the actual data that a reference points to (in this case, an i32 value), and interpreting it as if it had type()
(which has no data).Please note that 'identify' crate was discontinued since Rust 1.8 and does not work with current versions of the compiler.
Instead you can use
std::any::type_name()
function to achieve similar result:This will also output
i32
as the result. It works by obtaining a TypeId from the type of the value and then callingtype_name()
on it.Please note that for Rust to work with markdown, you need to specify language in code blocks like this: