> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/reference/inference/choosing-the-right-tool.md).

# Choosing the Right Tool

When to use the Inference server, the inference package, the Inference SDK, and the Inference CLI.

[Inference](https://github.com/roboflow/inference) is the open source computer vision deployment framework behind Roboflow's hosted APIs. It ships as four pieces that work together. For self-hosting, run the server and talk to it with the SDK. For managed live-camera processing, start with [Cloud Streaming](https://docs.roboflow.com/deployment/roboflow-cloud/cloud-streaming) instead of installing a runtime.

<table data-search="false"><thead><tr><th>Component</th><th>What it is</th><th>When to use it</th></tr></thead><tbody><tr><td><a href="https://docs.roboflow.com/deployment/self-hosted/inference-server">Inference Server</a></td><td>A Docker container that exposes models and Workflows over an HTTP API.</td><td>You want one deployment that many clients, languages, or video streams can call.</td></tr><tr><td><a href="/reference/inference/inference-python.md">inference package</a></td><td>The Python library that loads and runs models in your own process.</td><td>Your Python app runs on the same machine as the model and does not need an HTTP interface.</td></tr><tr><td><a href="/reference/inference/inference-sdk.md">inference-sdk package</a></td><td>A Python HTTP client for the server.</td><td>Call compatible methods on a local server, the Serverless Cloud API, or a Dedicated Deployment. Changing api_url does not create a Cloud Streaming deployment.</td></tr><tr><td><a href="/reference/inference/inference-cli.md">inference-cli package</a></td><td>A command-line tool for managing servers and running models and Workflows.</td><td>Install and manage a server, run one-off predictions, or benchmark a deployment.</td></tr></tbody></table>

For the architecture of a running server (how requests, video streams, and Workflows flow through it), see [Inference Architecture](https://docs.roboflow.com/deployment/self-hosted/inference-server/architecture). To install and run the server on your own hardware, start with [Self-Hosted Deployment](https://docs.roboflow.com/deployment/self-hosted/self-hosted).

## Example notebooks

Runnable notebooks that solve a specific problem with Inference:

* [Use CLIP to classify videos](https://github.com/roboflow/inference/blob/main/docs/notebooks/clip_classification.ipynb) - identify the similarity of frames in a video to arbitrary text prompts.
* [Stream video with self-hosted WebRTC](/reference/inference/inference-sdk/webrtc.md): process a webcam, RTSP stream, or video file on your own Inference Server. For managed live cameras, use the [Cloud Streaming quickstart](https://docs.roboflow.com/deployment/roboflow-cloud/cloud-streaming/quickstart).
* [RGB anomaly detection](https://github.com/roboflow/inference/blob/main/docs/notebooks/rgb_anomaly_detection.ipynb) - verify that the color in a segmentation mask is correct.

The [Roboflow Notebooks](https://github.com/roboflow/notebooks) repository has many more training and deployment examples.

## Community and source code

* [Inference on GitHub](https://github.com/roboflow/inference) - source code, issues, and feature requests. See [CONTRIBUTING.md](https://github.com/roboflow/inference/blob/main/CONTRIBUTING.md) to contribute.
* [Roboflow Forum](https://discuss.roboflow.com) - get help from and connect with a community of computer vision developers.
* [Roboflow Blog](https://blog.roboflow.com) - tutorials, model releases, and computer vision news.
* [Supervision](https://supervision.roboflow.com) - reusable utilities for annotating, filtering, and tracking predictions.
