所有文章 > AI驱动 > 谷歌Gemini API免费开放,几行代码即可云端部署
谷歌Gemini API免费开放,几行代码即可云端部署

谷歌Gemini API免费开放,几行代码即可云端部署

12月14日,谷歌在官网宣布,免费开放Gemini Pro和Gemini Pro Vision的API,支持中文。

Gemini Pro隶属于谷歌前几天最新发布的大语言模型Gemini家族,性能强、能耗低可自动生成文本/代码、总结内容、语义检索等。支持32K上下文(下一个版本会更大),38种语言。

目前,谷歌的类ChatGPT聊天产品Bard使用的就是Gemini Pro模型。

Gemini Pro Vision是谷歌最新推出的多模态模型,可以识别用户输入的图片,同样免费提供API

目前谷歌的开发者平台也放出了简单的流程,我们话不多说,先体验

ChatGPT一样,也要使用API Key

登录Google AI Studio,然后create API key in new project

然后根据Gemini API: Quickstart with Python  |  Google AI for Developers根据教程来进行代码编写。

目前用这个API KEY可以使用Gemin pro ,Gemini vision。尝试本地部署,但是会出现连接错误

所以必须采取曲线救国的方式,需要将demo运行在google认证的域里面,比如google colab,没有的小伙伴可以自行申请一个。

然后我们在google colab上新建一个笔记,然后安装好相应的依赖

! pip3 install --upgrade --user google-cloud-aiplatform!pip install google-generativeai==0.3.1!pip install python-dotenv

然后做好认证

import sys
# Additional authentication is required for Google Colabif "google.colab" in sys.modules: # Authenticate user to Google Cloud from google.colab import auth
auth.authenticate_user()

配置好API key

import pathlibimport textwrap
import google.generativeai as genai
genai.configure(api_key='AIzaSyBhLrxD8xAe154dqLXTI_xfkdY2dKa_KKw')

接下来就是简单的chat配置

import google.generativeai as genaifrom dotenv import load_dotenvimport osfrom datetime import datetimeimport re
def main(): load_dotenv() #api_key = os.getenv("GEMINI_API_KEY")    api_key = 'your api key' if not api_key: raise ValueError( "API key not found. Please set your GEMINI_API_KEY in the environment.")
genai.configure(api_key=api_key)
generation_config = { "temperature": 0.7, "top_p": 1, "top_k": 1, "max_output_tokens": 2048, }
safety_settings = { "HARM_CATEGORY_HARASSMENT": "BLOCK_NONE", "HARM_CATEGORY_HATE_SPEECH": "BLOCK_NONE", "HARM_CATEGORY_SEXUALLY_EXPLICIT": "BLOCK_NONE", "HARM_CATEGORY_DANGEROUS_CONTENT": "BLOCK_NONE", }

model = genai.GenerativeModel( 'gemini-pro', generation_config=generation_config, safety_settings=safety_settings) chat = model.start_chat(history=[])
while True: user_input = input("User: ").strip() try: response = chat.send_message(user_input, stream=True) response_text = "" for chunk in response: print(chunk.text) print("="*80)
except Exception as e: print(f"An error occurred: {e}")if __name__ == "__main__": main()

,整体来说和ChatGPT有的一拼,接下来我们使用Gemini vision,看看Gemini对图片的理解能力如何

import google.generativeai as genaiimport osfrom dotenv import load_dotenvimport PIL.Image
img_vision = PIL.Image.open('/content/d040f28e.jpg')
def setup(): try:
# Load environment variables gemini_api_key = 'your api key' print(f"Gemini API Key: {gemini_api_key}") if gemini_api_key is None: raise Exception("GEMINI_API_KEY is not set") genai.configure(api_key=gemini_api_key) except Exception as exception: raise Exception("An error occurred during setup:", exception)
def generate_text(img): try: model = genai.GenerativeModel(model_name='gemini-pro-vision') response = model.generate_content(['写一个故事关于这图片',img]) return response.text except Exception as exception: raise Exception("An error occurred during text generation:", exception)
if __name__ == "__main__": try: setup() #print(f"Gemini Pro\nEnter a prompt:") #prompt = input() response = generate_text(img_vision) print(response) except Exception as exception: print(f"An error occurred: {exception}")

我们让他根据这张图片写一个故事

结果如下:

整体的表述很清晰,时间、地点、人物、事件都描述的很清晰。

如果大家在体验过程中出现400错误An error occurred: 400 Unknown error trying to retrieve streaming response. Please retry with `stream=False` for more details.可以尝试清除下浏览器缓存。

文章转自微信公众号@IoT Inn

#你可能也喜欢这些API文章!