{"record":{"id":"22781d32b38f0242","repo":"BerriAI/litellm","slug":"importing-google-generativeai-failed-please-run","errorCode":null,"errorMessage":"Importing google.generativeai failed, please run 'pip install -q google-generativeai","messagePattern":"Importing google\\.generativeai failed, please run 'pip install -q google-generativeai","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"litellm/llms/deprecated_providers/palm.py","lineNumber":104,"sourceCode":"        }\n\n\ndef completion(\n    model: str,\n    messages: list,\n    model_response: ModelResponse,\n    print_verbose: Callable,\n    api_key,\n    encoding,\n    logging_obj,\n    optional_params: dict,\n    litellm_params=None,\n    logger_fn=None,\n):\n    try:\n        import google.generativeai as palm\n    except Exception:\n        raise Exception(\"Importing google.generativeai failed, please run 'pip install -q google-generativeai\")\n    palm.configure(api_key=api_key)\n\n    model = model\n\n    ## Load Config\n    inference_params: Final = copy.deepcopy(optional_params)\n    inference_params.pop(\n        \"stream\", None\n    )  # palm does not support streaming, so we handle this by fake streaming in main.py\n    config: Final = litellm.PalmConfig.get_config()\n    for k, v in config.items():\n        if (\n            k not in inference_params\n        ):  # completion(top_k=3) > palm_config(top_k=3) <- allows for dynamic variables to be passed in\n            inference_params[k] = v\n\n    prompt = \"\"\n    for message in messages:","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/llms/deprecated_providers/palm.py#L86-L122","documentation":"Error \"Importing google.generativeai failed, please run 'pip install -q google-generativeai\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/llms/deprecated_providers/palm.py:104 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install google-generativeai: pip install -q google-generativeai."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}