Skip to content

[BUG]: ChatSession unnecessarily prevents arbitrary conversation interleaving #857

Open
@lostmsu

Description

@lostmsu

Description

With asynchronous flows user might ask 2 questions in succession before model has time to answer the first one. This ends up in the following chat pattern:

user: multiply 2 by 3
user: then divide by -1
assistant: 6
assistant: -6

Unfortunately, for some reason ChatSession prevents this while LLAMA 3 instruct models handle such scenario without any issues.

Reproduction Steps

var history = new ChatHistory();
history.AddMessage(AuthorRole.User, "multiply 2 by 3");
history.AddMessage(AuthorRole.User, "then divide by -1");
history.AddMessage(AuthorRole.Assistant, "6");
history.AddMessage(AuthorRole.Assistant, "-6");

Throws ArgumentException twice

Environment & Configuration

  • Operating system: Win 11
  • .NET runtime version: 8
  • LLamaSharp version: 0.14
  • CUDA version (if you are using cuda backend): 12
  • CPU & GPU device: N/A

Known Workarounds

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions