这篇博文介绍了如何利用高通AI推理套件轻松调用Cirrascale AI推理云;今天,在此基础上,我们将展示如何使用谷歌Colab来进行。
在上一篇博文中,我们假设用户已经安装了Python语言环境;但是,如果您想要在无需安装任何本地程序的前提下通过谷歌Colab来体验该功能,那么该示例正适合您。
准备好自身环境
利用谷歌Colab,您可以在浏览器中编写和使用Python语言,同时不需要在物理机器上安装或配置任何环境。虽然谷歌Colab也允许免费使用GPU,但我们并不需要将任何GPU用于该示例,因为我们是在Cirrascale上完成AI推理过程。您可以通过任何现有的谷歌账户免费使用谷歌Colab。
创建一个新Notebook
如果您还没有创建,则请通过选择“File > New Notebook”创建一个新Notebook。
添加机密信息以隐藏您的端点选择和API密钥
谷歌Colab提供了一个存储“机密信息 (secrets)”的地方,这些“机密信息”可以是实际的敏感信息,也可以是您希望从代码中访问但不想在屏幕上向最终用户显示的任意数据片段。
如要为本项练习创建密钥,请单击左侧菜单中的密钥图标,并为API_KEY和ENDPOINT添加两个键值对。稍后,我们将在后续代码中调用这些存储值以获取实际参数。如果您还没有Cirrascale账户,则您需要在Cirrascale注册一个账户,并通过您的操作台取回密钥。
上传SDK wheel文件
本示例需要访问高通AI推理套件,该套件作为wheel文件 (imagine_sdk) 提供。最简单的访问方法是首先将文件下载到您的机器上,然后将其上传到谷歌Colab。
如要将该文件提供给谷歌Colab,您可以选择左侧菜单中的文件夹图标,并选择从本地机器上传wheel文件。如果上传成功,您可以看到在用户界面中列出的文件。
代码详解
现在我们已经设置好了所有内容,我们准备逐步演示在Notebook环境中运行代码的流程。您可以一次执行一段代码,也可以一次执行全部代码。如要添加新代码段,请在菜单栏中选择+Code命令。
导入SDK函数
首先,我们需要将上传的SDK安装到谷歌Colab上正在运行的虚拟环境中。
!pip install imagine_sdk-0.4.2-py3-none-any.whl
在代码段的左侧是一个play / go按钮,您可以单击该按钮来执行代码片段。现在执行该操作,以确保将SDK加载到环境中
注意:如果由于您没有使用而导致环境超时,您需要重新上传wheel文件。
对于我们的第一行代码,我们将从SDK中导入所需要的函数:
from imagine import ChatMessage, ImagineClient
获取在代码中使用的机密信息
现在,我们将调用先前存储的密钥信息,并将其赋值给变量,这些变量将在后续调用推理服务时使用。。
from google.colab import userdata
# store endpoint and API key
myendpoint = userdata.get('ENDPOINT')
myapikey = userdata.get('API_KEY')
创建一个客户端并选择您的模型
我们通过调用ImagineClient函数创建服务客户端,同时提供端点和密钥。我们还设置了一个变量来保存想要调用的模型选项。该模型可以是当前在Cirrascale服务上 运行的任何大型语言模型。
对于本示例而言,我们将使用Llama-3.1-8B模型,但更大的70B模型同样适用。
# create a client
client = ImagineClient(endpoint=myendpoint, api_key=myapikey)
# choose an LLM to use
mymodel = "Llama-3.1-8B"
准备好提示符
对于任何大型语言模型,我们都提供一个提示符,以引导获得我们想要的响应;我们将使用模型来评估客户反馈。随后的代码段演示了如何构建一个双部分提示模板,以便轻松测试不同反馈内容,验证LLM是否能按预期方式进行评估。
# a test piece of customer feedback
feedback = "Feedback: ' We loved this hotel, we will be coming back.'"
# building the prompt
mycontent = "You are an expert at sentiment analysis. Please evaluate the following customer feedback and answer only with positive, negative, or neutral. Only answer positive, negative, or neutral in lowercase. " + feedback
构建您的聊天信息并调用服务器
通过第二个SDK函数ChatMessage,我们将构建发往推理服务器的消息结构,并利用已准备好的所有参数发起调用。
# setting up the chat message to the server
mymessage = ChatMessage(role="user", content=mycontent)
# call the server
chat_response = client.chat(
messages=[mymessage],
model=mymodel,
)
打印输出响应
最后,我们将打印输出响应。如果一切顺利,您应该会在完成最后一步后看到“正面”字样显示。如果你想改变输出,只需加入任何类型的负面或中立客户反馈,以改变上述输入内容。
# print out the response
print(chat_response.first_content)
总结
到此结束!如果您一路操作到这一步,说明您已经顺利完成,并且可以了解到如何利用谷歌Colab轻松学习并修改该示例,以针对所有已安装模型处理任何类型的提示符。
我们后续会创建更多代码示例,请Star该代码库,以了解未来更新的内容。
亲自体验一下
在高通推理套件这类可扩展平台上使用推理的过程与使用任何其他简单API一样直观。请尝试从您自己的谷歌Colab Notebook内部调用!
请加入我们的开发者Discord社区,与其他开发者建立联系,并获得最新消息和及时技术支持。
在所发布内容中表达的观点仅为原作者的个人观点,并不代表高通技术公司或其子公司(以下简称为“高通技术公司”)的观点。所提供的内容仅供参考之用,而并不意味着高通技术公司或任何其他方的赞同或表述。本网站同样可以提供非高通技术公司网站和资源的链接或参考。高通技术公司对于可能通过本网站引用、访问、或链接的任何非高通技术公司网站或第三方资源并没有做出任何类型的任何声明、保证、或其他承诺。
高通品牌产品均为高通技术公司和/或其子公司的产品。
关于作者
雷·斯蒂芬森,云端开发者关系主管
