Tôi đã sử dụng Chatgpt để tạo ứng dụng AI trên AWS
Mô hình ngôn ngữ mới này có thể là người lập trình viên cùng bạn trong tương lai
ChatGPT một mô hình ngôn ngữ mới là phiên bản cải tiến của GPT-3, và có thể, cho chúng ta cái nhìn sơ lược về những gì GPT-4 sẽ có khả năng khi nó được phát hành vào đầu năm tới (như được đồn đại). Với ChatGPT, có thể có cuộc trò chuyện thực tế với mô hình, tham khảo lại các điểm trước đó trong cuộc trò chuyện.
Tôi muốn dùng thử nếu tôi có thể sử dụng mô hình này như một đồng nghiệp lập trình viên mà tôi có thể đưa ra một số hướng dẫn và nó tạo ra code cho tôi. Tất nhiên, tôi vẫn sẽ kiểm tra lại những đoạn mã đó, nhưng ít nhất tôi sẽ không phải viết chúng từ đầu nữa.
Vì vậy, trong bài đăng này, tôi mô tả cách tôi đã sử dụng ChatGPT để tạo một ứng dụng phân tích cảm xúc đơn giản từ đầu. Ứng dụng sẽ chạy trên phiên bản EC2 và sử dụng mô hình NLP hiện đại từ Hugging Face Model Hub. Kết quả thật đáng kinh ngạc 😮
Tôi đã phải thử và tinh chỉnh lời nhắc một vài lần để có được kết quả tôi muốn. Điều đó đang được nói, nó thường chỉ mất các tinh chỉnh nhỏ để có được kết quả mong muốn. Lời nhắc của tôi và mã được tạo bởi mô hình có thể được tìm thấy trong GitHub repo này!
Bắt đầu thôi!
Trước tiên hãy kiểm tra xem Chatgpt có sẵn sàng chưa:
Hãy đi sâu vào chi tiết, theo yêu cầu của người bạn đồng hành này!
Tạo mẫu CloudFormation cho EC2 instance
Chúng ta muốn chạy ứng dụng này trên phiên bản EC2, nhưng chúng ta không muốn nhấp qua bảng điều khiển AWS để tạo phiên bản EC2 này. Do đó, nhiệm vụ đầu tiên của chúng ta đối với ChatGPT là tạo một mẫu CloudFormation thiết lập EC2 instance:
Hướng dẫn khá cụ thể (ví dụ: tôi phải tự mình tra cứu AMI ID), nhưng tôi vẫn khá ngạc nhiên khi nó xuất hiện với một mẫu CF gần như hoàn hảo. Lưu ý rằng ChatGPT cũng đặt một số tuyên bố từ chối trách nhiệm ở cuối mã! Toàn bộ mã được tạo ra bởi Chatgpt:
AWSTemplateFormatVersion: '2010-09-09'
Description: A simple CloudFormation template for creating a security group and launching an EC2 instance
Resources:
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: chatgpt-demo-sg
GroupDescription: Security group for chatgpt-demo EC2 instance
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 8501
ToPort: 8501
CidrIp: 0.0.0.0/0
EC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: g4dn.xlarge
ImageId: ami-09f85944838b438c5
SecurityGroups:
- Ref: SecurityGroup
UserData:
'Fn::Base64': |
#!/bin/bash
# Activate the pre-built pytorch environment
source activate pytorch_p36
# Install the libraries "transformers" and "streamlit" via pip
pip install transformers streamlit
Lưu ý rằng phiên bản EC2 thực sự không nhận được tên chúng tôi đã chỉ định trong dấu nhắc. Một "lỗi" khác trong mẫu này là môi trường pytorch được cài đặt sẵn trên AMI được gọi là "pytorch" không phải "pytorch_36". Hãy sửa nó bằng cách thay thế tên môi trường.
Ok, chạy dòng này đã khởi động việc tạo Stack bằng cách sử dụng mẫu CF. Sau vài phút, chúng ta thấy phiên bản EC2 đang hoạt động. Lưu ý rằng mẫu đã tạo một nhóm bảo mật và phiên bản EC2 sử dụng nhóm bảo mật đó như được chỉ định:
SSH vào EC2 instance để xem các package chúng ta cần đã được cài đặt chưa Có vẻ như mọi thứ được thiết lập cho ứng dụng Streamlit 😊
Ứng dụng Streamlit
Bây giờ chúng ta cần một ứng dụng chạy trên Streamlit và phân tích cảm xúc của văn bản. Trước sự ngạc nhiên của tôi, điều này thậm chí còn dễ dàng hơn tôi mong đợi:
Một lần nữa, từ chối trách nhiệm tốt đẹp ở cuối. Toàn bộ mã:
import streamlit as st
from transformers import pipeline
# Set the title of the application
st.title("A sentiment analyser written by ChatGPT")
# Create the input text field
text = st.text_input("Enter some text to analyse:")
# Use the Hugging Face Pipeline API to create a sentiment classifier
sentiment_classifier = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
# Evaluate the text entered by the user and display the result
if text:
result = sentiment_classifier(text)[0]
st.write(f"Predicted sentiment: {result['label']}")
Điều này thực sự có vẻ tốt với tôi, chúng ta hãy cố gắng chạy điều này mà không cần sửa đổi. Sao chép và dán mã này vào một tệp trên EC2 có tên là 'app.py'. Nhưng làm cách nào để chạy lại ứng dụng Streamlit? Hãy hỏi 'đồng nghiệp' của tôi:
Tôi đã cài đặt Streamlit, vì vậy hãy tiếp tục và chạy 'streamlit run app.py': Có vẻ tốt!
Kết luận
Điều này đã rất thú vị và khả năng là vô tận. Tôi sẽ cố gắng thử nghiệm nhiều hơn với mô hình này trong tương lai!
Kham khảo
https://towardsdatascience.com/i-used-chatgpt-to-create-an-entire-ai-application-on-aws-5b90e34c3d50
All rights reserved