(module)
| 75 | |
| 76 | @wrapt.when_imported('google.generativeai') |
| 77 | def post_import_logic(module): |
| 78 | if os.getenv('KAGGLE_DISABLE_GOOGLE_GENERATIVE_AI_INTEGRATION') != None: |
| 79 | return |
| 80 | if (os.getenv('KAGGLE_DATA_PROXY_TOKEN') == None or |
| 81 | os.getenv('KAGGLE_USER_SECRETS_TOKEN') == None or |
| 82 | (os.getenv('KAGGLE_DATA_PROXY_URL') == None and |
| 83 | os.getenv('KAGGLE_GRPC_DATA_PROXY_URL') == None)): |
| 84 | return |
| 85 | |
| 86 | old_configure = module.configure |
| 87 | |
| 88 | def new_configure(*args, **kwargs): |
| 89 | if ('default_metadata' in kwargs): |
| 90 | default_metadata = kwargs['default_metadata'] |
| 91 | else: |
| 92 | default_metadata = [] |
| 93 | default_metadata.append(("x-kaggle-proxy-data", os.environ['KAGGLE_DATA_PROXY_TOKEN'])) |
| 94 | user_secrets_token = os.environ['KAGGLE_USER_SECRETS_TOKEN'] |
| 95 | default_metadata.append(('x-kaggle-authorization', f'Bearer {user_secrets_token}')) |
| 96 | kwargs['default_metadata'] = default_metadata |
| 97 | |
| 98 | if ('client_options' in kwargs): |
| 99 | client_options = kwargs['client_options'] |
| 100 | else: |
| 101 | client_options = {} |
| 102 | |
| 103 | if os.getenv('KAGGLE_GOOGLE_GENERATIVE_AI_USE_REST_ONLY') != None: |
| 104 | kwargs['transport'] = 'rest' |
| 105 | |
| 106 | if 'transport' in kwargs and kwargs['transport'] == 'rest': |
| 107 | client_options['api_endpoint'] = os.environ['KAGGLE_DATA_PROXY_URL'] |
| 108 | client_options['api_endpoint'] += '/palmapi' |
| 109 | else: |
| 110 | client_options['api_endpoint'] = os.environ['KAGGLE_GRPC_DATA_PROXY_URL'] |
| 111 | kwargs['client_options'] = client_options |
| 112 | |
| 113 | old_configure(*args, **kwargs) |
| 114 | |
| 115 | module.configure = new_configure |
| 116 | module.configure() # generativeai can use GOOGLE_API_KEY env variable, so make sure we have the other configs set |
| 117 | |
| 118 | @wrapt.when_imported('google.genai') |
| 119 | def post_genai_import_logic(module): |
nothing calls this directly
no outgoing calls
no test coverage detected