赞
踩
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
之前一直使用的是 ChatGPT,没有关注过其他的模型,最近Meta开源了LLama 2模型,它已经过预训练,并使用多达700亿个参数进行了微调。擅长处理众多领域的复杂推理任务,包括编程和创意写作等专业领域。而AWS可以通过 Lambda 服务 和AWS API Gateway将Llama 2 暴露出来,通过Api的方式来进行调用。所以这次就通过python来调用接口在本地构建一个基于LLama 2的聊天机器人
托管 Llama 2 的基本概要如下:
1、创建Amazon SageMaker域
2、在SageMaker Studio中搜索Llama-2-7b-chat模型
3、Deploy 模型
Search栏输入 -> Lambda,进入Lambda控制台,点击创建函数
Gradio 是一个用于快速创建界面化应用程序的库,使用gradio,只需在原有的代码中增加几行,就能自动化生成交互式web页面,并支持多种输入输出格式,比如图像分类中的图>>标签,超分辨率中的图>>图等。
环境:Windows + Python3.9
1、安装Gradio
pip install gradio
2、使用 Gradio 创建一个简单的用户界面,用户可以在文本框中输入问题,然后调用 Llama API 进行回答
import gradio as gr import requests # 替换为您自己的 Llama API 端点 llama_api_endpoint = "https://xxxx" if __name__ == "__main__": with gr.Blocks() as demo: gr.Markdown("## Llama2 聊天机器人") with gr.Column(): chatbot = gr.Chatbot() with gr.Row(): with gr.Column(): message = gr.Textbox(label="Chat Message Box", placeholder="Chat Message Box", show_label=False) with gr.Column(): with gr.Row(): submit = gr.Button("submit") def respond(message, chat_history): json_body = { "inputs": [ [ {"role": "system", "content": "你现在是一个聊天机器人,根据用户的问话进行合理的回答"}, {"role": "user", "content": message} ] ], "parameters": {"max_new_tokens": 256, "top_p": 0.9, "temperature": 0.6} } # send request to endpoint llm_response = requests.post(llama_api_endpoint, json=json_body).json() print(llm_response) parsed_response = llm_response[0]['generation']['content'] chat_history.append((message, parsed_response)) return "", chat_history submit.click(respond, [message, chatbot], [message, chatbot], queue=False) demo.launch(share=True)
gr.Textbox() 是输入元素,我们可以在其中输入问题
respond 函数是用来发送请求到 Llama API,并解析 API 的响应以获取答案
最后使用launch()来启动应用,share=True可以在控制台中打印外部的访问链接地址
在浏览器输入http://127.0.0.1:7860/,就可以进行访问,访问链接,我们会看到一个聊天页面,可以尝试向 Llama 2 问些问题
测试一下效果:
可以看到,已经可以接受到Llama 2 的回答了。可以愉快的跟Llama 2 进行聊天了。
今天介绍了如何在本地环境中使用 python调用 Llama 2接口。首先,我们需要搭建 Lambda服务暴露模型请求接口。
接下来,我们就使用 Gradio 创建一个简单的用户界面来输入问题,然后调用 Llama API 进行回答。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。