<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def blobs(n_variables=11, n_centers=5, cluster_std=1.0, n_observations=640) -> AnnData: """Gaussian Blobs. Parameters n_variables : `int`, optional (default: 11) Dimension of feature space. n_centers : `int`, optional (default: 5) Number of cluster centers. cluster_std : `float`, optional (default: 1.0) Standard deviation of clusters. n_observations : `int`, optional (default: 640) Number of observations. By default, this is the same observation number as in ``sc.datasets.krumsiek11()``. Returns ------- Annotated data matrix containing a observation annotation 'blobs' that indicates cluster identity. """

    import sklearn.datasets
    X, y = sklearn.datasets.make_blobs(n_samples=n_observations,
                                       n_features=n_variables,
                                       centers=n_centers,
                                       cluster_std=cluster_std,
                                       random_state=0)
    return AnnData(X, obs={'blobs': y.astype(str)})