from instructor.dsl import messages as m from instructor.dsl.messages import messages as s def test_create_message(): assert m.Message( role=m.MessageRole.SYSTEM, content="Hello, world!", ).dict() == { "role": "system", "content": "Hello, world!", } def test_create_user_message(): assert m.UserMessage( content="Hello, world!", ).dict() == { "role": "user", "content": "Hello, world!", } def test_create_system_message(): assert m.SystemMessage(content="I am nice").dict() == { "role": "system", "content": "I am nice", } def test_create_tagged_message(): assert m.TaggedMessage(content="I am nice", tag="data").dict() == { "role": "user", "content": "Consider the following data:\n\nI am nice", } def test_task_message(): assert s.SystemTask(task="task").dict() == { "role": "system", "content": f"You are a world class state of the art algorithm capable of correctly completing the following task: `task`.", } def test_chain_of_thought_message(): assert m.ChainOfThought().dict() == { "role": "assistant", "content": "Lets think step by step to get the correct answer:", }