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.1.0.dev20240926-cp312-cp312-win_amd64.whl (981.9 kB view details)

Uploaded CPython 3.12 Windows x86-64

openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-manylinux_2_31_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.31+ ARM64

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

Uploaded CPython 3.12 macOS 11.0+ ARM64

openvino_genai-2024.4.1.0.dev20240926-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.1.0.dev20240926-cp311-cp311-win_amd64.whl (979.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

openvino_genai-2024.4.1.0.dev20240926-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.1.0.dev20240926-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

openvino_genai-2024.4.1.0.dev20240926-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.1.0.dev20240926-cp310-cp310-win_amd64.whl (979.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-manylinux_2_31_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.31+ ARM64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

openvino_genai-2024.4.1.0.dev20240926-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.1.0.dev20240926-cp39-cp39-win_amd64.whl (973.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-manylinux_2_31_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.31+ ARM64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

openvino_genai-2024.4.1.0.dev20240926-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.1.0.dev20240926-cp38-cp38-win_amd64.whl (979.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-manylinux_2_31_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.31+ ARM64

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

Uploaded CPython 3.8 macOS 11.0+ ARM64

openvino_genai-2024.4.1.0.dev20240926-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.1.0.dev20240926-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0d5ff0f77dd50421bd6dd98412b249988d7a6de7c1bce16a8ed5e181cc23b0c5
MD5 7708caf0049ab9e724892925a2ed6888
BLAKE2b-256 0aa6f1b7e19171336af1f243a677bfd90bf4879203d199c3a5a39cbe05e8bce7

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 a99941e7e0e8bb56182b4fd8af48b146ac0807df5b4971666dfc429979064811
MD5 246cdbae661d3f6a8ff269a76a517817
BLAKE2b-256 d175a950694dd9ae57d5ec2d5334e62296e3e49e2ad0e742055828d6043c31ba

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4020cd3947656e3bf187de669ee4a4ced1a2b5f05ff88a9c539629adcbe5f9d
MD5 d72f7317f2ef3ff28e4c262208ac8ba1
BLAKE2b-256 f87a4af035d5e38228a24c917f09c0b91587eb67fd5202708ca08970c8569664

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd9c360ac0f9bfe162e22ecaed4d97cbeba37378c503c2c6e22fad62dca76e95
MD5 8e625acb7ba97d3719044a54ede2d5c5
BLAKE2b-256 b6d96b2696664e7a1d1e8755629883d85def8671b79859ae205627daf62744c4

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9f55acb6f608cdde4f73913f6bff7d338f5ff70df97851dc06bd4fd670309dfa
MD5 72a2ce2d7cae8ca041970cadc76ea33e
BLAKE2b-256 a9069c1836851fb1dd275a12f27f75c3cad3f1c6f7751fc97f1b82d40706886d

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 69003aa8231150db8b593ae1e53a53e75134046539fa0a82f4771044c856fb99
MD5 4f62fcc4517ef0a142179f3bd0f73e18
BLAKE2b-256 eb1cf6eefdd44b73bdeaf6d52e32860127bc0fd6ffc591c64af3ce59a9131611

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 e38e9a1bdc6ad72d6d5342b859bbad992e89ca0d4deb8eea18bab8ce14f3f2ba
MD5 01a8bb473dc1b45119f40f2169f3f223
BLAKE2b-256 e8a76750e288bdb1b7280059a02841990eebf829c2af1d039b1db1b41d5eaacf

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c1d1c5359453c6a106f17d417fff53724d4516e708f650b4ec16cead9d98b8e
MD5 244265371584b2030726251c614e689b
BLAKE2b-256 96405e5ba3fea59e88287de5e6e015ce5d4f47a82c94f9e02868c69edd8e542e

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 faa4037dc7703dca00d2e3bec813e3897895a1b2a0ee7d797fb4656e282f30b8
MD5 93997faab26dd650fc86efc2536cb340
BLAKE2b-256 aa9491044e07175b64c13936de51399e3685d810aa0c88b0d997638c9fbe2a3b

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 23b54880876712df18b574e782ccc30772bb5d195679356c40f5cbe8371f82a4
MD5 19d61f9281b686a9d347715805e27c8f
BLAKE2b-256 aa91eb0f67994b191a949cdec764c7fbcdee5f7ac21de81d8fa3554aa2633e8f

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 719e01738940d807f887b6c24fe7e9e630c1e3d55efeef03816fa285625eb955
MD5 d4d1079bd2cc463fe6ba2eda58e6436e
BLAKE2b-256 4ea38f25a1c317ee60c5cd584f7c49e7a3766ca0f63d376b9bd6bcc451606b1f

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 727b2f5f06d59fb08aea67b6c6ab84c55d4f16c0d33ff69d17de8dc944e9e996
MD5 abc239352fa9ede90d0acbcbc96e39f2
BLAKE2b-256 d86ba0c2a03a9087e8b4b7cba803e30469ff3cf8d67430eab666b400965ab001

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a77fd87873d4124adbd2e3efd4582e2ea58b5e4b41848d05c03998d6f17d26b
MD5 136e18a3c1db3edc9a2aad642ab851ed
BLAKE2b-256 911d8b8cc46f19127850c065f4b783ce36febe24d47d50843c7391212ef9d718

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 101b5fb030ecaf0333fae86def0f974960477cf828312d18a1ed355c8725fcc8
MD5 d0685e1215df06185cd8526092383221
BLAKE2b-256 aa65554c82ce5c43ec74e33972965cfaed458a4049cffeeb06ebaf2b1d4c3c5c

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c29063c4ea4a45420409b25f1ce1a7f157da0f890bde075052a13a00601d9737
MD5 a1251b2ce8df77c213439807b3f9a288
BLAKE2b-256 81e6d1ec9885a7092032894663c346224de6fd4944759fdfc3544afabc293e2a

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c9a2365c1a38c7774368a978833ea2679fea3cf3300ab31fec5bd906b96a20e3
MD5 94739e9ff6c6b3ca67ca8be40f4c2473
BLAKE2b-256 4b755753454d25b40f934278f1402ab68c020f75812b7b6bbbf75e1c573c331f

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 02b955468a577d03d9d2d01a36f8dc098428c0f6b87089cd9e3ced7817838713
MD5 d37d20f47e59100169b26ef8a100fc9e
BLAKE2b-256 09d13152d54479fd307ab83e9ff179ddb810966428c0ee51d055e782dd6bab9a

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f3a64ec628a5a202bcf86e5b1ea3dabfc1a1c1a6d02d968ca9068ed31343eef
MD5 bd7d22a3ef2f5c6fd64fb51641013653
BLAKE2b-256 32f678cfb639380bfe4fbc0a485a1bf1f9cf8f27fd6ea11549754a65b244b24d

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 494a2c04bf50425e380c8cd820625f74aca60424bf76cf3a55113751ece03760
MD5 cce2bf32ae94a5ef43fd25aaf8ba1d38
BLAKE2b-256 61d322000ed877168d2667ec6e0bb6d7bef2154a1eff21d690a23983c7d5912e

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dc8b4f17402508a83b5d5362ef987064b43a96faa8a14aa62dc76646185f3f1d
MD5 2abe6fc17b749d07020373657b946817
BLAKE2b-256 cd36dfe8bbd5a85a79a8f224e3b8696fb276fce5892b3f610629041184939c37

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 51210a8f1b255382c06627faa18c37501a289e17349ea8516f8ca8dff98a7e74
MD5 21693e21fc365ace2f11f0ec0327f821
BLAKE2b-256 44ab522882ddc7e4aaf5d0137585ac2fbd11e1b76d4d8cfd5c7ba36b9f335535

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 1ce74e48b4559207fda083e94b7df79a58cbbfdc021b8a96de876de4b84eb7ed
MD5 541a3475574f1072c672c9f140d120cf
BLAKE2b-256 2c22c80fddfaafef313277e5d5bec9661cd6023d6ef7cdc8d18a136f3c878333

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ebf17047e1d42cdc905853f7571be214e72b44d80c7035af4bf6aae91a03619
MD5 f395040ebb552cbddc3e2aa576aea592
BLAKE2b-256 85beb1ec196655aa393952617c49a27a42fc77576383a5be39d6015611c2fa8d

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e252380198b0a9ed53482c8be128d6d66c9a647440817aa931ebde5cb2b30c5
MD5 b2719640a51c7e30b00e337847e8bee6
BLAKE2b-256 6de3029dfbb5b575f9ef93719bfe640dc9129eedb9d8c0160fb6468650474f60

See more details on using hashes here.

File details

Details for the file openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for openvino_genai-2024.4.1.0.dev20240926-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cf3b014aee2312b421b3383c6020480a084c215c6bf98325f8f32576f1061939
MD5 4199d7eaa92eeb40c6a2b83fddec4727
BLAKE2b-256 ab0176452fe66128121a35672db7170cdd5f4717b97ec82b46adc8cfebb56036

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