- vừa được xem lúc

Tôi đã sử dụng Chatgpt để tạo ứng dụng AI trên AWS

0 0 10

Người đăng: Kiên Lý

Theo Viblo Asia

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

Bình luận

Bài viết tương tự

- vừa được xem lúc

PDF Export, cẩn thận với những input có thể truyền vào

Giới thiệu. Dạo gần đây mình tình cờ gặp rất nhiều lỗi XSS, tuy nhiên trang đó lại có sử dụng dữ liệu người dùng input vào để export ra PDF.

0 0 66

- vừa được xem lúc

Giới thiệu về AWS Batch

Khi sử dụng hệ thống cloud service, điều chúng ta thường phải quan tâm đến không chỉ là hiệu suất hoạt động (performance) mà còn phải chú ý đến cả chi phí bỏ ra để duy trì hoạt động của hệ thống. Chắn hẳn là hệ thống lớn hay nhỏ nào cũng đã từng phải dùng đến những instance chuyên để chạy batch thực

0 0 143

- vừa được xem lúc

Tìm hiểu về AWS KMS

1. AWS KMS là gì. Ở KMS bạn có thể lựa chọn tạo symetric key (khóa đối xứng) hoặc asymetric key (khóa bất đối xứng) để làm CMK (Customer Master Key). Sau khi tạo key thì có thể thiết đặt key policy để control quyền access và sử dụng key.

0 0 66

- vừa được xem lúc

AWS VPC cho người mới bắt đầu

Tuần này, tôi trình bày lại những gì tôi đã học được về Virtual Private Cloud (VPC) của Amazon. Nếu bạn muốn xem những gì tôi đã học được về AWS, hãy xem Tổng quan về DynamoDB và Tổng quan về S3. VPC là gì. Những điều cần lưu ý:.

0 0 84

- vừa được xem lúc

AWS Essentials (Phần 6): Guildline SNS Basic trên AWS

Tiếp tục với chuỗi bài viết về Basic AWS Setting, chúng ta tiếp tục tìm hiểu tiếp tới SNS (Simple Notification Service). Đây là một service của AWS cho phép người dùng setting thực hiện gửi email, text message hay push notification tự động tới mobile device dựa trên event người dùng setting phía AWS

0 0 145

- vừa được xem lúc

Sử dụng Amazon CloudFront Content Delivery Network với Private S3 Bucket — Signing URLs

Trong nhiều trường hợp, thì việc sử dụng CDN là bắt buộc. Mình đã trải nghiệm với một số CDN nhưng cuối cùng mình lựa chọn sử dụng AWS CloudFront.

0 0 117