Dữ liệu GitHub Copilot
Trong bài viết này, chúng tôi sẽ giới thiệu cách GitHub Copilot xử lý dữ liệu cho các môi trường, tính năng và cấu hình khác nhau.
Xử lý dữ liệu cho các đề xuất mã GitHub Copilot
GitHub Copilot trong trình soạn thảo mã không giữ lại bất kỳ lời nhắc nào như mã hoặc ngữ cảnh khác được sử dụng cho mục đích cung cấp đề xuất để đào tạo các mô hình nền tảng. Tính năng này sẽ bỏ lời nhắc sau khi một đề xuất được trả về.
Người đăng ký GitHub Copilot Cá nhân có thể chọn không chia sẻ lời nhắc của họ với GitHub mà nếu không sẽ được sử dụng để mô hình nền tảng của finetune GitHub.
Xử lý dữ liệu cho cuộc trò chuyện GitHub Copilot
GitHub Copilot Chat hoạt động như một nền tảng tương tác, cho phép các nhà phát triển tham gia vào các tương tác hội thoại với trợ lý AI để nhận được hỗ trợ mã hóa. Dưới đây là các bước thực hiện có thể khác biệt với các tính năng khác như hoàn tất mã:
- định dạng: Copilot định dạng tỉ mỉ phản hồi được tạo ra để trình bày tối ưu trong giao diện trò chuyện. Tiêu đề này tô sáng các đoạn mã để cải thiện tính dễ đọc và có thể bao gồm các tùy chọn để tích hợp trực tiếp vào mã của bạn. Copilot giới thiệu phản hồi có định dạng trong cửa sổ Trò chuyện Copilot trong IDE, cho phép bạn dễ dàng xem lại và tương tác với thông tin được cung cấp.
- tương tác với người dùng: Bạn có thể chủ động tương tác với phản hồi bằng cách đặt câu hỏi theo dõi, yêu cầu giải thích hoặc cung cấp thông tin đầu vào bổ sung. Giao diện trò chuyện duy trì lịch sử hội thoại để tạo thuận lợi cho việc hiểu ngữ cảnh trong các tương tác tiếp theo.
- lưu trữ dữ: Đối với Trò chuyện Copilot được sử dụng bên ngoài trình chỉnh sửa mã, GitHub thường giữ lại lời nhắc, đề xuất và ngữ cảnh hỗ trợ trong 28 ngày. Chính sách duy trì cụ thể cho Trò chuyện Copilot trong trình soạn mã có thể khác nhau.
Điều này tương tự với CLI, Mobile và GitHub Copilot Chat trên GitHub.com.
Các loại lời nhắc được Hỗ trợ bởi GitHub Copilot Chat
GitHub Copilot Chat xử lý một loạt các lời nhắc liên quan đến mã hóa, thể hiện tính linh hoạt của nó như là một trợ lý mã hóa hội thoại. Dưới đây là một số loại đầu vào phổ biến:
- câu hỏi trực: Bạn có thể đặt câu hỏi cụ thể về khái niệm mã hóa, thư viện hoặc khắc phục sự cố. Ví dụ: "Làm thế nào để tôi thực hiện một thuật toán sắp xếp nhanh trong Python?" hoặc "Tại sao thành phần React của tôi không kết xuất?"
- Code-Related yêu cầu: Bạn có thể yêu cầu tạo, sửa đổi hoặc giải thích mã. Các ví dụ bao gồm "Viết hàm để tính giai thừa", "Khắc phục lỗi này trong mã của tôi" hoặc "Giải thích đoạn mã này".
- Open-Ended Queries: Bạn có thể khám phá các khái niệm mã hóa hoặc tìm hướng dẫn chung bằng cách đặt câu hỏi mở như "Phương pháp tốt nhất để viết mã sạch là gì?" hoặc "Làm thế nào để tôi có thể cải thiện hiệu suất của ứng dụng Python của mình?"
- lời nhắc theo ngữ cảnh: Bạn có thể cung cấp các đoạn mã hoặc mô tả các kịch bản mã hóa cụ thể để tìm kiếm hỗ trợ tùy chỉnh. Ví dụ: "Đây là một phần của mã của tôi, bạn có thể đề xuất các cải tiến không?" hoặc "Tôi đang xây dựng một ứng dụng web, bạn có thể giúp tôi với dòng xác thực không?"
Khả năng xử lý các loại dữ liệu nhập đa dạng của Copilot Chat giúp nâng cao tính tiện ích của nó như một người bạn đồng hành mã hóa toàn diện.
Cửa sổ ngữ cảnh hạn chế
Mặc dù Trò chuyện GitHub Copilot rất hiểu và trả lời lời nhắc, điều cần thiết là phải thừa nhận giới hạn của cửa sổ ngữ cảnh. Điều này đề cập đến số lượng mã xung quanh và văn bản mô hình có thể xử lý đồng thời để tạo đề xuất. Cửa sổ ngữ cảnh của GitHub Copilot thường có phạm vi từ khoảng 200-500 dòng mã hoặc lên đến vài nghìn mã thông báo. Giới hạn này có thể khác nhau tùy thuộc vào việc thực hiện cụ thể và phiên bản của Copilot đang được sử dụng.
Copilot Chat hiện hoạt động với cửa sổ ngữ cảnh 4k token, cung cấp phạm vi rộng hơn để hiểu và phản hồi các truy vấn người dùng so với Copilot tiêu chuẩn.
Mặc dù có những tiến bộ này, bạn nên lưu ý đến những hạn chế về cửa sổ ngữ cảnh khi tạo lời nhắc. Việc chia nhỏ các vấn đề phức tạp thành các truy vấn nhỏ hơn, tập trung hơn hoặc cung cấp các đoạn mã liên quan có thể nâng cao đáng kể khả năng của mô hình để cung cấp phản hồi chính xác và hữu ích.