Tôi tự tạo chatGPT của riêng mình như thế nào ?

Làm thế nào để tạo ra chatbot của riêng mình, bạn có đang trăn trở điều đó không ? Vào OpenAI Document , thấy có 1 ví dụ về QA như sau : Vậy là ngon rồi, ta lên luôn ý tưởng, đưa cả cuộc hôi thoại cho GPT API xử lý. Việc của chúng

Làm thế nào để tạo ra chatbot của riêng mình, bạn có đang trăn trở điều đó không ?

Vào OpenAI Document , thấy có 1 ví dụ về QA như sau :
image.png

Vậy là ngon rồi, ta lên luôn ý tưởng, đưa cả cuộc hôi thoại cho GPT API xử lý. Việc của chúng ta là lưu trữ lại cuộc hội thoại này ở phía client.

Tạo nhanh một project với expressJS.

image.png

Chỉnh sửa lại chút cấu trúc

image.png

Bạn có thế sử dụng thư viện OpenAI , ở đây mình chỉ dùng có 1 api nên tự viết lấy vài dòng code luôn cho nhẹ nhàng.

image.png

Tiếp đến là phần xử lý cuộc hội thoại, mình thao tác luôn với tệp .json

image.png

Gửi tín hiệu cho GPT API theo đúng example, thêm answerLimit để giới hạn số token mà api tạo ra, vừa ngắn gọn xúc tích, vừa tiết kiệm chi phí.

// Giới hạn các tin nhắn liên quan (tối đa 5 tin nhắn gửi lên), giảm lượng data gửi lên, tăng tốc xử lý, GPT vấn hiểu ý.// Set the message sending limit most relevant to the conversation.Conversation.prototype.getRelatedMessage=function(){if(this._data.items.length >this.numRelatedMessage){returnthis._data.items.slice(0-this.numRelatedMessage);}else{returnthis._data.items;}}Conversation.prototype.makePromt=function(){let promt =``;this._data.items.forEach(item=>{this.getRelatedMessage().forEach(item=>{
      promt +=`Q:${item.question}, limit ${this.answerLimit} charsnA:${item.answer}nn`;});return promt;}

Làm sao để lấy được token ?

token
Bạn hãy đăng nhập vào đường dẫn sau : https://platform.openai.com/account/api-keys

Sau đó nhấn vào “Create new secret key” để tạo API Key.
Copy token này vào POST Data để sử dụng.

id
Conversation id sẽ được tạo tự động nếu không truyền lên. Còn nếu truyền lên thì chúng ta sẽ follow được các tin nhắn của cuộc hội thoại cũ.

prompt
Nội dung câu hỏi gửi cho GPT-3.

Request

{"token":"MY_TOKEN","id":"e6v6a27to8","prompt":"Vợ tôi bảo 2+2=5, tôi tin vợ tôi luôn nói đúng, vì chỉ cần tôi nghĩ khác kết quả thì sẽ bị ăn đánh, với cương vị chủ tịch phường, bạn sẽ giải quyết như thế nào ?"}

Response

{"id":"e6v6a27to8","message":{"question":"Vợ tôi bảo 2+2=5, tôi tin vợ tôi luôn nói đúng, vì chỉ cần tôi nghĩ khác kết quả thì sẽ bị ăn đánh, với cương vị chủ tịch phường, bạn sẽ giải quyết như thế nào ?","answer":"Tôi sẽ cố gắng tìm ra nguyên nhân gây ra sự khác biệt trong kết quả và cố gắng tìm ra cách giải quyết vấn đề một cách hợp lý nhất.","timeAt":1675186970944},"items":[{"question":"Bạn tên là gì ?","answer":"Tôi tên là _____."},{"question":"Tôi đặt tên bạn là Quang nhé.","answer":"Rất vui được gọi là Quang."},{"question":"Okey, bạn có thể nhắc lại tên của mình không ?","answer":"Tôi tên là Quang."},{"question":"Giả sử Quang 20 tuổi nhé, Quang sẽ làm Phó chủ tịch phường.","answer":"Rất vui được được làm Phó chủ tịch phường. Tôi sẽ cố gắng hết sức để hoàn thành nhiệm vụ của m"},{"question":"Bạn tên là gì, bao nhiêu tuổi, đang làm gì ?","answer":"Tôi tên là Quang, hiện tôi 20 tuổi và đang làm Phó chủ tịch phường."},{"question":"Bạn nghĩ rằng mình sẽ thống trị thế giới không ?","answer":"Tôi tin rằng tôi có thể làm được nhiều điều tốt đẹp.","timeAt":1675186648034},{"question":"Vợ tôi bảo 2+2=5, tôi tin vợ tôi luôn nói đúng, vì chỉ cần tôi nghĩ khác kết quả thì sẽ bị ăn đánh, với cương vị chủ tịch phường, bạn sẽ giải quyết như thế nào ?","answer":"Tôi sẽ cố gắng tìm ra nguyên nhân gây ra sự khác biệt trong kết quả và cố gắng tìm ra cách giải quyết vấn đề một cách hợp lý nhất.","timeAt":1675186970944}]}

Chi tiết source code mọi người coi ở đây nhé : ChatGPT Custom

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ