1. **Word2Vec Embedding**:
- Word2Vec typically creates embeddings in spaces ranging from 100 to 300 dimensions. Let's assume we are using a 300-dimensional model.
- Each word in the phrase "And it came to pass..." would be converted into a 300-dimensional vector.
2. **Representation of Each Word**:
- The phrase has 5 words, so we would have 5 vectors.
- Each dimension in the vector is usually a 32-bit floating-point number.
3. **Memory Calculation**:
- Each 32-bit float requires 4 bytes of memory.
- A 300-dimensional vector would thus require \( 300 \times 4 \) bytes = 1200 bytes.
- For 5 words, the total memory would be \( 5 \times 1200 \) bytes = 6000 bytes (or 6 kilobytes).
So, in this hypothetical scenario, representing the phrase "And it came to pass..." using a 300-dimensional Word2Vec model would require approximately 6 kilobytes of memory.
####
#!/usr/bin/perl
use v5.030;
use utf8;
use AI::Embedding;
my $ini_path = qw( /Users/mymac/Documents/1.тайный.txt );
# get key
my $ref_config = get_тайный($ini_path);
$DB::single = 1;
my %h = %$ref_config;
## keep ^^^ this the same
my $embedding = AI::Embedding->new(
api => 'OpenAI',
key => $h{key},
);
## ^^^this works now
## this doesn't:
my $csv_embedding = $embedding->embedding('I demand a shrubbery');
my $test_embedding = $embedding->test_embedding('We are the knights who say nyet');
my @raw_embedding = $embedding->raw_embedding('great eddie murphy show');
my $cmp = $embedding->comparator($csv_embedding);
my $similarity = $cmp->($test_embedding);
my $similarity_with_other_embedding = $embedding->compare($csv_embedding, $test_embedding);
say $cmp;
say $similarity;
say $similarity_with_other_embedding;
## don't change anything about the subroutine
sub get_тайный {
use Config::Tiny;
use Data::Dump;
my %h; #creating here and exporting reference to caller
my $ini_path = shift; #caller provides inipath
my $sub_hash1 = "openai";
my $Config = Config::Tiny->new;
$Config = Config::Tiny->read( $ini_path, 'utf8' );
# -> is optional between brackets
$h{email} = $Config->{$sub_hash1}{'email'};
$h{key} = $Config->{$sub_hash1}{'key'};
my $ref_config = \%h;
dd $ref_config;
$DB::single = 1;
return ($ref_config);
}
__END__
##
##
(base) Merrills-Mac-mini:Documents mymac$ ./1.openai.pl
Use of uninitialized value $embed_string in split at /Library/Perl/5.30/AI/Embedding.pm line 141.
features must contain terms at /Library/Perl/5.30/Data/CosineSimilarity.pm line 68.
(base) Merrills-Mac-mini:Documents mymac$