| 23 | return client |
| 24 | |
| 25 | def create_db(name: str, description: str | None = None): |
| 26 | client._ensure_session() |
| 27 | url = f"{client.base_url}/collections" |
| 28 | data = { |
| 29 | "name": name, |
| 30 | "description": description, |
| 31 | "key_value_options": {"enabled": True}, |
| 32 | "config": {"max_vectors": None, "replication_factor": None}, |
| 33 | "store_raw_text": False, |
| 34 | } |
| 35 | response = requests.post(url, headers=client._get_headers(), data=json.dumps(data), verify=client.verify_ssl) |
| 36 | if response.status_code not in [200, 201]: |
| 37 | raise Exception(f"Failed to create collection: {response.text}") |
| 38 | |
| 39 | def create_index(name): |
| 40 | url = f"{client.base_url}/collections/{name}/indexes/key-value" |