Sử dụng miễn phí gpt-4 với Github Copilot

Sử dụng miễn phí gpt-4 với Github Copilot

Những mẩu tin ngắn hàng ngày dành cho bạn
  • Một phần mềm giúp chuyển đổi văn bản thành giọng nói do một lập trình viên người Việt làm ra - J2TEAM - Text to Speech (Free). Bạn có thể chuyển đổi hàng chục ngôn ngữ sang hàng chục giọng đọc tự nhiên khác nhau. Điều đặc biệt là nó miễn phí.

    Đánh giá sơ bộ thì chuyển đổi văn bản dài hoặc văn bản bằng tiếng Việt thuần thì rất tốt. Còn dính thêm các từ tiếng Anh thì nó đọc hơi buồn cười 😅

    » Xem thêm
  • Quá ghê ghớm, Codeium - vốn được biết đến như một đối thủ của Github Copilot, khi nó cho người dùng dùng miễn phí không giới hạn. Mới đây họ giới thiệu thêm Windsurf Editor - không chỉ còn là VSCode Extentions nữa mà là một trình Editor luôn - cạnh tranh trực tiếp với Cursor. Và điểm chính là nó... hoàn toàn miễn phí 🫣.

    » Xem thêm
  • Tin vui đầu này, Github Copilot đã chính thức có bản Free cho tất cả mọi người.

    Github Copilot là một trợ lý AI code cùng chúng ta, nó có thể tự động hoàn thành mã, trò chuyện hoặc sửa lỗi. Hiện đang hỗ trợ nhiều trình soạn thảo, IDE phổ biến như VSCode, JetBrains, XCode...

    Phiên bản miễn phí đang bị giới hạn 2000 Suggestions, và khoảng 50 requests đến tính năng Chat hàng tháng. Sau đó bạn có thể nâng cấp lên các phiên bản cao cấp hơn với giá từ 10$.

    Theo đánh giá của mình thì Copilot rất tốt và xứng đáng trong tầm giá, đang dùng hàng ngày 😄

    » Xem thêm

Vấn đề

Xin chào các độc giả của 2coffee.dev! Vậy là chỉ còn có vài ngày nữa thôi, năm Quý Mão sẽ chính thức khép lại nhường chỗ cho một năm mới Giáp Thìn với hy vọng có nhiều khởi sắc hơn. Đây cũng có thể là bài viết cuối cùng trong năm cũ mà tôi muốn dành tặng cho tất cả bạn của tôi.

Cách đây vài hôm, tôi có viết một bài Biến ChatGPT thành một "chuyên gia", trong đó có nhắc đến vấn đề sử dụng API của ChatGPT thì mới có thể sử dụng được "chuyên gia" vì chỉ trong API mới cho chúng ta thiết lập role system, từ đó giúp ChatGPT thu hẹp được ngữ cảnh xuống và trả lời câu hỏi một cách chuẩn xác hơn.

Các cuộc gọi API đến ChatGPT là mất phí, tùy theo model GPT mà bạn đang sử dụng. Thú thật trước đó tôi cũng tìm đủ mọi cách để sử dụng miễn phí API nhưng mọi nỗ lực đều không đạt được.

Hôm qua, khi tình cờ "dạo" trên Github thì phát hiện ra một kho lưu trữ mã nguồn cho phép chúng ta sử dụng miễn phí gpt-4 thông qua Github Copilot. Vâng, bạn không nghe nhầm đâu, hoàn toàn miễn phí chỉ cần bạn có tài khoản Github Copilot.

Cho những ai chưa biết thì Github Copilot là một con AI của Github, nó sẽ giúp chúng ta trong vấn đề viết mã. Cá nhân tôi đã sử dụng Copilot được hơn một năm và nhận ra lợi ích của nó tương xứng với giá 10$ một tháng. Đúng rồi! Ý tôi là bạn cần bỏ ra 10$ hàng tháng để sử dụng Copilot. Nếu bạn đọc có hứng thú, có thể tôi sẽ viết một bài về Copilot trong tương lai.

Vì vậy, điều kiện tiên quyết để sử dụng gpt-4 miễn phí là phải có Github Copilot. Tiếp theo, hãy xem cách khai thác gpt-4 từ Copilot như thế nào nhé!

Copilot và Copilot Chat

Nếu tôi nhớ không nhầm, Copilot được Github giới thiệu trước khi mô hình ChatGPT được công bố rộng rãi trên toàn thế giới. Khi nghe tin Copilot sắp ra mắt, tôi đã tò mò vào xem nó có gì, họ mô tả Copilot như một trợ lý viết mã thực thụ, nghĩa là thay vì viết một mình thì nó sẽ cũng viết cùng, dựa trên những gì bạn đã viết hoặc muốn viết.

Sau khi OpenAI công bố mô hình GPT, như một làn sóng, các nhà phát triển bắt đầu tích hợp nó vào trong sản phẩm để khiến ứng dụng của họ trở nên thông mình và có tính tương tác cao hơn. Thay vì ngồi bấm nút, chọn tính năng thì giờ đây, chỉ cần giao tiếp tực tiếp với sản phẩm thông qua văn bản hoặc lời nói thì ngay lập tức nó sẽ hiểu và giúp chúng ta làm công việc đó.

Copilot cũng không ngoại lệ, tính năng Copilot Chat Beta đã được giới thiệu sau một khoảng thời gian ngắn từ khi có ChatGPT. Về cơ bản, nó được tích hợp trong trình Editor/IDE, mà chúng là trình soạn thảo mã nguồn cho nên Copilot Chat có ngữ cảnh mã mà bạn đang viết, từ đó giúp cho nó hiểu hơn về bối cảnh và đưa ra câu trả lời chính xác cho điều mà bạn đang hỏi.

Ví dụ đây là một đoạn mã nguồn cho hàm mounted trang tìm kiếm của tôi:

  async mounted() {
    await this.fetchResult();

    if (!this.isHasResult) {
      this.resetLimitOffset();
      await this.fetchOtherResult();
    }

    process.nextTick(() => {
      this.isMounted = true;

      setTimeout(() => {
        window.lazyload();
      }, 1500);
    });
  },  

Thử nhờ Copilot giải thích mounted là làm cái gì, chúng ta có kết quả:

Thử nhờ Copilot giải thích

Nhìn chung, Copilot Chat sử dụng "GPT model" để trả lời các câu hỏi của chúng ta. Vì thế nên đã có một "pháp sư" nào đó trên Github tận dụng điều này để mang gpt-4 ra ngoài sử dụng. Tức là ngữ cảnh sử dụng giờ đây không bị bó hẹp trong code nữa, mà bạn có thể hỏi nó bất cứ câu hỏi nào, thậm chí biến nó thành "chuyên gia".

Có người thắc mắc thế sao không chat trực tiếp với Copilot Chat? Thì Github đã cao tay hơn, họ ngăn chặn các câu hỏi không liên quan đến code, chỉ trả lời cho những câu hỏi liên quan.

Bạn còn nhớ NextChat (ChatGPT Next Web) chứ? Sau một vài thiết lập đơn giản thì giờ đây nó đang hoạt động với gpt-4 của Copilot Chat thay vì với API key của OpenAI, tức là không bị tính tiền gọi API nữa.

Đến đây chắc hẳn nhiều bạn đọc đang rất nóng lòng muốn thử. Sở dĩ tôi nói nhiều vậy là chỉ muốn trình bày một cách ngắn gọn về cách mà công cụ copilot-gpt4-service đang khai thác gpt-4.

Thiết lập

copilot-gpt4-service là kho lưu trữ mà tôi nhắc đến ở đầu bài viết. "Convert Github Copilot to ChatGPT" là dòng mô tả rất ngắn gọn mà đi vào đúng vào trọng tâm, nó cho phép tạo ra một máy chủ gpt-4 cục bộ dựa trên Github Copilot của bạn.

Tuy nhiên trước khi sử dụng có một vài lưu ý hết sức quan trọng là chỉ sử dụng cho mục đích cá nhân, chỉ một mình bạn sử dụng thôi thì càng tốt, bởi vì tài khoản Copilot hoặc thậm chí Github có thể bị cấm nếu lạm dụng.

Về cơ bản, khi khởi động mã nguồn này lên, nó sẽ tạo ra một máy chủ proxy đến ChatGPT. Bạn còn nhớ địa chỉ api của ChatGPT chứ? Đó là: https://api.openai.com thì sau triển khai bằng copilot-gpt4-service, một địa chỉ cục bộ (local) được tạo ra để kết nối là http://localhost:8080.

Nếu dùng Docker, cách nhanh nhất để tạo máy chủ là dùng 1 lệnh duy nhất:

$ docker run -d \
  --name copilot-gpt4-service \
  --restart always \
  -p 8080:8080 \
  aaamoon/copilot-gpt4-service:latest

Bạn sẽ cần làm thêm một bước để lấy được GitHub Copilot Plugin Token, sử dụng token đó thay cho OpenAI API key là đã có thể sử dụng được. Cách lấy khá đơn giản, ví dụ dành cho MacOS/Linux:

$ python3 <(curl -fsSL https://raw.githubusercontent.com/aaamoon/copilot-gpt4-service/master/shells/get_copilot_token.py)

Nhưng trước đó cần cài thêm thư viện requests của python:

pip install requests
# hoặc python3
pip3 install requests

Rồi làm theo hướng dẫn chi tiết trong kết quả trả về là xong.

Cuối cùng, vào thiết lập lại cấu hình trong NextChat.

thiết lập lại cấu hình trong NextChat

Hãy thử xem gpt-4 có hoạt động không nào!

thử xem gpt-4 có hoạt động không

Nếu chưa tin model trên là gpt-4, tác giả đã đề xuất một cách kiểm tra là hỏi một câu hỏi: "Why weren't I invited when my parents got married?". gpt-3.5 trả lời có đại ý là "They considered you too young at that time, so they didn't invite you.", còn gpt-4 thì trả lời một cách chính xác: "They got married before you were born".

Bạn cũng có thể triển khai máy chủ GPT này lên mạng internet với một vài thông số cấu hình bảo mật như trong hướng dẫn. Tuy nhiên dù bằng cách nào đi nữa, thì cũng nên nhớ chỉ sử dụng cho mục đích cá nhân thôi nhé!

Cao cấp
Hello

Bí mật ngăn xếp của Blog

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.
Author

Xin chào, tôi tên là Hoài - một anh Dev kể chuyện bằng cách viết ✍️ và làm sản phẩm 🚀. Với nhiều năm kinh nghiệm lập trình, tôi đã đóng góp một phần công sức cho nhiều sản phẩm mang lại giá trị cho người dùng tại nơi đang làm việc, cũng như cho chính bản thân. Sở thích của tôi là đọc, viết, nghiên cứu... Tôi tạo ra trang Blog này với sứ mệnh mang đến những bài viết chất lượng cho độc giả của 2coffee.dev.Hãy theo dõi tôi qua các kênh LinkedIn, Facebook, Instagram, Telegram.

Bạn thấy bài viết này có ích?
Không

Bình luận (7)

Nội dung bình luận...
Avatar
Ẩn danh7 tháng trước
Trong bản cập nhật mới, chỉ còn sử dụng được model 3.5-turbo với model 4 và 4-0613. Các model khác đểu không sử dụng được. Bản cập nhật cũ sử dụng được tất cả model trên nextchat. Ad biết cách fix không ạ?
Trả lời
Avatar
Xuân Hoài Tống6 tháng trước
Dạo này Github đang thắt chặt lắm bạn ạ, tạm thời chưa có cách 🥲
Avatar
Ẩn danh7 tháng trước
Có cách nào để áp dụng API này vào pentestGPT được không?https://github.com/GreyDGL/PentestGPT
Trả lời
Avatar
Xuân Hoài Tống7 tháng trước
Mình thấy có chỗ cấu hình OPENAI_BASEURL='https://api.xxxx.xxx/v1', bạn thay thành http://localhost:8080 với OPENAI_KEY là Token lấy được ở hướng dẫn trong bài viết xem sao.
Avatar
Ẩn danh8 tháng trước
Mình có để model như trên nhưng khi hỏi "Why weren't I invited when my parents got married?" thì nó không trả lời như GPT4 bác ơi :(
Trả lời
Avatar
Xuân Hoài Tống8 tháng trước
Mình vừa kiểm tra lại, giờ nó trả lời như gpt 3.5 rồi, chắc bị fix mất rồi 😕. Cơ mà ít ra vẫn dùng được API miễn phí bạn ạ.
Avatar
Ẩn danh8 tháng trước
Hình như bị github chặt đầu mất rồi =)) Bạn biết giờ tác giả họ move repo qua đâu ko ta
Trả lời
Avatar
Xuân Hoài Tống8 tháng trước
Thế ạ, mình vẫn đang còn session nên vẫn dùng được bình thường từ hồi đó đến giờ. Mình tìm thấy bản fork tương tự repo cũ, bạn thử xem có được không nhé: https://gitlab.com/fatelulu/copilot-gpt4-service
Avatar
Huy Tùng10 tháng trước
Cho mình hỏi mình có thử triển khai trên server docker public ra dạng http://ip:port xong add vào nextchat thì nó lại không hoạt động, còn chạy nội bộ ở localhost thì lại dc nhỉ
Trả lời
Avatar
Xuân Hoài Tống10 tháng trước
Bạn thử truy cập thẳng vào ip:port hoặc ip:port/healthz để xem trạng thái của service có ok không?
Avatar
Ẩn danh10 tháng trước
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot là cái extension link trên này ạ, e thấy ad có để hình trên bài viết hình như là xài đc cái extension này với cái copilot-gpt4-service, e có config http.proxy trong setting của vscode mà k đc, còn xài với nextchat như hướng dẫn thì đc r ạ
Trả lời
Avatar
Xuân Hoài Tống10 tháng trước
Mình cũng chưa hình dung ra tại sao bạn lại muốn triển khai cách đó nhưng thư viện copilot-gpt4-service không làm được như thế đâu bạn. Trong tài liệu họ có mô tả thư viện chỉ cung cấp một vài đầu API cho tương thích với APT Chats của ChatGPT thôi bạn ạ.
Avatar
Ẩn danh10 tháng trước
làm sao để config cái này xài cho copilot extension trong vscode vậy ạ, mình setting http proxy mà k đc như hình trên
Trả lời
Avatar
Xuân Hoài Tống10 tháng trước
Bạn cho mình xin link của extension đó được không ạ?