Class: Langfuse::ChatPromptClient
- Inherits:
-
Object
- Object
- Langfuse::ChatPromptClient
- Defined in:
- lib/langfuse/chat_prompt_client.rb
Overview
Chat prompt client for compiling chat prompts with variable substitution
Handles chat-based prompts from Langfuse, providing Mustache templating for variable substitution in role-based messages.
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#labels ⇒ Object
readonly
Returns the value of attribute labels.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#prompt ⇒ Object
readonly
Returns the value of attribute prompt.
-
#tags ⇒ Object
readonly
Returns the value of attribute tags.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
-
#compile(**kwargs) ⇒ Array<Hash>
Compile the chat prompt with variable substitution.
-
#initialize(prompt_data) ⇒ ChatPromptClient
constructor
Initialize a new chat prompt client.
Constructor Details
#initialize(prompt_data) ⇒ ChatPromptClient
Initialize a new chat prompt client
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/langfuse/chat_prompt_client.rb', line 29 def initialize(prompt_data) validate_prompt_data!(prompt_data) @name = prompt_data["name"] @version = prompt_data["version"] @prompt = prompt_data["prompt"] @labels = prompt_data["labels"] || [] @tags = prompt_data["tags"] || [] @config = prompt_data["config"] || {} end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
23 24 25 |
# File 'lib/langfuse/chat_prompt_client.rb', line 23 def config @config end |
#labels ⇒ Object (readonly)
Returns the value of attribute labels.
23 24 25 |
# File 'lib/langfuse/chat_prompt_client.rb', line 23 def labels @labels end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
23 24 25 |
# File 'lib/langfuse/chat_prompt_client.rb', line 23 def name @name end |
#prompt ⇒ Object (readonly)
Returns the value of attribute prompt.
23 24 25 |
# File 'lib/langfuse/chat_prompt_client.rb', line 23 def prompt @prompt end |
#tags ⇒ Object (readonly)
Returns the value of attribute tags.
23 24 25 |
# File 'lib/langfuse/chat_prompt_client.rb', line 23 def @tags end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
23 24 25 |
# File 'lib/langfuse/chat_prompt_client.rb', line 23 def version @version end |
Instance Method Details
#compile(**kwargs) ⇒ Array<Hash>
Compile the chat prompt with variable substitution
Returns an array of message hashes with roles and compiled content. Each message in the prompt will have its content compiled with the provided variables using Mustache templating.
55 56 57 58 59 |
# File 'lib/langfuse/chat_prompt_client.rb', line 55 def compile(**kwargs) prompt.map do || (, kwargs) end end |