Conversation
Namespace: LLama.Batched
A single conversation thread that can be prompted (adding tokens from the user) or inferred (extracting a token from the LLM)
1 |
|
Inheritance Object → Conversation
Implements IDisposable
Properties
Executor
The executor which this conversation belongs to
1 |
|
Property Value
ConversationId
Unique ID for this conversation
1 |
|
Property Value
TokenCount
Total number of tokens in this conversation, cannot exceed the context length.
1 |
|
Property Value
IsDisposed
Indicates if this conversation has been disposed, nothing can be done with a disposed conversation
1 |
|
Property Value
RequiresInference
Indicates if this conversation is waiting for inference to be run on the executor. "Prompt" and "Sample" cannot be called when this is true.
1 |
|
Property Value
RequiresSampling
Indicates that this conversation should be sampled.
1 |
|
Property Value
Methods
Finalize()
Finalizer for Conversation
1 |
|
Dispose()
End this conversation, freeing all resources used by it
1 |
|
Exceptions
Fork()
Create a copy of the current conversation
1 |
|
Returns
Exceptions
Remarks:
The copy shares internal state, so consumes very little extra memory.
Sample()
Get the logits from this conversation, ready for sampling
1 |
|
Returns
Exceptions
CannotSampleRequiresPromptException
Thrown if this conversation was not prompted before the previous call to infer
CannotSampleRequiresInferenceException
Thrown if Infer() must be called on the executor
Prompt(String)
Add tokens to this conversation
1 |
|
Parameters
input
String
Prompt(List<LLamaToken>)
Add tokens to this conversation
1 |
|
Parameters
tokens
List<LLamaToken>
Exceptions
AlreadyPromptedConversationException
Prompt(ReadOnlySpan<LLamaToken>)
Add tokens to this conversation
1 |
|
Parameters
tokens
ReadOnlySpan<LLamaToken>
Exceptions
AlreadyPromptedConversationException
Prompt(LLamaToken)
Add a single token to this conversation
1 |
|
Parameters
token
LLamaToken
Exceptions
AlreadyPromptedConversationException
Modify(ModifyKvCache)
Directly modify the KV cache of this conversation
1 |
|
Parameters
modifier
ModifyKvCache
Exceptions
CannotModifyWhileRequiresInferenceException
Thrown if this method is called while Conversation.RequiresInference == true