From 122c4fd5c49da5d8572ed78a354b69ee25313504 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Thu, 23 Nov 2023 14:43:30 -0500 Subject: [PATCH] Start of the result type docs --- .vstags | 11 ++++ lib/OpenAIAsync/Types/Results/Completion.pod | 63 ++++++++++++++++++++ lib/OpenAIAsync/Types/Results/Embedding.pod | 47 +++++++++++++++ lib/OpenAIAsync/Types/Results/Usage.pod | 39 ++++++++++++ 4 files changed, 160 insertions(+) create mode 100644 lib/OpenAIAsync/Types/Results/Completion.pod create mode 100644 lib/OpenAIAsync/Types/Results/Embedding.pod create mode 100644 lib/OpenAIAsync/Types/Results/Usage.pod diff --git a/.vstags b/.vstags index 9d6e1da..c1bde32 100644 --- a/.vstags +++ b/.vstags @@ -9873,6 +9873,7 @@ OpenAIAsync .build/trQp7H7Uyl/blib/lib/OpenAIAsync.pm 1;" p OpenAIAsync .build/trQp7H7Uyl/lib/OpenAIAsync.pm 1;" p OpenAIAsync .build/wX6DkQhw6E/blib/lib/OpenAIAsync.pm 1;" p OpenAIAsync .build/wX6DkQhw6E/lib/OpenAIAsync.pm 1;" p +OpenAIAsync OpenAIAsync-0.01/lib/OpenAIAsync.pm 1;" p OpenAIAsync lib/OpenAIAsync.pm 1;" p OpenAIAsync::Client .build/2oNz8Mp68u/blib/lib/OpenAIAsync/Client.pm 1;" p OpenAIAsync::Client .build/2oNz8Mp68u/lib/OpenAIAsync/Client.pm 1;" p @@ -9892,6 +9893,7 @@ OpenAIAsync::Client .build/mKmyAW37h1/blib/lib/OpenAIAsync/Client.pm 1;" p OpenAIAsync::Client .build/mKmyAW37h1/lib/OpenAIAsync/Client.pm 1;" p OpenAIAsync::Client .build/t7Cb8f47yj/blib/lib/OpenAIAsync/Client.pm 1;" p OpenAIAsync::Client .build/t7Cb8f47yj/lib/OpenAIAsync/Client.pm 1;" p +OpenAIAsync::Client OpenAIAsync-0.01/lib/OpenAIAsync/Client.pm 1;" p OpenAIAsync::Client lib/OpenAIAsync/Client.pm 1;" p OpenAIAsync::Types .build/0T4wbFlmwf/blib/lib/OpenAIAsync/Types.pm 1;" p OpenAIAsync::Types .build/0T4wbFlmwf/lib/OpenAIAsync/Types.pm 1;" p @@ -9919,6 +9921,7 @@ OpenAIAsync::Types .build/trQp7H7Uyl/blib/lib/OpenAIAsync/Types.pm 1;" p OpenAIAsync::Types .build/trQp7H7Uyl/lib/OpenAIAsync/Types.pm 1;" p OpenAIAsync::Types .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types.pm 1;" p OpenAIAsync::Types .build/wX6DkQhw6E/lib/OpenAIAsync/Types.pm 1;" p +OpenAIAsync::Types OpenAIAsync-0.01/lib/OpenAIAsync/Types.pm 1;" p OpenAIAsync::Types lib/OpenAIAsync/Types.pm 1;" p OpenAIAsync::Types::Requests .build/0T4wbFlmwf/blib/lib/OpenAIAsync/Types/Requests.pm 1;" p OpenAIAsync::Types::Requests .build/0T4wbFlmwf/lib/OpenAIAsync/Types/Requests.pm 1;" p @@ -9954,6 +9957,7 @@ OpenAIAsync::Types::Requests .build/trQp7H7Uyl/blib/lib/OpenAIAsync/Types/Reques OpenAIAsync::Types::Requests .build/trQp7H7Uyl/lib/OpenAIAsync/Types/Requests.pm 1;" p OpenAIAsync::Types::Requests .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 1;" p OpenAIAsync::Types::Requests .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 1;" p +OpenAIAsync::Types::Requests OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 1;" p OpenAIAsync::Types::Requests lib/OpenAIAsync/Types/Requests.pm 1;" p OpenAIAsync::Types::Requests:: .build/NfFNPyy4iR/lib/OpenAIAsync/Types/Requests.pm 1;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union .build/0T4wbFlmwf/blib/lib/OpenAIAsync/Types/Requests.pm 170;" p @@ -9991,6 +9995,7 @@ OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union .build/trQp7H7Uyl/ OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union .build/trQp7H7Uyl/lib/OpenAIAsync/Types/Requests.pm 170;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 170;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 170;" p +OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 187;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::Union lib/OpenAIAsync/Types/Requests.pm 187;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion .build/0T4wbFlmwf/blib/lib/OpenAIAsync/Types/Requests.pm 94;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion .build/0T4wbFlmwf/lib/OpenAIAsync/Types/Requests.pm 94;" p @@ -10027,6 +10032,7 @@ OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion .buil OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion .build/trQp7H7Uyl/lib/OpenAIAsync/Types/Requests.pm 94;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 94;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 94;" p +OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 110;" p OpenAIAsync::Types::Requests::ChatCompletion::Messages::User::ContentUnion lib/OpenAIAsync/Types/Requests.pm 110;" p OpenAIAsync::Types::Results .build/0T4wbFlmwf/blib/lib/OpenAIAsync/Types/Results.pm 1;" p OpenAIAsync::Types::Results .build/0T4wbFlmwf/lib/OpenAIAsync/Types/Results.pm 1;" p @@ -10063,6 +10069,7 @@ OpenAIAsync::Types::Results .build/trQp7H7Uyl/blib/lib/OpenAIAsync/Types/Results OpenAIAsync::Types::Results .build/trQp7H7Uyl/lib/OpenAIAsync/Types/Results.pm 1;" p OpenAIAsync::Types::Results .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Results.pm 1;" p OpenAIAsync::Types::Results .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Results.pm 1;" p +OpenAIAsync::Types::Results OpenAIAsync-0.01/lib/OpenAIAsync/Types/Results.pm 1;" p OpenAIAsync::Types::Results lib/OpenAIAsync/Types/Results.pm 1;" p PAREN local/lib/perl5/Perl/Tidy/Tokenizer.pm 1699;" c PART_PRES local/lib/perl5/Lingua/EN/Inflect.pm 1452;" s @@ -28174,6 +28181,8 @@ new .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 173;" s new .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 97;" s new .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 173;" s new .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 97;" s +new OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 113;" s +new OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 190;" s new lib/OpenAIAsync/Types/Requests.pm 113;" s new lib/OpenAIAsync/Types/Requests.pm 190;" s new local/bin/lwp-request 231;" s @@ -28999,6 +29008,7 @@ ontent::new .build/trQp7H7Uyl/blib/lib/OpenAIAsync/Types/Requests.pm 173;" s ontent::new .build/trQp7H7Uyl/lib/OpenAIAsync/Types/Requests.pm 173;" s ontent::new .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 173;" s ontent::new .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 173;" s +ontent::new OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 190;" s ontent::new lib/OpenAIAsync/Types/Requests.pm 190;" s oo local/lib/perl5/oo.pm 1;" p oo::import local/lib/perl5/oo.pm 22;" s @@ -31672,6 +31682,7 @@ y::new .build/trQp7H7Uyl/blib/lib/OpenAIAsync/Types/Requests.pm 97;" s y::new .build/trQp7H7Uyl/lib/OpenAIAsync/Types/Requests.pm 97;" s y::new .build/wX6DkQhw6E/blib/lib/OpenAIAsync/Types/Requests.pm 97;" s y::new .build/wX6DkQhw6E/lib/OpenAIAsync/Types/Requests.pm 97;" s +y::new OpenAIAsync-0.01/lib/OpenAIAsync/Types/Requests.pm 113;" s y::new lib/OpenAIAsync/Types/Requests.pm 113;" s y_n local/lib/perl5/Module/Build/Base.pm 602;" s year local/lib/perl5/Software/License.pm 57;" s diff --git a/lib/OpenAIAsync/Types/Results/Completion.pod b/lib/OpenAIAsync/Types/Results/Completion.pod new file mode 100644 index 0000000..fc36519 --- /dev/null +++ b/lib/OpenAIAsync/Types/Results/Completion.pod @@ -0,0 +1,63 @@ +=pod + +=head1 NAME + +OpenAIAsync::Types::Results::Completion + +=head1 DESCRIPTION + +A result from a completion request, L + +=head1 SYNOPSIS + + use OpenAIAsync::Client; + use IO::Async::Loop; + + my $loop = IO::Async::Loop->new(); + my $client = OpenAIAsync::Client->new(); + + $loop->add($client) + + my $output_future = $client->completion({max_tokens => 1024, prompt => "Tell a story about a princess named Judy and her princess sister Emmy"}); + + my $result = $output_future->get(); + + print $result->choices->[0]->text; + +=head1 Fields + +=head2 id + +id of the completion response, used for tracking duplicate responses or reporting issues to the service + +=head2 model + +The model that was used to generate the response. Usually will be what you requested, +but some local inference servers will ignore what was requested and use the model that was +already loaded, and this will reflect what was loaded. + +=head2 created + +When was the request completed and returned. + +=head2 system_finterprint + +Used by OpenAI to identify which system the generation happened on. Needed for bug repoprts along with the id + +=head2 usage + +A L object, has three fields C, C, and C + +=head2 object + +A string describing what kind of result this was, will always be "completion". + +=head1 SEE ALSO + +L, L + +=head1 AUTHOR + +Ryan Voots ... + +=cut \ No newline at end of file diff --git a/lib/OpenAIAsync/Types/Results/Embedding.pod b/lib/OpenAIAsync/Types/Results/Embedding.pod new file mode 100644 index 0000000..dbeedea --- /dev/null +++ b/lib/OpenAIAsync/Types/Results/Embedding.pod @@ -0,0 +1,47 @@ +=pod + +=head1 NAME + +OpenAIAsync::Types::Results::Completion + +=head1 DESCRIPTION + +A result from a an embedding request, L + +=head1 SYNOPSIS + + ... todo + +=head1 Fields + +=head2 model + +The model that was used to generate the response. Usually will be what you requested, +but some local inference servers will ignore what was requested and use the model that was +already loaded, and this will reflect what was loaded. + +=head2 data + +An C object, used just for this + +it has the following fields: C, C, C + +Of these, you probably only want embedding as it's the list of the numbers representing the embedding vector + +=head2 usage + +A L object, has three fields C, C, and C + +=head2 object + +A string describing what kind of result this was, will always be "compleembeddingtion". + +=head1 SEE ALSO + +L, L + +=head1 AUTHOR + +Ryan Voots ... + +=cut \ No newline at end of file diff --git a/lib/OpenAIAsync/Types/Results/Usage.pod b/lib/OpenAIAsync/Types/Results/Usage.pod new file mode 100644 index 0000000..0117648 --- /dev/null +++ b/lib/OpenAIAsync/Types/Results/Usage.pod @@ -0,0 +1,39 @@ +=pod + +=head1 NAME + +OpenAIAsync::Types::Results::Usage + +=head1 DESCRIPTION + +A small report of the tokens given, used, and generated + +=head1 SYNOPSIS + + my $result = ...; + + printf "Processed %d tokens in generating response\n", $result->usage->total_tokens + +=head1 Fields + +=head2 prompt_tokens + +How many tokens were in the prompt and initial data + +=head2 completion_tokens (optional) + +How many tokens were part of the response, may not be present. + +=head2 total_tokens + +How many total tokens were processed in completing the request. May also include tokens used as part of an image pipeline or tool call + +=head1 SEE ALSO + +L, L + +=head1 AUTHOR + +Ryan Voots ... + +=cut \ No newline at end of file