Ejemplo n.º 1
0
        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)));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
        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);
        }