Class: CPEE::LLM::CreateText

Inherits:
Riddl::Implementation
  • Object
show all
Includes:
Functions
Defined in:
lib/cpee/llm/implementation.rb

Overview

}}}

Instance Method Summary collapse

Methods included from Functions

#adapt_cpee_model, #adapt_model, #cpee_to_mermaid, #generate_dataflow, #generate_endpoint_model, #generate_generic, #generate_model, #generate_text, #mermaid_to_cpee, #validate_cpee_model

Methods included from RubyLLM_Requests

#adapt_mermaid_model, #adapt_xml_model, #connect_llm, #generate_content, #generate_dataflow_content, #generate_endpoint_mermaid_model, #generate_generic_content, #generate_json_content, #generate_mermaid_model, #generate_plain_text, #validate_xml_model

Instance Method Details

#responseObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/cpee/llm/implementation.rb', line 76

def response
  llms = @a[0]
  input_cpee  = @p.shift.value.read
  begin
    input_cpee = @p[0].value.read
    myllm = @p[1].value
    doc = XML::Smart.string(input_cpee)
  rescue Exception => e
    @status = 400
    return Riddl::Parameter::Complex.new('llm_out','application/json',{:error => e}.to_json())
  end

  if doc.root.empty?
    @status = 400
    return Riddl::Parameter::Complex.new('text_out','application/json',{:error => e}.to_json())
  else
    begin
      llm_response = generate_text(myllm,doc,llms)
    rescue LLMError => e
      @status = e.http_response
      return Riddl::Parameter::Complex.new('text_out','application/json',{:error => e.message}.to_json())
    end
  end
  begin
    output_cpee = mermaid_to_cpee(llm_response)
  rescue Exception => e
    @status = 500
    return Riddl::Parameter::Complex.new('text_out','application/json',{:error => e}.to_json())
  end

  return(Riddl::Parameter::Complex.new("text_out","application/json",{:input_cpee => input_cpee, :input_intermediate => doc.root.empty? ? '' : cpee_to_mermaid(doc.to_s), :output_text => llm_response, :status => 'Success'}.to_json()))
end