Conversation

org.llm4s.llmconnect.model.Conversation
See theConversation companion class
object Conversation

Attributes

Companion
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def create(message: Message): Result[Conversation]

Create conversation from single message - FIXED MISSING METHOD

Create conversation from single message - FIXED MISSING METHOD

Attributes

def create(messages: Message*): Result[Conversation]

Create conversation from multiple messages - FIXED MISSING METHOD

Create conversation from multiple messages - FIXED MISSING METHOD

Attributes

def create(messages: List[Message]): Result[Conversation]

Create empty conversation

Create empty conversation

Attributes

def fromPrompts(systemPrompt: String, userPrompt: String): Result[Conversation]

Create a conversation from system and user prompts (most common pattern). Validates both messages (rejects empty or whitespace-only content).

Create a conversation from system and user prompts (most common pattern). Validates both messages (rejects empty or whitespace-only content).

Value parameters

systemPrompt

The system message content

userPrompt

The user message content

Attributes

Returns

Result containing the validated conversation or validation error

Example
val result = Conversation.fromPrompts(
 "You are a helpful assistant",
 "What is 2+2?"
)
// Returns Right(Conversation(...)) on success
def systemOnly(prompt: String): Result[Conversation]

Create a system-only conversation (for system prompts). Validates the message (rejects empty or whitespace-only content). Useful for creating an initial conversation to build from with addMessage/addMessages.

Create a system-only conversation (for system prompts). Validates the message (rejects empty or whitespace-only content). Useful for creating an initial conversation to build from with addMessage/addMessages.

Value parameters

prompt

The system message content

Attributes

Returns

Result containing the validated conversation or validation error

Example
val result = Conversation.systemOnly("You are a helpful assistant")
 .map(_.addMessage(UserMessage("Hello")))
// Returns Right(Conversation(List(SystemMessage(...), UserMessage(...)))) on success
def userOnly(prompt: String): Result[Conversation]

Create a single-user-message conversation (for simple queries). Validates the message (rejects empty or whitespace-only content).

Create a single-user-message conversation (for simple queries). Validates the message (rejects empty or whitespace-only content).

Value parameters

prompt

The user message content

Attributes

Returns

Result containing the validated conversation or validation error

Example
val result = Conversation.userOnly("What is the capital of France?")
// Returns Right(Conversation(List(UserMessage(...)))) on success

Implicits

Implicits

implicit val rw: ReadWriter[Conversation]