public Coroutine Complete(string prompt, Action <string> onResponse, Action <HttpResponseMessage> onError) { CompletionRequestV1 request = Args == null ? new CompletionRequestV1() { max_tokens = 64 } : Args.AsCompletionRequest(); request.prompt = prompt; return(_engine.Completions.CreateCompletionCoroutine(this, request, (r) => HandleResponse(r, onResponse, onError))); }
public void ToJsonBase() { CompletionRequestV1 crm = new CompletionRequestV1() { stop = new StringOrArray("\n", "a"), echo = true }; string json = crm.ToJson(); string expected = "{\"echo\":true,\"stop\":[\"\\n\",\"a\"]}"; Assert.That(json == expected); }
public IEnumerator CompletionsCreateCoroutine() { TestManager test = TestManager.Instance; OpenAiApiV1 api = test.CleanAndProvideApi(); ApiResult <CompletionV1> result = null; CompletionRequestV1 req = new CompletionRequestV1() { prompt = "hello", n = 8 }; yield return(api.Engines.Engine("ada").Completions.CreateCompletionCoroutine(test, req, (r) => result = r)); Assert.IsNotNull(result); Assert.That(result.IsSuccess); Assert.IsNotNull(result.Result); Assert.IsNotEmpty(result.Result.choices); Assert.That(result.Result.choices.Length > 0); }
public IEnumerator CompletionsCreateCoroutine_EventStream() { TestManager test = TestManager.Instance; OpenAiApiV1 api = test.CleanAndProvideApi(); ApiResult <CompletionV1> result = null; List <CompletionV1> partials = new List <CompletionV1>(); bool isComplete = false; CompletionRequestV1 req = new CompletionRequestV1() { prompt = "hello", n = 8 }; yield return(api.Engines.Engine("ada").Completions.CreateCompletionCoroutine_EventStream( test, req, (r) => result = r, (i, l) => partials.Add(l), () => isComplete = true )); float timer = 10f; while (!isComplete) { timer -= Time.deltaTime; yield return(new WaitForEndOfFrame()); } Assert.That(isComplete); Assert.IsNotNull(result); Assert.That(result.IsSuccess); Assert.IsNotEmpty(partials); }
public IEnumerator Completions_TestAllRequestParamsArray() { TestManager test = TestManager.Instance; OpenAiApiV1 api = test.CleanAndProvideApi(); ApiResult <CompletionV1> result = null; CompletionRequestV1 req = new CompletionRequestV1() { prompt = new string[] { "prompt1", "prompt2" }, best_of = 1, echo = false, frequency_penalty = 0, presence_penalty = 0, logit_bias = new Dictionary <string, int>() { { "123", -100 }, { "111", 100 } }, stop = new string[] { "stop1", "stop2" }, logprobs = 0, stream = false, max_tokens = 8, n = 1, temperature = 0, top_p = 1 }; yield return(api.Engines.Engine("ada").Completions.CreateCompletionCoroutine(test, req, (r) => result = r)); Assert.IsNotNull(result); Assert.That(result.IsSuccess); Assert.IsNotNull(result.Result); Assert.IsNotEmpty(result.Result.choices); Assert.That(result.Result.choices.Length > 0); }