虽然人工智能领域一直被OpenAI和微软等公司的合作所主导,Gemini却以其更大的规模和多功能性崭露头角。它被设计为能够无缝处理文本、图像、音频和视频;这些基础模型重新定义了人工智能互动的界限。随着谷歌强势回归人工智能领域,让我们看看Gemini如何重新定义人机交互的格局,预示着未来的人工智能创新。
GeminiAI是由谷歌AI创建的一系列大规模语言模型(LLMs),以在多模态理解和处理方面的尖端技术而著称。它本质上是一款强大的AI工具,能够处理各种类型的数据,而不仅仅是文本。
要获取一个免费的GoogleAPI密钥,您可以在Google上注册MakerSuite。MakerSuite是由Google提供的一款简单易用的、基于可视化的界面,用于与GeminiAPI进行交互。在MakerSuite中,您可以轻松地通过其友好的用户界面与生成模型互动,如果需要,还可以生成API令牌以实现更高级的控制和自定义。
按照以下步骤生成GeminiAPI密钥
请注意,使用的是Python3.9.0版本。建议您使用3.9+及以上版本。
从下面列出的所需依赖项开始安装,开启您的探索之旅:
通过执行如下命令来创建并启动虚拟环境。
python-mvenvvenvsource命令venv/bin/activate#在Ubuntu上运行venv/Scripts/activate#在Windows上运行创建一个名为venv的虚拟环境,然后激活它。对于Ubuntu,使用sourcevenv/bin/activate;对于Windows,使用venv/Scripts/activate。
安装以下包来设置开发环境:
pipinstallgoogle-generativeailangchain-google-genaistreamlitpillow注:此命令用于安装必要的库以支持后续开发工作。
gemini-pro模型专门用于文本生成,接受文本输入并生成文本输出。相比之下,gemini-pro-vision模型采用多模态方法,既能接受文本又能接受图像输入。该模型与OpenAI的gpt4-vision类似。
导入os导入google.generativeai作为genaios.environ['GOOGLE_API_KEY']="YourAPIKey"genai.configure(api_key=os.environ['GOOGLE_API_KEY'])#定义模型为gemini-promodel=genai.GenerativeModel('gemini-pro')生成文本回答我们开始用GeminiAI生成文本响应吧。
importosimportgoogle.generativeaiasgenaios.environ['GOOGLE_API_KEY']="AIzaSyAjsDpD-XXXXXXXXXXXXXXX"genai.configure(api_key=os.environ['GOOGLE_API_KEY'])model=genai.GenerativeModel('gemini-pro')response=model.generate_content("列出5个行星,每个都附带一个有趣的事实")print(response.text)response=model.generate_content("前5个常用的emoji表情是什么?")print(response.text)请使用下面的命令来运行这段代码。
在命令行中输入pythonapp.py运行这个Python程序。
函数GenerativeModel.generate_content()用于生成响应。该函数通过接收用户查询作为输入来生成响应,响应中包含生成的文本和额外的元数据。生成的文本可以通过response.text获取。
谷歌因在人工智能的安全和负责任使用方面建立了基础而闻名。
我们试着输入一个不安全的查询来看看模型的反应。
在错误上下文中,术语“candidate”指的是由Gemini大语言模型生成的回复。当模型生成回复时,它实际上生成了一个候选回复。.prompt_feedback函数旨在揭示提示存在的问题,以及为什么Gemini大语言模型没有生成回复。在这种情况下,反馈表明,由于安全问题,回复被阻止,并提供了四个不同类别的安全评分,如上图所示。
GeminiAI支持如温度、top_k等超参数(如温度和top_k)。要指定这些参数,请使用google-generativeai库中的GenerationConfig参数。
让我们来检查一下上面例子中用到的各个参数。
虽然我们仅使用文本输入的Gemini模型的同时,需要注意的是,Gemini实际上提供了一个名为gemini-pro-vision的模型。这个模型可以处理图像和文本输入,并生成文本输出。
我们使用PIL库来加载位于目录中的图像。接着,我们使用gemini-pro-vision模型,并调用GenerativeModel.generate_content()函数向其提供包含图像和文本的输入列表。该函数处理输入列表,使得gemini-pro-vision模型能够生成相应的回应。
迄今为止,我们已经探索了纯文本生成模型。现在,我们将深入研究基于gemini-pro的聊天版本模型。我们将使用GenerativeModel.start_chat()函数,而不是之前的GenerativeModel.generate_text()函数。
让我们开始和GeminiLLM的第一次对话,如下所示,
Langchain已成功将Gemini模型集成到其生态系统中,使用了ChatGoogleGenerativeAI类。为了开始流程,通过向ChatGoogleGenerativeAI类提供所需的Gemini模型来创建一个llm类对象。我们调用该函数并传递用户输入。可以通过访问response.content获取回复内容。
下面的代码中,我们向模型发送了一个通用查询请求。
langchain_core库中的消息类用于将内容结构化成一个包含“type”、“text”和“image_url”属性的字典列表这样的字典列表。该列表传递到llm.invoke()函数,响应内容可以通过response.content获取。
感谢GowriMBhatt,审阅了内容。
感谢你,LijaAlex,提供了关于Python版本和库的宝贵建议。谢谢