Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func get_completion(_prompt, _suffix):
- var prompt = _prompt
- var suffix = _suffix
- var combined_prompt = prompt + suffix
- var diff = combined_prompt.length() - MAX_LENGTH
- if diff > 0:
- if suffix.length() > diff:
- suffix = suffix.substr(0,diff)
- else:
- prompt = prompt.substr(diff - suffix.length())
- suffix = ""
- var calculated_model = model
- if model == "custom":
- calculated_model = custom_model_text
- var body = {
- "model": calculated_model,
- "prompt": PROMPT_PREFIX + prompt,
- "suffix": suffix,
- "options":{
- "temperature": 0.01,
- },
- "stream": false,
- }
- var headers = [
- "Content-Type: application/json"
- ]
- var http_request = HTTPRequest.new()
- add_child(http_request)
- http_request.connect("request_completed",on_request_completed.bind(prompt, suffix, http_request))
- var json_body = JSON.stringify(body)
- var error = http_request.request(URL, headers, HTTPClient.METHOD_POST, json_body)
- if error != OK:
- emit_signal("completion_error", null)
- func on_request_completed(result, response_code, headers, body, pre, post, http_request):
- var test_json_conv = JSON.new()
- test_json_conv.parse(body.get_string_from_utf8())
- var json = test_json_conv.get_data()
- var response = json
- if not response or !response.has("response"):
- emit_signal("completion_error", response)
- return
- var completion = response.response
- if is_instance_valid(http_request):
- http_request.queue_free()
- emit_signal("completion_received", completion, pre, post)
Advertisement
Add Comment
Please, Sign In to add comment