Skip to main content

Python bindings for https://github.com/openvinotoolkit/openvino.genai

Project description

OpenVINO™ GenAI Library

OpenVINO™ GenAI is a flavor of OpenVINO™, aiming to simplify running inference of generative AI models. It hides the complexity of the generation process and minimizes the amount of code required.

Install OpenVINO™ GenAI

NOTE: Please make sure that you are following the versions compatibility rules, refer to the OpenVINO™ GenAI Dependencies for more information.

The OpenVINO™ GenAI flavor is available for installation via Archive and PyPI distributions. To install OpenVINO™ GenAI, refer to the Install Guide.

To build OpenVINO™ GenAI library from source, refer to the Build Instructions.

OpenVINO™ GenAI Dependencies

OpenVINO™ GenAI depends on OpenVINO and OpenVINO Tokenizers.

When installing OpenVINO™ GenAI from PyPi, the same versions of OpenVINO and OpenVINO Tokenizers are used (e.g. openvino==2024.3.0 and openvino-tokenizers==2024.3.0.0 are installed for openvino-genai==2024.3.0). If you update one of the dependency packages (e.g. pip install openvino --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly), versions might be incompatible due to different ABI and running OpenVINO GenAI can result in errors (e.g. ImportError: libopenvino.so.2430: cannot open shared object file: No such file or directory). Having packages version in format <MAJOR>.<MINOR>.<PATCH>.<REVISION>, only <REVISION> part of the full version can be varied to ensure ABI compatibility, while changing <MAJOR>, <MINOR> or <PATCH> parts of the version might break ABI.

GenAI, Tokenizers, and OpenVINO wheels for Linux on PyPI are compiled with _GLIBCXX_USE_CXX11_ABI=0 to cover a wider range of platforms. In contrast, C++ archive distributions for Ubuntu are compiled with _GLIBCXX_USE_CXX11_ABI=1. It is not possible to mix different Application Binary Interfaces (ABIs) because doing so results in a link error. This incompatibility prevents the use of, for example, OpenVINO from C++ archive distributions alongside GenAI from PyPI.

If you want to try OpenVINO GenAI with different dependencies versions (not prebuilt packages as archives or python wheels), build OpenVINO GenAI library from source.

Usage

Prerequisites

  1. Installed OpenVINO™ GenAI

    To use OpenVINO GenAI with models that are already in OpenVINO format, no additional python dependencies are needed. To convert models with optimum-cli and to run the examples, install the dependencies in ./samples/requirements.txt:

    # (Optional) Clone OpenVINO GenAI repository if it does not exist
    git clone --recursive https://github.com/openvinotoolkit/openvino.genai.git
    cd openvino.genai
    # Install python dependencies
    python -m pip install ./thirdparty/openvino_tokenizers/[transformers] --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly
    python -m pip install --upgrade-strategy eager -r ./samples/requirements.txt
    
  2. A model in OpenVINO IR format

    Download and convert a model with optimum-cli:

    optimum-cli export openvino --model "TinyLlama/TinyLlama-1.1B-Chat-v1.0" --trust-remote-code "TinyLlama-1.1B-Chat-v1.0"
    

LLMPipeline is the main object used for decoding. You can construct it straight away from the folder with the converted model. It will automatically load the main model, tokenizer, detokenizer and default generation configuration.

Python

A simple example:

import openvino_genai as ov_genai
pipe = ov_genai.LLMPipeline(model_path, "CPU")
print(pipe.generate("The Sun is yellow because", max_new_tokens=100))

Calling generate with custom generation config parameters, e.g. config for grouped beam search:

import openvino_genai as ov_genai
pipe = ov_genai.LLMPipeline(model_path, "CPU")

result = pipe.generate("The Sun is yellow because", max_new_tokens=100, num_beam_groups=3, num_beams=15, diversity_penalty=1.5)
print(result)

output:

'it is made up of carbon atoms. The carbon atoms are arranged in a linear pattern, which gives the yellow color. The arrangement of carbon atoms in'

A simple chat in Python:

import openvino_genai as ov_genai
pipe = ov_genai.LLMPipeline(model_path)

config = {'max_new_tokens': 100, 'num_beam_groups': 3, 'num_beams': 15, 'diversity_penalty': 1.5}
pipe.set_generation_config(config)

pipe.start_chat()
while True:
    print('question:')
    prompt = input()
    if prompt == 'Stop!':
        break
    print(pipe(prompt, max_new_tokens=200))
pipe.finish_chat()

Test to compare with Huggingface outputs

C++

A simple example:

#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

int main(int argc, char* argv[]) {
    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");
    std::cout << pipe.generate("The Sun is yellow because", ov::genai::max_new_tokens(256));
}

Using group beam search decoding:

#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

int main(int argc, char* argv[]) {
    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");

    ov::genai::GenerationConfig config;
    config.max_new_tokens = 256;
    config.num_beam_groups = 3;
    config.num_beams = 15;
    config.diversity_penalty = 1.0f;

    std::cout << pipe.generate("The Sun is yellow because", config);
}

A simple chat in C++ using grouped beam search decoding:

#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

int main(int argc, char* argv[]) {
    std::string prompt;

    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");
    
    ov::genai::GenerationConfig config;
    config.max_new_tokens = 100;
    config.num_beam_groups = 3;
    config.num_beams = 15;
    config.diversity_penalty = 1.0f;
    
    pipe.start_chat();
    for (;;;) {
        std::cout << "question:\n";
        std::getline(std::cin, prompt);
        if (prompt == "Stop!")
            break;

        std::cout << "answer:\n";
        auto answer = pipe(prompt, config);
        std::cout << answer << std::endl;
    }
    pipe.finish_chat();
}

Streaming example with lambda function:

#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

int main(int argc, char* argv[]) {
    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");
        
    auto streamer = [](std::string word) { 
        std::cout << word << std::flush; 
        // Return flag corresponds whether generation should be stopped.
        // false means continue generation.
        return false;
    };
    std::cout << pipe.generate("The Sun is yellow bacause", ov::genai::streamer(streamer), ov::genai::max_new_tokens(200));
}

Streaming with a custom class:

C++ template for a stremer.

#include "openvino/genai/streamer_base.hpp"
#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

class CustomStreamer: public ov::genai::StreamerBase {
public:
    bool put(int64_t token) {
        // Custom decoding/tokens processing logic.
        
        // Returns a flag whether generation should be stoped, if true generation stops.
        return false;  
    };

    void end() {
        // Custom finalization logic.
    };
};

int main(int argc, char* argv[]) {
    CustomStreamer custom_streamer;

    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");
    std::cout << pipe.generate("The Sun is yellow because", ov::genai::max_new_tokens(15), ov::genai::streamer(custom_streamer));
}

Python template for a streamer.

import openvino_genai as ov_genai

class CustomStreamer(ov_genai.StreamerBase):
    def __init__(self):
        super().__init__()
        # Initialization logic.

    def put(self, token_id) -> bool:
        # Custom decoding/tokens processing logic.
        
        # Returns a flag whether generation should be stoped, if true generation stops.
        return False

    def end(self):
        # Custom finalization logic.

pipe = ov_genai.LLMPipeline(model_path, "CPU")
custom_streamer = CustomStreamer()

pipe.generate("The Sun is yellow because", max_new_tokens=15, streamer=custom_streamer)

For fully implemented iterable CustomStreamer please refer to multinomial_causal_lm sample.

Continuous batching with LLMPipeline:

To activate continuous batching please provide additional property to LLMPipeline config: ov::genai::scheduler_config. This property contains struct SchedulerConfig.

#include "openvino/genai/llm_pipeline.hpp"

int main(int argc, char* argv[]) {
    ov::AnyMap config;
    ov::genai::SchedulerConfig scheduler_config;
    {
    //fill scheduler_config with custom data if required
    }
    config[ov::genai::scheduler_config.name()] = scheduler_config;

    ov::genai::LLMPipeline pipe(model_path, "CPU", config);
}

Performance Metrics

openvino_genai.PerfMetrics (referred as PerfMetrics for simplicity) is a structure that holds performance metrics for each generate call. PerfMetrics holds fields with mean and standard deviations for the following metrics:

  • Time To the First Token (TTFT), ms
  • Time per Output Token (TPOT), ms/token
  • Generate total duration, ms
  • Tokenization duration, ms
  • Detokenization duration, ms
  • Throughput, tokens/s

and:

  • Load time, ms
  • Number of generated tokens
  • Number of tokens in the input prompt

Performance metrics are stored either in the DecodedResults or EncodedResults perf_metric field. Additionally to the fields mentioned above, PerfMetrics has a member raw_metrics of type openvino_genai.RawPerfMetrics (referred to as RawPerfMetrics for simplicity) that contains raw values for the durations of each batch of new token generation, tokenization durations, detokenization durations, and more. These raw metrics are accessible if you wish to calculate your own statistical values such as median or percentiles. However, since mean and standard deviation values are usually sufficient, we will focus on PerfMetrics.

import openvino_genai as ov_genai
pipe = ov_genai.LLMPipeline(model_path, "CPU")
result = pipe.generate(["The Sun is yellow because"], max_new_tokens=20)
perf_metrics = result.perf_metrics

print(f'Generate duration: {perf_metrics.get_generate_duration().mean:.2f}')
print(f'TTFT: {perf_metrics.get_ttft().mean:.2f} ms')
print(f'TPOT: {perf_metrics.get_tpot().mean:.2f} ms/token')
print(f'Throughput: {perf_metrics.get_throughput().mean:.2f} tokens/s')
#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

int main(int argc, char* argv[]) {
    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");
    auto result = pipe.generate("The Sun is yellow because", ov::genai::max_new_tokens(20));
    auto perf_metrics = result.perf_metrics;
    
    std::cout << std::fixed << std::setprecision(2);
    std::cout << "Generate duration: " << perf_metrics.get_generate_duration().mean << " ms" << std::endl;
    std::cout << "TTFT: " << metrics.get_ttft().mean  << " ms" << std::endl;
    std::cout << "TPOT: " << metrics.get_tpot().mean  << " ms/token " << std::endl;
    std::cout << "Throughput: " << metrics.get_throughput().mean  << " tokens/s" << std::endl;
}

output:

mean_generate_duration: 76.28
mean_ttft: 42.58
mean_tpot 3.80

Note: If the input prompt is just a string, the generate function returns only a string without perf_metrics. To obtain perf_metrics, provide the prompt as a list with at least one element or call generate with encoded inputs.

Several perf_metrics can be added to each other. In that case raw_metrics are concatenated and mean/std values are recalculated. This accumulates statistics from several generate() calls

#include "openvino/genai/llm_pipeline.hpp"
#include <iostream>

int main(int argc, char* argv[]) {
    std::string model_path = argv[1];
    ov::genai::LLMPipeline pipe(model_path, "CPU");
    auto result_1 = pipe.generate("The Sun is yellow because", ov::genai::max_new_tokens(20));
    auto result_2 = pipe.generate("The Sun is yellow because", ov::genai::max_new_tokens(20));
    auto perf_metrics = result_1.perf_metrics + result_2.perf_metrics
    
    std::cout << std::fixed << std::setprecision(2);
    std::cout << "Generate duration: " << perf_metrics.get_generate_duration().mean << " ms" << std::endl;
    std::cout << "TTFT: " << metrics.get_ttft().mean  << " ms" << std::endl;
    std::cout << "TPOT: " << metrics.get_tpot().mean  << " ms/token " << std::endl;
    std::cout << "Throughput: " << metrics.get_throughput().mean  << " tokens/s" << std::endl;
}
import openvino_genai as ov_genai
pipe = ov_genai.LLMPipeline(model_path, "CPU")
res_1 = pipe.generate(["The Sun is yellow because"], max_new_tokens=20)
res_2 = pipe.generate(["Why Sky is blue because"], max_new_tokens=20)
perf_metrics = res_1.perf_metrics + res_2.perf_metrics

print(f'Generate duration: {perf_metrics.get_generate_duration().mean:.2f}')
print(f'TTFT: {perf_metrics.get_ttft().mean:.2f} ms')
print(f'TPOT: {perf_metrics.get_tpot().mean:.2f} ms/token')
print(f'Throughput: {perf_metrics.get_throughput().mean:.2f} tokens/s')

For more examples of how metrics are used, please refer to the Python benchmark_genai.py and C++ benchmark_genai samples.

How It Works

For information on how OpenVINO™ GenAI works, refer to the How It Works Section.

Supported Models

For a list of supported models, refer to the Supported Models Section.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

openvino_genai-2024.4.0.0-cp312-cp312-win_amd64.whl (971.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

openvino_genai-2024.4.0.0-cp312-cp312-manylinux_2_31_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.31+ ARM64

openvino_genai-2024.4.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

openvino_genai-2024.4.0.0-cp312-cp312-macosx_10_15_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12 macOS 10.15+ x86-64

openvino_genai-2024.4.0.0-cp311-cp311-win_amd64.whl (969.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

openvino_genai-2024.4.0.0-cp311-cp311-manylinux_2_31_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.31+ ARM64

openvino_genai-2024.4.0.0-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

openvino_genai-2024.4.0.0-cp311-cp311-macosx_10_15_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

openvino_genai-2024.4.0.0-cp310-cp310-win_amd64.whl (968.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

openvino_genai-2024.4.0.0-cp310-cp310-manylinux_2_31_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.31+ ARM64

openvino_genai-2024.4.0.0-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

openvino_genai-2024.4.0.0-cp310-cp310-macosx_10_15_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

openvino_genai-2024.4.0.0-cp39-cp39-win_amd64.whl (963.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

openvino_genai-2024.4.0.0-cp39-cp39-manylinux_2_31_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.31+ ARM64

openvino_genai-2024.4.0.0-cp39-cp39-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

openvino_genai-2024.4.0.0-cp39-cp39-macosx_10_15_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

openvino_genai-2024.4.0.0-cp38-cp38-win_amd64.whl (968.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

openvino_genai-2024.4.0.0-cp38-cp38-manylinux_2_31_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.31+ ARM64

openvino_genai-2024.4.0.0-cp38-cp38-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

openvino_genai-2024.4.0.0-cp38-cp38-macosx_10_15_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file openvino_genai-2024.4.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f9b7ee5153bd028ee1617e4ba632444a42cdf71121e8bce26c91b87177663cd1
MD5 09443f8caf19db12669db96544681b8b
BLAKE2b-256 7d50c5e5291306709311e9841613e18edf2b2ebd6a88056bee56f8201f2f09b4

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp312-cp312-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp312-cp312-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 4647e902864b3a131b3e374a2f40b31e32ba897c829364752765b8725839c0b0
MD5 f4d1e0d0f194fa71713870d43971b17c
BLAKE2b-256 1f12eb09e2cd7354d909acbc4f8fd0214fb91406f96ea2c1b663ff464249cf0f

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 307bffcb25b42f0d8e8acebfdb4b16982c0625a84cea9863bd239f5e9fa0c195
MD5 525ae670e69ebfa505207e2d50e657c8
BLAKE2b-256 6e1fa4ee8d93d039e6123e3416117a3f9bbbc282f55ad746b2ac32353c67dece

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f20204d197e5b9d2e63435dd89120e2bf349b55b4004147af92f17c589112865
MD5 506dccbd81f6cc9b39ddc1ff9a24b509
BLAKE2b-256 41f0f709afcbcdee13dccb20a3e2f554abb5325d6ac62574c04bad807223d074

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a881baaa7dcfd8b23e0ae36d18f51a6d77ef9bcef270eb5e93edbd7e67e89d08
MD5 88a641bb3bc3504bf660aad6bc1a93fb
BLAKE2b-256 7218d47b8d86c4fcf0b8770e3985c3e3afe32f0d86bfda9134fd789cc2335965

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 015ced3a25188a8344191de6b562813f70fbfd5d866b5743e95dc34579382b24
MD5 8ad3c2a821cb9d74e81b49ab2bd986af
BLAKE2b-256 ea7f598af77fc22a00cbfde46b525bca4837423ca5fae93995cdaf7ebec3b16e

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp311-cp311-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp311-cp311-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 6030708ee64e813cd214240a465726f42c05a3ee1fc7e3e370e15aa529b7ad49
MD5 ec9f2fc648db685354c9a09fd1a9eba8
BLAKE2b-256 3dddaecff8a062ad1f5887c48924d008db97055ccc84130f00be6249a353e02b

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b07de53b38381d2696222e2766429d9d952a928e335eff3514665378184643c1
MD5 08723a413d025364bb07a08e52be1b9e
BLAKE2b-256 0fab71c0c2219d41c42b7d93cfe27e9ae38e909616f065333ccb2fd2638cb44f

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7bfaae6f551f4a7a95848db318d45b3090dcaf42963913d0517d12c6217e9d8
MD5 33589716662b9e02811a6640984a5964
BLAKE2b-256 cc580cfbd632c194737eb3ee617db45197bc4df1d27f306dc9e7f7683dfedeec

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f83bebb693b8d59f39f3254cc97f364c2808bb9bad256ef75adcf6b3fc39c975
MD5 f87851580942921ffc7a225e5b0dcbaa
BLAKE2b-256 c1599b2a28f4d4dbf189b37758730048b95d20ed90eebb16fdefd77e8f5601da

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ff88d1d49034c47a54582bb6631dcaf4643342065ebb7eaa24ea784e5d99e174
MD5 72e8d7683c1956b57477c112eb954c60
BLAKE2b-256 f67443b8ee4247a32fab08867130d4aeb64d45bda8af61c4a573c8d0385bacf0

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp310-cp310-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp310-cp310-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 bb4f6f7e64005cdffecba4527f476beb7f7f76c4f1f83600b6a3fdcde55a2e5a
MD5 43fb9468a561a0174c9bd08997deb069
BLAKE2b-256 a966067db9ab3ed4186758b3527cc8897a63b6e45a3d655af01f4d5ff563461e

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dba85309ac24fec994d664db3817f7c450adc15047eef5e53a015bd3274a86a5
MD5 47e695f7cef9c950b92400970b7c18e2
BLAKE2b-256 262c1264a572a703438cfccec96e03ef750abe0f7ac635da853d68aa20333eb6

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6afdd04cedcdc84a1c7934c026a9a27267862b10a2bcdfb251bf795ea2146dd3
MD5 124623128bded119983fe15c7be04211
BLAKE2b-256 eb5659765c6f2baf63c1e9b1cca8af055205e5720df0466e94444c878775517c

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 14b10897ed6e9c24588187def39d6e92f619eae2770c2d7449d84c3f683d8f22
MD5 6894dd3ed7246e22d92ed603b9601260
BLAKE2b-256 cbeea10eabbd5b49fe0219a5f85343a231e5ffebd55164529a4a05b804175c31

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 af0e4d716438fdff7197cac42b3a416f7da0fe0d88cbd4e63a3bacd76697e811
MD5 608651c071baf75512cb81a66daa0467
BLAKE2b-256 92c0891f9d372dc977c973436ac43f75650bd1f511f563292503787b6027d1b0

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp39-cp39-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp39-cp39-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 22f1bc3be3f8e04253f9408fc7395169d6fa5c042d2f6ec421c47da044a1660a
MD5 9d19c65cf8e595bc1b00d36e34b12d7b
BLAKE2b-256 b154de98a842fc7ab1e78526932780dcd4c08cc0fb03187a75a3646c3cafa68d

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8810370e3979907eb77f506cf5a44625f2368056be4f0e904ded1bdb6bb7fda3
MD5 f8851bb333e02ea7aa3d99a25dd0610b
BLAKE2b-256 a45388f42314ce222a6fdd8be398bd9e7a689417d935350ae8a547053f524223

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56ad9b9d172dd70ce2f78be832111392cb131379b356ce4ff6b34dcfb4123774
MD5 01a16c398f6a136f57f4e658f88f7841
BLAKE2b-256 2cecf410749b792f18f52f1cfecaf22fb96ba705f51ce43b7ec5c00883e79360

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 91b61d62c086f2d5186a38332b8c913b8d97f929b667bb0f52a7f5b34f587c09
MD5 50d03c004608c76e52f5b6aede725746
BLAKE2b-256 afbde781cd33e7a695b80f16bdd4a0c833de3f4512903f9fa7d2e4de129d1054

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8adfe04dd467f4b45a486faa1928c1d0dc2799d9805616e52cddc8c64777f5ae
MD5 9a8f02c22cefa3584e5b10fbcd9a2989
BLAKE2b-256 2e470b6d995ae777b3a4468d01b2f072ce7e1d9ff49085903704c8a975c335f6

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp38-cp38-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp38-cp38-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 908e070cc1fbbebbdffaf29c27b644fcf60e5cde768c9badfc175ab48040ba42
MD5 b0fa4489545ddebc790ac9124000e936
BLAKE2b-256 e1e08614d75cb51e2dbe2e20888d03f03aa99a77e70da985b3c4aeda593d36a7

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 beea194eb9f98ecb9ada46175cfe8d0c7a68309b2153687ccd2bb0048e043c25
MD5 e1659640c24ec2238f11874daa4f71d2
BLAKE2b-256 929759b3d038b777e706982e2defe8061cf64c63ae2603f04ada907111e83946

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddaf96707114f86b6e4a1c16f75bdde50e3e67f7c7c2dd3dfddb679d83aec089
MD5 f738850f4686f94f3cf76d70f9b22465
BLAKE2b-256 b116f055d87989fddb000aaa9d904fdb153584bc91605a1eaf79731e1c73a425

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.0.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.0.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 11f2df782ecc83b3b1d4f35da2882f1b319767db779ba8d5d655ec4ceaa9ffb9
MD5 075fded401aa3224fd6caaf9da7e392e
BLAKE2b-256 04033b2000a93647ea3b34159de448345431cf677da0e000468cb2c68fb7cb0c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page