Hình ảnh của phim hoạt hình on Freepik
Đây là thời đại mà sự đột phá của AI đang đến hàng ngày. Vài năm trước, chúng ta không có nhiều công nghệ do AI tạo ra, nhưng giờ đây mọi người đều có thể tiếp cận công nghệ này. Thật tuyệt vời đối với nhiều người sáng tạo cá nhân hoặc công ty muốn tận dụng đáng kể công nghệ để phát triển thứ gì đó phức tạp, có thể mất nhiều thời gian.
Một trong những bước đột phá đáng kinh ngạc nhất làm thay đổi cách chúng tôi làm việc là việc phát hành Mô hình GPT-3.5 của OpenAI. Mô hình GPT-3.5 là gì? Nếu tôi để người mẫu tự nói. Trong trường hợp đó, câu trả lời là “một mô hình AI rất tiên tiến trong lĩnh vực xử lý ngôn ngữ tự nhiên, với những cải tiến lớn trong việc tạo văn bản phù hợp và chính xác theo ngữ cảnht ”.
OpenAI cung cấp một API cho mô hình GPT-3.5 mà chúng ta có thể sử dụng để phát triển một ứng dụng đơn giản, chẳng hạn như trình tóm tắt văn bản. Để làm điều đó, chúng ta có thể sử dụng Python để tích hợp API mô hình vào ứng dụng dự định của mình một cách liền mạch. Quá trình này trông như thế nào? Hãy đi vào nó.
Có một vài điều kiện tiên quyết trước khi làm theo hướng dẫn này, bao gồm:
– Kiến thức về Python, bao gồm kiến thức sử dụng thư viện bên ngoài và IDE
– Hiểu biết về API và xử lý endpoint bằng Python
– Có quyền truy cập vào API OpenAI
Để có quyền truy cập API OpenAI, chúng tôi phải đăng ký trên Nền tảng nhà phát triển OpenAI và truy cập vào Xem các khóa API trong hồ sơ của bạn. Trên web, nhấp vào nút “Tạo khóa bí mật mới” để có quyền truy cập API (Xem hình ảnh bên dưới). Hãy nhớ lưu các phím vì chúng sẽ không hiển thị các phím sau đó.
Hình ảnh của Tác giả
Với tất cả sự chuẩn bị đã sẵn sàng, hãy cố gắng hiểu cơ bản về mô hình API OpenAI.
Sản phẩm Mẫu gia đình GPT-3.5 đã được chỉ định cho nhiều nhiệm vụ ngôn ngữ và mỗi mô hình trong gia đình vượt trội trong một số nhiệm vụ. Đối với ví dụ hướng dẫn này, chúng tôi sẽ sử dụng gpt-3.5-turbo
vì nó là mô hình hiện tại được đề xuất khi bài báo này được viết vì khả năng và hiệu quả chi phí của nó.
Chúng tôi thường sử dụng các text-davinci-003
trong hướng dẫn OpenAI, nhưng chúng tôi sẽ sử dụng mô hình hiện tại cho hướng dẫn này. Chúng tôi sẽ dựa vào Trò chuyệnHoàn thành điểm cuối thay vì Hoàn thành vì mô hình được đề xuất hiện tại là mô hình trò chuyện. Ngay cả khi tên là một mô hình trò chuyện, nó vẫn hoạt động cho bất kỳ tác vụ ngôn ngữ nào.
Hãy cố gắng hiểu cách thức hoạt động của API. Đầu tiên, chúng ta cần cài đặt các gói OpenAI hiện tại.
pip install openai
Sau khi chúng tôi cài đặt xong gói, chúng tôi sẽ thử sử dụng API bằng cách kết nối qua điểm cuối ChatCompletion. Tuy nhiên, chúng ta cần thiết lập môi trường trước khi tiếp tục.
Trong IDE yêu thích của bạn (đối với tôi, đó là Mã VS), hãy tạo hai tệp có tên .env
và summarizer_app.py
, tương tự như hình bên dưới.
Hình ảnh của Tác giả
Sản phẩm summarizer_app.py
là nơi chúng tôi sẽ xây dựng ứng dụng tóm tắt đơn giản của mình và .env
tệp là nơi chúng tôi sẽ lưu trữ Khóa API của mình. Vì lý do bảo mật, chúng tôi luôn khuyên bạn nên tách khóa API của mình trong một tệp khác thay vì mã hóa cứng chúng trong tệp Python.
Trong tạp chí .env
tập tin đặt cú pháp sau và lưu tập tin. Thay your_api_key_here bằng khóa API thực tế của bạn. Không thay đổi khóa API thành đối tượng chuỗi; hãy để họ như nó là.
OPENAI_API_KEY=your_api_key_here
Để hiểu rõ hơn về API GPT-3.5; chúng tôi sẽ sử dụng đoạn mã sau để tạo từ tóm tắt.
openai.ChatCompletion.create( model="gpt-3.5-turbo", max_tokens=100, temperature=0.7, top_p=0.5, frequency_penalty=0.5, messages=[ { "role": "system", "content": "You are a helpful assistant for text summarization.", }, { "role": "user", "content": f"Summarize this for a {person_type}: {prompt}", }, ],
)
Đoạn mã trên là cách chúng tôi tương tác với mô hình OpenAI APIs GPT-3.5. Sử dụng API ChatCompletion, chúng tôi tạo một cuộc trò chuyện và sẽ nhận được kết quả mong muốn sau khi vượt qua lời nhắc.
Hãy chia nhỏ từng phần để hiểu rõ hơn về chúng. Trong dòng đầu tiên, chúng tôi sử dụng openai.ChatCompletion.create
mã để tạo phản hồi từ lời nhắc mà chúng tôi sẽ chuyển vào API.
Trong dòng tiếp theo, chúng tôi có các siêu tham số mà chúng tôi sử dụng để cải thiện các tác vụ văn bản của mình. Dưới đây là tóm tắt của từng chức năng siêu tham số:
model
: Họ mẫu mà chúng tôi muốn sử dụng. Trong hướng dẫn này, chúng tôi sử dụng mô hình được đề xuất hiện tại (gpt-3.5-turbo
).max_tokens
: Giới hạn trên của các từ được tạo bởi mô hình. Nó giúp giới hạn độ dài của văn bản được tạo.temperature
: Tính ngẫu nhiên của đầu ra mô hình, với nhiệt độ cao hơn, có nghĩa là kết quả đa dạng và sáng tạo hơn. Phạm vi giá trị nằm trong khoảng từ 0 đến vô cùng, mặc dù các giá trị lớn hơn 2 không phổ biến.top_p
: Lấy mẫu top P hoặc top-k hoặc lấy mẫu hạt nhân là tham số để kiểm soát nhóm lấy mẫu từ phân phối đầu ra. Ví dụ: giá trị 0.1 có nghĩa là mô hình chỉ lấy mẫu đầu ra từ 10% phân phối hàng đầu. Phạm vi giá trị nằm trong khoảng từ 0 đến 1; giá trị cao hơn có nghĩa là một kết quả đa dạng hơn.frequency_penalty
: Hình phạt cho mã thông báo lặp lại từ đầu ra. Phạm vi giá trị từ -2 đến 2, trong đó các giá trị dương sẽ ngăn mô hình lặp lại mã thông báo trong khi các giá trị âm khuyến khích mô hình sử dụng nhiều từ lặp lại hơn. 0 có nghĩa là không có hình phạt.messages
: Tham số nơi chúng ta chuyển lời nhắc văn bản để được xử lý bằng mô hình. Chúng tôi chuyển một danh sách các từ điển trong đó khóa là đối tượng vai trò (“hệ thống”, “người dùng” hoặc “trợ lý”) giúp mô hình hiểu ngữ cảnh và cấu trúc trong khi các giá trị là ngữ cảnh.- Vai trò “hệ thống” là nguyên tắc thiết lập cho hành vi “trợ lý” kiểu mẫu,
- Vai trò “người dùng” đại diện cho lời nhắc từ người tương tác với mô hình,
- Vai trò "trợ lý" là phản hồi cho lời nhắc của "người dùng"
Sau khi giải thích tham số ở trên, chúng ta có thể thấy rằng messages
tham số ở trên có hai đối tượng từ điển. Từ điển đầu tiên là cách chúng tôi đặt mô hình làm công cụ tóm tắt văn bản. Thứ hai là nơi chúng tôi sẽ chuyển văn bản của mình và nhận kết quả tóm tắt.
Trong từ điển thứ hai, bạn cũng sẽ thấy biến person_type
và prompt
. Các person_type
là một biến tôi đã sử dụng để kiểm soát kiểu tóm tắt mà tôi sẽ trình bày trong phần hướng dẫn. Trong khi prompt
là nơi chúng tôi sẽ chuyển văn bản của mình để được tóm tắt.
Tiếp tục với hướng dẫn, đặt đoạn mã dưới đây vào summarizer_app.py
tệp và chúng tôi sẽ cố gắng tìm hiểu cách thức hoạt động của chức năng bên dưới.
import openai
import os
from dotenv import load_dotenv load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY") def generate_summarizer( max_tokens, temperature, top_p, frequency_penalty, prompt, person_type,
): res = openai.ChatCompletion.create( model="gpt-3.5-turbo", max_tokens=100, temperature=0.7, top_p=0.5, frequency_penalty=0.5, messages= [ { "role": "system", "content": "You are a helpful assistant for text summarization.", }, { "role": "user", "content": f"Summarize this for a {person_type}: {prompt}", }, ], ) return res["choices"][0]["message"]["content"]
Đoạn mã trên là nơi chúng ta tạo một hàm Python chấp nhận các tham số khác nhau mà chúng ta đã thảo luận trước đây và trả về đầu ra tóm tắt văn bản.
Hãy thử chức năng trên với tham số của bạn và xem đầu ra. Sau đó, hãy tiếp tục hướng dẫn để tạo một ứng dụng đơn giản với gói streamlit.
Hợp lý hóa là một gói Python nguồn mở được thiết kế để tạo các ứng dụng web khoa học dữ liệu và máy học. Nó rất dễ sử dụng và trực quan, vì vậy nó được khuyên dùng cho nhiều người mới bắt đầu.
Hãy cài đặt gói streamlit trước khi tiếp tục với hướng dẫn.
pip install streamlit
Sau khi cài đặt xong, hãy đặt đoạn mã sau vào summarizer_app.py
.
import streamlit as st #Set the application title
st.title("GPT-3.5 Text Summarizer") #Provide the input area for text to be summarized
input_text = st.text_area("Enter the text you want to summarize:", height=200) #Initiate three columns for section to be side-by-side
col1, col2, col3 = st.columns(3) #Slider to control the model hyperparameter
with col1: token = st.slider("Token", min_value=0.0, max_value=200.0, value=50.0, step=1.0) temp = st.slider("Temperature", min_value=0.0, max_value=1.0, value=0.0, step=0.01) top_p = st.slider("Nucleus Sampling", min_value=0.0, max_value=1.0, value=0.5, step=0.01) f_pen = st.slider("Frequency Penalty", min_value=-1.0, max_value=1.0, value=0.0, step=0.01) #Selection box to select the summarization style
with col2: option = st.selectbox( "How do you like to be explained?", ( "Second-Grader", "Professional Data Scientist", "Housewives", "Retired", "University Student", ), ) #Showing the current parameter used for the model with col3: with st.expander("Current Parameter"): st.write("Current Token :", token) st.write("Current Temperature :", temp) st.write("Current Nucleus Sampling :", top_p) st.write("Current Frequency Penalty :", f_pen) #Creating button for execute the text summarization
if st.button("Summarize"): st.write(generate_summarizer(token, temp, top_p, f_pen, input_text, option))
Hãy thử chạy đoạn mã sau trong dấu nhắc lệnh của bạn để khởi chạy ứng dụng.
streamlit run summarizer_app.py
Nếu mọi thứ hoạt động tốt, bạn sẽ thấy ứng dụng sau trong trình duyệt mặc định của mình.
Hình ảnh của Tác giả
Vì vậy, những gì đã xảy ra trong đoạn mã trên? Hãy để tôi giải thích ngắn gọn từng chức năng chúng tôi đã sử dụng:
.st.title
: Cung cấp văn bản tiêu đề của ứng dụng web..st.write
: Viết đối số vào ứng dụng; nó có thể là bất cứ thứ gì nhưng chủ yếu là một chuỗi văn bản..st.text_area
: Cung cấp một khu vực để nhập văn bản có thể được lưu trữ trong biến và được sử dụng cho lời nhắc cho trình tóm tắt văn bản của chúng tôi.st.columns
: Các thùng chứa đối tượng để cung cấp tương tác song song..st.slider
: Cung cấp tiện ích thanh trượt với các giá trị đã đặt mà người dùng có thể tương tác. Giá trị được lưu trữ trên một biến được sử dụng làm tham số mô hình..st.selectbox
: Cung cấp tiện ích lựa chọn để người dùng chọn kiểu tóm tắt mà họ muốn. Trong ví dụ trên, chúng tôi sử dụng năm phong cách khác nhau..st.expander
: Cung cấp một thùng chứa mà người dùng có thể mở rộng và chứa nhiều đối tượng..st.button
: Cung cấp một nút chạy chức năng mong muốn khi người dùng nhấn nó.
Vì streamlit sẽ tự động thiết kế giao diện người dùng theo mã đã cho từ trên xuống dưới, nên chúng tôi có thể tập trung nhiều hơn vào tương tác.
Với tất cả các phần đã sẵn sàng, hãy thử ứng dụng tóm tắt của chúng tôi với một ví dụ văn bản. Ví dụ của chúng tôi, tôi sẽ sử dụng Trang Wikipedia về Thuyết tương đối văn bản cần tóm tắt. Với tham số mặc định và kiểu học sinh lớp hai, chúng tôi thu được kết quả sau.
Albert Einstein was a very smart scientist who came up with two important ideas about how the world works. The first one, called special relativity, talks about how things move when there is no gravity. The second one, called general relativity, explains how gravity works and how it affects things in space like stars and planets. These ideas helped us understand many things in science, like how particles interact with each other and even helped us discover black holes!
Bạn có thể nhận được kết quả khác với kết quả trên. Hãy thử phong cách Những bà nội trợ và điều chỉnh thông số một chút (Mã thông báo 100, Nhiệt độ 0.5, Lấy mẫu hạt nhân 0.5, Hình phạt tần số 0.3).
The theory of relativity is a set of physics theories proposed by Albert Einstein in 1905 and 1915. It includes special relativity, which applies to physical phenomena without gravity, and general relativity, which explains the law of gravitation and its relation to the forces of nature. The theory transformed theoretical physics and astronomy in the 20th century, introducing concepts like 4-dimensional spacetime and predicting astronomical phenomena like black holes and gravitational waves.
Như chúng ta có thể thấy, có sự khác biệt về phong cách đối với cùng một văn bản mà chúng tôi cung cấp. Với lời nhắc và tham số thay đổi, ứng dụng của chúng ta có thể hoạt động hiệu quả hơn.
Giao diện tổng thể của ứng dụng tóm tắt văn bản của chúng tôi có thể được nhìn thấy trong hình ảnh bên dưới.
Hình ảnh của Tác giả
Đó là bài hướng dẫn lập trình phát triển ứng dụng tóm tắt văn bản với GPT-3.5. Bạn có thể tinh chỉnh ứng dụng hơn nữa và triển khai ứng dụng.
Trí tuệ nhân tạo đang phát triển và chúng ta nên tận dụng cơ hội bằng cách tạo ra một ứng dụng tuyệt vời. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách API OpenAI GPT-3.5 hoạt động và cách sử dụng chúng để tạo ứng dụng tóm tắt văn bản với sự trợ giúp của Python và gói streamlit.
Cornellius Yudha Wijaya là trợ lý quản lý khoa học dữ liệu và người viết dữ liệu. Trong khi làm việc toàn thời gian tại Allianz Indonesia, anh ấy thích chia sẻ các mẹo về Python và Dữ liệu qua mạng xã hội và phương tiện viết lách.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://www.kdnuggets.com/2023/04/text-summarization-development-python-tutorial-gpt35.html?utm_source=rss&utm_medium=rss&utm_campaign=text-summarization-development-a-python-tutorial-with-gpt-3-5
- :là
- ][P
- $ LÊN
- 1
- 100
- 28
- 7
- a
- Giới thiệu
- ở trên
- Chấp nhận
- truy cập
- có thể truy cập
- chính xác
- có được
- tiên tiến
- Lợi thế
- Sau
- AI
- Tất cả
- Allianz
- Mặc dù
- luôn luôn
- và
- Một
- trả lời
- api
- Truy cập API
- API
- ứng dụng
- Các Ứng Dụng
- Phát triển ứng dụng
- ứng dụng
- LÀ
- KHU VỰC
- đối số
- bài viết
- AS
- Trợ lý
- thiên văn học
- At
- tự động
- cơ bản
- BE
- bởi vì
- trước
- Người mới bắt đầu
- phía dưới
- Hơn
- giữa
- Một chút
- Đen
- lỗ đen
- đáy
- Hộp
- Nghỉ giải lao
- bước đột phá
- đột phá
- một thời gian ngắn
- trình duyệt
- xây dựng
- nút
- by
- gọi là
- CAN
- trường hợp
- Thế kỷ
- thay đổi
- lựa chọn
- Nhấp chuột
- mã
- Cột
- đến
- Chung
- Các công ty
- hoàn thành
- phức tạp
- khái niệm
- Kết nối
- Container
- Container
- nội dung
- bối cảnh
- tiếp tục
- điều khiển
- Conversation
- có thể
- tạo
- Tạo
- Sáng tạo
- người sáng tạo
- Current
- tiền thưởng
- dữ liệu
- khoa học dữ liệu
- nhà khoa học dữ liệu
- Mặc định
- triển khai
- Thiết kế
- thiết kế
- phát triển
- Nhà phát triển
- Phát triển
- sự khác biệt
- khác nhau
- khám phá
- thảo luận
- phân phối
- khác nhau
- dont
- xuống
- mỗi
- hay
- khuyến khích
- Điểm cuối
- đăng ký hạng mục thi
- Môi trường
- Kỷ nguyên
- Ether (ETH)
- Ngay cả
- mọi người
- tất cả mọi thứ
- ví dụ
- tuyệt vời
- thi hành
- Mở rộng
- Giải thích
- Giải thích
- Giải thích
- ngoài
- gia đình
- tuyệt vời
- Yêu thích
- vài
- lĩnh vực
- Tập tin
- Các tập tin
- Tên
- Tập trung
- tiếp theo
- Trong
- Lực lượng
- tần số
- từ
- chức năng
- chức năng
- xa hơn
- Tổng Quát
- tạo ra
- tạo ra
- tạo ra
- được
- được
- trọng lực
- Sóng hấp dẫn
- lực hấp dẫn
- hướng dẫn
- Xử lý
- đã xảy ra
- Có
- có
- giúp đỡ
- đã giúp
- hữu ích
- giúp
- tại đây
- cao hơn
- cao
- tổ chức
- Holes
- Độ đáng tin của
- Hướng dẫn
- Làm thế nào Chúng tôi làm việc
- Tuy nhiên
- HTTPS
- i
- ý tưởng
- hình ảnh
- nhập khẩu
- quan trọng
- nâng cao
- cải tiến
- in
- bao gồm
- Bao gồm
- đáng kinh ngạc
- hệ thống riêng biệt,
- Indonesia
- Vô cực
- bắt đầu
- đầu vào
- cài đặt, dựng lên
- Cài đặt
- thay vì
- tích hợp
- tương tác
- tương tác
- tương tác
- giới thiệu
- trực quan
- IT
- ITS
- jpg
- Xe đẩy
- Key
- phím
- kiến thức
- Ngôn ngữ
- Luật
- LEARN
- học tập
- Chiều dài
- thư viện
- Lượt thích
- LIMIT
- Dòng
- Danh sách
- dài
- thời gian dài
- Xem
- giống như
- máy
- học máy
- giám đốc
- nhiều
- có nghĩa
- Phương tiện truyền thông
- tin nhắn
- Might
- kiểu mẫu
- chi tiết
- hầu hết
- di chuyển
- nhiều
- tên
- Tự nhiên
- Ngôn ngữ tự nhiên
- Xử lý ngôn ngữ tự nhiên
- Thiên nhiên
- Cần
- tiêu cực
- Mới
- tiếp theo
- vật
- đối tượng
- được
- of
- on
- ONE
- mã nguồn mở
- OpenAI
- Cơ hội
- Tùy chọn
- OS
- Nền tảng khác
- đầu ra
- tổng thể
- gói
- gói
- tham số
- thông số
- một phần
- Đi qua
- người
- vật lý
- Vật lý
- miếng
- Nơi
- Hành tinh
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- hồ bơi
- tích cực
- dự đoán
- điều kiện tiên quyết
- trước đây
- quá trình
- xử lý
- chuyên nghiệp
- Hồ sơ
- đề xuất
- cho
- cung cấp
- công khai
- đặt
- Python
- ngẫu nhiên
- phạm vi
- hơn
- sẵn sàng
- lý do
- đề nghị
- ghi danh
- mối quan hệ
- phát hành
- có liên quan
- nhớ
- lặp đi lặp lại
- thay thế
- đại diện cho
- phản ứng
- kết quả
- trở lại
- tăng
- Vai trò
- chạy
- tương tự
- Lưu
- Khoa học
- Nhà khoa học
- liền mạch
- Thứ hai
- Bí mật
- Phần
- an ninh
- lựa chọn
- riêng biệt
- định
- Chia sẻ
- nên
- hiển thị
- thể hiện
- đáng kể
- tương tự
- Đơn giản
- thanh trượt
- thông minh
- So
- Mạng xã hội
- truyền thông xã hội
- một số
- một cái gì đó
- Không gian
- đặc biệt
- quy định
- Sao
- hàng
- lưu trữ
- Chuỗi
- cấu trúc
- Sinh viên
- phong cách
- phong cách
- như vậy
- tóm tắt
- TÓM TẮT
- cú pháp
- hệ thống
- Hãy
- Thảo luận
- Các cuộc đàm phán
- Nhiệm vụ
- nhiệm vụ
- Công nghệ
- việc này
- Sản phẩm
- luật
- thế giới
- Them
- tự
- lý thuyết
- Kia là
- điều
- số ba
- Thông qua
- thời gian
- lời khuyên
- Yêu sách
- đến
- mã thông báo
- hàng đầu
- chuyển đổi
- hướng dẫn
- ui
- hiểu
- sự hiểu biết
- trường đại học
- us
- sử dụng
- người sử dang
- Người sử dụng
- sử dụng
- giá trị
- Các giá trị
- khác nhau
- Lớn
- thông qua
- Xem
- Truy cập
- vs
- so với mã
- sóng biển
- web
- Ứng dụng web
- TỐT
- Điều gì
- Là gì
- cái nào
- trong khi
- CHÚNG TÔI LÀ
- Wikipedia
- sẽ
- với
- ở trong
- không có
- Từ
- từ
- Công việc
- đang làm việc
- công trinh
- thế giới
- sẽ
- nhà văn
- viết
- viết
- năm
- trên màn hình
- zephyrnet