前面我们申请了Google的AI Gemini Pro的API,那么如何来使用API访问Gemini 的大语言模型呢。谷歌其实给出了很多入门文档,包括Python,Go,Node.js,Android等等。我自己也不怎么会python,但还是跟着文档试了一下,用Python访问谷歌的Gemini,中间遇到不会的我就问Copilot。
谷歌其实给了个例子,直接在Google Colab上就能跑起来。我就是参考它实践了一下,中间遇到的问题主要是连不上谷歌服务器(需要代理)。最后的结果也是个比较糙的,自己就是试试手,毕竟也不是干这个的,但是还挺有成就感。
去下载安装Python,这个就不多说了。我是用VS Code来编辑Python的。反正用啥看你自己习惯。
在 VS Code 上跑 Python真的是越来越喜欢VS Code这个编辑器了,轻量化,插件多。以前还用subline,自从用了VS Code以后就感觉回不去了。VS Code 要运行Python其实挺简单的。下面是步骤:安装软件其实VS Code 只是个编辑器,要跑Pyth...2023.12.19
本例中还用到了Jupyter Notebook,不过因为现在VS Code的Python插件中已经内置了Jupyter Notebook,所以不用额外安装了。
这里插一句,Jupyter Notebook是一个可以在网页上运行的程序,它可以让你在同一个界面中编写、查看和执行代码,从而使得在进行更改并立即查看结果变得更加容易。它支持多种编程语言,包括Python、R、Julia等。刚好可以用这个来当做Gemini的客户端来用了。
复制你的Gemini API Key,如果还没有申请的可以先去看看前面的文章。
谷歌 Gemini Pro 开放 API,可免费使用(附申请步骤)谷歌上周推出的多模态大模型 Gemini (双子座)把 ChatGPT 吊起来打,然后现在又发布了 Gemini API,并且免费开放给开发者使用。根据谷歌提供的价格信息,将会有两个收费方式,现阶段的免费版本可以每分钟60次请求,足够满足个...2023.12.23
然后右键点击我的电脑(此电脑) → 属性 → 高级系统设置 → 环境变量。
点击新建,然后输入你的API KEY:
点击确定保存设置。
看是否成功可以打开cmd,输入 echo %你设置的变量名% 来看看是不是输出了对应的KEY。
自己在本地创建一个ipynb文件,例如:gemini.ipynb。用VS code打开。也可以直接在VS Code里按Ctrl + Shift + P,输入Jupyter,然后选择 Create: New Jupyter Notebook。
然后就是往里面贴代码了,得益于Jupyter,我们可以写文章一样,把步骤写清楚,而且还能一段一段的执行代码。
第一步是使用 pip 命令安装google-generativeai包。在谷歌的文档中已经有了,只要点击一下该代码前面的运行标志即可。
!pip install -q -U google-generativeai
可能会有一个提示:DEPRECATION: Loading egg at c:\python\python311\lib\site-packages\pip-22.3.1-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330
。这个不用管它,其实就是说你的 pip 版本较旧,而新版本的 pip 已经不再支持加载 egg 文件。这个不会影响你代码的运行。
在notebook里运行一下下面的代码,导入几个需要的python package。然后因为我们在国内,只有美国的IP才能访问Gemini,所以需要加入代理。另外为了美观,将输出的文本转换成Markdown格式。
这里127.0.0.1:7890 是我本地的代理软件Clash的端口。我是简单的用requests搞了个代理,问了AI,说还能用grpc 来实现。
import textwrapimport osimport requestsimport google.generativeai as genaifrom IPython.display import displayfrom IPython.display import Markdownproxies = {"http": "http://127.0.0.1:7890","https": "https://127.0.0.1:7890",}def to_markdown(text):text = text.replace('•', ' *')return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
因为直接将API Key写在代码里不太安全,所以这里谷歌是把它存在了google colab的user data里(红色部分),我们现在是在本地,所以使用环境变量来访问API Key是个不错的做法。(这些都是AI 告诉我的,哈哈)
GOOGLE_API_KEY = os.environ.get("GOOGLE_GEMINI_API_KEY")genai.configure(api_key=GOOGLE_API_KEY)print("Google API Key:", GOOGLE_API_KEY) # 打印API KEY
列出当前的谷歌gemini的模型。感觉应该是可以省掉的,我注释掉反正也能跑。
for m in genai.list_models():if 'generateContent' in m.supported_generation_methods:print(m.name)
打印结果:
models/gemini-promodels/gemini-pro-vision
接下来就是调用模型生成回答了,把你要问的写在model.generate_content里,主要要有双引号。然后Gemini就会回答你的问题了。
model = genai.GenerativeModel('gemini-pro')%%timeresponse = model.generate_content("怎么禁止Wordpress的auto embeds")to_markdown(response.text)
这个只是输入文字的模型,想要多模态输入,要调用gemini-pro-vision。这个我没弄了,可以照着谷歌的文档自己弄。需要用到PIL包,大概就是在上面的基础上把下面的代码加进去:
import PIL.Imageimg = PIL.Image.open('图片的路径或者URL')imgmodel = genai.GenerativeModel('gemini-pro-vision')response = model.generate_content(["你的prompt", img], stream=True)response.resolve()to_markdown(response.text)
小火箭使用v2ray教程与常见问题解答v2ray高速节点台湾:配置指南及常见问题解答Shadowrocket不好用了?原因分析和解决方法解决V2Ray无速度问题的终极指南Fellow Eternal Clash 游戏攻略与常见问题在Windows 10 上使用Shadowsocks的全面教程Shadowsocks最快加密方式探究Shadowsocks节点分享指南Clash节点订阅教程:如何订阅和使用Clash节点?v2ray Linux客户端设置教程在Silly上搭建Xray节点实现科学上网的图文教程Clash Verge安卓版下载:开源内核的安卓版Clash客户端下载2025 新版苹果 Mac 电脑 Clash Verge Rev 下载和使用教程Spectre 苹果iOS免费科学上网客户端下载 Shadowsocks(R)/Trojan机场订阅节点配置使用教程2025 Hiddify Next 安卓代理工具 Android版客户端下载、安装与配置指南