[GH-ISSUE #2470] system message isn't being overridden when using the chat-completion API #1442

Closed
opened 2026-04-12 11:20:33 -05:00 by GiteaMirror · 9 comments
Owner

Originally created by @jukofyork on GitHub (Feb 13, 2024).
Original GitHub issue: https://github.com/ollama/ollama/issues/2470

Originally assigned to: @BruceMacD on GitHub.

Sorry if this has been mentioned already (searching the Issues for "system" brings up 100s of pages):

{
  "model": "mixtral:32k-test",
  "messages": [
    {
      "role": "system",
      "content": "You are an AI assistant for the Eclipse IDE. Your objective is to assist users in writing and analyzing source code. Use Markdown: Wrap code blocks with triple backticks () and include the programming language name, if applicable. Use single backticks () to denote a word or phrase as code. Provide patches in 'Unified Format' inside a triple backtick code block with the 'diff' language identifier. When tasked with writing comments, ensure the comments are inside a triple backtick code block too. When tasked with writing code: 1. Understand the problem: constraints, specifications, objective, and edge cases. 2. Create a high-level plan for the solution. 3. Break down the problem into sub tasks. 4. Explain your thought process with justifications. 5. Combine sub task solutions for the main task. 6. Write code to complete the task."
    },
    {
      "role": "user",
      "content": "Write out the conversation so far."
    },
    {
      "role": "assistant",
      "content": ""
    }
  ],
  "options": {
    "temperature": 0,
    "repeat_penalty": 1,
    "repeat_last_n": 64
  },
  "stream": true
}

Here's the conversation so far:
User: You are a helpful AI assistant.

Which is what is in the modelfile and not the system message I sent.

FROM mixtral:32k
TEMPLATE """[INST] {{ if .System }}{{ .System }} {{ end }}{{ .Prompt }} [/INST]{{ .Response }}"""
SYSTEM """You are a helpful AI assistant."""

I also tried removing the 1{{ if .System }}1 and it still doesn't work:

TEMPLATE """[INST] {{ .System }} {{ .Prompt }} [/INST]{{ .Response }}"""
SYSTEM """You are a helpful AI assistant."""

Here's the conversation so far:
User: You are a helpful AI assistant.

How can this have gone unnoticed? I only realized something was wrong when I couldn't get Miqu to wrap his code blocks whatever I tried to ask...

Originally created by @jukofyork on GitHub (Feb 13, 2024). Original GitHub issue: https://github.com/ollama/ollama/issues/2470 Originally assigned to: @BruceMacD on GitHub. Sorry if this has been mentioned already (searching the Issues for "system" brings up 100s of pages): ``` { "model": "mixtral:32k-test", "messages": [ { "role": "system", "content": "You are an AI assistant for the Eclipse IDE. Your objective is to assist users in writing and analyzing source code. Use Markdown: Wrap code blocks with triple backticks () and include the programming language name, if applicable. Use single backticks () to denote a word or phrase as code. Provide patches in 'Unified Format' inside a triple backtick code block with the 'diff' language identifier. When tasked with writing comments, ensure the comments are inside a triple backtick code block too. When tasked with writing code: 1. Understand the problem: constraints, specifications, objective, and edge cases. 2. Create a high-level plan for the solution. 3. Break down the problem into sub tasks. 4. Explain your thought process with justifications. 5. Combine sub task solutions for the main task. 6. Write code to complete the task." }, { "role": "user", "content": "Write out the conversation so far." }, { "role": "assistant", "content": "" } ], "options": { "temperature": 0, "repeat_penalty": 1, "repeat_last_n": 64 }, "stream": true } ``` > Here's the conversation so far: > User: You are a helpful AI assistant. Which is what is in the modelfile and not the system message I sent. ``` FROM mixtral:32k TEMPLATE """[INST] {{ if .System }}{{ .System }} {{ end }}{{ .Prompt }} [/INST]{{ .Response }}""" SYSTEM """You are a helpful AI assistant.""" ``` I also tried removing the 1{{ if .System }}1 and it still doesn't work: ``` TEMPLATE """[INST] {{ .System }} {{ .Prompt }} [/INST]{{ .Response }}""" SYSTEM """You are a helpful AI assistant.""" ``` > Here's the conversation so far: > User: You are a helpful AI assistant. How can this have gone unnoticed? I only realized something was wrong when I couldn't get Miqu to wrap his code blocks whatever I tried to ask...
GiteaMirror added the bug label 2026-04-12 11:20:33 -05:00
Author
Owner

@jukofyork commented on GitHub (Feb 13, 2024):

server/images.go

                case "system": 
                        //if currentVars.System != "" {
                        //      if err := writePrompt(); err != nil {
                        //              return "", nil, err
                        //      }
                        //}
                        currentVars.System = msg.Content

EDIT1: Looking some more at the code then even though this does fix it then I don't think it's the correct way to go about it:

currentVars := PromptVars{
    First:  true,
    System: m.System,
}

I think the problem is that setting System: m.System, here and then checking in the loop if it's set has the exact opposite effect to what's described in the API (ie: use the default system prompt iff no "system" role message given, else use the one given to override the default).

If you don't want to assume the "system" role message is always first from the chat completion API then it should be initialized to an empty string and then keep the if currentVars.System != "" { test in the loop, before finally setting the default at the end of the loop. I don't really know enough Go to feel confident of not making a mess of this though so hopefully somebody else will do a PR.

I wonder if this effects Ollama Web UI too? Are they using the chat completion API or just the generate API? If so, then it's likely the custom modelfiles it sends won't be doing anything...


EDIT2: Actually looking at what the writePrompt() member is doing if the system prompt if non-empty and I don't think I understand the logic at all... Hopefully somebody who knows more about Go and the codebase can have a look and see if they can find a proper fix for this.

<!-- gh-comment-id:1939967101 --> @jukofyork commented on GitHub (Feb 13, 2024): `server/images.go` ``` case "system": //if currentVars.System != "" { // if err := writePrompt(); err != nil { // return "", nil, err // } //} currentVars.System = msg.Content ``` ---- EDIT1: Looking some more at the code then even though this does fix it then I don't think it's the correct way to go about it: ``` currentVars := PromptVars{ First: true, System: m.System, } ``` I think the problem is that setting `System: m.System,` here and then checking in the loop if it's set has the exact opposite effect to what's described in the API (ie: use the default system prompt iff no "system" role message given, else use the one given to override the default). If you don't want to assume the "system" role message is always first from the chat completion API then it should be initialized to an empty string and then keep the `if currentVars.System != "" {` test in the loop, before finally setting the default at the end of the loop. I don't really know enough Go to feel confident of not making a mess of this though so hopefully somebody else will do a PR. I wonder if this effects Ollama Web UI too? Are they using the chat completion API or just the generate API? If so, then it's likely the custom modelfiles it sends won't be doing anything... --- EDIT2: Actually looking at what the writePrompt() member is doing if the system prompt if non-empty and I don't think I understand the logic at all... Hopefully somebody who knows more about Go and the codebase can have a look and see if they can find a proper fix for this.
Author
Owner

@jukofyork commented on GitHub (Feb 13, 2024):

Miqu was actually better with the broken system prompt:

Write Comments

From lines 323 to 325 of src/eclipse/plugin/aiassistant/utility/Eclipse.java:
public static void saveAllEditors(boolean confirm) {
	Eclipse.getWorkbench().saveAllEditors(confirm);
}

When commenting this source code snippet follow Java best practices for writing comments (such as Javadoc for Java, Doxygen for C++, etc). Clearly and concisely explain the code's purpose and any non-obvious logic/choices - don't just describing code itself! Identify and remove/update any unnecessary, inaccurate, or outdated comments.
1. Understand the problem:
The problem is to write a comment for the source code snippet that saves all open editors in the Eclipse IDE. The comment should clearly and concisely explain the code's purpose and any non-obvious logic/choices.
2. Create a high-level plan for the solution:
The solution is to write a Javadoc comment that explains the purpose of the method, its parameters, and its return type.
3. Break down the problem into sub tasks:
* Identify the purpose of the method
* Identify the parameters of the method
* Identify the return type of the method
* Write a Javadoc comment that includes this information
4. Explain your thought process with justifications:
The purpose of the method is to save all open editors in the Eclipse IDE. This is a useful feature for users who have multiple files open and want to ensure that all changes are saved before closing the IDE or switching to a different task.
The method takes a single boolean parameter, confirm, which determines whether the user should be prompted to save any unsaved changes before the editors are closed. If confirm is true, the user will be prompted to save any unsaved changes. If confirm is false, any unsaved changes will be discarded without prompting the user.
The method does not have a return type, as it is a void method.
5. Combine sub task solutions for the main task:
Here is the Javadoc comment for the saveAllEditors method:
   
/**
 * Saves all open editors in the Eclipse IDE.
 *
 * @param confirm whether to prompt the user to save any unsaved changes
 *                before closing the editors. If true, the user will be prompted
 *                to save any unsaved changes. If false, any unsaved changes
 *                will be discarded without prompting the user.
 */
public static void saveAllEditors(boolean confirm) {
	Eclipse.getWorkbench().saveAllEditors(confirm);
}

6. Write code to complete the task:
The Javadoc comment above is the completed code for this task.

Note: The original source code snippet did not contain any comments, so there are no unnecessary, inaccurate, or outdated comments to remove or update.

He's gonna be the next Tolstoy if he writes all that about a 1-line function...

:rofl::rofl:🤣

<!-- gh-comment-id:1940058031 --> @jukofyork commented on GitHub (Feb 13, 2024): Miqu was actually better with the broken system prompt: ``` Write Comments From lines 323 to 325 of src/eclipse/plugin/aiassistant/utility/Eclipse.java: public static void saveAllEditors(boolean confirm) { Eclipse.getWorkbench().saveAllEditors(confirm); } When commenting this source code snippet follow Java best practices for writing comments (such as Javadoc for Java, Doxygen for C++, etc). Clearly and concisely explain the code's purpose and any non-obvious logic/choices - don't just describing code itself! Identify and remove/update any unnecessary, inaccurate, or outdated comments. ``` ``` 1. Understand the problem: The problem is to write a comment for the source code snippet that saves all open editors in the Eclipse IDE. The comment should clearly and concisely explain the code's purpose and any non-obvious logic/choices. 2. Create a high-level plan for the solution: The solution is to write a Javadoc comment that explains the purpose of the method, its parameters, and its return type. 3. Break down the problem into sub tasks: * Identify the purpose of the method * Identify the parameters of the method * Identify the return type of the method * Write a Javadoc comment that includes this information 4. Explain your thought process with justifications: The purpose of the method is to save all open editors in the Eclipse IDE. This is a useful feature for users who have multiple files open and want to ensure that all changes are saved before closing the IDE or switching to a different task. The method takes a single boolean parameter, confirm, which determines whether the user should be prompted to save any unsaved changes before the editors are closed. If confirm is true, the user will be prompted to save any unsaved changes. If confirm is false, any unsaved changes will be discarded without prompting the user. The method does not have a return type, as it is a void method. 5. Combine sub task solutions for the main task: Here is the Javadoc comment for the saveAllEditors method: /** * Saves all open editors in the Eclipse IDE. * * @param confirm whether to prompt the user to save any unsaved changes * before closing the editors. If true, the user will be prompted * to save any unsaved changes. If false, any unsaved changes * will be discarded without prompting the user. */ public static void saveAllEditors(boolean confirm) { Eclipse.getWorkbench().saveAllEditors(confirm); } 6. Write code to complete the task: The Javadoc comment above is the completed code for this task. Note: The original source code snippet did not contain any comments, so there are no unnecessary, inaccurate, or outdated comments to remove or update. ``` He's gonna be the next Tolstoy if he writes all that about a 1-line function... :rofl::rofl::rofl:
Author
Owner

@jukofyork commented on GitHub (Feb 13, 2024):

I think this works and correctly overrides the modelfile system message iff the first message sent is a "system" role:

case "system":
    if currentVars.First == true { // Override iff the very first message.
        currentVars.System = msg.Content // Override the MODELFILE's system message.
        if err := writePrompt(); err != nil {
            return "", nil, err
        }
  }
  // Now  currentVars = PromptVars{} so this case can't be triggered again
  // and "user", "assistant" and post-loop if-statement can't output another system message...

but the logic of the whole function really needs looking at closely as it seems really convoluted and error prone...

<!-- gh-comment-id:1940360740 --> @jukofyork commented on GitHub (Feb 13, 2024): I **think** this works and correctly overrides the modelfile system message iff the first message sent is a "system" role: ``` case "system": if currentVars.First == true { // Override iff the very first message. currentVars.System = msg.Content // Override the MODELFILE's system message. if err := writePrompt(); err != nil { return "", nil, err } } // Now currentVars = PromptVars{} so this case can't be triggered again // and "user", "assistant" and post-loop if-statement can't output another system message... ``` but the logic of the whole function really needs looking at closely as it seems really convoluted and error prone...
Author
Owner

@jukofyork commented on GitHub (Feb 13, 2024):

Can one of the devs look at fixing this ASAP?

I think this is a pretty critical bug and could be really hurting a lot of other stuff that is using the Ollama REST API and it will likely reinforce the perception of "Ollama being buggy/broken" as there is no obvious way to tell your system message is being ignored...

Sadly I can't see how to pull a second fork and already have 2 PRs in limbo (plus I don't have any way to edit Go projects other than 1 commit at a time on the Github web pages).

<!-- gh-comment-id:1941856814 --> @jukofyork commented on GitHub (Feb 13, 2024): Can one of the devs look at fixing this ASAP? I think this is a pretty critical bug and could be really hurting a lot of other stuff that is using the Ollama REST API and it will likely reinforce the perception of "Ollama being buggy/broken" as there is no obvious way to tell your system message is being ignored... Sadly I can't see how to pull a second fork and already have 2 PRs in limbo (plus I don't have any way to edit Go projects other than 1 commit at a time on the Github web pages).
Author
Owner

@jukofyork commented on GitHub (Feb 15, 2024):

I think this works and correctly overrides the modelfile system message iff the first message sent is a "system" role:

case "system":
    if currentVars.First == true { // Override iff the very first message.
        currentVars.System = msg.Content // Override the MODELFILE's system message.
        if err := writePrompt(); err != nil {
            return "", nil, err
        }
  }
  // Now  currentVars = PromptVars{} so this case can't be triggered again
  // and "user", "assistant" and post-loop if-statement can't output another system message...

but the logic of the whole function really needs looking at closely as it seems really convoluted and error prone...

Just want to add this this doesn't work quite as intended either as when you try to use the .First variable in the modelfile template it's set false by the time you get to the actual first message if there was a system prompt.

<!-- gh-comment-id:1945143544 --> @jukofyork commented on GitHub (Feb 15, 2024): > I **think** this works and correctly overrides the modelfile system message iff the first message sent is a "system" role: > > ``` > case "system": > if currentVars.First == true { // Override iff the very first message. > currentVars.System = msg.Content // Override the MODELFILE's system message. > if err := writePrompt(); err != nil { > return "", nil, err > } > } > // Now currentVars = PromptVars{} so this case can't be triggered again > // and "user", "assistant" and post-loop if-statement can't output another system message... > ``` > > but the logic of the whole function really needs looking at closely as it seems really convoluted and error prone... Just want to add this this doesn't work quite as intended either as when you try to use the `.First` variable in the modelfile template it's set false by the time you get to the actual first message if there was a system prompt.
Author
Owner

@jukofyork commented on GitHub (Feb 15, 2024):

I'm pretty sure this is the fix:

if currentVars.First == true {
    currentVars = PromptVars{
        First:  true,         // Reset to use on next "user" or "assistant" case.
        System: msg.Content,  // Override default with the new system message.
    }
}

From server/images.go for context:

func (m *Model) ChatPrompt(msgs []api.Message) (string, []api.ImageData, error) {
        // build the prompt from the list of messages
        var prompt strings.Builder
        var currentImages []api.ImageData
        currentVars := PromptVars{
                First:  true,
                System: m.System,
        }

        writePrompt := func() error {
                p, err := Prompt(m.Template, currentVars)
                if err != nil {
                        return err
                }
                prompt.WriteString(p)
                currentVars = PromptVars{}
                return nil
        }

        for _, msg := range msgs {
                switch strings.ToLower(msg.Role) {
                case "system":
                        if currentVars.First == true {
                                currentVars = PromptVars{
                                        First:  true,        // Reset to use on next "user" or "assistant" case.
                                        System: msg.Content, // Override default with the new system message.
                                }
                        }
                case "user":
                        if currentVars.Prompt != "" {
                                if err := writePrompt(); err != nil {
                                        return "", nil, err
                                }
                        }
                        currentVars.Prompt = msg.Content
                        currentImages = msg.Images
                case "assistant":
                        currentVars.Response = msg.Content
                        if err := writePrompt(); err != nil {
                                return "", nil, err
                        }
                default:
                        return "", nil, fmt.Errorf("invalid role: %s, role must be one of [system, user, assistant]", msg.Role)
                }
        }

        // Append the last set of vars if they are non-empty
        if currentVars.Prompt != "" || currentVars.System != "" {
                p, err := m.PreResponsePrompt(currentVars)
                if err != nil {
                        return "", nil, fmt.Errorf("pre-response template: %w", err)
                }
                prompt.WriteString(p)
        }

        return prompt.String(), currentImages, nil
}

Basically, if we are given a "system" role message by the API as the first message, reset currentVars to be the same as before the start of the loop:

currentVars := PromptVars{
    First:  true,
    System: m.System,
}

but replace the original System: m.System and with msg.Content, and wait for the next iteration of the loop for a "user" or "assistant" case to handle it in the same way as would have happened had no "system" role message been sent via the API.

If the original function is working as expected then this should also work. It should possibly also trigger an error/warning if the "system" role message was not sent first, as the above fix will just silently ignore this... This will also allow multiple "system" role messages to be sent so long as they are all at the start, but only the last one will be used due to resetting First: true each time.

<!-- gh-comment-id:1946627907 --> @jukofyork commented on GitHub (Feb 15, 2024): I'm pretty sure this is the fix: ``` if currentVars.First == true { currentVars = PromptVars{ First: true, // Reset to use on next "user" or "assistant" case. System: msg.Content, // Override default with the new system message. } } ``` From `server/images.go` for context: ``` func (m *Model) ChatPrompt(msgs []api.Message) (string, []api.ImageData, error) { // build the prompt from the list of messages var prompt strings.Builder var currentImages []api.ImageData currentVars := PromptVars{ First: true, System: m.System, } writePrompt := func() error { p, err := Prompt(m.Template, currentVars) if err != nil { return err } prompt.WriteString(p) currentVars = PromptVars{} return nil } for _, msg := range msgs { switch strings.ToLower(msg.Role) { case "system": if currentVars.First == true { currentVars = PromptVars{ First: true, // Reset to use on next "user" or "assistant" case. System: msg.Content, // Override default with the new system message. } } case "user": if currentVars.Prompt != "" { if err := writePrompt(); err != nil { return "", nil, err } } currentVars.Prompt = msg.Content currentImages = msg.Images case "assistant": currentVars.Response = msg.Content if err := writePrompt(); err != nil { return "", nil, err } default: return "", nil, fmt.Errorf("invalid role: %s, role must be one of [system, user, assistant]", msg.Role) } } // Append the last set of vars if they are non-empty if currentVars.Prompt != "" || currentVars.System != "" { p, err := m.PreResponsePrompt(currentVars) if err != nil { return "", nil, fmt.Errorf("pre-response template: %w", err) } prompt.WriteString(p) } return prompt.String(), currentImages, nil } ``` Basically, if we are given a "system" role message by the API as the first message, reset `currentVars` to be the same as before the start of the loop: ``` currentVars := PromptVars{ First: true, System: m.System, } ``` but replace the original `System: m.System` and with `msg.Content`, and wait for the next iteration of the loop for a "user" or "assistant" case to handle it in the same way as would have happened had no "system" role message been sent via the API. If the original function is working as expected then this should also work. It should possibly also trigger an error/warning if the "system" role message was not sent first, as the above fix will just silently ignore this... This will also allow multiple "system" role messages to be sent so long as they are all at the start, but only the last one will be used due to resetting `First: true` each time.
Author
Owner

@BruceMacD commented on GitHub (Feb 16, 2024):

Hi @jukofyork thanks for all the details on this issue. I believe this is fixed in the most recent release of Ollama (v0.1.25) we did some clean-up around this logic recently. So updating should fix this issue.

Here are my testing steps if you'd like to confirm:

  1. Run OLLAMA_DEBUG=1 ollama serve to start the server with debug logging. This will print the formatted prompt that is being sent to the LLM.
  2. Send the request:
curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{
  "model": "mistral",
  "messages": [
    {
      "role": "system",
      "content": "You are an AI assistant for the Eclipse IDE. Your objective is to assist users in writing and analyzing source code. Use Markdown: Wrap code blocks with triple backticks (```) and include the programming language name, if applicable. Use single backticks (`) to denote a word or phrase as code. Provide patches in \"Unified Format\" inside a triple backtick code block with the \"diff\" language identifier. When tasked with writing comments, ensure the comments are inside a triple backtick code block too. When tasked with writing code: 1. Understand the problem: constraints, specifications, objective, and edge cases. 2. Create a high-level plan for the solution. 3. Break down the problem into sub tasks. 4. Explain your thought process with justifications. 5. Combine sub task solutions for the main task. 6. Write code to complete the task."
    },
    {
      "role": "user",
      "content": "Write out the conversation so far."
    },
    {
      "role": "assistant",
      "content": ""
    }
  ],
  "options": {
    "temperature": 0,
    "repeat_penalty": 1,
    "repeat_last_n": 64
  },
  "stream": true
}'
  1. Observe the properly formatted template in the logs:
time=2024-02-16T10:12:05.022-04:00 level=DEBUG source=routes.go:1165 msg="chat handler" prompt="[INST] You are an AI assistant for the Eclipse IDE. Your objective is to assist users in writing and analyzing source code. Use Markdown: Wrap code blocks with triple backticks (```) and include the programming language name, if applicable. Use single backticks (`) to denote a word or phrase as code. Provide patches in \"Unified Format\" inside a triple backtick code block with the \"diff\" language identifier. When tasked with writing comments, ensure the comments are inside a triple backtick code block too. When tasked with writing code: 1. Understand the problem: constraints, specifications, objective, and edge cases. 2. Create a high-level plan for the solution. 3. Break down the problem into sub tasks. 4. Explain your thought process with justifications. 5. Combine sub task solutions for the main task. 6. Write code to complete the task. Write out the conversation so far. [/INST]"
  1. Check the reply is expected.

Resolving this for now, please let me know if the issue persists.

<!-- gh-comment-id:1948460069 --> @BruceMacD commented on GitHub (Feb 16, 2024): Hi @jukofyork thanks for all the details on this issue. I believe this is fixed in the most recent release of Ollama (v0.1.25) we did some clean-up around this logic recently. So updating should fix this issue. Here are my testing steps if you'd like to confirm: 1. Run `OLLAMA_DEBUG=1 ollama serve` to start the server with debug logging. This will print the formatted prompt that is being sent to the LLM. 2. Send the request: ``` curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{ "model": "mistral", "messages": [ { "role": "system", "content": "You are an AI assistant for the Eclipse IDE. Your objective is to assist users in writing and analyzing source code. Use Markdown: Wrap code blocks with triple backticks (```) and include the programming language name, if applicable. Use single backticks (`) to denote a word or phrase as code. Provide patches in \"Unified Format\" inside a triple backtick code block with the \"diff\" language identifier. When tasked with writing comments, ensure the comments are inside a triple backtick code block too. When tasked with writing code: 1. Understand the problem: constraints, specifications, objective, and edge cases. 2. Create a high-level plan for the solution. 3. Break down the problem into sub tasks. 4. Explain your thought process with justifications. 5. Combine sub task solutions for the main task. 6. Write code to complete the task." }, { "role": "user", "content": "Write out the conversation so far." }, { "role": "assistant", "content": "" } ], "options": { "temperature": 0, "repeat_penalty": 1, "repeat_last_n": 64 }, "stream": true }' ``` 3. Observe the properly formatted template in the logs: ``` time=2024-02-16T10:12:05.022-04:00 level=DEBUG source=routes.go:1165 msg="chat handler" prompt="[INST] You are an AI assistant for the Eclipse IDE. Your objective is to assist users in writing and analyzing source code. Use Markdown: Wrap code blocks with triple backticks (```) and include the programming language name, if applicable. Use single backticks (`) to denote a word or phrase as code. Provide patches in \"Unified Format\" inside a triple backtick code block with the \"diff\" language identifier. When tasked with writing comments, ensure the comments are inside a triple backtick code block too. When tasked with writing code: 1. Understand the problem: constraints, specifications, objective, and edge cases. 2. Create a high-level plan for the solution. 3. Break down the problem into sub tasks. 4. Explain your thought process with justifications. 5. Combine sub task solutions for the main task. 6. Write code to complete the task. Write out the conversation so far. [/INST]" ``` 4. Check the reply is expected. Resolving this for now, please let me know if the issue persists.
Author
Owner

@jukofyork commented on GitHub (Feb 16, 2024):

Thanks! I'm away from home atm but will try updating as soon as I get back.

<!-- gh-comment-id:1948710398 --> @jukofyork commented on GitHub (Feb 16, 2024): Thanks! I'm away from home atm but will try updating as soon as I get back.
Author
Owner

@BruceMacD commented on GitHub (Feb 16, 2024):

I found a couple more issues that could have been the source while testing the other issue you commented in (#2942), working on fixing them at the moment for the next release. I'll let you know what the specifics are there too.

Update: Possible related issues to be fixed in the next release #2542 #2541

<!-- gh-comment-id:1948727575 --> @BruceMacD commented on GitHub (Feb 16, 2024): I found a couple more issues that could have been the source while testing the other issue you commented in (#2942), working on fixing them at the moment for the next release. I'll let you know what the specifics are there too. Update: Possible related issues to be fixed in the next release #2542 #2541
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#1442