### Usage

To use Google Cloud Vertex AI Vector Search with `mem0`, you need to configure the `vector_store` in your `mem0` config:

#### Python

```python
import os
from mem0 import Memory

os.environ["GOOGLE_API_KEY"] = "sk-xx"

config = {
    "vector_store": {
        "provider": "vertex_ai_vector_search",
        "config": {
            "endpoint_id": "YOUR_ENDPOINT_ID",            # Required: Vector Search endpoint ID
            "index_id": "YOUR_INDEX_ID",                  # Required: Vector Search index ID
            "deployment_index_id": "YOUR_DEPLOYMENT_INDEX_ID",  # Required: Deployment-specific ID
            "project_id": "YOUR_PROJECT_ID",              # Required: Google Cloud project ID
            "project_number": "YOUR_PROJECT_NUMBER",      # Required: Google Cloud project number
            "region": "YOUR_REGION",                      # Required: Google Cloud region
            "credentials_path": "path/to/credentials.json", # Optional: Defaults to GOOGLE_APPLICATION_CREDENTIALS
            "vector_search_api_endpoint": "YOUR_API_ENDPOINT" # Required for get operations
        }
    }
}
m = Memory.from_config(config)
m.add("Your text here", user_id="user", metadata={"category": "example"})
```

#### TypeScript

```typescript
import { Memory } from "mem0ai/oss";

// Authenticate with GOOGLE_APPLICATION_CREDENTIALS in your environment,
// or pass credentialsPath / serviceAccountJson in the config below.
const config = {
  vectorStore: {
    provider: "vertex_ai_vector_search",
    config: {
      endpointId: "YOUR_ENDPOINT_ID", // Required: Vector Search endpoint ID
      indexId: "YOUR_INDEX_ID", // Required: Vector Search index ID
      deploymentIndexId: "YOUR_DEPLOYMENT_INDEX_ID", // Required: Deployment-specific ID
      projectId: "YOUR_PROJECT_ID", // Required: Google Cloud project ID
      projectNumber: "YOUR_PROJECT_NUMBER", // Required: Google Cloud project number
      region: "YOUR_REGION", // Required: Google Cloud region
      credentialsPath: "path/to/credentials.json", // Optional: defaults to GOOGLE_APPLICATION_CREDENTIALS
      vectorSearchApiEndpoint: "YOUR_API_ENDPOINT", // Required for search/get operations
    },
  },
};

const memory = new Memory(config);
await memory.add("Your text here", {
  userId: "user",
  metadata: { category: "example" },
});
```

### Required Parameters

#### Python

| Parameter               | Description                                  | Required |
|-------------------------|----------------------------------------------|----------|
| `endpoint_id`          | Vector Search endpoint ID                    | Yes      |
| `index_id`             | Vector Search index ID                       | Yes      |
| `deployment_index_id`  | Deployment-specific index ID                 | Yes      |
| `project_id`           | Google Cloud project ID                      | Yes      |
| `project_number`       | Google Cloud project number                  | Yes      |
| `vector_search_api_endpoint` | Vector search API endpoint              | Yes (for get operations) |
| `region`               | Google Cloud region                          | Yes      |
| `credentials_path`     | Path to service account credentials          | No (defaults to GOOGLE_APPLICATION_CREDENTIALS) |
| `service_account_json`  | Service account credentials as a dictionary (alternative to `credentials_path`) | None |

#### TypeScript

| Parameter               | Description                                  | Required |
|-------------------------|----------------------------------------------|----------|
| `endpointId`           | Vector Search endpoint ID                    | Yes      |
| `indexId`              | Vector Search index ID                       | Yes      |
| `deploymentIndexId`    | Deployment-specific index ID                 | Yes      |
| `projectId`            | Google Cloud project ID                      | Yes      |
| `projectNumber`        | Google Cloud project number                  | Yes      |
| `vectorSearchApiEndpoint` | Vector search API endpoint                | Yes (for get operations) |
| `region`               | Google Cloud region                          | Yes      |
| `credentialsPath`      | Path to service account credentials          | No (defaults to GOOGLE_APPLICATION_CREDENTIALS) |
| `serviceAccountJson`    | Service account credentials as an object (alternative to `credentialsPath`) | No |
