Google Gemini大模型API使用
Google Gemini大模型API使用
前不久Google 开放了他们的大语言模型Gemini,目前Gemini Pro版已经可以通过开放API使用,搭建过程非常方便。 顺带,我把这个API接入到了我的Telegram机器人中,反正免费的,当作一个个人助手使用。 参考我的另一篇博客:基于flask和webhook的telegram 机器人 Github仓库在这:mawwalker/Archbot
准备
你需要有一个google帐号,并且能有海外网络环境,方便访问API。
并且最好有一台海外的vps,在海外的vps用API访问,并且搭建网页前端,都是很方便的。
申请API
官网链接:Google AI Studio 进去直接点击申请即可,复制API Key。官方给出了一个测试的命令,可以测试下:
curl \
-H 'Content-Type: application/json' \
-d '{"contents":[{"parts":[{"text":"Write a story about a magic backpack"}]}]}' \
-X POST https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=YOUR_API_KEY
将YOUR_API_KEY替换为你刚申请的API Key,如果正常有结果返回就行。
海外VPS
自行准备一个境外的服务器,推荐的有亚马逊的Lightsail,vultr,阿里云/腾讯云海外region的轻量应用服务器等。 亚马逊Lightsail用起来挺爽的,3.5$一个月,新用户注册免费用三个月前两个基础配置的服务器,但是帐号注册有点折腾,可以自行找网上教程。
Vultr新用户,有一个月的免费$250的赠送额度(活动可能有时效,以注册时的官网信息为准),需要绑定visa申请,有visa卡的朋友可以白嫖一下,点击链接申请: https://www.vultr.com 后续付款是支持支付宝、paypal等方式的,这里用visa开通,应该是为了避免被无限白嫖。vultr是按小时收费的,可以随用随开,用完即删。
阿里云跟腾讯云差不多,注意是买轻量应用服务器,不是阿里云ECS这种,ECS很贵。。。缺点是,这两个是包月购买。
Python 示例
官方提供了Python的Quick Start: Gemini API: Quickstart with Python
初始化
使用如下命令,安装两个依赖:
pip install google-generativeai ipykernel
导入必要的库,设置环境变量GOOGLE_API_KEY为你前面申请的KEY,并初始化Google API
import pathlib
import textwrap
import os
import google.generativeai as genai
from IPython.display import display
from IPython.display import Markdown
def to_markdown(text):
text = text.replace('•', ' *')
return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
GOOGLE_API_KEY = os.getenv('GOOGLE_API_KEY')
genai.configure(api_key=GOOGLE_API_KEY)
其中,to_markdown函数,用来将模型返回的结果,转换成可以在Python Notebook上显示的Markdown对象
列出可以使用的模型
for m in genai.list_models():
if 'generateContent' in m.supported_generation_methods:
print(m.name)
输出:
models/gemini-pro
models/gemini-pro-vision
调用模型
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("给我讲个笑话")
print(response.text)
markdown格式化
如果是在Notebook中运行的,使用如下命令,可以显示markdown的格式化文本
to_markdown(response.text)
更多的使用方式可以参考官方文档,github上还有一个自建聊天前端的仓库,折腾中。。。