Skip to main content

Library of the most popular Generative AI model pipelines, optimized execution methods, and samples

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(models_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(models_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(models_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 models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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 models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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 models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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 models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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 because", 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 stopped, if true generation stops.
        return false;
    };

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

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

    std::string models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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 stopped, if true generation stops.
        return False

    def end(self):
        # Custom finalization logic.

pipe = ov_genai.LLMPipeline(models_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::genai::SchedulerConfig scheduler_config;
    // fill other fields in scheduler_config with custom data if required
    scheduler_config.cache_size = 1;    // minimal possible KV cache size in GB, adjust as required

    ov::genai::LLMPipeline pipe(models_path, "CPU", ov::genai::scheduler_config(scheduler_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(models_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 models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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.

Accumulating metrics

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 models_path = argv[1];
    ov::genai::LLMPipeline pipe(models_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(models_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')

Using raw performance metrics

In addition to mean and standard deviation values, the perf_metrics object has a raw_metrics field. This field stores raw data, including:

  • Timestamps for each batch of generated tokens
  • Batch sizes for each timestamp
  • Tokenization durations
  • Detokenization durations
  • Other relevant metrics

These metrics can be use for more fine grained analysis, such as getting exact calculating median values, percentiles, etc. Below are a few examples of how to use raw metrics.

Getting timestamps for each generated token:

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

print(f'Generate duration: {perf_metrics.get_generate_duration().mean:.2f}')
print(f'Throughput: {perf_metrics.get_throughput().mean:.2f} tokens/s')
print(f'Timestamps: {" ms, ".join(f"{i:.2f}" for i in raw_metrics.m_new_token_times)}')

Getting pure inference time without tokenizatin and detokenization duration:

import openvino_genai as ov_genai
import numpy as np
pipe = ov_genai.LLMPipeline(models_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} ms')

raw_metrics = perf_metrics.raw_metrics
generate_duration = np.array(raw_metrics.generate_durations)
tok_detok_duration = np.array(raw_metrics.tokenization_durations) - np.array(raw_metrics.detokenization_durations)
pure_inference_duration = np.sum(generate_duration - tok_detok_duration) / 1000 # in milliseconds
print(f'Pure Inference duration: {pure_inference_duration:.2f} ms')

Example of using raw metrics to calculate median value of generate duration:

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

print(f'Generate duration: {perf_metrics.get_generate_duration().mean:.2f}')
print(f'Throughput: {perf_metrics.get_throughput().mean:.2f} tokens/s')
durations = np.array(raw_metrics.m_new_token_times[1:]) - np.array(raw_metrics.m_new_token_times[:-1])
print(f'Median from token to token duration: {np.median(durations):.2f} ms')

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

If you're not sure about the file name format, learn more about wheel file names.

openvino_genai-2024.6.0.0-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

openvino_genai-2024.6.0.0-cp312-cp312-manylinux_2_31_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ ARM64

openvino_genai-2024.6.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

openvino_genai-2024.6.0.0-cp312-cp312-macosx_10_15_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

openvino_genai-2024.6.0.0-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

openvino_genai-2024.6.0.0-cp311-cp311-manylinux_2_31_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ ARM64

openvino_genai-2024.6.0.0-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

openvino_genai-2024.6.0.0-cp311-cp311-macosx_10_15_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

openvino_genai-2024.6.0.0-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

openvino_genai-2024.6.0.0-cp310-cp310-manylinux_2_31_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ ARM64

openvino_genai-2024.6.0.0-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

openvino_genai-2024.6.0.0-cp310-cp310-macosx_10_15_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

openvino_genai-2024.6.0.0-cp39-cp39-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86-64

openvino_genai-2024.6.0.0-cp39-cp39-manylinux_2_31_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ ARM64

openvino_genai-2024.6.0.0-cp39-cp39-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

openvino_genai-2024.6.0.0-cp39-cp39-macosx_10_15_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 02e8c7e3c3d0a1922488fa6c299023d0ba88fad719f53c4a494f4a810d108560
MD5 0f6c231eca2ae2f454bb503362c52535
BLAKE2b-256 d1d6e44da2c58590a0e2a8b706f3ef21f5a645f4ac016a417ad30ba9705b0dee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp312-cp312-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 d31f4191a992efce0d3c7531ddde4554e634b1c3d8b6b2c1e2507ec033cb487f
MD5 7bdac0d5e850a422006b936d980eda23
BLAKE2b-256 9a56945c1f89be643179b515a8cc1744ed2937b3dc69b72e357a14acc9be7356

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1062e3fb564477fedc246b61254eaa48625204ddef1716cd0b91489c372194cd
MD5 149a38dde2352cb2fc8047f25e8b4b76
BLAKE2b-256 73a585dae48d2d8b261422286496ad6682df735b801ec84eecaee8285d5ee3a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79961ab067741a9a75a3254df2b924dc1da216b23adf46cdb336aa6831ff006c
MD5 015e96552e27e31002fcf376dc15f52d
BLAKE2b-256 e4198427be59666b947cb85760aeecf7cafbe034bce277a9dfd80101332e61be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4daf5dc07ddfebd148ddc591259053924e373ce98179be7cc9332ac1a8c71fdc
MD5 c3cdc69c969f57f04b92eb27f261b4ec
BLAKE2b-256 09d74f6e4c1b0bdd6668a52a87d683068bf836f71f3fb1d3db39718889f5aa46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d049248c3ae8533347da41065002944d3d862fc0693c1d12a3c63be3a1011f0
MD5 92a97e0e2afa0bc962f9183ea6e583c1
BLAKE2b-256 b3b53a71d519a010e6f27b1cc6b2af17315c8d1a8e82574ced6a963032483117

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp311-cp311-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 ba59b2130a263816d2a781c91ab32a2e072d8af2f1b020ecaf403b559a5f90e4
MD5 78d4a54da97ce02e854b146837e2706d
BLAKE2b-256 67665ea7b17228adf6a04b403c5f685eedb3246ac33853a491b9e6bf3f8a4041

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5363178472bf4d85d11085c115595ed1bb9539c8aba657bb53ebc244575d6a5
MD5 e648fd037f623d944ae0512c5981b706
BLAKE2b-256 0337643948dc13f03c0dd0f9ea6351cadaf057b1ef326f6bb0e6197c20cc5d9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78b986bd47c7676e4653a6e05128284c8bacf48dc0e722c3f2c6f4dd6587105e
MD5 99a88522869835ed38412bc28dc13f43
BLAKE2b-256 9d8515cd46b8204deafad9edeef2553eafa09cf52cbc2590dc066b5e2d596395

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cbeb2e143a32bb7a09f3b6b7fd231f2c8e38e2982753101792e18ec0c1cbd7ac
MD5 7a7b1bb16613f36a7e210f6e0482b3d2
BLAKE2b-256 a6eeff9b4ab4b5487b9ccea63d05bf2b52f06218cee002f54274fc6101dc7882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e3f555e21ea5ff4a86d3ef4541d73e4f98d2b28ba41a28f8e646af4e0673d4f4
MD5 4bc506e0793b6c579dafb4b79bf7a9d2
BLAKE2b-256 700a3ef40c23c9a2ac5cbde355e6251834a97982c7306935e8c69513c04dd08e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp310-cp310-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 723bad918176957db753956f3c9cbf177fa55c5783bec55729484500837d0862
MD5 3ca5f2d763a1fc5edecc088c90714cfb
BLAKE2b-256 87b8654563c09205954da22d2a8a9e8f457cd2f55f3add5e0c39a45194a937e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb781c89a58da0946a2d18e94025cf6aed019be79b10b84030485a3bdd2ba4a3
MD5 d972e5355a1cafca5c4d2abf86e132fb
BLAKE2b-256 83e58e93c026e01dc34431ed84754992ecd7d4f8bbf33c1aa3bfe2facb72ff46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89ba5337bb58ee9ae8cba03f99f1b557ab814323095f666b5adc46218765719c
MD5 87cfb17f3e9988097b8f8c53fc378bef
BLAKE2b-256 dfff5819bc25ce813d7cff8a220bfaeb660a8fd175a1a173595441c1cc5ef704

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 865e45b0c6a7883e7bfc44b9cd72f3f0fddf38763102f15dfa65f0bef0526dce
MD5 4eead5552f2a68a4ddabc28e22619d8e
BLAKE2b-256 63f1e83ebf0d6b74c74ec40724c4bea2891d721a998eff7458ab6bfa45ae6f06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 816af4b44fbda9a859e59647028bb19d4541ead9ca940314e51208055010ea3b
MD5 7078bccf7f049c74a5723b41319d9c34
BLAKE2b-256 c69e953c5d936b312c7fd95a46dd7b57306c66cef12028c928d634696eb45622

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp39-cp39-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 313f94cc5bd8ffbc2d2eaebcfdeb3e78639db2c9f4fd06cba336ad87a6b808ba
MD5 37c2ddc9364058fd17ddad778a09d827
BLAKE2b-256 c5ec5bda7a6c4f771385ace097c55b7fee0bcb660b141861ff3d08824dd428bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ed0c606d2ff3de563fbca88fbe45e553ca8d637830018228b27035dbcaf8262
MD5 5b86095ec84b088d3f2f2f16c2cca5e3
BLAKE2b-256 aa9883e7914f12e01fd5b8a77a5e0b98538535e2b413261fac8ea5e99711762d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f455a81d1bfe218d57e0a8982651416e6b7b148a45df500481de87f8f2551d5
MD5 7ed9dcdce288defc7b7c651f3576765c
BLAKE2b-256 182002be6e165fde7f2ccfc401b33c59fd2ae45aac248201c68248e322d303dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openvino_genai-2024.6.0.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 119e78a290214952cd68196c0e544cce6b06d17bd72b841e42dc48374a2f6445
MD5 cc432037c1b56f7fb8f5b2e41633774f
BLAKE2b-256 43220a319aa9ea81b842b0012e3c8517efa690b616a3687a4b2d83d04a86f0a8

See more details on using hashes here.

Supported by

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