Gemini API:返回错误的代码 GenerativeModel.generate_content() 收到意外的关键字参数“温度”

问题描述 投票:0回答:1
import google.generativeai as genai

def query_gemini(model_name="models/chat-bison-001", temperature=0.7, top_k=40, top_p=0.95, max_output_tokens=1024):
    """Configures parameters for the Gemini model."""
    return {
        'model': model_name,
        'temperature': temperature,
        'max_output_tokens': max_output_tokens,
        'top_p': top_p,
        'top_k': top_k
    }

def get_completion(params, messages):
    """Generates text using the Gemini API."""
    model_name = params['model']

    # Create model instance from the provided model name
    model = genai.GenerativeModel(model_name=model_name)

    # Create a request object and populate it 
    request = {
        "temperature": params['temperature'],
        "candidate_count": 1,
        "top_k": params['top_k'],
        "top_p": params['top_p'],
        "max_output_tokens": params['max_output_tokens'],
    }

    # Generate text using the model and request object, with messages as the only positional argument
    response = model.generate_content(messages, **request)
    
    # Check if response is not None before trying to access it
    if response:
        return response.candidates[0].output  # Extract text from response
    else:
        return None
    

params = query_gemini()
messages = [
    {"role": "user", "content": "What are the main benefits of renewable energy?"}
]
response_text = get_completion(params, messages)
print(response_text)

我试图将参数传递给generate_content()函数,但返回相同的错误。有人可以帮忙吗? 响应 = model.generate_content(messages, **request) 以下行返回错误

python-3.x prompt google-gemini google-generativeai
1个回答
0
投票

Palm/Bison系列机型和Gemini系列机型的调用方式不同

这里有一个关于如何向 Bison 发出请求的示例: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/text#sample_request

这里有一个关于如何对 Gemini 执行相同操作的示例: https://cloud.google.com/vertex-ai/generative-ai/docs/reference/python/latest#chat

提示: Gemini 系列模型比 Palm/Bison 具有更好的精度

© www.soinside.com 2019 - 2024. All rights reserved.