Guest User

Untitled

a guest
Sep 11th, 2024
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. func get_completion(_prompt, _suffix):
  2.     var prompt = _prompt
  3.     var suffix = _suffix
  4.     var combined_prompt = prompt + suffix
  5.     var diff = combined_prompt.length() - MAX_LENGTH
  6.     if diff > 0:
  7.         if suffix.length() > diff:
  8.             suffix = suffix.substr(0,diff)
  9.         else:
  10.             prompt = prompt.substr(diff - suffix.length())
  11.             suffix = ""
  12.     var calculated_model = model
  13.     if model == "custom":
  14.         calculated_model = custom_model_text   
  15.     var body = {
  16.         "model": calculated_model,
  17.         "prompt": PROMPT_PREFIX + prompt,
  18.         "suffix": suffix,
  19.         "options":{
  20.             "temperature": 0.01,
  21.         },
  22.         "stream": false,
  23.     }
  24.     var headers = [
  25.         "Content-Type: application/json"
  26.     ]
  27.     var http_request = HTTPRequest.new()
  28.     add_child(http_request)
  29.     http_request.connect("request_completed",on_request_completed.bind(prompt, suffix, http_request))
  30.     var json_body = JSON.stringify(body)
  31.     var error = http_request.request(URL, headers, HTTPClient.METHOD_POST, json_body)
  32.     if error != OK:
  33.         emit_signal("completion_error", null)
  34.  
  35. func on_request_completed(result, response_code, headers, body, pre, post, http_request):
  36.     var test_json_conv = JSON.new()
  37.     test_json_conv.parse(body.get_string_from_utf8())
  38.     var json = test_json_conv.get_data()
  39.     var response = json
  40.     if not response or !response.has("response"):
  41.         emit_signal("completion_error", response)
  42.         return
  43.     var completion = response.response
  44.     if is_instance_valid(http_request):
  45.         http_request.queue_free()
  46.     emit_signal("completion_received", completion, pre, post)
Advertisement
Add Comment
Please, Sign In to add comment