| 105 | raise Exception(f"Failed to abort transaction: {response.text}") |
| 106 | |
| 107 | def upsert(name, txn_id, key: str, value: str): |
| 108 | url = f"{client.base_url}/collections/{name}/transactions/{txn_id}/upsert" |
| 109 | data = {"vectors": [ |
| 110 | { |
| 111 | "id": key, |
| 112 | "bytes": list(value.encode("utf-8")) |
| 113 | } |
| 114 | ]} |
| 115 | |
| 116 | response = requests.post( |
| 117 | url, |
| 118 | headers=client._get_headers(), |
| 119 | data=json.dumps(data), |
| 120 | verify=client.verify_ssl, |
| 121 | ) |
| 122 | |
| 123 | if response.status_code not in [200, 204]: |
| 124 | raise Exception(f"Failed to upsert vectors: {response.text}") |
| 125 | |
| 126 | |
| 127 | def lookup(name, key): |