Nam Fam commited on
Commit
9cb879a
·
1 Parent(s): f7a7308

add examples/

Browse files
examples/__pycache__/mock_config.cpython-311.pyc ADDED
Binary file (735 Bytes). View file
 
examples/__pycache__/mock_data.cpython-311.pyc ADDED
Binary file (10.4 kB). View file
 
examples/example_interview_transcipt.txt ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Interviewer: Chào bạn, cảm ơn bạn đã dành thời gian tham gia buổi phỏng vấn hôm nay. Trước tiên, bạn có thể giới thiệu ngắn gọn về kinh nghiệm làm việc với các bài toán xử lý ngôn ngữ tự nhiên không?
2
+
3
+ Candidate: Dạ, em chào anh/chị. Em hiện có hơn 1 năm kinh nghiệm làm việc trong lĩnh vực NLP. Em từng làm tại một startup EdTech, nơi em phát triển các mô hình xử lý ngôn ngữ như chatbot luyện tập cho học sinh. Em sử dụng Hugging Face Transformers kết hợp với PyTorch để huấn luyện mô hình, cụ thể là các mô hình seq2seq có tích hợp BERT nhằm hiểu rõ hơn về ngữ cảnh. Ngoài ra, em cũng xây dựng pipeline trích xuất thực thể từ hợp đồng và có kinh nghiệm xử lý dữ liệu tiếng Việt.
4
+
5
+
6
+ Interviewer: Bạn đã từng triển khai hệ thống nào kết hợp giữa truy xuất thông tin và sinh câu trả lời (RAG) chưa?
7
+
8
+ Candidate: Dạ có. Em từng thử nghiệm với mô hình RAG trong một dự án nội bộ. Em sử dụng LlamaIndex để xây dựng hệ thống truy xuất văn bản từ các tài liệu PDF và cơ sở dữ liệu, sau đó kết hợp với LLM như LLaMA hoặc GPT để sinh câu trả lời. Em sử dụng LangChain để orchestration các bước và đánh giá đầu ra dựa trên độ phủ thông tin và tính đúng đắn.
9
+
10
+
11
+ Interviewer: Khi làm việc với tiếng Việt, bạn gặp khó khăn gì trong giai đoạn xử lý trước dữ liệu?
12
+
13
+ Candidate: Tiếng Việt có đặc thù là từ ghép và nhiều từ viết tắt theo ngữ cảnh chuyên ngành. Em thường dùng underthesea hoặc pyvi để tách từ, sau đó tự xử lý thêm bằng regex tùy theo domain. Với dữ liệu từ ngành giáo dục hay y tế, em cũng xây dựng một bộ từ điển nội bộ để chuẩn hóa các thực thể đặc thù trước khi training.
14
+
15
+ Interviewer: Bạn từng dùng thư viện hay framework nào để xây dựng mô hình NLP?
16
+
17
+ Candidate: Em dùng chủ yếu là Hugging Face Transformers, kết hợp PyTorch để huấn luyện. Với các task đơn giản như phân loại hoặc TF-IDF vectorization, em sử dụng scikit-learn. Ngoài ra, em cũng có kinh nghiệm sử dụng spaCy và NLTK cho các bước phân tích cú pháp hoặc rút trích thông tin cơ bản.
18
+
19
+ Interviewer: Bạn đã từng tích hợp mô hình vào hệ thống như thế nào?
20
+
21
+ Candidate: Em thường đóng gói mô hình bằng Docker, sử dụng FastAPI để tạo REST API phục vụ inference. Sau đó triển khai trên EC2 hoặc server nội bộ bằng Docker Compose. Em cũng có kinh nghiệm theo dõi hiệu năng model bằng Prometheus và Grafana, đảm bảo thời gian phản hồi phù hợp với yêu cầu thực tế.
22
+
23
+ Interviewer: Bạn đã từng làm việc với cơ sở dữ liệu SQL chưa?
24
+
25
+ Candidate: Dạ có. Em dùng PostgreSQL trong nhiều dự án để lưu trữ dữ liệu người dùng và kết quả inference. Trong một số dự án NLP tích hợp RAG, em còn xây dựng pipeline truy xuất dữ liệu từ SQL để kết hợp với kết quả sinh văn bản từ mô hình.
26
+
27
+ Interviewer: Ngoài các công cụ NLP, bạn có sử dụng hoặc tìm hiểu các công nghệ mới trong lĩnh vực như LangChain, LlamaIndex hay vector database không?
28
+
29
+ Candidate: Dạ có, em rất quan tâm đến các công cụ hỗ trợ triển khai hệ thống NLP hiện đại. Em từng triển khai prototype với LangChain kết hợp FAISS làm vector store để xây dựng hệ thống truy xuất câu trả lời từ tài liệu nội bộ. Em cũng có tìm hiểu về ChromaDB và Milvus để tối ưu tốc độ truy xuất khi hệ thống mở rộng.
30
+
31
+ Interviewer: Bạn có thể chia sẻ một bài toán AI bạn thấy có “tác động xã hội lớn”?
32
+
33
+ Candidate: Dạ, em từng thực hiện đề tài nhận diện cảm xúc học sinh qua giọng nói. Em sử dụng mô hình âm thanh kết hợp NLP để đánh giá trạng thái cảm xúc như lo lắng, mệt mỏi. Ứng dụng này hỗ trợ giáo viên điều chỉnh phương pháp giảng dạy phù hợp, đặc biệt hữu ích trong môi trường học trực tuyến.
34
+
35
+ Interviewer: Bạn có từng làm việc trong nhóm phát triển đa vai trò chưa?
36
+
37
+ Candidate: Dạ có. Trong dự án chatbot, em phụ trách NLP pipeline, trong khi các bạn khác lo frontend và backend. Chúng em sử dụng Jira để quản lý sprint, phối hợp qua Slack và mỗi tuần đều review kết quả với PO. Em thấy việc phối hợp giữa các vai trò là rất quan trọng để đảm bảo sản phẩm thống nhất.
38
+
39
+ Interviewer: Cảm ơn bạn đã chia sẻ rất chi tiết. Buổi phỏng vấn hôm nay đến đây là kết thúc. Chúc bạn nhiều thành công trong các dự án sắp tới!
40
+
41
+ Candidate: Em cảm ơn anh/chị rất nhiều. Em rất vui vì có cơ hội trao đổi và học hỏi trong buổi phỏng vấn này. Chúc anh/chị một ngày làm việc hiệu quả ạ!
examples/example_interview_transcipt_1.txt ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Speaker 0: Mời đưa thêm theo, chị Nguyễn Thị Hoa
2
+
3
+ Speaker 1: Chào anh ạ Chào em
4
+
5
+ Speaker 0: Chào chị Hoa Xin giới thiệu anh Ngô Minh Tuấn, tầm giám đốc Anh Trần Anh Tuấn, phó tầm giám đốc, vừa đàm khoa Thế kế hoạt động tuyệt vụ
6
+
7
+ Speaker 1: Vâng ạ
8
+
9
+ Speaker 0: Chưa tiền thì cảm ơn hoa đến tham gia của qu委 phỏng vận hả Ừ Rồi em cứ trả lời, cái đấy sẽ là thoải mái nhé Hoa có một phút giới thiệu với mình Dạ em
10
+
11
+ Speaker 1: là Nguyễn Thiện Hoa Em tốt nghiệp cao đẳng khoản trị kinh doanh năm 2016 Và hiện nay em đã có kinh nghiệm làm việc bởi 4 năm trai bệch chí nhân tiết kinh doanh
12
+
13
+ Speaker 0: ạ 4 năm kinh nghiệm rồi Thế mục tiêu cá nhân của 3 năm sau mắc gì?
14
+
15
+ Speaker 1: Trong năm tới thì em chỉ làm 3 lộ trình ạ Lộ trình số 1 là trong 3 năm đầu tiên Thì em muốn trở thành một best solo tại Học viện siêu Việt Nam Nếu như
16
+ mà có hội được làm việc ở đây ạ. Trong năm thứ 4 và thứ 5 thì em muốn trở thành một người trưởng phòng kinh doanh và sau đó thì thứ 5 trở đi. Thì là em sẽ muốn là mình có một cái gia nghiệm riêng của
17
+
18
+ Speaker 0: em ạ. À, có thư duy trở thành một chỗ một gia nghiệm. Em đến với học viện thì em mong cho học viện khai ngại cho em cái gì mà phục vụ trong mục tiêu ganh nhất của em.
19
+
20
+ Speaker 1: Dạ, theo em có tìm hiểu thì tập đoàn hợp động đa ngành Trong đó là có
21
+ Học viện siêu Việt Nam Có đoàn tạm từ cấp độ nhân viên kinh doanh đến cấp độ của
22
+ một người trường phòng ạ Và cấp độ của giám lý bình hoành cho các đơn vị doanh nghiệp Đơn hạnh đó thì em về nhà đây là cái cơ hội rất là tốt cho em để có thể phát triển được cái kỹ năng khoản thân để đị để giúp cho mình đạt được cái mục tiêu cá nhân của em
23
+
24
+ Speaker 0: Chứ là ở đây là vừa tham gia học vừa tham gia làm mà có thời gian học
25
+ thập Đúng không? Đúng rồi Cô này thì... Chào mừng hết nhà Rồi, anh Trấn gọi chị Hoa về một số những chuyên môn Trước tiên thì anh thấy mục tiêu của em rất là rõ ràng Chúng ta sẽ đổi nhau một chút về chuyên môn, về sales Với tất cả những gì người ta có 1 năm thường đi làm như vậy Thì theo em là người sales thì họ sẽ phải làm những phần không vượt dịn
26
+
27
+ Speaker 1: Vâng, thưa anh Theo em thì làm một người nhân viên sales thì đầu tiên
28
+ là họ phải phối hợp với các bộ phận Đầu tiên là phần truyền thông và marketing để phản hồi lại về nhận thức, về giải quyết lo lắng khách hàng cũng như việc tạm lưu cầu Khi khách hàng người ta đang muốn điều gì, từ đó là đẩy mạnh được hơn về số lượng data tiềm đăng cho doanh nghiệp Bản thân của người làm nhân viên sales thì cũng phải tự chủ động về tì kiếm data Sau khi mà có data rồi thì bắt đầu là td sales gọi điện thoại đặt hẹn Tư vấn và chốt sales truy tiết ạ Hàng tuần thì hàng tháng thì mình đo đường kết quả làm việc và đổi chiều với mục tiêu kế hoạch từ đó
29
+ thì định vị được bản thân mình ạ
30
+
31
+ Speaker 0: Khá là đầy đủ Vậy thì trong tất cả những cái thứ mà em vừa mới trao đổi với anh thì theo em, phần công việc nào là phần công việc khó nhất?
32
+
33
+ Speaker 1: Dạ theo em thì công việc khó nhất chính là cái việc mà mình kết hợp với các bộ phận truyền thông và marketing tại vì đây là hoạt động sẽ đem lại mức data, những cái danh số vượt trội hơn một cái mức vượt bậc hơn do với các khách khủng
34
+
35
+ Speaker 0: cảm ơn em, câu trả lời cho thông bây và mấy thằng truyền thông tốt và
36
+ hổng hộp là một cái dù gì, không bảo, đau, thiếu dạ ok, bây giờ thì muốn hỏi em vài câu nữa thật sự có cái tình huống của em đi dạo với bạn bè Cũng lớp đại học đi Trường 11 giờ đêm mà thấy các bạn vẫn còn đang vui chơi, vẫn còn đang muốn có vụ này Nhưng mà ngày mai mình cũng muốn với em làm việc cho nó khỏe khói, tinh thần ngày mai nó tốt Ừ Vậy bây giờ là muốn rút lui thì em lựa chọn cách nào để rút lui?
37
+
38
+ Speaker 1: Dạ, Trong kỳ hợp như thế thì em sẽ gặp người đứng đầu nhóm Em sẽ chia
39
+ sẻ với bạn ấy là tại vì ngày mai có được hông việc của em rất là nhiều Chính vì thế nên em sẽ phải diễn thách về trước Vâng ạ, các bạn thông cảm được thì rất là tốt Còn nếu không được thì cũng phải tùy Bởi vì em là người quả sự nghiệm Vì thế nên em đánh giá thằng cái kết quả của ngày mai nó quan trọng hơn Thì cái bộ như
40
+
41
+ Speaker 0: thế Anh nghĩ thế cũng ổn Bởi vì bạn bè là phải giúp nhau ký bộ đúng không? Chứ không phải nhập over life mới gọi là bạn bè thôi Ok Rồi... Có cái tình huống như thế này, mà đây là sự thật nhé, anh chắc chắn cần lời quyên của em Nào vừa rồi thì có cái đăng tải, cái video clip mà anh nghe như anh cũng có cái buổi phỏng vấn như thế này Vâng Thế xong anh đưa lên một số anh bảo đối các anh đào đỏ
42
+ anh cứ dậy rụa quá, nắc qua nắc lại, thì không chuyên nghiệp Vâng Thế thì em đoán thế nào về chuyện này?
43
+
44
+ Speaker 1: Vâng ạ, theo em thì đây là quan điểm bóc độ cá nhân của từng người Người có bóc nhìn thích cực thì họ nhìn thấy họ học được điều tốt trong buổi phỏng vấn đó Người có bóc nhìn không thích cực lắm thì họ nhìn thấy những điểm yếu Về quan điểm cá nhân của em thì em nghĩ rằng hiện nay anh đang là chủ tịch của Tổ Đa Tiền Việt Nam Thì điều đó là điều quan trọng nhất
45
+
46
+ Speaker 0: ạ Ừm có vẻ cô khá có học viên thôi Thôi thôi Nếu như có một khách gái
47
+ đi từ quê lên mà họ đi xe máy và đến với xe mỹ đỉnh
48
+
49
+ Speaker 1: Vâng Thì
50
+
51
+ Speaker 0: làm thế nào em chỉ được cho họ từ miếng xe mỹ đỉnh đi về đến đây Em có thể là chỉ được giúp anh xem À em xin lỗi, em đã từng sống ở cầu giấy gì vậy?
52
+
53
+ Speaker 1: À em sống ở cầu giấy, Em có học ở đây ạ, có từng đi qua đây nhiều lần
54
+
55
+ Speaker 0: Ở thế giới đâu chưa?
56
+
57
+ Speaker 1: Ở cũng được 3 năm
58
+
59
+ Speaker 0: ạ Ờ thì hỏi câu này được đúng không? Vâng Thế thì làm thế nào em chỉ được 1 người đi xe máy mà từ vết xe Mỹ Đình mà đi về đây Mà họ đi một cách thuật lợi nhất, dễ tìm thế
60
+
61
+ Speaker 1: vâng Nếu như mà đi từ bế xe Mỹ Đình thì bắt đầu từ cổng cổng bế xe Mỹ
62
+ Đình thì mình đi qua đường Hạm Hùng đi thẳng đường Tốt Thế Thuyết ạ thì nhìn vào
63
+ phía bên tay trái thì mình sẽ nhìn thấy đường Dịch Vọng Hậu từ đường Dịch Vọng Hậu mình đi thẳng Tiếp theo thì qua ngã tư thứ nhất ở ngã tư thứ hai và cách 200m tiếp theo, ngã tư thứ hai, nhìn sang bên tay phải chính là học viện siêu Việt Nam, ở 35 Dịch Vạng Học Cổ giấy
64
+
65
+ Speaker 0: Cái này là sáng nay Cái này mà mua tạ sản phẩm chắc tốt đây Ừm, lời Có tình vô tiết Nếu bây giờ anh cho em đi câu cá Có phải là nếu em trả Cái tiền mà
66
+ phí cho hồ câu 1 tiếng là 100 nghìn giảng á Thế nếu em câu được hơn 100 nghìn Thì em mang ra chợ bán 100 nghìn thì em lãi đúng không nhưng mà câu được ít hơn thì
67
+ em lộn thế thì bây giờ là có 4 cái việc mà em phải làm để bắt đầu thành nghề thi
68
+ câu để kiếm lợi thế thì việc thứ nhất là mua cần câu việc thứ 2 học kỹ năng câu việc thứ 3 là khảo sát ao cá và việc thứ 4 là mua ngồi câu thì
69
+
70
+ Speaker 1: em sẽ làm cái gì trước em sẽ khảo sát ao cá trước
71
+
72
+ Speaker 0: ạ tại sao vậy?
73
+
74
+ Speaker 1: Tại vì mình phải biết trong áo có cá hay không và có những loại cá gì
75
+ Từ đó mình sẽ học kỹ thuật câu và mua loại ngồi để phù hợp với cả loại cá đấy ạ
76
+
77
+ Speaker 0: Đúng rồi, mình thắc mặt và hệt Cái cá gì thì không, học xong thì không có cá, chết rồi Rồi, ok, rất là tốt Anh hỏi với em 1 câu nữa thôi Dạ, được Dạo này thì Ở tập đoàn đang trả lương theo 2 cách 1 cái cách nhất trả lương cứng gia sử là lương cứng là 6 triệu và cách trả lương thứ 2 là lương mềm là chính, chứ là
78
+ lương cứng chỉ có 2 triệu thôi và có chiết khấu trên xanh số thì lúc đấy thì thu
79
+ nhập của em có thể đạt được cái nguyên là khoảng 8-10 triệu thế vì em sẽ nhận lương cứng hay nhận theo cách trả lương của chiết khấu?
80
+
81
+ Speaker 1: Em sẽ lựa chọn cách trả lương thứ 2 là trả lương tiêu chiết khấu
82
+
83
+ Speaker 0: Tại sao lại?
84
+
85
+ Speaker 1: Vâng ạ, tại vì mục tiêu của em là để giải luyện kĩ năng bản thân Chính vì thế mức trả lương bách thứ 2 sẽ thúc đẩy em về việc cần đấu nhiều hơn Và em cũng tin rằng với năng lực và sự phản đấu của mình thì mình sẽ trả đư���c mức ương cao hơn 6 triệu Ừm,
86
+
87
+ Speaker 0: tại vì mình sẽ định vị được bản thân đấy Chả lương cứng là mình làm nó sẽ không phát huy được năng lực bản thân Rồi, cảm ơn Hoan đã khám dự cái buổi phỏng vấn này Em có câu hỏi gì dành cho Ban Tử Dụng của tôi không?
88
+
89
+ Speaker 1: Vâng, em cảm ơn anh. Thực ra trước khi đến đây Em cũng khó tìm hiểu về tập đoàn Xe Việt Nam Và em cũng rất là mong muốn có cơ hội được hợp tác và làm việc cùng
90
+
91
+ Speaker 0: với các anh chị ạ Rồi ok, anh cũng hi vọng được đàm biểu với bạn Hoa,
92
+ bạn khá thông minh Vậy thì có kết quả thế nào thì anh Hoa và thư ký anh sẽ báo lại cho Hoa nhé Rồi em cảm ơn Hoa đã đến tham gia và hợp tác cùng người tham gia Xin cảm
93
+
94
+ Speaker 1: ơn em Em cảm
95
+
96
+ Speaker 0: ơn em Mọi người hồi phỏng vấn xong, bây giờ chúng ta sẽ thảo lược về năng lực của bạn Hoa là thế giới. Theo quan điểm của anh Tuấn thì thế thế nào? Thực ra thì em thấy là bạc ấy khi em làm ra những câu hỏi về Trinh Môn thì quả thường cái câu trả nời đấy nó cũng vượt quá sự kỳ vả Tuy nhiên của em, tuy nhiên là nó cũng không đầy đủ một cách hoàn hảo Thế nhưng mà với em thì bạc ấy trả lời với mình rất là tốt đặc biệt là em thấy ra cao cái việc là bạc ấy phải nghĩ cách là kết hợp với bộ phận truyền thông và marketing Cái này thì rất kĩ và có thể phát hiện ra thế này Chỉ cần chung vào phần công việc của mình thôi Em thì em nghĩ là về
97
+ truyền thông là khá là ổn Họa hình này thế nào? Họa hình thì Chắc em cũng giống anh Ừ, cũng giống anh Ừ, cũng giống em Anh bạn học Về cách trả lời của bạn ấy, tương đối là vinh hoạch Và cái đấy là chủ đối rất là quan trọng của một người là con hà Ừ Tôi thì tôi đánh giá thế này Đối với bạn thì phụ nhất là về mục tiêu cá nhân của bạn rất là rõ ràng.
98
+
99
+ Thứ hai là mục tiêu bạn đến đây tham gia để làm việc cũng rất là rõ ràng. Nó vừa
100
+ trải nghiệm, nó vừa học tập. Và 6 năm nữa là năm 4 bởi trường nghiệp và đến đây thì rõ ràng có cơ hội học tập, xong rồi lại dành lược thì nó có mục tiêu đó là như vậy thì có lẽ họ sẽ quyết định làm việc nông dạng nhưng mà theo vai nếu chúng ta đào tạo hỏi em để trở thành giám đốc một trường nghiệp trong 6-5 năm sau thì nó
101
+ rời về Điều Vĩnh Anh. Thôi để đây đây nhé. Thực ra thì em nghĩ là với sứ mệnh đầu tạo của Tài đoàn sư Việt Nam, từ lúc đầu là mình đa dọa cái giá trị.
102
+
103
+ Vậy thì nếu mà bạn đến đây làm việc, bạn ấy cậu tác cùng mình trong thời gian khi bạn có một quan điểm riêng thì theo bác nhìn của em thấy là chúng ta đã thành công chứ cũng không có vấn đề gì cả bằng vì là mặc dù như vậy sẽ không có bắt tiền
104
+ mà có những quan điểm em nghĩ thế chứ bác em tham dự một quan điểm với anh Tuấn bởi vì thế này khi mà tính mục tiêu của họ trùng với tính mục tiêu của doanh hiểm
105
+ thì rõ ràng là cả hai cái đó sẽ cậu hưởng và con người sẽ cùng đi về một điều đó. Tôi cũng đồng quan điểm, vì thực tế là nếu mình làm tính mục người một sức lượng, chứ mình làm một năm quý, chỉ đừng nói là năm năm Mình đưa hết tất cả thình buổi này anh em ta thảo luận Thứ còn về chuyên môn thì bạn ấy ok nè Về lóc nhìn thì
106
+ cũng thấy khá kích cực Đúng không? Về quan điểm hiện nay là sinh viên thì người đi làm có hay nghỉ một cách bừa bãi, đêm hôm thì ăn chơi xong rồi hôm sau đến thì
107
+ về thòi thì bà ấy đã có quan điểm sự nghiệp rất là rõ ràng đúng không?
108
+
109
+ Có cái tư duy rất là tôn nhiên với bà ấy là người về đến giờ thì bà ấy làm việc,
110
+ coi sự nghiệp là hoàn trọng tốt đen giáo và thân hạn thế là một cái người trả lời như thế này thì theo anh có lo là trả lời kỹ năng không nhỉ? Thực ra thì kỹ năng trong phần trả lời của bà cũng có Tuy nhiên nếu mà là 10 phần thì chắc chỉ tồn tại 1-2 phần kĩ năng bởi vì chủ yếu mức mỏng là tôi có thể ngủ không có kĩ năng, tôi tìm có sẵn Còn về mặt tương duy của bạn ấy thì bạn tương duy khá khá tốt về cái câu áo bá đúng không? Về mặt thiết trình của bạn ấy thì bạn cũng ngô giảm được
111
+ cái con đường đi rất là rõ r��ng Một người mà thư duy mà thiết trình với người khác nghe, mấy sách rất là dạch mạnh Vì vậy anh dám thay trình được, giao kiếp được, có khắc vọng, Có mục tiêu rõ ràng đối với cá nhân, đối với tập thể Có cái lược bản thân tốt, có cái diệp hụ tốt đúng không?
112
+
113
+ Rõ ràng là đây là một vương trình hợp này thì tôi nghĩ là tụi mình là đoàn mình may mắn Có nhân lực như thế này đúng không? Ừ, thế nhưng mà tôi nghĩ là Cô xin phép hai người dễ dàng cho cô ấy làm việc nhé Ừ Thôi thì tôi đánh giá hết Ừ, và tôi
114
+ nghĩ là Bạn này sẽ trở thành một trong những Nhân tố, một trong những chủ truyện
115
+ Chúng ta đoàn xong rồi Rồi, dạy Đó là bình chốt, vui lòng hay gì dạy còn đấy là quan điểm của chúng tôi, cái quan điểm của ca trị thì như thế nào ạ? Xin mời ca trị cứ cho ý kiến, tôi rất mong chờ những cái ý kiến của ca trị để chúng tôi hóa thiện ra. Xin cáo ơn.
examples/mock_data.py ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+
3
+ # This file contains mock data for testing the analysis pipeline without calling the Deepgram API.
4
+
5
+ mock_qa_pairs = [
6
+ {
7
+ "qa_id": 1,
8
+ "question": "Chào bạn, cảm ơn bạn đã dành thời gian tham gia buổi phỏng vấn hôm nay. Trước tiên, bạn có thể giới thiệu ngắn gọn về kinh nghiệm làm việc với các bài toán xử lý ngôn ngữ tự nhiên không?",
9
+ "answer": "Dạ, em chào anh/chị. Em hiện có hơn 1 năm kinh nghiệm làm việc trong lĩnh vực NLP. Em từng làm tại một startup EdTech, nơi em phát triển các mô hình xử lý ngôn ngữ như chatbot luyện tập cho học sinh. Em sử dụng Hugging Face Transformers kết hợp với PyTorch để huấn luyện mô hình, cụ thể là các mô hình seq2seq có tích hợp BERT nhằm hiểu rõ hơn về ngữ cảnh. Ngoài ra, em cũng xây dựng pipeline trích xuất thực thể từ hợp đồng và có kinh nghiệm xử lý dữ liệu tiếng Việt."
10
+ },
11
+ {
12
+ "qa_id": 2,
13
+ "question": "Bạn đã từng triển khai hệ thống nào kết hợp giữa truy xuất thông tin và sinh câu trả lời (RAG) chưa?",
14
+ "answer": "Dạ có. Em từng thử nghiệm với mô hình RAG trong một dự án nội bộ. Em sử dụng LlamaIndex để xây dựng hệ thống truy xuất văn bản từ các tài liệu PDF và cơ sở dữ liệu, sau đó kết hợp với LLM như LLaMA hoặc GPT để sinh câu trả lời. Em sử dụng LangChain để orchestration các bước và đánh giá đầu ra dựa trên độ phủ thông tin và tính đúng đắn."
15
+ },
16
+ {
17
+ "qa_id": 3,
18
+ "question": "Khi làm việc với tiếng Việt, bạn gặp khó khăn gì trong giai đoạn xử lý trước dữ liệu?",
19
+ "answer": "Tiếng Việt có đặc thù là từ ghép và nhiều từ viết tắt theo ngữ cảnh chuyên ngành. Em thường dùng underthesea hoặc pyvi để tách từ, sau đó tự xử lý thêm bằng regex tùy theo domain. Với dữ liệu từ ngành giáo dục hay y tế, em cũng xây dựng một bộ từ điển nội bộ để chuẩn hóa các thực thể đặc thù trước khi training."
20
+ },
21
+ {
22
+ "qa_id": 4,
23
+ "question": "Bạn từng dùng thư viện hay framework nào để xây dựng mô hình NLP?",
24
+ "answer": "Em dùng chủ yếu là Hugging Face Transformers, kết hợp PyTorch để huấn luyện. Với các task đơn giản như phân loại hoặc TF-IDF vectorization, em sử dụng scikit-learn. Ngoài ra, em cũng có kinh nghiệm sử dụng spaCy và NLTK cho các bước phân tích cú pháp hoặc rút trích thông tin cơ bản."
25
+ },
26
+ {
27
+ "qa_id": 5,
28
+ "question": "Bạn đã từng tích hợp mô hình vào hệ thống như thế nào?",
29
+ "answer": "Em thường đóng gói mô hình bằng Docker, sử dụng FastAPI để tạo REST API phục vụ inference. Sau đó triển khai trên EC2 hoặc server nội bộ bằng Docker Compose. Em cũng có kinh nghiệm theo dõi hiệu năng model bằng Prometheus và Grafana, đảm bảo thời gian phản hồi phù hợp với yêu cầu thực tế."
30
+ },
31
+ {
32
+ "qa_id": 6,
33
+ "question": "Bạn đã từng làm việc với cơ sở dữ liệu SQL chưa?",
34
+ "answer": "Dạ có. Em dùng PostgreSQL trong nhiều dự án để lưu trữ dữ liệu người dùng và kết quả inference. Trong một số dự án NLP tích hợp RAG, em còn xây dựng pipeline truy xuất dữ liệu từ SQL để kết hợp với kết quả sinh văn bản từ mô hình."
35
+ },
36
+ {
37
+ "qa_id": 7,
38
+ "question": "Ngoài các công cụ NLP, bạn có sử dụng hoặc tìm hiểu các công nghệ mới trong lĩnh vực như LangChain, LlamaIndex hay vector database không?",
39
+ "answer": "Dạ có, em rất quan tâm đến các công cụ hỗ trợ triển khai hệ thống NLP hiện đại. Em từng triển khai prototype với LangChain kết hợp FAISS làm vector store để xây dựng hệ thống truy xuất câu trả lời từ tài liệu nội bộ. Em cũng có tìm hiểu về ChromaDB và Milvus để tối ưu tốc độ truy xuất khi hệ thống mở rộng."
40
+ },
41
+ {
42
+ "qa_id": 8,
43
+ "question": "Bạn có thể chia sẻ một bài toán AI bạn thấy có “tác động xã hội lớn”?",
44
+ "answer": "Dạ, em từng thực hiện đề tài nhận diện cảm xúc học sinh qua giọng nói. Em sử dụng mô hình âm thanh kết hợp NLP để đánh giá trạng thái cảm xúc như lo lắng, mệt mỏi. Ứng dụng này hỗ trợ giáo viên điều chỉnh phương pháp giảng dạy phù hợp, đặc biệt hữu ích trong môi trường học trực tuyến."
45
+ },
46
+ {
47
+ "qa_id": 9,
48
+ "question": "Bạn có từng làm việc trong nhóm phát triển đa vai trò chưa?",
49
+ "answer": "Dạ có. Trong dự án chatbot, em phụ trách NLP pipeline, trong khi các bạn khác lo frontend và backend. Chúng em sử dụng Jira để quản lý sprint, phối hợp qua Slack và mỗi tuần đều review kết quả với PO. Em thấy việc phối hợp giữa các vai trò là rất quan trọng để đảm bảo sản phẩm thống nhất."
50
+ },
51
+ {
52
+ "qa_id": 10,
53
+ "question": "Cảm ơn bạn đã chia sẻ rất chi tiết. Buổi phỏng vấn hôm nay đến đây là kết thúc. Chúc bạn nhiều thành công trong các dự án sắp tới!",
54
+ "answer": "Em cảm ơn anh/chị rất nhiều. Em rất vui vì có cơ hội trao đổi và học hỏi trong buổi phỏng vấn này. Chúc anh/chị một ngày làm việc hiệu quả ạ!"
55
+ }
56
+ ]
57
+
58
+
59
+ mock_transcription_data = {
60
+ "results": {
61
+ "channels": [
62
+ {
63
+ "alternatives": [
64
+ {
65
+ "transcript": "mock full transcript",
66
+ "paragraphs": {
67
+ "transcript": "mock full transcript",
68
+ "paragraphs": [
69
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[0]['question']}]},
70
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[0]['answer']}]},
71
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[1]['question']}]},
72
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[1]['answer']}]},
73
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[2]['question']}]},
74
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[2]['answer']}]},
75
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[3]['question']}]},
76
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[3]['answer']}]},
77
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[4]['question']}]},
78
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[4]['answer']}]},
79
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[5]['question']}]},
80
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[5]['answer']}]},
81
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[6]['question']}]},
82
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[6]['answer']}]},
83
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[7]['question']}]},
84
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[7]['answer']}]},
85
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[8]['question']}]},
86
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[8]['answer']}]},
87
+ {"speaker": 0, "sentences": [{"transcript": mock_qa_pairs[9]['question']}]},
88
+ {"speaker": 1, "sentences": [{"transcript": mock_qa_pairs[9]['answer']}]}
89
+ ]
90
+ }
91
+ }
92
+ ]
93
+ }
94
+ ]
95
+ }
96
+ }
97
+
98
+ mock_transcription_result_json = json.dumps(mock_transcription_data)
99
+
100
+ mock_job_description = """
101
+ Mô tả công việc
102
+
103
+ Sử dụng các công cụ và framework như TensorFlow, PyTorch, và Hugging Face Transformers để xây dựng các mô hình ngôn ngữ.
104
+ Sử dụng các kỹ thuật NLP để phân tích, trích xuất thông tin từ văn bản, và xử lý ngôn ngữ tự nhiên.
105
+ Phát triển các hệ thống truy xuất thông tin từ cơ sở dữ liệu để hỗ trợ quá trình tạo ra câu trả lời chính xác và đầy đủ.
106
+ Sử dụng các kỹ thuật RAG để kết hợp thông tin truy xuất từ các nguồn dữ liệu với khả năng sinh văn bản của mô hình.
107
+ Theo dõi và nghiên cứu các xu hướng và công nghệ mới trong lĩnh vực NLP, Chatbot và RAG.
108
+ Tối ưu hóa thời gian phản hồi và hiệu suất của hệ thống truy xuất thông tin.
109
+
110
+ Yêu cầu ứng viên
111
+
112
+ Có tối thiểu 1 năm kinh nghiệm
113
+ Tốt nghiệp Cao đẳng/Đại học các chuyên ngành Công nghệ Thông tin, Toán Tin, Điện tử Viễn thông, Điều khiển Tự động, hoặc các ngành liên quan.
114
+ Kiến thức chuyên môn:
115
+ Có hiểu biết về Machine Learning và Deep Learning.
116
+ Kinh nghiệm làm việc với các mô hình ngôn ngữ lớn (LLM)
117
+ Có kinh nghiệm làm việc với RESTAPI, Langchain, llamaindex, ...
118
+ Kỹ năng nghiên cứu và nền tảng:
119
+ Khả năng nghiên cứu và áp dụng các công nghệ mới.
120
+ Nền tảng vững chắc về cấu trúc dữ liệu và thuật toán.
121
+ Hiểu biết và có kinh nghiệm lập trình với các ngôn ngữ như C++ và Python.
122
+ Có kinh nghiệm làm việc với cơ sở dữ liệu SQL.
123
+
124
+ Quyền lợi
125
+
126
+ Mức lương: thỏa thuận khi phỏng vấn
127
+ Công ty đóng 100% BHYT, BHXH, BHTN
128
+ Công ty cung cấp thiết bị làm việc
129
+ Review lương 1 - 2 lần/năm theo năng lực
130
+ Thưởng ngày lễ 2/9, 30/04, 1/5, ..., Tết, thưởng lương tháng 13
131
+ Thưởng kết quả kinh doanh toàn công ty cuối năm
132
+ Du lịch 2 lần/năm
133
+ Môi trường làm việc năng động, chuyên nghiệp
134
+
135
+
136
+ """
137
+
138
+ mock_rubric_content = """expertise:
139
+ description: "Đánh giá mức độ thành thạo về chuyên môn AI, bao gồm kiến thức và kinh nghiệm thực tế với NLP, LLM, RAG, và các công cụ như PyTorch, TensorFlow, HuggingFace, LangChain, REST API. Khả năng áp dụng thuật toán, xử lý dữ liệu và tối ưu hóa hệ thống cũng được xem xét."
140
+ weight: 0.7
141
+
142
+ communication:
143
+ description: "Đánh giá khả năng trình bày ý tưởng rõ ràng, trao đổi kỹ thuật hiệu quả, viết tài liệu hoặc báo cáo kỹ thuật dễ hiểu, và khả năng giao tiếp với các thành viên không chuyên kỹ thuật (PM, khách hàng nội bộ)."
144
+ weight: 0.3
145
+
146
+
147
+ """
examples/sample_transcription.txt ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Dưới đây là **mock transcript** gồm **10 cặp câu hỏi – trả lời** cho một buổi phỏng vấn vị trí **AI Engineer** tại VNPT, phù hợp với JD bạn cung cấp:
2
+
3
+ ---
4
+
5
+ ### 🎙️ **Transcript – Interview for AI Engineer**
6
+
7
+ **📌 Speaker tags:**
8
+
9
+ * `I:` Interviewer
10
+ * `C:` Candidate
11
+
12
+ ---
13
+
14
+ **1.**
15
+ **I:** Bạn có thể giới thiệu ngắn gọn về kinh nghiệm làm việc với các bài toán xử lý ngôn ngữ tự nhiên không?
16
+ **C:** Dạ, em có khoảng 2 năm làm NLP tại một startup về EdTech. Em từng phát triển chatbot hỗ trợ học sinh luyện tập, dùng mô hình seq2seq kết hợp với BERT để hiểu ngữ cảnh. Ngoài ra em cũng từng triển khai một pipeline trích xuất thực thể cho hệ thống văn bản hợp đồng.
17
+
18
+ ---
19
+
20
+ **2.**
21
+ **I:** Bạn đã từng triển khai model nào liên quan đến speech-to-text chưa?
22
+ **C:** Có ạ. Trong một dự án nội bộ, em dùng Wav2Vec 2.0 fine-tune cho dữ liệu tiếng Việt để nhận diện giọng nói nhân viên. Sau đó đóng gói model này thành REST API bằng FastAPI để tích hợp vào hệ thống chăm sóc khách hàng.
23
+
24
+ ---
25
+
26
+ **3.**
27
+ **I:** Khi làm việc với tiếng Việt, bạn gặp khó khăn gì về preprocessing?
28
+ **C:** Em thấy khó nhất là tokenization, vì tiếng Việt không có khoảng trắng rõ ràng giữa các từ ghép. Em thường dùng underthesea để tách từ, sau đó custom lại thêm bằng regex vì dữ liệu ngành giáo dục có nhiều từ viết tắt riêng.
29
+
30
+ ---
31
+
32
+ **4.**
33
+ **I:** Bạn từng dùng thư viện nào để xây dựng model NLP?
34
+ **C:** Em chủ yếu dùng HuggingFace Transformers, kết hợp với PyTorch để huấn luyện. Ngoài ra, em cũng dùng scikit-learn cho các task đơn giản như phân loại sắc thái hoặc vector hóa dữ liệu đầu vào bằng TF-IDF.
35
+
36
+ ---
37
+
38
+ **5.**
39
+ **I:** Với những model bạn đã huấn luyện, bạn đóng gói và triển khai chúng như thế nào?
40
+ **C:** Em sử dụng Docker để đóng gói toàn bộ môi trường, bao gồm cả mô hình và script phục vụ inference. Sau đó triển khai trên EC2 hoặc dùng Docker Compose nếu chạy trên server nội bộ. Em cũng có kinh nghiệm monitoring bằng Prometheus và Grafana.
41
+
42
+ ---
43
+
44
+ **6.**
45
+ **I:** VNPT có nhiều use case liên quan đến y tế, bạn nghĩ ứng dụng AI có thể giúp gì trong ngành này?
46
+ **C:** Dạ, AI có thể hỗ trợ đọc hồ sơ bệnh án bằng NLP, trích xuất thông tin y tế quan trọng. Ngoài ra, voice-to-text cũng rất hữu ích khi bác sĩ ghi chú bằng giọng nói. Em nghĩ việc kết hợp cả hai kỹ thuật này để phân tích nội dung bác sĩ nói sẽ rất thiết thực.
47
+
48
+ ---
49
+
50
+ **7.**
51
+ **I:** Bạn có thể chia sẻ một bài toán AI bạn thấy “tác động xã hội lớn”?
52
+ **C:** Em từng làm một đề tài về nhận diện cảm xúc học sinh qua giọng nói, giúp giáo viên hiểu được học sinh đang lo lắng hay chán nản. Em thấy rất phù hợp với ngành giáo dục vì nó giúp điều chỉnh phương pháp dạy phù hợp hơn.
53
+
54
+ ---
55
+
56
+ **8.**
57
+ **I:** Bạn có từng làm việc trong nhóm phát triển đa vai trò chưa?
58
+ **C:** Có ạ. Trong dự án chatbot, em là người thiết kế NLP pipeline, còn bạn khác đảm nhận frontend. Chúng em dùng Jira để quản lý sprint và thường xuyên sync qua Slack, mỗi tuần có review kết quả với PO.
59
+
60
+ ---
61
+
62
+ **9.**
63
+ **I:** Theo bạn, một AI Engineer giỏi thì cần những phẩm chất gì?
64
+ **C:** Theo em là phải giỏi cả lý thuyết và thực hành. Không chỉ biết mô hình nào tốt, mà còn phải hiểu cách triển khai, tối ưu hóa chi phí, phục vụ đúng use case. Và đặc biệt là phải biết học nhanh, vì công nghệ thay đổi rất nhanh.
65
+
66
+ ---
67
+
68
+ **10.**
69
+ **I:** Bạn có theo dõi các nghiên cứu hoặc competition AI không?
70
+ **C:** Có ạ. Em thường theo dõi NeurIPS, ACL. Năm ngoái em tham gia cuộc thi Zalo AI Challenge, tụi em đạt top 20 ở bài toán Vietnamese QA. Em cũng thường đọc blog của HuggingFace để cập nhật công nghệ mới.
71
+
72
+ ---
73
+
74
+ Bạn muốn mình trích ra từng đoạn trả lời để mapping thử vào rubric tiêu chí (ví dụ: `NLP`, `production skill`, `teamwork`, `impact awareness`, etc.) không?