Here are the top three commonly used Python libraries for Bayesian optimization:

* **BayesOpt:** This is a pure Python implementation of Bayesian optimization with Gaussian processes.
* **Hyperopt:** This is a library for hyperparameter optimization that uses Bayesian optimization as a backend.
* **Optuna:** This is a library for hyperparameter optimization that is designed to be easy to use and efficient.

The most highly recommended library for Bayesian optimization is **BayesOpt**. It is a well-maintained library with a comprehensive API. It is also relatively easy to use, even for beginners.

Here is a basic example of how to use **BayesOpt** to optimize a function using a Gaussian process surrogate model and an expected improvement acquisition function:

```python
import numpy as np
from bayesopt import BayesianOptimization

# Define the function to be optimized.
def f(x):
  return np.sin(x) + np.cos(x**2)

# Create a Bayesian optimization object.
optimizer = BayesianOptimization(f, {'x': (-10, 10)})

# Set the acquisition function to expected improvement.
optimizer.maximize(acquisition_function='ei')

# Run the optimization algorithm.
optimizer.optimize(n_iter=100)

# Print the best result.
print(optimizer.best_params)
```

This code will optimize the function `f` using a Gaussian process surrogate model and an expected improvement acquisition function. The code will run for 100 iterations and print the best result.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence