Skip to content

Commit 972e924

Browse files
authored
chore: delete the connection requirement in llm (#330)
1 parent 32cc6fa commit 972e924

File tree

1 file changed

+2
-81
lines changed

1 file changed

+2
-81
lines changed

notebooks/generative_ai/bq_dataframes_llm_code_generation.ipynb

+2-81
Original file line numberDiff line numberDiff line change
@@ -370,83 +370,6 @@
370370
"This section walks through a few steps required in order to use the model in your notebook."
371371
]
372372
},
373-
{
374-
"cell_type": "markdown",
375-
"metadata": {
376-
"id": "rS4VO1TGiO4G"
377-
},
378-
"source": [
379-
"## Create a BigQuery Cloud resource connection\n",
380-
"\n",
381-
"You need to create a [Cloud resource connection](https://cloud.google.com/bigquery/docs/create-cloud-resource-connection) to enable BigQuery DataFrames to interact with Vertex AI services."
382-
]
383-
},
384-
{
385-
"cell_type": "code",
386-
"execution_count": null,
387-
"metadata": {
388-
"id": "KFPjDM4LVh96"
389-
},
390-
"outputs": [],
391-
"source": [
392-
"CONN_NAME = \"bqdf-llm\"\n",
393-
"\n",
394-
"client = bq_connection.ConnectionServiceClient()\n",
395-
"new_conn_parent = f\"projects/{PROJECT_ID}/locations/{REGION}\"\n",
396-
"exists_conn_parent = f\"projects/{PROJECT_ID}/locations/{REGION}/connections/{CONN_NAME}\"\n",
397-
"cloud_resource_properties = bq_connection.CloudResourceProperties({})\n",
398-
"\n",
399-
"try:\n",
400-
" request = client.get_connection(\n",
401-
" request=bq_connection.GetConnectionRequest(name=exists_conn_parent)\n",
402-
" )\n",
403-
" CONN_SERVICE_ACCOUNT = f\"serviceAccount:{request.cloud_resource.service_account_id}\"\n",
404-
"except Exception:\n",
405-
" connection = bq_connection.types.Connection(\n",
406-
" {\"friendly_name\": CONN_NAME, \"cloud_resource\": cloud_resource_properties}\n",
407-
" )\n",
408-
" request = bq_connection.CreateConnectionRequest(\n",
409-
" {\n",
410-
" \"parent\": new_conn_parent,\n",
411-
" \"connection_id\": CONN_NAME,\n",
412-
" \"connection\": connection,\n",
413-
" }\n",
414-
" )\n",
415-
" response = client.create_connection(request)\n",
416-
" CONN_SERVICE_ACCOUNT = (\n",
417-
" f\"serviceAccount:{response.cloud_resource.service_account_id}\"\n",
418-
" )\n",
419-
"print(CONN_SERVICE_ACCOUNT)"
420-
]
421-
},
422-
{
423-
"cell_type": "markdown",
424-
"metadata": {
425-
"id": "W6l6Ol2biU9h"
426-
},
427-
"source": [
428-
"## Set permissions for the service account\n",
429-
"\n",
430-
"The resource connection service account requires certain project-level permissions:\n",
431-
" - `roles/aiplatform.user` and `roles/bigquery.connectionUser`: These roles are required for the connection to create a model definition using the LLM model in Vertex AI ([documentation](https://cloud.google.com/bigquery/docs/generate-text#give_the_service_account_access)).\n",
432-
" - `roles/run.invoker`: This role is required for the connection to have read-only access to Cloud Run services that back custom/remote functions ([documentation](https://cloud.google.com/bigquery/docs/remote-functions#grant_permission_on_function)).\n",
433-
"\n",
434-
"Set these permissions by running the following `gcloud` commands:"
435-
]
436-
},
437-
{
438-
"cell_type": "code",
439-
"execution_count": null,
440-
"metadata": {
441-
"id": "d8wja24SVq6s"
442-
},
443-
"outputs": [],
444-
"source": [
445-
"!gcloud projects add-iam-policy-binding {PROJECT_ID} --condition=None --no-user-output-enabled --member={CONN_SERVICE_ACCOUNT} --role='roles/bigquery.connectionUser'\n",
446-
"!gcloud projects add-iam-policy-binding {PROJECT_ID} --condition=None --no-user-output-enabled --member={CONN_SERVICE_ACCOUNT} --role='roles/aiplatform.user'\n",
447-
"!gcloud projects add-iam-policy-binding {PROJECT_ID} --condition=None --no-user-output-enabled --member={CONN_SERVICE_ACCOUNT} --role='roles/run.invoker'"
448-
]
449-
},
450373
{
451374
"cell_type": "markdown",
452375
"metadata": {
@@ -468,9 +391,7 @@
468391
"source": [
469392
"from bigframes.ml.llm import PaLM2TextGenerator\n",
470393
"\n",
471-
"session = bf.get_global_session()\n",
472-
"connection = f\"{PROJECT_ID}.{REGION}.{CONN_NAME}\"\n",
473-
"model = PaLM2TextGenerator(session=session, connection_name=connection)"
394+
"model = PaLM2TextGenerator()"
474395
]
475396
},
476397
{
@@ -651,7 +572,7 @@
651572
},
652573
"outputs": [],
653574
"source": [
654-
"@bf.remote_function([str], str, bigquery_connection=CONN_NAME)\n",
575+
"@bf.remote_function([str], str)\n",
655576
"def extract_code(text: str):\n",
656577
" try:\n",
657578
" res = text[text.find('\\n')+1:text.find('```', 3)]\n",

0 commit comments

Comments
 (0)