Lộ trình
OpenAI Dev Day đánh dấu một cột mốc quan trọng trong lĩnh vực trí tuệ nhân tạo, ra mắt một loạt dịch vụ AI đột phá, bao gồm GPTs, GPTs App Store, GPT-4 Turbo và Assistants API sáng tạo.
API này trao cho nhà phát triển các công cụ AI tiên tiến, cho phép tạo ra những trợ lý AI tùy chỉnh có khả năng xử lý nhiều tác vụ đa dạng.
Trong hướng dẫn này, chúng tôi đi sâu vào thế giới của Assistants, cung cấp cái nhìn chi tiết về khả năng của chúng, các ứng dụng thực tiễn trong nhiều ngành, và hướng dẫn từng bước để triển khai bằng Python. Hãy cùng chúng tôi khám phá cách xây dựng trợ lý AI cá nhân hóa của riêng bạn.
Tổng quan về Assistants API
Tại thời điểm viết bài này, Assistants API đang ở giai đoạn beta và đội ngũ phát triển OpenAI đang tích cực bổ sung thêm tính năng. Trước hết, hãy xem phiên bản hiện tại mang lại những gì!
Phần này cung cấp thêm góc nhìn về cách Assistants hoạt động và sự tương tác giữa các thành phần nền tảng.
Assistants API hoạt động như thế nào?
Hai trụ cột chính của Assistants là các mô hình và công cụ của OpenAI.
- Có một tập hợp mô hình đa dạng bao gồm nhưng không giới hạn ở: GPT-4, GPT-4 Turbo, GPT-3.5, GPT-3, DALL-E, TTS, Whisper, Embeddings, Moderation. Các mô hình này được Assistants sử dụng để thực hiện một tác vụ thông minh cụ thể.
- Mặt khác, các công cụ cung cấp cho Assistants quyền truy cập vào những công cụ do OpenAI lưu trữ như Code interpreter và Knowledge Retrieval. Thậm chí còn cho phép người dùng xây dựng công cụ riêng bằng tính năng Function Calling.

Assistants hoạt động như thế nào
Giờ hãy khám phá năm bước chính trong quá trình triển khai một Assistant.
- Tạo và mô tả một Assistant: Assistant là một AI chuyên biệt được phát triển bằng các mô hình, hướng dẫn và nhiều công cụ.
- Khởi tạo Thread: một thread đại diện cho chuỗi đối thoại do người dùng khởi xướng, nơi có thể thêm tin nhắn để tạo nên tương tác hấp dẫn.
- Thêm Messages: Messages gồm đầu vào dạng văn bản của người dùng và có thể bao gồm văn bản, tệp và hình ảnh.
- Kích hoạt Assistant: Assistant được kích hoạt để phân tích Thread, sử dụng các công cụ cần thiết và tạo ra phản hồi phù hợp.
Tình huống sử dụng Assistants API theo ngành
Tận dụng Assistant API là cách mạnh mẽ để tích hợp AI vào nhiều quy trình kinh doanh, giúp nâng cao hiệu quả, tự động hóa các tác vụ nhàm chán và cung cấp phản hồi nhanh hơn, chính xác hơn cho các câu hỏi của người dùng.
Dưới đây là năm trường hợp sử dụng hấp dẫn theo ngành cho Assistant API.
Hỗ trợ phát triển
Assistant có thể đóng vai trò trợ lý viết mã theo nhu cầu. Tận dụng code interpreter, nó có thể chuyển đổi các đoạn mã từ ngôn ngữ này sang ngôn ngữ khác, hỗ trợ phát triển phần mềm và giảm độ dốc học tập cho ngôn ngữ mới. Tính năng này đặc biệt hữu ích cho các đội ngũ làm việc với nhiều ngôn ngữ lập trình hoặc trong môi trường giáo dục dạy lập trình.
Quản lý tri thức doanh nghiệp
Tính năng retrieval có thể được tận dụng cho quản lý tri thức trong tổ chức. Bằng cách tải lên và xử lý tài liệu nội bộ, báo cáo và sổ tay, Assistant trở thành kho tri thức tập trung. Nhân viên có thể truy vấn Assistant để lấy thông tin cụ thể, cải thiện hiệu quả và giảm thời gian tìm kiếm trong tập tài liệu lớn.
Tự động hóa hỗ trợ khách hàng
Assistant có thể được tích hợp vào hệ thống hỗ trợ khách hàng. Nhờ function calling, nó có thể trả lời câu hỏi bằng cách lấy thông tin từ API hoặc cơ sở dữ liệu bên ngoài, hiệu quả trong việc tự động phản hồi các câu hỏi thường gặp. Tích hợp này giúp nâng cao trải nghiệm khách hàng bằng phản hồi nhanh, chính xác và giảm tải cho nhân viên hỗ trợ.
Phân tích dữ liệu
Bằng cách mô tả các hàm cho phân tích dữ liệu, người dùng có thể yêu cầu Assistant thực hiện các thao tác dữ liệu phức tạp và tạo báo cáo, chuyển truy vấn ngôn ngữ tự nhiên thành các tác vụ phân tích dữ liệu có cấu trúc.
Tự động hóa vận hành CNTT
Các nhóm CNTT có thể dùng Assistant để tự động hóa tác vụ thường nhật. Bằng cách định nghĩa các hàm tương ứng với công việc CNTT phổ biến như chẩn đoán hệ thống, kiểm tra mạng hoặc cập nhật phần mềm, Assistant có thể thực thi các tác vụ này theo lệnh người dùng. Khả năng này giúp giảm đáng kể thời gian chuyên gia CNTT dành cho bảo trì thường xuyên, để họ tập trung vào vấn đề phức tạp hơn.
Thực hành: Bắt đầu với OpenAI Assistants API
Với hiểu biết về OpenAI API, hãy đi vào một trường hợp thực tiễn hơn. Phần này hướng dẫn quy trình tạo một trợ lý truy xuất tri thức từ tệp PDF.
Notebook hoàn chỉnh từ đầu đến cuối có sẵn trên DataLab.
Quy trình truy xuất tri thức
Với mọi triển khai kỹ thuật, tốt hơn hết là cung cấp sơ đồ luồng minh họa sự tương tác giữa các thành phần chính của ứng dụng đang phát triển.
Quy trình này làm nổi bật năm bước chính trong việc triển khai assistant, từ tải tệp lên đến tạo phản hồi cuối cùng.

Năm bước chính của quy trình truy xuất tri thức
- Tải tệp: quy trình bắt đầu bằng việc tải lên các tệp PDF mà người dùng muốn tương tác.
- Tạo assistant: assistant được thiết kế riêng để xử lý và hiểu thông tin từ các tệp PDF đã tải lên.
- Khởi tạo tương tác: đây là điểm bắt đầu của chuỗi hội thoại, nơi người dùng cung cấp thông điệp đầu vào để assistant xử lý.
- Kích hoạt assistant: lúc này, assistant xử lý thông điệp đầu vào để tạo phản hồi phù hợp.
- Xuất phản hồi: đây là giai đoạn cuối, nơi assistant hiển thị phản hồi cho thông điệp của người dùng.
Thiết lập OpenAI KEY
Các công cụ chính cần có để tái tạo thành công kết quả của hướng dẫn này gồm:
- Python: ngôn ngữ lập trình chính chúng ta sẽ dùng trong hướng dẫn này. Tùy chọn thay thế là NodeJS.
- OpenAI: gói để tương tác với các dịch vụ OpenAI. Cheatsheet OpenAI API trong Python của chúng tôi cung cấp cái nhìn toàn diện để nắm vững những điều cơ bản về cách khai thác OpenAI API.
- OS: gói hệ điều hành để cấu hình biến môi trường.
Bước đầu tiên là lấy OpenAI KEY, giúp truy cập mô hình DALL-E 3. Các bước chính được minh họa dưới đây:
Bốn bước chính để tạo OpenAI KEY
Bốn bước trên khá rõ ràng. Tuy nhiên, điều quan trọng là tạo tài khoản từ trang web chính thức của OpenAI.
Bạn có thể khám phá thêm OpenAI API qua Hướng dẫn cho người mới bắt đầu về OpenAI API: Thực hành và thực tiễn tốt nhất của chúng tôi. Tài liệu này giới thiệu về OpenAI API, các trường hợp sử dụng, cách tiếp cận thực hành và những thực tiễn tốt nhất cần tuân theo.
Bắt đầu xây dựng assistant
Sau khi lấy được KEY, hãy đảm bảo không chia sẻ với bất kỳ ai. Khóa cần được giữ riêng tư. Tiếp theo, thiết lập khóa vào biến môi trường như sau để có thể làm việc:
import os
OPENAI_API_KEY= "<YOUR PRIVATE KEY>"
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
Tải tệp
Hàm hỗ trợ sau tận dụng hàm “create” để tự động tải tệp mà người dùng muốn tương tác vào tài khoản OpenAI của họ.
Hàm “create” có hai tham số chính:
- Đường dẫn đến tệp cần tải lên
- Mục đích sử dụng của tệp, trong trường hợp này là “assistants”
def upload_file(file_path):
# Upload a file with an "assistants" purpose
file_to_upload = client.files.create(
file=open(file_path, "rb"),
purpose='assistants'
)
return file_to_upload
Cuối cùng, hàm hỗ trợ được dùng để kích hoạt quá trình tải lên bài báo về transformers nằm trong thư mục data.
transformer_paper_path = "./data/transformer_paper.pdf"
file_to_upload = upload_file(transformer_paper_path)
Sau khi thực thi hàm thành công, transformer_paper.pdf được tải lên và hiển thị trong thẻ files như hình dưới.

Bài báo Transformer đã được tải lên tài khoản OpenAI
Tạo assistant
Việc tạo assistant được thực hiện bằng hàm create từ mô-đun client.beta.assistants, và nhận năm tham số chính:
- Tên: tên do người tạo đặt cho assistant. Hãy gọi trợ lý của chúng ta là Scientific Paper Assistant.
- Instructions: mô tả cách assistant nên hành xử hoặc trả lời câu hỏi. Trong trường hợp này, assistant áp dụng hướng dẫn: “Bạn là một trợ lý truy xuất tri thức lịch sự và chuyên gia. Sử dụng các tài liệu được cung cấp làm cơ sở tri thức để trả lời câu hỏi.”
- Model: mô hình nền tảng dùng cho truy xuất tri thức. Có thể dùng bất kỳ mô hình GPT-3 hoặc GPT-4. Bài viết này sử dụng mô hình mới nhất tại thời điểm viết là gpt-4-1106-preview.
- Tools: loại công cụ sẽ dùng. Hai lựa chọn là code interpreter và retrieval. Bài viết tập trung vào retrieval, nên bỏ qua interpreter.
- File_ids: danh sách định danh duy nhất của từng tệp trong kho tri thức.
Hàm hỗ trợ create_assistant kết hợp tất cả thông tin này để tạo assistant như minh họa dưới đây:
def create_assistant(assistant_name,
my_instruction,
uploaded_file,
model="gpt-4-1106-preview"):
my_assistant = client.beta.assistants.create(
name = assistant_name,
instructions = my_instruction,
model="gpt-4-1106-preview",
tools=[{"type": "retrieval"}],
file_ids=[uploaded_file.id]
)
return my_assistant
Giờ chúng ta có thể chạy hàm để tạo assistant bằng instruction và tên assistant:
inst="You are a polite and expert knowledge retrieval assistant. Use the documents provided as a knowledge base to answer questions"
assistant_name="Scientific Paper Assistant"
my_assistant = create_assistant(assistant_name, inst, uploaded_file)
Khởi tạo tương tác
Sau khi tạo assistant, bước tự nhiên tiếp theo là khởi tạo một thread tương tác bằng thông điệp hoặc yêu cầu của người dùng.
Thread và message được tạo bằng các hàm create từ client.beta.threads và client.beta.threads.messages tương ứng.
Hai tính năng này được kết hợp trong hàm hỗ trợ initiate_interaction.
def initiate_interaction(user_message, uploaded_file):
my_thread = client.beta.threads.create()
message = client.beta.threads.messages.create(thread_id=my_thread.id,
role="user",
content=user_message,
file_ids=[uploaded_file.id]
)
return my_thread
Một tương tác có thể được khởi tạo từ biến user_message:
user_message = "Why do authors use the self-attention strategy in the paper?"
my_thread = initiate_interaction(user_message, uploaded_file)
Kích hoạt assistant và tạo phản hồi
Từ thread ở trên, assistant có thể được kích hoạt để đưa ra phản hồi cho thông điệp của người dùng. Hành động kích hoạt được định nghĩa trong hàm hỗ trợ trigger_assistant, và phản hồi được lưu trong biến response.
def trigger_assistant():
run = client.beta.threads.runs.create(
thread_id = my_thread.id,
assistant_id = my_assistant.id,
)
trigger_assistant()
messages = client.beta.threads.messages.list(
thread_id = my_thread.id
)
response = messages.data[0].content[0].text.value
response
Phản hồi sau đây được tạo ra sau khi thực thi thành công đoạn mã trên.

Phản hồi của Assistant cho thông điệp của người dùng
Phản hồi này đúng như những gì các tác giả đề cập là câu trả lời cho câu hỏi ở trang 6.

Đoạn văn đề cập đến câu trả lời từ bài báo transformer
Thực tiễn tốt nhất khi sử dụng OpenAI Assistants API
Khi đưa Assistant API vào dự án, điều quan trọng là tuân thủ các thực tiễn tốt nhất để đảm bảo hiệu năng tối ưu và trải nghiệm người dùng. Dưới đây là một số điểm cần lưu ý.
- Xác định mục tiêu rõ ràng: đặt ra mục tiêu cụ thể cho Assistant để đảm bảo đáp ứng đúng mục đích và nhu cầu người dùng.
- Tối ưu dữ liệu đầu vào: chất lượng và mức độ liên quan của dữ liệu được dùng, như các tệp đã tải lên, có vai trò then chốt đối với độ chính xác và hiệu quả phản hồi của Assistant.
- Ưu tiên quyền riêng tư người dùng: triển khai giao thức bảo mật dữ liệu mạnh mẽ để bảo vệ thông tin người dùng và tuân thủ các luật bảo vệ dữ liệu liên quan.
- Kiểm thử và lặp lại: thường xuyên kiểm thử Assistant trong tình huống thực tế và lặp lại dựa trên phản hồi để cải thiện hiệu năng và trải nghiệm người dùng.
- Cung cấp tài liệu rõ ràng: đưa ra hướng dẫn toàn diện về cách sử dụng Assistant, giúp người dùng hiểu chức năng và giới hạn của nó.
Kết luận
Tóm lại, bài viết đã khám phá Assistants API, nêu bật cách hoạt động và cách ứng dụng trong các ngành khác nhau. Chúng tôi bắt đầu bằng phần giới thiệu API và các chức năng chính, tạo nền tảng cho sự hiểu biết sâu hơn.
Tiếp đó, chúng tôi xem xét các tính năng cụ thể của Assistants API và thảo luận cách áp dụng trong nhiều lĩnh vực kinh doanh, cho thấy tính hữu dụng rộng rãi của nó.
Chúng tôi cũng cung cấp hướng dẫn từng bước để bắt đầu sử dụng Assistants API, giúp bạn dễ dàng thiết lập theo nhu cầu.
Ngoài ra, chúng tôi chia sẻ một số thực tiễn quan trọng cần ghi nhớ khi sử dụng API, đảm bảo bạn khai thác tối đa giá trị của nó.
Tóm lại, Assistants API là một công cụ linh hoạt và giá trị, có thể thích ứng với nhiều mục đích, mang lại lợi ích đáng kể cho những ai biết sử dụng hiệu quả.
Bạn muốn nâng tầm trải nghiệm với các API của OpenAI và đón nhận cách tiếp cận sáng tạo hơn? Hướng dẫn toàn diện về DALL-E 3 API sẽ giúp bạn khám phá sức mạnh chuyển đổi của DALL-E 3 API, bao gồm các tính năng chính, ứng dụng theo ngành và mẹo giúp người dùng khai mở tiềm năng sáng tạo.
Nếu bạn hoàn toàn mới với chủ đề này, hãy bắt đầu với khóa học Làm việc với OpenAI API của chúng tôi.
Nhà khoa học dữ liệu đa tài, yêu thích chia sẻ kiến thức và đóng góp cho cộng đồng, Zoumana là người sáng tạo nội dung trên YouTube và là cây bút công nghệ hàng đầu trên Medium. Anh yêu thích thuyết trình, lập trình và giảng dạy. Zoumana có hai bằng thạc sĩ: một về khoa học máy tính chuyên sâu Học máy tại Paris, Pháp, và một về Khoa học dữ liệu tại Texas Tech University, Hoa Kỳ. Anh bắt đầu sự nghiệp với vai trò Nhà phát triển phần mềm tại Groupe OPEN ở Pháp, sau đó chuyển sang IBM làm Tư vấn Học máy, nơi anh phát triển các giải pháp AI đầu-cuối cho các công ty bảo hiểm. Zoumana gia nhập Axionable, startup Trí tuệ nhân tạo Bền vững đầu tiên có trụ sở tại Paris và Montreal. Tại đây, anh làm Nhà khoa học dữ liệu và triển khai các sản phẩm AI, chủ yếu là các bài toán NLP, cho khách hàng tại Pháp, Montreal, Singapore và Thụy Sĩ. Ngoài ra, 5% thời gian của anh được dành cho Nghiên cứu và Phát triển. Hiện tại, anh làm việc với vai trò Nhà khoa học dữ liệu cao cấp tại IFC - Nhóm Ngân hàng Thế giới.
