大型语言模型(LLMs)能够以类似人类的方式生成文本,它们被广泛应用于自然语言处理(NLP)领域,包括聊天机器人、文本摘要器、翻译应用和虚拟助手等。谷歌最近发布了其下一代模型——Palm 2,该模型在高级科学和数学运算方面表现出色,并且被用于推理和语言翻译。Palm 2模型经过100多种口语和20多种编程语言的训练,使其能够将一种编程语言翻译成另一种,例如将Python代码翻译成R或将JavaScript代码翻译成TypeScript等。此外,Palm 2还能够生成成语和短语,并且能够将复杂任务分解为更简单的任务,相较于之前的模型有了显著的提升。
通过Palm API,可以访问谷歌的生成性AI模型的能力,并开发出有趣的AI驱动应用程序。如果想直接从浏览器与Palm 2模型交互,可以使用基于浏览器的IDE“MakerSuite”。但是,也可以通过Palm API将大型语言模型集成到应用程序中,并使用公司的数据构建AI驱动的应用程序。Palm API设计了三种不同的提示接口,可以使用其中任何一个来开始使用Palm API。它们是:
访问网站 并加入maker suite。将被添加到等待列表中,可能在24小时内获得访问权限。
生成API密钥:需要获得自己的API密钥来使用API。可以使用API密钥将应用程序连接到Palm API,并访问其服务。一旦账户注册完成,将能够生成它。接下来,按照下图所示生成API密钥,并保存API密钥,因为稍后会使用它。
要使用Python与API一起使用,安装它使用命令:
pip install google-generativeai
接下来,使用之前生成的API密钥进行配置。
import google.generativeai as palm
palm.configure(api_key=API_KEY)
要列出可用的模型,编写以下代码:
models = [model for model in palm.list_models()]
for model in models:
print(model.name)
输出:
models/chat-bison-001
models/text-bison-001
models/embedding-gecko-001
使用“text-bison-001”模型来生成文本,并传递GenerateTextRequest。generate_text()函数接受两个参数,即模型和提示。将模型作为“text-bison-001”,提示包含输入字符串。
在下面的示例中,传递了带有模型名称的model_id变量和一个包含输入文本的prompt变量。然后将model_id作为模型,prompt作为提示传递给generate_text()方法。
model_id="models/text-bison-001"
prompt='''write a cover letter for a data science job applicaton.
Summarize it to two paragraphs of 50 words each. '''
completion=palm.generate_text(
model=model_id,
prompt=prompt,
temperature=0.99,
max_output_tokens=800,
)
print(completion.result)
输出:
定义了一个while循环,它请求输入并生成回复。response.last语句打印响应。
model_id="models/chat-bison-001"
prompt='I need help with a job interview for a data analyst job. Can you help me?'
examples=[
('Hello', 'Hi there mr. How can I be assistant?'),
('I want to get a High paying Job','I can work harder')
]
response=palm.chat(messages=prompt, temperature=0.2, context="Speak like a CEO", examples=examples)
for messages in response.messages:
print(messages['author'],messages['content'])
输出:
while True:
s=input()
response=response.reply(s)
print(response.last)
LangChain是一个开源框架,允许将大型语言模型连接到应用程序中。要将Palm API与langchain一起使用,导入GooglePalmEmbeddings从langchain.embeddings。Langchain有一个嵌入类,为各种文本嵌入模型提供了一个标准接口,如OpenAI、HuggingFace等。
from langchain.embeddings import GooglePalmEmbeddings
from langchain.llms import GooglePalm
llm=GooglePalm(google_api_key=API_KEY)
llm.temperature=0.2
prompts=["How to Calculate the area of a triangle?","How many sides are there for a polygon?"]
llm_result= llm._generate(prompts)
res=llm_result.generations
print(res[0][0].text)
print(res[1][0].text)
输出:
1.
**Find the base and height of the triangle.
** The base is the length of the side of the triangle that is parallel to the ground, and the height is the length of the line segment that is perpendicular to the base and intersects the opposite vertex.
2.
**Multiply the base and height and divide by 2.
** The formula for the area of a triangle is A = 1/2 * b * h.
For example, if a triangle has a base of 5 cm and a height of 4 cm, its area would be 1/2 * 5 * 4 = 10 cm2.
3