随着大型语言模型(LLM)的引入,它们正在逐渐取代传统的基于规则的聊天机器人。这些模型在理解文本和创建自然对话方面的能力更强,因此它们正在取代传统的聊天机器人。然而,自从LLM出现以来,它们所做的不仅仅是它们所能做的。例如,它们能够将自然语言转换为SQL查询,能够浏览互联网以获取最新信息。现在,它们甚至能够执行代码。在本文中,将探讨Gemini新发布的代码执行功能。
了解LLM的代码执行能力。
介绍Gemini Flash 1.5。
学习如何获取Gemini的API密钥。
理解LLM在数学任务中的失败原因。
利用代码执行功能提高LLM的精确性和准确性。
Gemini模型是谷歌推出的一系列大型语言模型。谷歌推出Gemini是为了与流行的闭源大型语言模型竞争,如OpenAI的GPT4和Anthropic的Claude。Gemini是一个多模态大型语言模型,能够理解文本、图像、音频甚至视频。
GPT4能够做到与Gemini相同的事情,但它与Gemini的一个区别是运行它生成的代码。最近,谷歌更新了Gemini模型,使其能够运行代码。代码执行之所以可能,是因为Gemini的函数调用能力,代码执行与它非常相似,并且它生成的代码将运行并获取结果,以生成最终输出给用户。
Gemini生成的代码将在隔离的沙箱环境中运行。目前,沙箱环境中只有numpy和sympy库,生成的代码无法下载和安装新的Python库。
在开始编码之前,需要获取谷歌提供的免费API密钥,以测试Gemini模型。免费API甚至支持代码执行。要获取免费API,可以点击。现在,将开始安装库。
!pip install -q -U google-generativeai
安装google-generativeai库时,保持-U标志很重要。这是因为代码执行是一个新特性,将需要最新版本的google-generativeai库才能工作。现在将进行身份验证。
import google.generativeai as genai
GOOGLE_API_KEY = "YOUR API KEY"
genai.configure(api_key=GOOGLE_API_KEY)
在这里,导入了google.generativeai库,并调用了.configure()方法。将通过登录谷歌AI云获得的API密钥提供给这个方法。现在可以开始使用Gemini模型了。
model = genai.GenerativeModel(model_name='gemini-1.5-flash')
response = model.generate_content("How are you?")
print(response.text)
在这里,首先创建了一个GenerativeModel类的实例。在实例化这个对象时,提供了正在使用的模型的名称,这里是gemini-1.5-flash,这是谷歌的最新模型。为了测试模型,调用了.generate_content()方法,然后给它提供了查询,并在response变量中存储了生成的文本。最后,打印了响应。可以在上面的图片中观察到响应。
现在,让尝试向模型提出相同的两个问题,但这次,提供给它代码执行工具的访问权限。
model2 = genai.GenerativeModel(model_name='gemini-1.5-flash', tools='code_execution')
response = model2.generate_content("Trim this word to first 5 letters, Mississippi. Use code execution tool")
print(response.text)
response = model2.generate_content("What is the sum of first 100 fibanocci numbers?")
print(response.text)