调用GenerativeModel.generate_content()遇'model'参数错误求助
解决GenerativeModel.generate_content()的TypeError错误
错误原因很直接:你在调用generate_content()方法时传入了model参数,但这个方法不支持该参数——模型名称只需在创建GenerativeModel实例时指定,无需在生成内容阶段重复传入。
修正后的第一段代码
import os from dotenv import load_dotenv import google.generativeai as genai import pathlib # 加载环境变量 load_dotenv() # 获取API密钥并配置 GOOGLE_API_KEY = os.getenv('GOOGLE_API_KEY') genai.configure(api_key=GOOGLE_API_KEY) # 初始化模型实例时指定模型名称 model = genai.GenerativeModel('gemini-1.5-flash') my_picture = { 'mime_type': 'image/png', 'data': pathlib.Path('image2.png').read_bytes() } prompt = "Describe this image in detail" # 移除多余的model参数 response = model.generate_content( content=[prompt, my_picture] ) print(response.text)
修正后的第二段代码
import os from dotenv import load_dotenv import google.generativeai as genai import pathlib load_dotenv() GOOGLE_API_KEY = os.getenv('GOOGLE_API_KEY') genai.configure(api_key=GOOGLE_API_KEY) def get_prompt_from_image(image_path, text_prompt): image_data = pathlib.Path(image_path).read_bytes() image_prompt = { 'mime_type': 'image/png', 'data': image_data } model = genai.GenerativeModel('gemini-1.5-flash') # 移除多余的model参数 response = model.generate_content( content=[text_prompt, image_prompt] ) return response.text if __name__ == '__main__': image_path = 'path_to_your_image.png' text_prompt = "Describe this image." prompt = get_prompt_from_image(image_path, text_prompt) print(f'Generated Prompt: {prompt}')
补充说明
- 第一段代码之前遗漏了
genai.configure(api_key=GOOGLE_API_KEY)配置步骤,补上后才能正常连接API; - 可通过
pip show google-generativeai命令查看当前库版本,确保版本在0.3.0及以上(新版本兼容性更佳); - 模型相关配置(如温度、top_p等)均需在创建
GenerativeModel实例时传入,而非generate_content()方法中。
内容的提问来源于stack exchange,提问作者Sami Ullah
相关产品推荐
相关产品推荐

