问题
Langchain使用Gemini为底座时,需要设置transport='rest'
,表示使用HTTP
否则无法正确使用Gemini API,会一直因为网络问题阻塞。
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.prompts import PromptTemplate
from pydantic import SecretStr
llm = ChatGoogleGenerativeAI(model="gemini-1.5-pro",
google_api_key=SecretStr("你的key"),
transport='rest')
prompt = PromptTemplate.from_template("""
你是一个智能机器人,负责回答用户提出的问题。
问题:{question}
""")
chain = prompt | llm
r = chain.invoke(input={'question':'hi'})
print( r)
响应
content='Hi there! How can I help you today?\n' additional_kwargs={} response_metadata={'prompt_feedback': {'block_reason': 0, 'safety_ratings': []}, 'finish_reason': 'STOP', 'safety_ratings': []} id='run-f4dc5525-eb9e-425e-aa16-21f2915f52f5-0' usage_metadata={'input_tokens': 18, 'output_tokens': 11, 'total_tokens': 29, 'input_token_details': {'cache_read': 0}}
可以看到是正确的输出了。
当然,这一切的前提是要科学上网