YouTube2Text

Vector Database Fundamentals — Transcript

by Sphere · 4,928 words · 1,702 segments · language en · Watch on YouTube

Full transcript

  1. 0:00สวัสดีครับผมสุรศักดิ์อัครมณพงษ์นะครับ
  2. 0:02เทคนicalโค้ชจาก alve และ tus by
  3. 0:04กรุงไทยวันนี้จะมาสอนเรื่องเวกเตอร์
  4. 0:06database เป็นเรื่องที่พี่ต้องการจะสอน
  5. 0:10กับพวกเราไปตั้งนานแล้ว AI เนี่ยเป็นแฟน
  6. 0:12พัฒนาที่เร็วมากเราตามกันแทบจะไม่ทันเรา
  7. 0:15เลยลืมหลงลืมเรื่องของ Fundamental พี่
  8. 0:17เลยขอย้อนกลับมาสู่ Back to the Basic
  9. 0:20นิดนึงวันนี้เลยขอกลับย้อนกลับมาในเรื่อง
  10. 0:22ของ Vector Database ทำไมต้องเป็น vector
  11. 0:24database ถ้าเราเปรียบเทียบภูเขาน้ำแข็ง
  12. 0:28การที่เราใช้ database แบบเดิมหรือ
  13. 0:31traditional database เนี่ยมันอยู่ที่
  14. 0:3320% ด้านบนเท่านั้นเองคือเป็น structure
  15. 0:36data คือ data ที่เรามีโครงสร้าง table
  16. 0:39กันอยู่แล้วเราใช้ภาษา SQL ในการ data
  17. 0:42พวกนั้นขึ้นมาแต่มันมี data อีกมากมาย
  18. 0:44ครับที่ไม่สามารถเก็บเป็นแบบ structure
  19. 0:46data ได้เขาเรียกว่า unstructure data
  20. 0:49มันคือใต้ภูเขาน้ำแข็งอีก 80% ด้านล่าง
  21. 0:51ซึ่งมันเป็นพวก PDF ไฟ Word Document
  22. 0:55Space Sheet Presentation Social
  23. 0:57Media Post หรือแม้กระทั่งเป็นพวก
  24. 0:59หนังสือเอกสารต่างๆที่เราไม่สามารถจับยัด
  25. 1:01ลง table ของ SQL database ได้นี่คือ
  26. 1:04flow ของเราที่เราจะทำกันในวันนี้แค่นี้
  27. 1:06เองครับเราจะมี data เราใช้การกระทำด้วย
  28. 1:10แล้วก็มาแปลงเป็นเวกเตอร์เพื่อเก็บเราจะ
  29. 1:13เก็บไว้ที่ไหนล่ะเราจะเก็บไว้ที่ SQL
  30. 1:15database ใช่ไหมไม่ใช่เราต้องเลือกใช้
  31. 1:18วิธีการเก็บแบบใหม่คือการเก็บลงเป็น
  32. 1:20เวกเตอร์ database นั่นเองเวกเตอร์คือ
  33. 1:22อะไรเวกเตอร์ก็คือตัวเลขที่มีมิติยกตัว
  34. 1:25อย่างเช่น array ที่เราเคยเรียน
  35. 1:26โปรแกรมมิ่งกันมา Array 2 มิติอ 3 มิติ
  36. 1:29เป็นจุดๆๆๆเข้าไปแล้วเราก็พเป็นตัวเลขออก
  37. 1:32มายกตัวอย่างเช่นถ้าเกิดคุณมี unstructure
  38. 1:35data ประเภทนี้อยู่ในมือคุณต้องการจะ
  39. 1:37แปลงพวกนี้เก็บลง database ทำไงคุณคงเก็บ
  40. 1:39ลง database ไม่ได้คุณจะคี่ยังไงเพื่อจะ
  41. 1:41หาของที่เหมือนๆกันแบบนี้ได้เราต้องแปลง
  42. 1:44ไปเป็นเวกเตอร์ก่อนมาเรามาลองแปลง data
  43. 1:47เป็นเนี้ยให้เป็นเวกเตอร์กันเพื่อเก็บลง
  44. 1:49database กันดีกว่าทำไงดีเราจะมองมันว่า
  45. 1:53มันมีcทeriaอะไรบ้างแล้วแปลงมันเป็นตัว
  46. 1:55เลขให้หมดถ้าพี่มองตรงนี้พี่ขอตีความกัน
  47. 1:58ว่าภาพพวกเนี้ยมันมี 3 สิ่งเนี้ยคล้ายๆ
  48. 2:01กันก็คือสีเชฟแล้วก็ความยาว 3 อย่างนี้
  49. 2:05พี่มองเป็นของ 3 มิติแล้วกันเราเรียกว่า
  50. 2:08diension อจectที่ 1 ตัวสีแดงเนี่ยมัน
  51. 2:10คือมีสีเป็นสีแดงมันมีเชฟเป็นวงกลมมันมี
  52. 2:14เลงคือเป็นเรเดียสรัศมี 5 ซม.เราแปลงมัน
  53. 2:17เป็นตัวเลขก่อนอันที่ 2 มันเป็นสี่
  54. 2:19เหลี่ยมใช่ไหมก็คือสีบูue shap เป็น
  55. 2:21square แล้วมันมีไซส์คือ 10 อันที่ 3
  56. 2:25เหลี่ยมเป็นสีเขียวgreีนมีเป็นรูปสาม
  57. 2:27เหลี่ยม triangle มีเบสคือฐานและมีความ
  58. 2:30สูงคือ 6 ต่อมาวงกลมคือสีเหลืองเป็นวงกลม
  59. 2:33circle มีรัศมีคือ 7 ซม.สุดท้ายคือสี่
  60. 2:36เหลี่ยมสีแดงsแวร์มีไซส์ก็คือมีด้านละ 5
  61. 2:40ซม.ทั้งหมดเนี้ยเราแปลงเป็นแบบนี้ก่อน
  62. 2:42เพื่อจัดหมวดหมู่มันสังเกตว่าบางสิ่งบาง
  63. 2:45อย่างมันมีตัวเลขอยู่แล้วคำนวณเป็น
  64. 2:47คณิตศาสตร์ได้แต่บางสิ่งบางอย่างมันยัง
  65. 2:49เป็นตัวอักษรมันยังไม่เป็นตัวเลขเราก็
  66. 2:51ต้องแปลงมันเป็นตัวเลขก่อนเนาะพี่จะลอง
  67. 2:53เปลี่ยนจากสีแดงให้กลายเป็นเลข 1 เปลี่ยน
  68. 2:55สีฟ้าให้เป็นเลข 2 สีเขียวให้เป็นเลข 3
  69. 2:58สีเหลืองให้เป็นเลข 4 เชฟวงกลมให้เป็นเลข
  70. 3:011 sแคareสี่เหลี่ยมให้เป็นเลข 2 แล้วก็
  71. 3:03trangle สามเหลี่ยมให้เป็นเลข 3 ซะพอ
  72. 3:06แปลงเสร็จแสดงว่าเราสามารถที่จะทำให้ทุก
  73. 3:08อย่างเป็นตัวเลขได้หมดแล้วเรามาแปลงกัน
  74. 3:10obจectอันที่ 1 เนี่ยมันคือสีแดงใช่มั้ก็
  75. 3:13แปลงเป็น 1 ซะอันนี้เป็น 2 เป็น 3 เป็น 4
  76. 3:15แล้วเป็น 1 นะเหมือนกันครับเชฟก็คือแปลง
  77. 3:17เป็น 1 เป็น 2 เป็น 3 เป็น 1 เป็น 2 ส่วน
  78. 3:20เลงมันมีอยู่แล้วเป็นตัวเลขอยู่แล้วแล้ว
  79. 3:22สามารถใส่ได้เลยแต่ปัญหาของมันก็คือว่า
  80. 3:24ไอ้ตัวหมายเลข 3 เนี่ยมันไม่ค่อยแมตชกับ
  81. 3:26คนอื่นเพราะว่ามันมีฐานและส่วนสูงด้วยมัน
  82. 3:28มี 2 ตัวเลขอันเนี้ยทำไงดีเราต้องตัดครับ
  83. 3:31ของบางสิ่งบางอย่างแล้วไปซะที่จะเป๊ะมัน
  84. 3:33100% ได้เราจะตัดบางอย่างผมเก็บเป็นฐาน
  85. 3:36ก็พอเพราะอันนี้มันเกินมาเราจะตัดตัวความ
  86. 3:39สูงทิ้งก็กลายเป็นว่าพี่แปลงทุกอย่างจาก
  87. 3:42objectจตัวเนี้ยที่เป็นภาพเนี่ยให้กลาย
  88. 3:44เป็นตัวเลขแบบนี้ได้โดยที่เราจะใช้เป็น
  89. 3:47เวกเตอร์ represent มันเป็น TD array ก็
  90. 3:49คือ 1 5 2 10 3 8 ตัด 6 ทิ้งไม่เอา 4
  91. 3:551 7 1 2 5 นี่คือตัวเวกเตอร์ของเรา
  92. 3:59พอเราได้ TDR เราจะเก็บลง database กันลง
  93. 4:02database ปกติ SQL ได้มได้แต่คำถามคือ
  94. 4:05คุณจะคี่ยังไงอ่ะเพื่อจะถามว่าของสิ่งนี้
  95. 4:08อยู่ที่ไหนคืออะไรเหมือนกันมั้ย
  96. 4:10similarity คือค้นหาความเหมือนไม่ได้นี่
  97. 4:13คือตัวเลขธรรมดามนุษย์อ่านไม่ออกอยู่แล้ว
  98. 4:15เราต้องเอาตรงเเก็บลงเวกเตอร์ database
  99. 4:17แต่ก่อนจะเก็บลงเวกเตอร์ database นั้น
  100. 4:19คุณต้องอาศัยความสามารถของ database นิด
  101. 4:21นึงครับก็คือการทำ indexing มันมี
  102. 4:23algoritm ตัวนึงครับชื่อว่า higher
  103. 4:25navigable small world snw มันเป็น
  104. 4:29algoritึมในการสร้างโรคการเก็บเวกเตอร์
  105. 4:31ขึ้นมาเราคงไม่ต้องลงลึกกับมันนะเพราะเรา
  106. 4:33ก็ไม่รู้เหมือนกันยกตัวอย่างเช่นไอ้ภาพ
  107. 4:36เนี้ยมันเก็บอยู่ในเวกเตอร์ database ละ
  108. 4:37เราอยากจะทำการค้นหาบ้างบอกผมมีภาพอยู่
  109. 4:40ภาพนึงเป็นวงกลมที่มีขนาดรัศมี 4 ซม.สี
  110. 4:44แดงจะค้นหาว่าของสิ่งเนี้ยมีอะไรบ้างใน
  111. 4:47datาเราที่มันใกล้เคียงที่สุดคุณช่วยค้น
  112. 4:49หาให้เราหน่อยสังเกตมั้ยเราไม่ได้ค้นหา
  113. 4:51มันเป๊ะๆเราค้นหาด้วยความเหมือนอะไรที่
  114. 4:54เหมือนที่สุดกับรูปนี้วิธีการก็คือเราก็
  115. 4:57จะทำการ mb ก็เเรียก mb ก็คือการแปลงรูป
  116. 4:59นี้ให้มันมีความหมายในรูปร่างของเวกเตอร์
  117. 5:02เอาเวกเตอร์มา represent มันเมื่อกี้เรา
  118. 5:03ตั้งกดไว้แล้วใช่มั้สีแดงก็คือ 1 ใช่มเชฟ
  119. 5:06วงกลมก็คือ 1 สุดท้าย 4 ก็คือรัศมีเป็น
  120. 5:09114 เรา mb ได้เวกเตอร์มาแล้วเราจะทำการ
  121. 5:12เสิรชไปที่เวกเตอร์ database ตัวนี้เรา
  122. 5:15เสิร์ชยังไงอ่ะเรามองด้วยตาเปล่าเนี่ยเรา
  123. 5:17รู้เลยว่าไอ้วงกลมสีแดงแน่นอนมันต้องออก
  124. 5:19มาถูกป่ะในโลกของเวกเตอร์มันก็คือ array
  125. 5:22เมื่อกี้เป็น array 3 มิติอันนี้พี่ยก
  126. 5:24ตัวอย่างเช่น 2 มิติก่อนแล้วกันเพื่อความ
  127. 5:26ง่ายเรามีวิธีการคำนวณหาด้วยกันหลายเวที
  128. 5:28แต่พี่ขอยกตัวอย่างไปแค่ 2 วิธีพอวิธีแรก
  129. 5:31เเรียกว่า equient distance วิธีที่ 2
  130. 5:33เรียกว่า cosine similarity equient
  131. 5:36distance มันจะคำนวณระยะห่างระหว่างจุด
  132. 5:38เวกเตอร์ทั้ง 2 จุดนี้นี่คือ x และ y
  133. 5:41array 2 มิติที่มีจุด 2 จุดจุด
  134. 5:43equivalent คือระหว่างจุดกับจุดหาระยะ
  135. 5:45ห่างของมันแบบที่ 2 เเรียกว่า cosine
  136. 5:47simulity คือดูจากองศาของมันอ่ารู้จัก
  137. 5:50การทำ cos ใช่มยอ่ะโอเคมาดูสูตรกันครับ
  138. 5:53ถ้าเป็นสูตรของการequiียนเอาระหว่างจุด 2
  139. 5:56จุด x2 - x1 ^ 2 + y2 - y1 ^ 2
  140. 6:00เอามาsแ√roูได้ distance ทันทีซึ่งเดี๋ยว
  141. 6:02คำนวณมือกันนะต่อไปส่วน cos คืออะไรครับ
  142. 6:05ยกตัวอย่างเช่นเค้าเบอกให้กดกดมือซ้าย
  143. 6:07เพราะมันองศาตรงเนี้ยมันห่างอยู่ที่ 90
  144. 6:10องศก่อนคุณยกมือซ้ายมานะถ้าถ้าเกิดว่าคุณ
  145. 6:13ต้องการจะเป็น 0 องศาคือนิ้วโป้ง 90 องศ
  146. 6:16คือนิ้วก้อยวิธีการก็คือนับนิ้วแล้วใส่
  147. 6:19ส่ว2อ่ะผมเอา 90 องศก่อน 90 องศผมห 6
  148. 6:24นิ้วทั้งหมด 4 นิ้วหรือนิ้วก้อยทางขวามือ
  149. 6:27ของผมเนี่ยมีนิ้วมยไม่มีคือ 0 ใช่มยก็คือ
  150. 6:29√ 0/2 คือ 0 แต่ถ้าเกิดผมเป็น 0 องศา
  151. 6:33คือนิ้วโป้งใช่มั้ดูนิ้วโป้งผมมีนิ้ว
  152. 6:35เหลือทางขวามือตรงนี้เหลือ 4 นิ้วก็จะ
  153. 6:37เป็น √2 ก็คือเป็น 1 อ่านี่คือ cos cos
  154. 6:41นับนิ้วทางขวา sin นับนิ้วทางซ้ายนั่น
  155. 6:44หมายความว่าการใช้สูตร cos หาระยะห่างของ
  156. 6:47มันเนี่ยมันจะมีค่าแค่ 0-1 เท่านั้นไม่
  157. 6:52เหมือน distance คำนวณเป็นระยะทางอาจจะมี
  158. 6:54เกิน 1 ได้ใหญ่เท่าไหร่ก็ตามก็มากไป
  159. 6:56เรื่อยๆก็แล้วแต่นะว่าคุณจะเลือกใช้วิธี
  160. 6:59ไหนเดี๋ยวตอนเราเขียนโค้ดเนี่ยพี่จะให้
  161. 7:01คุณเลือกด้วยว่าคุณอยากใช้วิธีไหนในการ
  162. 7:02ค้นหาโอเคมาเรามาเริ่มคำนวณกันดีกว่าพี่
  163. 7:06ลองคำนวณสูตรแรกกันก่อนคือสูตรของ equient
  164. 7:08distance สูตรเป็นงี้ครับจุดที่ 2 ลบจุด
  165. 7:11จุดที่ 1 ^ 2 บวกจุดที่ 2 - จุดที่ 1
  166. 7:15ก^ลัง 2 แล้วใส่ √ เข้าไปพี่จะลองเอาจุด
  167. 7:18ระหว่างจุดแดงกับจุดเหลืองก่อนคือ 1 2
  168. 7:22กับ 1 4 วิธีการคำนวณก็คือว่า √ จุดที่ 2
  169. 7:25ก็คือ 1 ใช่มย 1 - 1 เหลือ 0 ^ 2 ได้
  170. 7:290 4 - 2 คือ 4 ตรงนี้ -2 ตรงนี้กำลัง
  171. 7:332 ก็คือ 4 - 2 ได้ 2 ^ 2 ได้ 4 4
  172. 7:36คือ √4 √4 ถอด √ มาเหลือ 2 นี่คือระยะ
  173. 7:40ห่างระหว่างจุดแดงกับจุดเหลืองอยากรู้ม
  174. 7:42ว่าแดงกับเหลืองกับแดงกับฟ้าใครไกลกว่า
  175. 7:45กันหาต่อครับเอาแดงกับฟ้ามาคำนวณถอดสูตร
  176. 7:49ออกมาปุ๊บคำนวณตามนี้จะได้ √8 2.82 ถ้า
  177. 7:54คุณมองด้วยตาเปล่าคุณจะเห็นว่าสีฟ้ามัน
  178. 7:56ไกลกว่าจริงถูกมั้ก็ถูกต้องคำนวณมาแล้ว
  179. 7:59ได้ 2.82 82 ซึ่งไกลกว่าจุดสีเหลืองแน่
  180. 8:01นอนในโลกของเวกเตอร์มันเลยรู้ว่าไอ้ของ 2
  181. 8:05จุดเนี้ยที่คุณพลตอลงไปในเวกเตอร์เนี่ย
  182. 8:07อะไรที่อยู่ห่างกันถือว่าความเหมือนอาจจะ
  183. 8:09น้อยกว่าถูกมั้อะไรที่อยู่ใกล้กันความ
  184. 8:12เหมือนก็จะใกล้กว่างั้นตอนที่เขาสร้างโรค
  185. 8:14เวกเตอร์เนี่ยเขาก็จะใช้ตัว embeding
  186. 8:16model เนี่ยในการคำนวณว่าอะไรที่เหมือนๆ
  187. 8:18กันเช่นปลาที่เป็นอะไรที่เป็นตระกูลปลา
  188. 8:21ทั้งหมดก็อยู่ในตระกูลเดียวกันพวกสัตว์
  189. 8:23น้ำอาจจะอยู่ในกลุ่มของสัตว์น้ำกลุ่ม
  190. 8:25เดียวกันพอเป็นสัตว์ปีกก็จะเป็นกลุ่มของ
  191. 8:27สัตว์ปีกกลุ่มเดียวกันอาจจะห่างห่างออกไป
  192. 8:29หน่อยคนอาจจะห่างออกจากกลุ่มของสัตว์นิด
  193. 8:32นึงพอเขาพอตแบบนี้ปุ๊บพอเขามาหาระยะห่าง
  194. 8:34ระหว่างคนกับสัตว์ก็ห่างกว่าถูกมยเวลาเรา
  195. 8:37ค้นหาอะไรที่มันเหมือนกันเช่นหาสัตว์น้ำ
  196. 8:39มันก็จะในกลุ่มของสัตว์น้ำที่มันมีจุด
  197. 8:41distance ที่ใกล้กว่ากันอย่างนี้เป็นต้น
  198. 8:43นี่คือการคำนวณหาตัวคือ equivalent
  199. 8:45distance อันนี้คือแบบ 2D ถ้าเกิดเป็น 3D
  200. 8:47อ่ะอย่างเมื่อกี้นี้เราเป็น 3D ใช่มยเรา
  201. 8:49คือเราใช้เป็น 3D เวกเตอร์หลักการเดียว
  202. 8:52กันก็คือเค้าก็จะไปเพิ่มจากแค่คุณไปบวก xy
  203. 8:56แล้วไปบวกที่ z ต่ออีกไปเรื่อยๆจากนี้ต่อ
  204. 8:58ต่อไปผมมีเวกเตอร์ขนาด 4 มิติคุณก็เพิ่ม
  205. 9:02ไปสิ 5 มิติ 5 diensชัก็เพิ่มไปเรื่อยๆ 6
  206. 9:05diensชัก็เพิ่มไปเรื่อยๆนี่คือคุณก็คำนวณ
  207. 9:06ได้อยู่แล้วใช้สูตรเดิมแค่เพิ่มจำนวนจุด
  208. 9:09เข้าไปยกตัวอย่างเช่นอันนี้ระหว่างจุดแดง
  209. 9:11กับจุดเหลืองอีกแล้วแดงกับเหลืองคุณก็แค่
  210. 9:13เอาเข้าสูตรตามนี้จะเห็นว่ามันคือมันอยู่
  211. 9:15ที่ 2.44 พอเป็นแดงกับฟ้าคือ 3.16 16
  212. 9:19ซึ่งก็ไก่เราคำนวณดูก็จะรู้ว่าความเหมือน
  213. 9:21ความต่างมันอยู่ตรงไหนหลักการคือประมาณ
  214. 9:23นี้นี่คือสิ่งที่โลกของเวกเตอร์ database
  215. 9:26เทำกันเราก็จะได้ของมาตามนี้ครับลองดู
  216. 9:28ครับคุณเอาตรงนี้ไปเข้าสูตรคำนวณกับ 114
  217. 9:32พอคำนวณเสร็จปุ๊บคนที่ใกล้เคียงสุดก็คือ
  218. 9:34หมายเลข 1 คือได้ 1 ระยะทาง distance คน
  219. 9:37ที่ใกล้เคียงอันดับ 2 คือหมายเลข 5
  220. 9:38สังเกตมั้ยพอคำนวณคณิตศาสตร์ปุ๊บ 5 ไม่
  221. 9:40ใกล้เคียงสุดเพราะมันเป็นสีแดงระยะห่าง
  222. 9:43มัน 5 ไอ้นี่มัน 7 ไง 7 มันห่างกว่าถูก
  223. 9:45ป่ะไอ้แต่นี่มันกับสีแดงด้วยมันเข้าแคป 2
  224. 9:47อย่างมันก็ก็เลยเข้าใกล้อันดับ 2 ก็คือ √2
  225. 9:50เป็น 1.4 อันดับ 3 คือหมายเลข 4 ทำไมถึง
  226. 9:53ใกล้เคียงเพราะมันเป็นวงกลมไงมันเริ่ม
  227. 9:54เข้าใกล้เคียงแล้วก็คือ s มาเป็นอันดับ 3
  228. 9:57ต่อมาก็คือหมายเลข 3 ก็คือสามเหลี่ยมตรง
  229. 9:59นั้นเพราะว่าไอ้เมื่อกี้มัน 4 ใช่มั้ยนี่
  230. 10:01คือ 8 มันใกล้เคียงกว่า 10 ไงสุดท้ายอัน
  231. 10:04นี้ครับห่างสุดเลยเพราะว่าหมายเลข 2
  232. 10:05เนี่ยมันเป็นสี่เหลี่ยมไม่มีอะไรเข้าใกล้
  233. 10:07เลยไซส์มันก็คือ 10 ซม.ซึ่งไกลกว่าคนอื่น
  234. 10:09ด้วยสังเกตมั้ยว่าหลักการเนี้ยมันพอที่จะ
  235. 10:12มาใช้ในการค้นหาสิ่งของที่ใกล้เคียงกัน
  236. 10:14ได้นั่นเองนะงั้นเราก็เข้าสู่เรื่องของ
  237. 10:17เราต่อไปเลยครับก็คือเรื่องของเวกเตอร์
  238. 10:18database วันนี้เราจะมาลองใช้ database
  239. 10:21เพื่อเก็บของสิ่งๆนั้นกันแล้วเราจะดูซิ
  240. 10:23ว่าเราจะค้นหาของสิ่งที่ใกล้เคียงแบบนี้
  241. 10:26ได้เหมือนกันกับเขามยง่ายมั้เขียนโปรแกรม
  242. 10:28กับมันจะยากมยแล้วมันบอกว่ามันเป็น
  243. 10:30database for the AI ด้วยเพราะเรา
  244. 10:32ต้องใช้มันในการช่วย AI ในการค้นหาของ
  245. 10:34ก่อนที่เราจะไปเลือก Database ได้นั้นเรา
  246. 10:36มาดูจัด Ranking กันหน่อยอันดับ 1 หนีไม่
  247. 10:39พ้น electric search แต่ electric
  248. 10:41search ไม่ใช่เวกเตอร์เพียวมันเป็น
  249. 10:44multimel มันคือสิ่งที่มันทำเวกเตอร์ได้
  250. 10:47แต่มันทำอย่างอื่นได้ด้วย 2 คือ open
  251. 10:49search transbase kdb แต่ตัวที่เป็น
  252. 10:52เวกเตอร์peวทำมาเพื่อเวกเตอร์ database
  253. 10:54โดยตรงเลยก็คือpายอันดับ 5 ต่อมา arrow
  254. 10:57spike milวใช่มไม่แน่ใจอ่านไงมีwูตัวนี้
  255. 11:01เขียนด้วยภาษา go อยู่อันดับ 7 เขียนด้วย
  256. 11:04rus อยู่อันดับ 8 แล้วก็ตัวนี้อันดับ 11
  257. 11:08วันนี้ที่พี่จะเลือกมาสอนคุณเนี่ยจะมี
  258. 11:10Chroma DB แล้วก็ QD พายคนไม่ได้มาสอน
  259. 11:14เพราะว่าPคนไม่ใช่ Open Source แล้วดู
  260. 11:16จากตรงนี้ครับกลุ่มตรงนี้ครับคือกลุ่มของ
  261. 11:18open source แถวบนนะ Open Source แถว
  262. 11:20ล่างก็คือ Commercial คือเขา้าไม่ได้ Open
  263. 11:22Source เอาไปใช้มีข้อจำกัดอยู่ส่วนด้าน
  264. 11:24ซ้ายเป็น database ที่ออกแบบมาเพื่อ
  265. 11:26เวกเตอร์โดยตรงด้านขวาคือ database ที่
  266. 11:29สามารถทำเวกเตอร์ได้งานหลักเขาคืออย่าง
  267. 11:31อื่นตัวนี้ DB ที่พี่เลือกใช้เพราะว่ามัน
  268. 11:34เป็น open source แล้วก็ Qance ตัวที่
  269. 11:36พี่เลือกใช้ตัวนี้ 2 ตัววันนี้จะมาสอนแต่
  270. 11:39ว่าสิ่งที่อยู่นอกเหนือจากที่อยู่ในตาราง
  271. 11:42เมื่อกี้ก็คือพี่ขอเริ่มจาก SQL ก่อนไม่
  272. 11:45อยู่ในตารางเมื่อกี้เลยทำไมถึงใช้ SQ
  273. 11:47เพราะว่า SQL น่าจะเป็นการทำแบบ manual
  274. 11:50สุดๆแล้วพี่ต้องการให้คุณก้าวข้ามมาหา
  275. 11:53เวกเตอร์โดยที่ยังมีinิอายของ structure
  276. 11:57database เหมือนเดิมอยู่แล้วค่อยเอามัน
  277. 11:59น่ะบังคับใส่เวกเตอร์เข้าไปแล้วลองใช้
  278. 12:01เวกเตอร์แบบนั้นดูก่อนพอคุณเริ่มใช้
  279. 12:03เวกเตอร์เก็บลง SQL database ได้แล้ว
  280. 12:06เนี่ยเราค่อยมากดสนใจใช้กับตัว chroma db
  281. 12:09ซึ่งเป็น database ที่ทำมาเพื่อเวกเตอร์
  282. 12:11โดยตรงอีกทีนึงนะเพราะฉะนั้นเดี๋ยวเราจะ
  283. 12:14มาเริ่มเขียนโค้ดกันะนะเริ่มจากตัวนี้
  284. 12:16ก่อนเลยมาทุกคนเปิดalขึ้นมาเลยครับใครที่
  285. 12:20ยังไม่ติดตั้ง UV ติดตั้งซะนะ Blue
  286. 12:24install UV ติดตั้งซะเมื่อติดตั้ง UV
  287. 12:27แล้วเราไปพิมพ์ว่า UV init สร้างโปรเจค
  288. 12:32มา 1 ตัวผมตั้งชื่อว่า Vector
  289. 12:34DB Enter เลยเสร็จแล้วเข้าไปที่ Vector
  290. 12:39DB ครับผมจะให้คุณสร้างตัว Virtuual
  291. 12:42Environment นะพิมพ์คำว่า UV V env
  292. 12:47แล้วค่อยเปิด VS Code ครับจุดนะ
  293. 12:51โอเคตอนนี้เราพร้อมแล้วผมขอแบ่งเป็นบท
  294. 12:55เรียนเป็นไฟล์ไปนะเริ่มตั้งแต่ไฟล์แรก
  295. 12:57ก่อนนะก็คือ 01sqli.py
  296. 13:01py เริ่มต้น SQL เรายอมมา import กันนะ
  297. 13:04import ตัว SQ 3 เข้ามาสร้าง connection
  298. 13:09connection เราใช้ SQL 3 connect ตัว
  299. 13:13นี้เนี่ยเราสามารถสร้างเป็นไฟล์เลยก็ได้
  300. 13:15หรือจะเก็บลง memmory ก็ได้เพื่อความ
  301. 13:18สะดวกผมขอใช้เป็นแบบ memmory ก่อนนะใส่
  302. 13:20colon memmory เข้าไป SQ อยู่ใน memmory
  303. 13:24เท่านั้นคุณจะได้รันมันได้ตลอดแต่ถ้าเกิด
  304. 13:27คุณอยากจะทำเป็นไฟล์ก็สามารถที่จะทำได้
  305. 13:29โดยการใช้จุด /data.sql
  306. 13:323 คุณก็ได้ไฟล์ะแต่ผมขอใช้ memory นะ
  307. 13:38การที่คุณจะใช้ SQL ทำ Vctor database
  308. 13:41ได้นั้นเราต้องการ Extension 1 ตัวครับ
  309. 13:44Extension ตัวนี้เนี่ยคุณต้องไปค้นหาที่
  310. 13:47PP.org ORG นิดนึงที่ผมดูใน Tutorial
  311. 13:50ทั้งหมดตัวที่เขาใช้กันก็คือใช้ตัวที่
  312. 13:52ชื่อว่า SQL- VSS
  313. 13:56SQ VSS อัปเดตเมื่อ 2023 แต่ว่าพอผม
  314. 13:59เข้าไปดูที่กิจหับเแล้วเนี่ยเขาบอกว่า
  315. 14:03เค้าเปลี่ยนหรอครับเาเปลี่ยนเป็น SQL ขี V
  316. 14:07เพราะนั้นทุกคนครับเปลี่ยนใหม่เราไม่ใช้
  317. 14:10SQL- VS แล้วนะSearชหาใหม่ว่า SQL
  318. 14:15ขีด
  319. 14:17SQ Trix อัปเดตล่าสุดคือ 2024
  320. 14:20เวอร์ชั่น 0.16 16 เมื่อได้ดังนั้นแล้ว
  321. 14:22ทุกคนมากลับมาที่ VS Code ครับเปิด
  322. 14:25Terminal ขึ้นมาคำสั่งในการติดตั้ง
  323. 14:27แพ็คเกจของ UV ก็คือ UV
  324. 14:30SQL ขีด
  325. 14:34ต่อมาเราจะทำการโหลด Extension ครับก็คือ
  326. 14:37connection ตัวนี้เราต้องเปิด enable
  327. 14:39โหลด extension ก่อนเป็น True พร้อมจะให้
  328. 14:42โหลด extension เข้า SQL ได้เราจะไป
  329. 14:45import ครับ SQL เข้ามา SQL.
  330. 14:50โหลดไปที่ connection ตัวนี้เรียบร้อยนี่
  331. 14:54คือการโหลด extension vector เข้าไปใน
  332. 14:57sq้าง cursor กัน cursor
  333. 15:01con. cursor
  334. 15:05cursor exxqute เรามาสร้าง table กัน
  335. 15:08ก่อนใช้ dou code 3 ตัว
  336. 15:12ปึ๊บโอเค create เป็น virtuual
  337. 15:17table ตั้งชื่อ table อะไรก็ได้ผมตั้ง
  338. 15:20ชื่อว่า document โดยที่ using 0 ใช้ vex
  339. 15:260 นี้นะเราจะมีคอลัมน์อยู่ 1 ตัวชื่อ
  340. 15:31เวกเตอร์ผม enter ลงมาแล้วกันนะ Enter ลง
  341. 15:33มามีคอลัมน์ 1 ตัวหรือ field 1 ตัวชื่อ
  342. 15:36ว่าเวกเตอร์ชื่ออะไรก็ได้นะโดยที่เราจะ
  343. 15:39ให้มันเป็น flat ขนาด 3 มิติเมื่อกี้เรา
  344. 15:43เก็บภาพเมื่อกี้เป็น 3 มิติใช่มเวกเตอร์ 3
  345. 15:46มิติเพราะฉะนั้นเราใช้ FL 3 นี่คือจำนวน
  346. 15:49diension นะถ้าคุณมีdiensชัมากกว่านี้ก็
  347. 15:52คือใส่เพิ่มได้เราใช้มีแค่ 3 เราจะเก็บ
  348. 15:55ภาพไอ้ตัวเมื่อกี้ลง database ตัวนี้กัน
  349. 15:57ต่อไปเราจะเอาข้อมูลภาพเมื่อกี้นี้ยังไม่
  350. 16:01ไปไหนนะภาพนี้ยังอยู่กับเราตัวเลขตัวนี้
  351. 16:04ทั้งหมดจะถูกเก็บลงเวกเตอร์ครับตัวเลขตัว
  352. 16:06นี้ 115 2 3 8 417
  353. 16:11ลงเวกเตอร์กันเพราะฉะนั้นผมก็ไปสร้าง
  354. 16:13เวกเตอร์ขึ้นมา
  355. 16:15โดยที่ปกติเราเก็บตัวเลขนี้ใช่ม 1 5 แต่
  356. 16:19พอดีมันเป็น flat ผมขอใส่เป็นจุด 0 ด้วย
  357. 16:22จุด 0 นะจุด 0 แล้วก็ 5.0 0 แบบนี้นี่
  358. 16:28คือ array ธรรมดาผมขอแพ็คเกจเพิ่มอีก 1
  359. 16:31ตัวครับเพื่อมาจัดการกับ array พวกนี้
  360. 16:33หน่อยมันมีแพ็คเกจตัวนึงชื่อว่านำพายนี่
  361. 16:38เป็นตัวนี้เป็นตัวจัดการ array ได้ดีมาก
  362. 16:40เพราะฉะนั้นทุกคนครับไป UV number นำ
  363. 16:45ติดตั้งนายเลยไป import ก่อน import นำ
  364. 16:50พายเราจะแปลง array ทปกติตรงนี้ให้กลาย
  365. 16:53เป็นนำพาย array โดยการใช้ nump. Array
  366. 16:57เป็นฟังก์ชันครอบไปเลยครับมันก็จะได้เป็น
  367. 17:00array ที่เป็นนำ array ละเพียงแต่ว่า
  368. 17:02database sq ตัวเนี้ยที่เป็น sqw เนี่ย
  369. 17:05มันsupพort flit ปกติจะมี 32 บิตที่เป็น
  370. 17:09fl กับ double ที่เป็น 64 บิตเนื่องจาก
  371. 17:12มันเป็น 32 แต่ไอ้นำพายมัน default เป็น
  372. 17:1564 เพราะฉะนั้นทุกคนครับใส่ d typ type
  373. 17:18คือแปลงทpหน่อยผมขอใช้เป็น number fl 32
  374. 17:22ถ้าเราไม่แปลงเป็น fl 32 sqwex จะไม่
  375. 17:25support
  376. 17:26การเก็บลง database ตัวนี้เนี่ยเราต้อง
  377. 17:28แปลงไปเป็น array of bik ก่อนเพราะ
  378. 17:30ฉะนั้นทุกคนครับนำ array สามารถ dot 2
  379. 17:32bik ได้แบบนี้เลยง่ายๆมันก็จะกลายเป็น
  380. 17:35array of bik เรียบร้อยนี่คือ array
  381. 17:37ธรรมดากลายเป็นนำพาย array เรียบร้อย
  382. 17:40พร้อมจะเก็บลง database กันแล้วคำสั่ง
  383. 17:43excuse ทำไง cursor เนี่ยมันจะมีคำสั่ง
  384. 17:46excuse โดยที่เราจะไปใช้คำสั่ง sql นะ
  385. 17:51มันมันคุ้นเคยนะพอเราอยู่กับ sql ที่เป็น
  386. 17:54structure แบบเนี้ยมันก็จะคุ้นเคยละก็
  387. 17:56แค่ insert into database ชื่อว่า
  388. 18:00document
  389. 18:03column คือ vector ใส่เข้าไป
  390. 18:07ตรงนี้เราใส่เป็นอะไรครับเราใส่เป็น
  391. 18:09question mark เข้าไปหรือเป็นพamตอร์
  392. 18:11การใส่พารามิเตอร์ใน Python ใน SQL ตรง
  393. 18:14นี้เนี่ยก็คือใช้คอสังเกตนะครับมันเป็น
  394. 18:17เครื่องหมายวงเล็บแบบนี้เขาเรียกว่าเป็น
  395. 18:19truple การใส่ truple ก็คือดูต้องใส่
  396. 18:21Purple แบบนี้คุณก็แค่ใส่เวกเตอร์เข้าไป
  397. 18:24ในนี้เป็น truple แต่ truple ของ python
  398. 18:26ต้องใส่คอมต่อท้ายงี้ด้วยอย่างงคอมนะอัน
  399. 18:29นี้ truple มีคอต่อท้ายนิดนึงถ้าเกิดคุณ
  400. 18:32excิตอนนี้เนี่ย data นี้ลง database sql
  401. 18:36แล้วเรียบร้อยเพียงแต่ว่าผมขอใช้อีกวิธี
  402. 18:38นึงแล้วกันเพราะว่าอันเนี้ยเราต้อง insert
  403. 18:41ทั้งหมด 5 ตัวด้วยกันเสียเวลาผมขอทำแบบ
  404. 18:44นี้ได้มยผมจะสร้างเป็นเวกเตอร์
  405. 18:49เป็น list เลยแบบนี้เราจะ exqute ทีเดียว
  406. 18:52พร้อมๆกันเพราะว่าในcursอเนี่ยเนี่ยมันจะ
  407. 18:55มีคำสั่ง excuse many อีก 1 ตัวนะเราจะ
  408. 18:58ใช้ตัวนี้เราจะทำพร้อมๆกันหมดเลยตั้งแต่
  409. 19:02แรกคุณcopี้ข้างบนมาอันนี้มาแปะไว้ที่อัน
  410. 19:05นี้นะคอมมเพียงแต่ว่าตอนนี้คุณไม่ได้ไป
  411. 19:10ใส่ใน money เนี่ยอันนี้มันเป็น truple
  412. 19:13ใช่มทุกๆอันต้องเป็น true หมดเลยงั้นผมขอ
  413. 19:16ทำให้มันเป็น truple เลยนะวงเล็บครอบนำ
  414. 19:19ภายอีก 1 ทีอ่ะปิดแล้วคอมมแบบนี้อย่างง
  415. 19:22คอมมนะคอมมข้างข้างในนี่คอของ TrueLE นี่
  416. 19:25คือคอมของเมื่อพร้อมแล้ว copy มาทั้งหมด 5
  417. 19:29ชุดครับ 2 3 4 5 แล้วใส่ตัวเลขตามที่
  418. 19:34ผมต้องการ 115 อันที่ 2 ก็คือ 2 0 338
  419. 19:39อ่ะใส่ไป 2 1 0
  420. 19:433 8
  421. 19:453
  422. 19:488
  423. 19:514 1
  424. 19:537 1 2 5 โอเคเรียบร้อยนี่คือ list
  425. 19:58ของเวกเตอร์ของเราเรา copy cursor ตรง
  426. 20:01นี้มา
  427. 20:03แล้วเปลี่ยนเป็น x many แทนส่วนเวกเตอร์
  428. 20:07ข้างหลังลบ truple ทิ้งแล้วใส่เป็น
  429. 20:10เวกเตอร์เติม s เข้าไปเพียงแค่นี้ data
  430. 20:13ทั้งหมดนี้จับใส่ไปที่ database sql ที่
  431. 20:16เป็นเวกเตอร์เรียบร้อยอยากลองดูมจริงๆถ้า
  432. 20:19อยากลองผมขอไปเปลี่ยนจาก memmory ให้กลาย
  433. 20:21เป็นไฟล์ก่อนครับ/data data.sql
  434. 20:253 พอคุณเปลี่ยน Connect data เป็นไฟล์
  435. 20:28แล้วเนี่ยผมขอรunนะ UV run ใช้ 01Q.py
  436. 20:33แบบนี้ Enter ไปดูซิว่ามีไฟล์ Data อยู่ม
  437. 20:37นี่ครับ data.sql SQL พอดีผมติดตั้ง
  438. 20:39Intention SQL ไว้แล้วนะใครที่ไม่มี
  439. 20:42เนี่ยค้นหาได้มันมี SQL Viewer ตรงนี้ใน
  440. 20:44การดูนะพอเราคลิกที่ไฟล์ในนี้ปุ๊บเนี่ย
  441. 20:47คุณจะเห็นว่านี่ครับ Table สังเกตมั้ว่า
  442. 20:50คุณไม่ได้ไปสร้างมันไอ้ตัว 0 เมื่อกี้มัน
  443. 20:53ทำให้คุณนะเพราะฉะนั้นเดี๋ยวผมขอไป
  444. 20:56เปลี่ยนเป็น database เหมือนเดิมก่อนจะ
  445. 20:58ได้ไม่ต้องมานั่งสั่งลบก็คือ colon
  446. 21:01memmory แล้วก็ไฟล์นี้ไม่ได้ใช้ะลบทิ้ง
  447. 21:04ไปามาดูเฉยๆ
  448. 21:07เราไม่ได้ไปแตะต้องมันอยู่แล้วต่อไปครับ
  449. 21:09เรามาคี่หาของกันดีกว่าเราอยากรู้ว่าของ
  450. 21:12ที่เราเก็บเอาไว้เนี่ยเราจะค้นหาของที่
  451. 21:14ใกล้เคียงอ่ะทำได้ยังไง
  452. 21:17ทุกคนครับสกอร์มาด้านล่างพิมพ์ต่อครับ
  453. 21:20เวกเตอร์
  454. 21:22เราสร้างquyกตorกันมาก่อนเวกเตอร์ที่จะ
  455. 21:25ค้นหาก็คือตัวนี้ครับ 114 ถูกเพราะฉะนั้น
  456. 21:28เวกเตอร์ 1.0
  457. 21:311.0
  458. 21:334.0 0 อย่าลืมครับทำเหมือนเดิมนำพาย
  459. 21:36array
  460. 21:38crop เข้าไปแล้วก็ใส่ dt type เป็น
  461. 21:41numpาย float 32 แล้วก็ do bik แบบนี้
  462. 21:47แล้วก็อย่าลืมครับมันเป็น truple ผมทำ
  463. 21:49truple เลยคอมต่อท้ายแบบนี้ให้เรียบร้อย
  464. 21:53พร้อมจะไป quy มา quy ครับ cursx
  465. 21:58dou 3 ตัว 6 ตัว enter ลงมาเขียนคิ Y
  466. 22:04SQL กันเนาะ Qury SQL ก็เหมือนเดิมครับ
  467. 22:06เคยเรียนกันมาแล้ว select เลยครับ Select
  468. 22:09อะไร form Document
  469. 22:13ที่เราทำเมื่อกี้เรามีแต่คอลัมน์อะไรนะ
  470. 22:15เวกเตอร์ใช่มมันมีเวกเตอร์เเราเอา
  471. 22:18เวกเตอร์มาดูแต่ไอ้ตัวสูตรที่เราทำมาจาก
  472. 22:21Virtual Table เมื่อกี้เนี่ยมันมี
  473. 22:23คอลัมน์เพิ่มให้เราครับเราไม่ต้องทำเองก็
  474. 22:25คือคอลัมน์ชื่อว่า Row ID แล้วมันมี
  475. 22:28คอลัมน์อีกคอลัมน์นึงที่พิเศษมากคุณ
  476. 22:30ต้องการใช้มันก็คือคอลัมน์ที่ชื่อว่า
  477. 22:32Distance
  478. 22:34สังเกตมว่าคุณไม่ได้ทำ distance เองไม่
  479. 22:37ได้คำนวณคณิตศาสตร์เองแต่มันทำให้คุณ
  480. 22:39เรียบร้อยด้วยไอ้ตัว extension HQ vect
  481. 22:42มันคำนวณ distance ให้เราแล้วเพราะฉะนั้น
  482. 22:44หน้าที่ของเราก็คือเราจะต้อง weare where
  483. 22:47อะไรอ่ะ weare ตัวเวกเตอร์
  484. 22:50ถามว่า match กับพารามิเตอร์ตัวนี้มนี่
  485. 22:54แหละไอ้ตัวที่จะส่งตัว quy เข้ามาหามัน
  486. 22:57แล้วไงต่อครับเมื่อมันแareเอามาให้แล้ว
  487. 23:00เราก็แค่ไปอordเดอ
  488. 23:02Distance นั่นเองเอาจากน้อยไปหามากถูกมย
  489. 23:05เพราะว่า distance ที่น้อยที่สุดคือใกล้
  490. 23:08เคียงสุดแต่คุณต้องอย่าลืมอีก 1 อย่างที่
  491. 23:10เขาบังคับให้คุณใส่ก็คือลิมิครับลิมิตเอา
  492. 23:14กี่ตัวผมเอามา 5 ตัวถ้าคุณลืมใส่ลิมิตตอน
  493. 23:17ที่คุณexcิเนี่ยมันจะ error แจ้งเตือนคุณ
  494. 23:19ว่าต้องใส่ลิมิตด้วยนะต่อมาครับใส่
  495. 23:22พารามิเตอร์เพิ่มหน่อยครับก็คือตรงนี้
  496. 23:24comma ใส่ qury vector เข้าไปมาเรียบ
  497. 23:28ร้อยแล้วครับเราจัดการไปกันดีกว่า row
  498. 23:31เท่ากับ cursor. F all เรียบร้อยเราเฟด
  499. 23:36มาแล้วเรามาที่เหลือเราก็แค่มาแสดงผลมา
  500. 23:38แสดงผลครับ for in low นะเอาอะไรบ้าง
  501. 23:43อ่ะปกติก็คือ low in low ใช่มแต่เรา
  502. 23:46สามารถ extract เอามันออกมาได้ผมเอาอะไร
  503. 23:48มาบ้างเมื่อกี้มันมีอันแรกคือ low id
  504. 23:51ใช่มอ่ะก็คือ ID อันที่ 2 distance ใช่ม
  505. 23:55distance อันที่ 3 คือเวกเตอร์ใช่มั้เอา
  506. 23:58เวกเตอร์มา
  507. 24:00ปริ้นครับผมขอปริ้นเป็นแบบ format นะใส่ F
  508. 24:03เข้าไปอือันแรกปริ้น ID มาดูก่อน ID ขีด
  509. 24:08อันที่ 2 อยากเห็นอะไรอยากเห็นเวกเตอร์มย
  510. 24:12ถ้าคุณอยากดูเวกเตอร์เนี่ยคุณเอาเวกเตอร์
  511. 24:14มาตรงๆไม่ได้เพราะเวกเตอร์มันเป็น array
  512. 24:16of bik มาอยู่คุณต้องแปลงเป็น array
  513. 24:18ปกติก่อนนะก็คือนำพาย do form bu brer
  514. 24:23ส่งเวกเตอร์เข้าไปจริงๆแค่นี้ก็แปลงได้ะ
  515. 24:27แต่มันเป็น float 64 โดย default เรา
  516. 24:30ต้องไปเพิ่ม option เพิ่มให้มันหน่อยคือ
  517. 24:33dt type ให้เป็นnumpาย df 32 อันที่ 3
  518. 24:37ผมอยากเห็น distance distance
  519. 24:42115 220 ผมใส่ตรงนี้ผิดครับ 22 10 นะ 2
  520. 24:4710 โอเคมันก็เลยไม่ตรงนะเอาใหม่รันถูกมย
  521. 24:521 5 4 3 2 คำตอบตรงนี้ตรงกับที่เรา
  522. 24:55คำนวณมย 1 4 3 2 ถูกต้องดู distance
  523. 24:59ครับ 1 1.41.2
  524. 25:0224.89
  525. 25:046.16 16 เป๊ะเลยเห็นมั้เห็นมว่าสิ่งที่
  526. 25:07เราคำนวณด้วยมือกับสิ่งที่ SQ เขาทำมัน
  527. 25:10คือเรื่องเดียวกันเนี่ยครับคือการใช้ SQR
  528. 25:14ใน exercise ที่ 1 จบแล้วเรื่องต่อไปครับ
  529. 25:18มีคำถามมาว่าถ้าเราจัดเวกเตอร์แบบนี้เอง
  530. 25:21เนี่ยมันจะจัดได้ดีขนาดไหนแน่นอนครับเรา
  531. 25:23จัดได้ไม่ดีหรอกนะเราคงจะไม่สามารถมีความ
  532. 25:26สามารถในการอธิบายทุกสิ่งทุกอย่างให้เป็น
  533. 25:28เวกเตอร์ได้ด้วยตัวเราเองเพราะฉะนั้นสิ่ง
  534. 25:30ที่สำคัญอย่างมากของเรื่องนี้เลยก็คือ
  535. 25:32เรื่องของการทำ embeding คุณสังเกตมว่า
  536. 25:36มันคือตัวที่จะทำให้เกิดโรคเวกเตอร์ขึ้น
  537. 25:39มาได้โดยสมบูรณ์แบบโดย model ตัวเนี้ยมัน
  538. 25:42มาจากพวก Deep Learning ต่างๆสร้างเป็น
  539. 25:45โมเดลขึ้นมาแล้วมาสร้างโรคเวกเตอร์ให้เรา
  540. 25:48เพราะฉะนั้นเรื่องต่อไปที่เราจะสนใจและ
  541. 25:51เรียนรู้ก็คือเรื่องของการทำingครับมาทุก
  542. 25:55คนครับสร้างไฟล์ที่ 2 02.py
  543. 26:00PY ตอนนี้เราจะทำ Aedding กันแล้วสิ่ง
  544. 26:04ที่ต้องจะต้องมีเนี่ยก็คือเครื่อง
  545. 26:06คอมพิวเตอร์ที่มีประสิทธิภาพในการรัน AI
  546. 26:09ได้ดีพอสมควรนะเดี๋ยวเราจะมี AI ให้คุณ
  547. 26:12ใช้หลายๆแบบทั้ง Local และ Oncloud ตอน
  548. 26:16นี้เริ่มต้นเดี๋ยวลองใช้ AI บน Local
  549. 26:18ก่อนแล้วเดี๋ยวค่อยๆไป On cloud ถ้าเกิด
  550. 26:20ใครที่โลคalไม่ไหวไม่เป็นไรรอก่อนได้มาดู
  551. 26:24กันผมขอเข้าไปที่ ppie.org org แล้วค้น
  552. 26:27หาแพ็คเกจตัวนึงชื่อว่า sentence
  553. 26:31transformer
  554. 26:35sentence ขีดกลางนะแล้วก็ transformer
  555. 26:38ตัวนี้นี่คือตัวที่คุณสามารถที่จะทำ
  556. 26:40embeding data ได้ง่ายสุดแล้วมาติดตั้ง
  557. 26:43กันเลยครับ
  558. 26:45UV add sentence transformer
  559. 26:54form sentence transformer
  560. 26:56Import sentence transformer ครั้งนี้
  561. 27:00เราจะไม่ embed รูปเมื่อกี้แล้วนะเราจะ
  562. 27:02เป็น text แล้วกันนะผมจะขอสร้างเป็น list
  563. 27:05ของ text ขึ้นมาก่อนอันนี้คือโจทย์ที่เรา
  564. 27:07จะใช้กันทุกๆ exercise เลยนะจะมี text
  565. 27:10อยู่ 3 ชุดแรกผมพิมพ์คำว่า vector
  566. 27:13database ชุดที่ 2 ผมตั้งชื่อว่า I love
  567. 27:16you
  568. 27:18อันที่ 3 Good morning
  569. 27:21เราจะใช้โมเดลคุณจะต้องมี embeding model
  570. 27:26ก่อนแล้ว embeding mod ตรงนั้นหาที่ไหน
  571. 27:28เราจะไปค้นหากันที่ hcking face ครับ doc
  572. 27:33เสร็จแล้วไปเสิร์ชหามันได้เลยนี่ครับ
  573. 27:37sentence transformer มันจะมีโมเดล
  574. 27:39embeding อยู่ตัวนึงที่คุณใช้ชื่อว่า All
  575. 27:42mini lm l2 เห็นป่ะกดเข้าไปเป็นโมเดล
  576. 27:46embedding ที่มีขนาด diension อยู่ที่
  577. 27:50384 diension โอ้โหเมื่อกี้คุณแค่ทำเอง
  578. 27:54คุณ manual ด้วยมือคุณทำแค่ 3 มิติก็ยาก
  579. 27:57แล้วอันนี้มันมี 300% diension ให้คุณ
  580. 27:59เลยนะมาวิธีใช้ครับคุณcopี้ตรงนี้ครับ
  581. 28:02เห็นตรงนี้มเนี่ยกดปุ่ม copy ได้เลยปึ๊บ
  582. 28:06เสร็จแล้วกลับไปที่โค้ดของเราแปะตรงนี้
  583. 28:08เลยครับปึ๊บต่อไปเราต้องใช้ตัวนี้ครับก็
  584. 28:11คือ sentence transformer class ตัว
  585. 28:14เนี้ยสร้างเป็นโมเดลขึ้นมา crop เข้าไป
  586. 28:17เสร็จแล้วสร้างต่อไป embedding
  587. 28:20แล้วใช้คำสั่ง model.ncode N Code ส่ง
  588. 28:23text เข้าไปแบบนี้มันจะ MBED ตัวนี้ทั้ง
  589. 28:26หมดเลยให้เราอยู่ใน Meding ตรงนี้ผมขอใส่
  590. 28:28S เข้าไปหน่อยให้รู้ว่ามันมีอยู่หลายตัว
  591. 28:31ทีนี้ถ้าเกิดคุณอยากเห็นมันเนี่ยคุณก็แค่
  592. 28:32สั่งปริinting
  593. 28:35Mwedding มันเป็น list นะถ้าอยากเห็นแค่
  594. 28:36ตัวเดียวเนี่ยใส่วงเล็บ 0 ดูก็ได้เอาแค่
  595. 28:39ตัวแรกมาดูก่อนอ่ะสั่งรันได้เลยครับ UV
  596. 28:42Run 02 ปึ๊บจังหวะแรกอาจจะนานนิดนึง
  597. 28:45เพราะว่ามันต้องไปดาวน์โหลดโมเดลตัวนี้มา
  598. 28:47ให้คุณก่อน
  599. 28:50นี่คือเวกเตอร์ขนาด 384 diension ถ้า
  600. 28:54อยากรู้เราสามารถใช้คำสั่งเลงดูได้นะเลง
  601. 28:58ครอบเข้าไปแล้วก็รันดูจะรู้ว่ามันมีขนาด
  602. 29:03384 โอเคนี่คือ sentence transformer
  603. 29:07โมเดลที่มันมาเนี่ยอยู่ที่ไหนถ้าคุณไป
  604. 29:10เปิด Terminal ขึ้นมาอยู่ที่ home ของคุณ
  605. 29:12นะเสร็จแล้วคุณ do cash
  606. 29:15ใน cat ตัวนี้มันจะมีโฟลเดอร์ชื่อว่า
  607. 29:17Huging Face อยู่คุณเข้าไปใน Huging
  608. 29:20Face ในนั้นจะมีหับ
  609. 29:23และคุณจะเจอ mod sentence transformer
  610. 29:26อยู่ที่นี่โอเคแต่วันนี้เราคงจะไม่ใช้
  611. 29:29sentence transformer ใช้โอามะ
  612. 29:32โอามะมันจะมีโมเดลที่เป็นตระกูล embedding
  613. 29:37ตัวนี้ไปที่ mod แล้วไปที่ embedding
  614. 29:41ชื่อว่า norictech
  615. 29:43ตัวนี้เนี่ยขนาดมันไม่ใหญ่ครับ 200 กว่า
  616. 29:46เมเองแล้วมันบอกอะไรครับมันบอกว่าictech
  617. 29:51เนี่ย is last context length encoder
  618. 29:55that suppress คือเหนือกว่า open ai
  619. 29:59โอ้มันคุยขนาดนั้นเลยนะเหนือกว่าไอตัว 002
  620. 30:03อีกและ 3 small ด้วยโหสุดยอด performance
  621. 30:07นี่นะแล้วก็เล็กด้วยช็อต longtext
  622. 30:10อื้อหือสุดยอดมามีใครไม่ได้ติดตั้งโอะ
  623. 30:13มั้ยดาวน์โหลดมาติดตั้งเลยไม่มีไม่เป็นไร
  624. 30:16เดี๋ยวไปใช้ open ในแทนตัวลิฟที่เราจะใช้
  625. 30:19กันเนี่ยผมจะใช้ลิฟของ Open AI นะเพราะ
  626. 30:22ว่าตัวโอะเองเนี่ยมันSupพพอร์ Open AI
  627. 30:24อยู่แล้วที่ P seสิร์ชหา Open AI
  628. 30:28แพ็คเกจตัวนี้นี่นะใช้ตัวนี้นะก็ติดตั้ง
  629. 30:33ได้เลยครับเปิด Terminal ขึ้นมาพิมพ์ UV
  630. 30:37open AI
  631. 30:39ผมจะ comment sentence transformer ไป
  632. 30:42ก่อนนะเราไปหันไปใช้ Open AI Library
  633. 30:45กันทุกคนครับมา form Open AI
  634. 30:49Import open AI ผมจะสร้างตัวแปรขึ้นมา
  635. 30:53ชื่อว่า AI client
  636. 30:56ใช้เป็น Open AI
  637. 30:59เราต้องการอะไรบ้างเราต้องการ 2 อย่างคือ
  638. 31:01Base URL
  639. 31:03กับ API Key Olamะไม่มี API key อยู่
  640. 31:08ใส่อะไรก็ได้
  641. 31:10ส่วนเบส URL ใครที่เคยเรียนกับผมแล้ว
  642. 31:13เรื่องโอละคุณจะรู้ว่าเมื่อคุณติดตั้ง
  643. 31:15โอามะแล้วเนี่ยมันจะมีตัว Server รันอยู่
  644. 31:17ตรงนี้ server มันรันอยู่นะและมันเป็น API
  645. 31:21server ให้คุณถ้าเกิดคุณ call local
  646. 31:24host colon 114
  647. 31:2711434 มาจากรามะนั่นเอง 11 ก็คือ LL A
  648. 31:33คุณไปเคดูจะเห็นว่าโอะมัน running เป็น
  649. 31:35API ให้คุณอยู่เราสามารถที่จะไปใส่ตรง
  650. 31:38นี้ได้ครับก็คือ HTTP
  651. 31:41local host port 11434
  652. 31:45แต่คุณต้องใส่/ V1 ไปด้วยเป็น API
  653. 31:47เวอร์ชั่น 1 แบบนี้ถึงจะใช้ตัว OAM ได้
  654. 31:50วันหน้าคุณไปตั้ง Server OM ไว้ที่ไหนก็
  655. 31:53ไปเปลี่ยนเอาแล้วกันแต่ไว้ตรงนี้ไม่ค่อย
  656. 31:55เหมาะเท่าไหร่ผมขอย้ายไปอยู่ใน env แล้ว
  657. 31:58กันนะทุกคนเปิดสร้างไฟล์ขึ้นมาชื่อว่า
  658. 32:02ENV แล้วเอา UL เนี้ยไปใส่ไว้ที่ ENV ดี
  659. 32:07กว่าอ่ะสร้างมันขึ้นมาโอะ
  660. 32:11N point
  661. 32:14แล้วก็แปะเข้าไปแบบนี้เสร็จแล้วตรงนี้
  662. 32:17ครับอยากจะโหลด ENV ทำไงผมต้องการแพ็คเกจ
  663. 32:20เพิ่มอีก 1 ตัวชื่อว่า Python.env
  664. 32:26Python.env
  665. 32:29ทุกคนไปที่ Terminal ครับพิมพ์ UV
  666. 32:32Python.env
  667. 32:34แบบนี้เสร็จแล้วไป import ครับ import.
  668. 32:39ENV แล้วก็ import os ด้วยเบื้องต้นคุณ
  669. 32:43ต้องไปสั่งv.loadโหลดก่อนนะเพื่อจะโหลด
  670. 32:46ENV เข้ามาใน Python ของเราอ่าได้ะทีนี้
  671. 32:49คุณก็สามารถที่จะใช้ Environment ได้แล้ว
  672. 32:51นะก็กลับมาด้านล่างครับที่ตรงนี้ Base UL
  673. 32:54เนี่ยเปลี่ยนใหม่ใช้เป็น OS.non Enveron
  674. 32:59บอกว่าผมจะดึงเป็นโอะ
  675. 33:02N point เข้ามา
  676. 33:04โอเคมาเรามาลอง embex
  677. 33:08ของเราตรงนี้กันดีกว่าเนาะ
  678. 33:10พิมพ์ response เท่ากับ ai client.cate
  679. 33:16create เราจะส่ง input เข้าไปก็คือส่ง
  680. 33:19text เข้าไปนั่นเองทำไมผมสั่งอย่างนี้
  681. 33:21ได้คุณดูนะที่ create เนี่ยมันรับ input
  682. 33:25เป็น string ที่เป็น list ได้เป็น string
  683. 33:28ธรรมดาก็ได้เป็นลิก็ได้หมดเลยนะคุณจะส่ง
  684. 33:32text ธรรมดาเป็นอย่างนี้ก็คุณก็ได้
  685. 33:34เหมือนกันก็คือส่ง Hello เงี้ยก็ทำได้
  686. 33:37เหมือนกันคุณจะส่งเป็นลิสแบบนี้ก็ได้
  687. 33:40เหมือนกันนะแต่คุณจะต้องระบุโมเดลครับอ่า
  688. 33:44โมเดลที่ใช้โมเดลที่ใช้ผมขอสร้างเป็นตัว
  689. 33:48แปรขึ้นมา 1 ตัวแล้วกันชื่อโมเดล
  690. 33:52เพราะว่าเราจะได้เก็บไว้ใช้หลายๆที่คุณ
  691. 33:55mbet แล้วตอนที่คุณมีคี่คือคุณต้องใช้
  692. 33:58โมเดลตัวเดิมเพราะฉะนั้นทุกคนครับไปที่
  693. 34:00โอามะใครที่ทำโอะเหมือนผมนะไปที่โมเดล
  694. 34:04ไปที่ embeding แล้วcopี้ชื่อตัวนี้มา
  695. 34:10text ตัวเนี้ยเสร็จแล้วก็ไปพิมพ์โอามะ
  696. 34:14P
  697. 34:16noric
  698. 34:18enter
  699. 34:20คุณถึงจะ runic ไปนั่นเองมาแปะไว้ตรงนี้
  700. 34:24ได้เลยโอเคแล้วสั่งตรงนี้เป็นโมเดลตอนนี้
  701. 34:28มันจะทำการ mbed ให้คุณแล้วลูกเรียบร้อย
  702. 34:30นะผมจะสั่ง print มาดูแล้วนะ print
  703. 34:33response มันจะมี data data ตัวเนี้ย
  704. 34:36มันเป็น list อันเนี้ยคือ 0 1 2 นะนี่
  705. 34:39คือลิสนะเพราะฉะนั้นผมจะเอามาแค่ตัวเดียว
  706. 34:42ก่อนก็คือ 0 แล้วจะมี embedding เพื่อบอก
  707. 34:45ว่าขอดู embedding ในที่เป็นเวกเตอร์จริง
  708. 34:48ๆถ้าเกิดพวกนี้คุณไม่รู้เนี่ยคุณลองปรint
  709. 34:50มาดูก่อนก็ได้นะปint respons มาดูเลยก็
  710. 34:52ได้มาดูทั้งหมดแล้วค่อยมาค่อยแกะมันที
  711. 34:53หลังคือ UV run 02
  712. 34:58เดี๋ยวคุณจะเห็นมันเองว่ามัน return อะไร
  713. 35:00ให้คุณมันจะ return เป็น data เห็นม data
  714. 35:03มันเป็น list ของ embedding เพราะฉะนั้น
  715. 35:05ผมก็เลยใช้ response do data เอามาแค่
  716. 35:09ตัวเดียวคือตัวที่ 0 embeding นี่คือ
  717. 35:12Aing ตรงนี้คุณจะได้เป็นเวกเตอร์ของอัน
  718. 35:15แรกมาคุณอยากรู้ว่ามันมีขนาด diension
  719. 35:19เท่าไหร่คุณก็แค่ใส่เลงเข้าไปครอบตัวนี้
  720. 35:23คุณจะได้มันมาเลยแต่มันมีอีก 1 อย่างที่
  721. 35:25respons มันส่งคืนมาให้ถ้าเกิดคุณสกอรไป
  722. 35:27ดูด้านล่างสุดปื๊ดมันยังมีตรงนี้ครับ
  723. 35:30Total Talken คำถามคือสำคัญมยคำตอบคือ
  724. 35:34สำคัญนะเพราะนี่คือราคาที่คุณต้องจ่ายตอน
  725. 35:37นี้พอดีคุณใช้โอามะคุณยังไม่เสียตังค์
  726. 35:39เดี๋คุณดูไว้ก่อนเดี๋ยวตอนที่คุณไปใช้
  727. 35:41Open AI มันจะมีค่า Token ที่คุณไป
  728. 35:44Mboken เป็น 7 นับยังไงดูครับการนับ
  729. 35:48Token ผมเคยสอนคุณแล้วเวกเตอร์ 1 2 3
  730. 35:524 5 6 7 เป๊ะเลยเห็นป่ะ 7 Token
  731. 35:55ยิ่งคุณ MB คำมากเท่าไหร่ก็ตามคุณก็เสีย
  732. 35:58ตังค์มากขึ้นเท่านั้นอ่ะผมจะลองปริ้นตัว
  733. 36:02เลงมาดูว่ามันใช้กี่นะรันดูโอ้โห 768
  734. 36:08diension แสดงว่าไอ้นี้มันสูงกว่า 384
  735. 36:12ของ sentence อีกนะเพราะฉะนั้นผมขอเก็บ
  736. 36:15เป็นตัวเลขตรงนี้ไว้ก่อนนะ diension
  737. 36:19ก็คือ 7 6 8 ใช่มยใส่เอาไว้ก่อนนี่คือ
  738. 36:23โอามะต่อไปใครที่อยากจะใช้ Open AI มา
  739. 36:28เรามาลองดูกันครับคุณจะต้องเข้าไปที่
  740. 36:31platform.opopenai.com open.com คอม
  741. 36:36ตัวนี้ล็อกอินให้เรียบร้อยเสร็จแล้วไปที่
  742. 36:39Setting แล้วก็ไปจ่ายตังค์ building ให้
  743. 36:42เรียบร้อยไปเติมเงินเข้าไปเมื่อคุณมี
  744. 36:44ตังค์แล้วเราจะไปที่ API key เพื่อไปเจน
  745. 36:47คีย์กันขึ้นมาซึ่งผมมีคีย์แล้วเรียบร้อย
  746. 36:50เมื่อคุณมีคีย์แล้วผมจะมาเก็บคีย์ไว้ที่
  747. 36:53ตรง environment คีย์ไว้ตรงนี้ชื่อว่า
  748. 36:57Open AI key แล้วก็ไปเอา Key มาโอเค
  749. 37:03ปิดไปอ่ะเรียบร้อยการใช้ Open AI ง่าย
  750. 37:06มากเพราะมันเป็นลิปของ Open AI อยู่แล้ว
  751. 37:08คุณก็แค่อันนี้ไปก่อนแล้วใช้เป็น AI Cant
  752. 37:13เท่ากับ Open AI ส่งเพียงแค่ API Key
  753. 37:16เข้าไปครับมาจาก OS.non Enveron ก็คือ
  754. 37:19Open AI คียเรียบร้อยเสร็จะอ่าโมเดล
  755. 37:27โมเดลเนี่ยถ้าคุณไปดูที่แพลตฟอร์ม
  756. 37:33Open AI เนี่ยคุณไปดูที่โมเดลตรงนี้
  757. 37:35ครับทางซ้ายมือโมเดลนะมันจะมีโมเดลอยู่
  758. 37:37ด้านล่างสุดเลยครับมีอยู่ 3 ตัวที่ 1 คือ
  759. 37:41Text Embeding Ada 002 ตัวที่ 2 คือ
  760. 37:44Texeding 3 Small ตัวที่ 3 คือ Texing
  761. 37:473
  762. 37:48อ่ะกดเข้าไปดูทั้ง 3 ตัวเลยตัวนี้ตัวแรก
  763. 37:50สุดครับพอคุณจะต้องเสียตังค์ก็ต้องสนใจ
  764. 37:53เรื่องราคานิดนึงครับ 0.1 ดอลลาร์ต่อ 1
  765. 37:57ล้าน token เมื่อกี้คุณเสียไป 7 token
  766. 37:59ใช่มั้เมื่อคุณ mbet ไปจนกระทั่ง 1 ล้าน
  767. 38:02token คุณเสีย 0.1 1 ดอลลารนี่คือ eda
  768. 38:06002 ความเร็วประมาณ 2 แล้วก็ Performance
  769. 38:08ต่ำมากไปดูอันที่ 2 ครับ Teching 3
  770. 38:12Small โอ้ความเร็วสูงขึ้น Performance
  771. 38:15ดีกว่าราคาล่ะเฮ้ยถูกกว่าอีก 0.02 ต่อ 1
  772. 38:20ล้าน Token ราคาถูกกว่า A ได้อีกแล้วถ้า
  773. 38:23เกิดเป็นตัวด
  774. 38:27นะแต่ช้านะช้ากว่าตัว Small อีกนะแล้ว
  775. 38:30เป็นไงครับราคาแพงกว่า 0.13 13 แพงกว่า
  776. 38:33นิดนึงแต่แพงกว่า small มากเลยเพราะ
  777. 38:36ฉะนั้นถ้าเกิดคุณใช้เนี่ยก็จ่ายแพงขึ้น
  778. 38:39เท่านั้นเองนะงั้นตอนนี้ผมขอไปใช้เป็น
  779. 38:43small แล้วกันเพราะว่ามันน่าจะถูกอ่ะใช้
  780. 38:46ตัว small ผมคงไม่ปริ้นมาดูนะผมจะขอดูเลง
  781. 38:49มันเฉยๆว่ามันใช้กี่ diension โอเครันดู
  782. 38:53ครับตัว Small ใช้อยู่ 1,536
  783. 38:57สูงกว่าโอามะ NORIC เมื่อกี้ผมใส่ตรงนี้
  784. 39:01ไปก่อน diension
  785. 39:041536
  786. 39:06โอเคจบส่วนของ Open AI ก่อนตัวที่ 3
  787. 39:10Asure Open AI ก็คือ Asure AI FY
  788. 39:13สามารถรันตัว Open AI ได้ซึ่งผมได้ไป
  789. 39:16สร้าง Open AI Model ไว้แล้วเรียบร้อย
  790. 39:18นะอยู่อยู่ที่นี่นะก็คือผมไปทำการ deoy
  791. 39:21modดที่เป็นนี่ Tex Meding 002 3
  792. 39:27Small 3 L เรียบร้อยหมดแล้วนะพอดี
  793. 39:30เนื่องจากว่าผมมี ASU เครดิตอยู่ผมขอลอง
  794. 39:33เลยแล้วกันมาทำไงผมคอมเมนต์ตรงนี้ไปก่อน
  795. 39:38พิมพ์ AI Cant
  796. 39:41open AI การ configure Open AI เนี่ย
  797. 39:44มันต้องมีความแตกต่างนิดนึงเราจะต้องใช้
  798. 39:47เป็น base URL ก่อนนะ 2 คือต้องมีตัว API
  799. 39:52key แน่นอนเอาจากไหนมาผมขอไปที่ ASU นะ
  800. 39:57ผมพิมพ์ Portal. Assur ผมไปเอา key and
  801. 40:01endpoint ซึ่ง endpoint ของผมเนี่ยอยู่
  802. 40:03ที่นี่ ariservice.ai.com
  803. 40:06com copี้มาผมก็เอาไปวางที่ไหนดีผมไป
  804. 40:10สร้างนี่ดีกว่าที่ env นะ
  805. 40:14Open AI end point
  806. 40:19โอเคผมแปะไว้ก่อนตัวที่ 2 ก็คือ key ผม
  807. 40:22copy key มา assure
  808. 40:25open AI key
  809. 40:29แปะปึ๊บ
  810. 40:31ต่อไปเราจะมาโหลดครับก็คือใช้ OS.nvon
  811. 40:35Enveron บอก Asure
  812. 40:38Open AI NP
  813. 40:45แล้วก็ OS OS.
  814. 40:52Open AI key
  815. 40:54มีปัญหานิดนึงครับก็คือว่าคุณอยู่ในช่วง
  816. 40:57เปลี่ยนถ่ายกันถ้าผมไปเสิร์ชหา document
  817. 41:00ของ AI Fundy เนี่ย
  818. 41:04แล้วไปดูที่โมเดลของ Aso Open AI FY
  819. 41:08model
  820. 41:10มันจะมีสิ่งที่เรียกว่า API Life Cycle
  821. 41:13เพราะว่าเค้ากำลังเข้าสู่ gen ใหม่ของ API
  822. 41:18ที่ผมได้ทำมาเมื่อปี 2 ปีที่แล้วเนี่ย ASO
  823. 41:21FII ใช้พรีวิวมาตั้งนานแล้วเพิ่งจะขยับ
  824. 41:25เป็นเวอร์ชั่น 1 เราเคยเขียนกันมาแต่ก่อน
  825. 41:27คือตรงนี้ของเก่าแต่พอของใหม่ Next
  826. 41:30Generation ตรงนี้จะ API ตัวใหม่ละเพราะ
  827. 41:32ฉะนั้นดูครับสิ่งที่เปลี่ยนแปลงก็คือว่า
  828. 41:36NP มีการไปเพิ่ม Open AI/V1 แต่ก่อนไม่
  829. 41:39มีนะแต่ตอนนี้มีแล้วเพราะฉะนั้นทุกคนครับ
  830. 41:43end point ที่ผมให้คุณไปเนี่ยมันมีแค่
  831. 41:48com เท่านั้นเองแต่ผมขอไม่เปลี่ยนตรงนี้
  832. 41:51นะผมขอไปใส่เพิ่มที่โค้ดตรงนี้แล้วกันก็
  833. 41:54คืออ่ะทุกคนใส่เพิ่มนิดนึงครับ +/open
  834. 41:58ai/V1
  835. 42:00เข้าไปในนี้ครับต่อมาเขาบอกว่า default
  836. 42:04quy ต้องใส่ตัว API verion ไว้ตรงนี้
  837. 42:06ด้วยคำสั่งว่า preview เพราะฉะนั้นผมขอ
  838. 42:10ใส่เพิ่มตามของเขานิดนึงนะก็คือ default
  839. 42:13quy
  840. 42:15API
  841. 42:18แล้วก็ preview โอเคเท่านี้เสร็จละใส่
  842. 42:24โมเดลเข้าไปโมเดลเนี่ย copy มาได้เลย
  843. 42:28เพราะว่ามันเป็น open ai เหมือนกันขอเพ
  844. 42:31เป็น last แล้วกัน
  845. 42:34โอเคเมื่อพร้อมแล้วผมจะขอลองรันดูนะ
  846. 42:41โอเคโอ้โห 3,072 diension ครับผมใส่ตรง
  847. 42:45นี้
  848. 42:46Dimension
  849. 42:493,72
  850. 42:52เห็นมั้ว่ายิ่งdiensชัใหญ่เท่าไหร่มันก็
  851. 42:53จะทำให้มันเก่งขึ้นแต่ก็ตามมาด้วยราคาที่
  852. 42:56แพงขึ้นจากนี้คุณอยากใช้ตัวไหนเลือกเอา
  853. 42:59เลยนะผมขอเปลี่ยนเป็นโอะแล้วกันผมใช้เป็น
  854. 43:03โอามะอันนี้แทนส่วนคุณจะใช้เป็นซัวก็ได้
  855. 43:11โอเค
  856. 43:12ing พร้อมแล้วครับต่อไปเราเข้าสู่การ
  857. 43:15สร้าง SQL database เหมือนเดิมเพื่อจะ
  858. 43:18เก็บเวกเตอร์พวกนี้กันดีกว่าเนาะมา import
  859. 43:23SQL 3 Import SQL ve
  860. 43:28import number
  861. 43:31อันนี้จะเข้าสเต็ปเดิมละเราเปลี่ยนแปลง
  862. 43:34ค่าตอนทำ embeding ที่เรา embeding ด้วย
  863. 43:36มือกลายเป็นโมเดลทำแทน
  864. 43:39ตรงนี้เราไม่ต้องแล้วคอมเมนตไปตอนสร้าง
  865. 43:43เเบิลอนุญาตเพราะมันเรื่องเดิมแล้วนะ Copy
  866. 43:46ของเดิมครับอนุญาต Copy Cursor ตรงนี้มา
  867. 43:50เหมือนเดิมได้เลย
  868. 43:52โอเคอย่าลืมสร้าง con เทกับ SQL 3
  869. 43:58connectory
  870. 44:00แล้วกันนะ
  871. 44:03แต่ประเด็นของเราก็คือว่า FL 3 มันไม่
  872. 44:05ใช่ขึ้นอยู่กับคุณว่าคุณจะใช้ตัวไหนแต่พอ
  873. 44:08ดีผมอ่ะสร้างตัวแปรชื่อว่า Dimension มา
  874. 44:10แล้วเพราะฉะนั้นผมจะส่งตัวแปรตัวนี้เข้า
  875. 44:12ไปในคำสั่งนี้นะครับใส่ตัว f เข้าไปตงนี้
  876. 44:15เป็น format แล้วเปลี่ยนเลข 3 เป็นปีกา
  877. 44:18dimension เราก็จะได้ table เก็บ
  878. 44:21เวกเตอร์ที่มี diension ตามที่คุณเข้าไป
  879. 44:25ต่อไปเข้าสู่กระบวนการ embed data แล้ว
  880. 44:28นะ data ของเราก็คือตัวนี้ถูกมโอเค
  881. 44:32แต่การตงนี้เราต้องเพื่อเข้า database
  882. 44:35ตัวนี้ด้วยเพราะฉะนั้นเราเลยจะต้องมีลูก
  883. 44:37เล่นพิเศษนิดนึงมา response เท่ากับ ai
  884. 44:41client.beding. embedding. create
  885. 44:44เหมือนเดิมครับก็คือ input เท่ากับ text
  886. 44:48ส่วน mod เท่ากับ modeled
  887. 44:52edding
  888. 44:54ผมจะสร้าง list แบบนี้เลยครับด้วยภาษา
  889. 44:57Python ก็คือ loop data in response
  890. 45:02dotdata ผมรู้ว่าไอ้ response ตัวเนี้ย
  891. 45:05data เนี่ยมันก็คือ list ตัวนึงผมวน loop
  892. 45:08เพื่อสร้าง list ใหม่แบบนี้ได้เลยโดยที่
  893. 45:11เราสามารถที่จะเอา data.mbeding Ming
  894. 45:13ตรงนี้มาได้เลยนะเพียงแต่เราต้องแปลง
  895. 45:15array ตัวนี้ให้กลายเป็น number array
  896. 45:17ก่อนนะก็คือใช้numpาย doar array เหมือน
  897. 45:22เมื่อกี้เลยเพื่อแปลง data. Mbeding ตัว
  898. 45:25นี้ให้เป็นนำ array sq support แค่ 32
  899. 45:29bit เพราะฉะนั้นผมแปลงครับ dt typ เป็น
  900. 45:32number.
  901. 45:34FL 32 ยังไม่พอเก็บลง SQL อะไรต้องแปลง
  902. 45:38เป็น Array of B ด้วย D by แบบนี้
  903. 45:43ใน SQ Lite ของเราเนี่ยพามเตอร์ของมัน
  904. 45:45เนี่ยเป็น True เพราะฉะนั้นวงเล็บครอบ
  905. 45:49ครอบแล้วก็คอมทิ้งท้ายบรรทัดเดียวจบเสร็จ
  906. 45:53แล้วสั่ง CursorxQu
  907. 45:56อันนี้อนุญาตให้ copy มาได้ excuse menu
  908. 45:59ตรงนี้ copy มาเลย
  909. 46:02ปึ๊บแต่เปลี่ยนเวกเตอร์เป็น beding
  910. 46:05เพียงเท่านี้คุณได้ database พร้อม data
  911. 46:08ตรงนี้เรียบร้อยแล้วนะสิ่งที่แตกต่างกว่า
  912. 46:10ข้อเมื่อกี้คือว่ามันเป็นเวกเตอร์ที่ถูก
  913. 46:12ด้วยโมเดลที่มันฉลาดกว่าที่เราไป best
  914. 46:16เองต่อไปครับเราจะไป quy ละ quy response
  915. 46:24aicien. embedding
  916. 46:27do create ส่ง input เข้าไป input ที่
  917. 46:30เราจะทำการถามเ้าเนี่ยคือคำ 3 คำเนี้ยผม
  918. 46:36ต้องการคำ wording ที่เกี่ยวข้องกับการ
  919. 46:39greeting
  920. 46:41greeting ถ้าเรามองด้วยตาเปล่าเราจะรู้
  921. 46:43ว่ามันต้อง return good morning มันแน่
  922. 46:45นอน vector database คงไม่ได้ greeting
  923. 46:47คงไม่มีใครเจอกันกันปุ๊บเอ้ยเวกเตอร์
  924. 46:50database คงไม่ใช่มาถึงปุ๊บ I love you
  925. 46:53อืก็ได้อยู่นะทักทายด้วยเอ้ยฉันรักคุณก็
  926. 46:56พอได้ถ้าเราจัดอันดับตามนี้เนี่ยด้วยตา
  927. 46:59เปล่าก็คงจะเป็น 3 2 1 ใช่มั้โอเค
  928. 47:03ส่งโมเดลเข้าไป
  929. 47:07ต่อไป
  930. 47:08wedding
  931. 47:11นำพาย array
  932. 47:14ส่ง cury response.data
  933. 47:18data ตัวที่ 0.membedding Embeding
  934. 47:21ส่ง D type เข้าไปเป็น numpire.
  935. 47:25Float 32.2
  936. 47:27Two bik เพื่อแปลงเป็น array of bik
  937. 47:29ให้เรียบร้อยทำ trle หน่อยครับวงเล็บครอบ
  938. 47:32เข้าไป comma ต่อท้ายโอเคเรียบร้อยแล้ว
  939. 47:35พร้อมจาก quy แล้วนะอนุญาตให้ copy code
  940. 47:39x ตรงนี้มาได้ copy มาเลยจนกระทั่งถึง
  941. 47:42fed ให้หมดเลยครับ
  942. 47:45ปึ๊บ
  943. 47:47แล้วเปลี่ยนตรง quyor เป็น quy embeding
  944. 47:50แต่ผมไม่อยากดูเวกเตอร์แล้วเพราะเวกเตอร์
  945. 47:53เมื่อกี้ที่เรา embed เองเป็นแค่ 3 มิติ
  946. 47:55มันสั้นแต่อันเนี้ยผมใช้ NORIC 700 กว่า
  947. 47:59ตัวผมคงไม่นั่งดูมันหรอกเพราะฉะนั้นผมขอ
  948. 48:01ไม่เอาเวกเตอร์มาแสดงผลแล้วกันผมขอเอาออก
  949. 48:04ใช้ und ไปแล้วก็ลบอันนี้ทิ้งไปเอาแค่
  950. 48:07distance ผมอยากรู้แค่ ID กับ distance
  951. 48:10พอดูซิว่ามันจัดอันดับถูกต้องหรือเปล่า
  952. 48:14โอเคครับโทษทีครับผมลืมผมcopี้มาไม่หมด
  953. 48:17เราลืมโหลด SQ เข้าไปเห็นมยผมcopี้มาแล้ว
  954. 48:21นะแต่ไปcopี้แค่นี้อ่าผมขอไปcopี้จังหวะ
  955. 48:25โหลด
  956. 48:26มาด้วยครับโหลด SQ เข้าไป
  957. 48:30โอเคลองใหม่ครับ
  958. 48:33ตอนนี้เห็นมว่าที่เราคำนวณกันว่า 321 ใช่
  959. 48:37มครับขนาดที่ได้เห็นมะ distance 0.8 0.9
  960. 48:439 1.1 ตามลำดับเช็คก่อนว่าแม่นจริงหรือ
  961. 48:46เปล่าผมเปลี่ยนใหม่ quy ด้วยคำว่า feeling
  962. 48:50feeling นี่เป็นไงครับ database ใช่ไหม
  963. 48:53คงไม่ได้อ่ะไม่ต้อง I love you ถูกม
  964. 48:55อันดับแรก Good morning อันดับ 2
  965. 48:56เวกเตอร์อันดับ 3 น้ำดวงด้วยตาเปล่านะอ่ะ
  966. 48:59ลองดู
  967. 49:012 3 1 เห็นป่ะโอ้โหมันใช้ได้เว้ยมัน
  968. 49:04สามารถทำในสิ่งที่เราไม่สามารถทำใน HQR
  969. 49:07database ได้แล้วไอ้เวกเตอร์ database
  970. 49:10ถ้าจะให้ขึ้นอันดับ 1 ใช้คำว่าอะไรดีผม
  971. 49:12ใช้คำนี้เลยครับคือคำว่า embedding อ่ะ
  972. 49:16ได้คำว่าอะไรมา
  973. 49:191 2 3 เวกเตอร์ database มาก่อนเลยอ่ะ
  974. 49:23นี่คือตัวอย่างการทำ embeding ที่เราเอา
  975. 49:28มาใช้แทนการ embeding ด้วยตัวเราเองนะเรา
  976. 49:31ใช้โมเดลมา embeding แล้วใช้ SQR มาทำor
  977. 49:35database ด้วยมือของเราเองทั้งหมดเลยนะ
  978. 49:38โอเคจบ exercise ที่ 2 เรื่องต่อไปครับ
  979. 49:41เป็นเรื่องของการใช้ database เวกเตอร์
  980. 49:44ที่ออกแบบมาเพื่อเวกเตอร์โดยเฉพาะตัวแรก
  981. 49:46ที่ผมจะนำเสนอในวันนี้ก็คือตัวชื่อว่า
  982. 49:49Chroma Chroma DB ตรงนี้คุณสามารถเข้า
  983. 49:51ไปดาวน์โหลดมาใช้งานได้เต็มที่เพราะมัน
  984. 49:53เป็น open source งานหลายๆอย่างที่คุณ
  985. 49:55เคยทำในแลเมื่อกี้เนี้ยคุณอาจจะไม่ต้องทำ
  986. 49:58อีกแล้วเพราะว่า database ตรงนี้จัดการ
  987. 49:59ให้คุณหมดเลยแอปมีแค่เขียน quyeding
  988. 50:03ให้คุณเลยไม่ได้เก็บแค่เวกเตอร์นะมันเก็บ
  989. 50:06ตัว document ให้คุณด้วยคุณสามารถไป quy
  990. 50:08มาแล้วก็มาทำแอปพลิเคชันถามตอบได้ง่ายๆ
  991. 50:11เลยครับด้วย Chroma DB ตรงนี้นะเดี๋มา
  992. 50:14ลองกันครับทุกคนเข้าเว็บไซต์ครับเว็บของ
  993. 50:16เค้าชื่อว่า try.com
  994. 50:20นี่คือเว็บของเค้าเลยนะไปดูdoอกได้ดูวิธี
  995. 50:24การใช้งานยังไงเรียนรู้ได้ซึ่งเดี๋ยวผมจะ
  996. 50:27มาแนะนำเบื้องต้นให้คุณก่อนนะรายละเอียด
  997. 50:29ต่างๆอยากเจาะลึกลงดีเทลมากกว่าที่ผมสอน
  998. 50:32ก็มาดูตรงนี้มีทั้งหมดให้คุณแล้วเรียบ
  999. 50:34ร้อยกลับไปที่ VS Code ครับแล้วสร้าง
  1000. 50:38ไฟล์ขึ้นมา 1 ไฟล์ชื่อว่า 03 Chroma.py
  1001. 50:44ไปดูครับ library ครับที่เราจะใช้ก็คือ
  1002. 50:46ตัวที่ไปที่ pp.org นะตัวนี้มันชื่อว่า
  1003. 50:49Chroma
  1004. 50:51DB seสิรชหา Chroma DB ได้เลยครับตัว
  1005. 50:54นี้เมื่อพร้อมแล้วครับกลับไปที่ VS Code
  1006. 50:58พิมพ์ UV
  1007. 51:00Chroma DB
  1008. 51:05import เลยครับ Chroma DB โจทย์ที่เรา
  1009. 51:10จะทำกับ Database ตัวนี้ก็เหมือนเดิมครับ
  1010. 51:12ก็คือเราจะใช้
  1011. 51:14โจทย์เดิม Text ทั้ง 3 ตัวนี้นั่น
  1012. 51:19ต่อไปสร้าง choma kantน
  1013. 51:24ด้วยคำสั่ง chroma db.c CL
  1014. 51:28การสร้าง Chroma DB ตัวนี้เป็นการสร้าง
  1015. 51:31in memmory database ก่อนนะถ้าใครอยาก
  1016. 51:33สร้างเป็นไฟล์อยากสร้างเป็น server เดี๋
  1017. 51:35ค่อยมาลองทำกันต่อไปเราต้องไปทำสิ่งที่
  1018. 51:38เรียกว่า collection ครับ collection
  1019. 51:42สร้างในคำสั่ง Chroma Client
  1020. 51:45doc create collection
  1021. 51:48ต่อไป name ตั้งชื่อ collection ของคุณผม
  1022. 51:51ตั้งชื่อว่า My Collection
  1023. 51:55ก็อาจจะเปรียบเสมือนเป็นชื่อของ table
  1024. 51:57อย่างนี้เป็นต้นต่อไปจัดการ collection.
  1025. 52:01add
  1026. 52:03document document คืออะไรถ้าอยากรู้กด
  1027. 52:05command ค้างแล้วคลิกไปดูที่ add คุณจะ
  1028. 52:07เห็นว่า document คือ one or many
  1029. 52:11document class ตัวนี้ถ้าผมกด command
  1030. 52:13class คลิกไปที่ document อีกทีนึงจะ
  1031. 52:15เห็นว่า document เป็นไปได้ทั้ง string
  1032. 52:17และ list of document นั่นหมายความว่า
  1033. 52:19ผมสามารถส่ง text แบบนี้เข้าไปได้
  1034. 52:23add ตัวนี้ต้องการอะไรอีก add ตัวนี้
  1035. 52:25ต้องการ id ครับคือการทำ indexing ตรงนี้
  1036. 52:29ตัว document ทุกตัวจะต้องมี ID อย่างของ
  1037. 52:32SQL เมื่อกี้นี้มันทำ Auto ID ให้เรานะ
  1038. 52:34running 1 2 3 4 5 แต่ครั้งนี้เรา
  1039. 52:37ต้องทำ ID ไปด้วยคุณสามารถส่งอย่างนี้ได้
  1040. 52:39ครับก็คือ ID
  1041. 52:41เป็นเข้าไปเช่นเวกเตอร์ database เป็น ID
  1042. 52:441 ID 2 ID 3 แบบนี้ก็ได้แต่ถ้าเกิด
  1043. 52:48คุณทำแบบนี้แล้วถ้าเกิดคุณมีเวกเตอร์หรือ
  1044. 52:51มี text มากกว่าเดิมคุณต้องมานั่งใส่เสีย
  1045. 52:53เวลาเพราะฉะนั้นผมจะทำการใช้คำสั่ง for
  1046. 52:56เพื่อสร้าง ID ให้มันนะโดยที่ for in
  1047. 53:00text ตัวนี้เราจะ generate id ยังไงดี
  1048. 53:03อ่ะ running 1 2 3 มไม่เอาดีกว่าผมขอ
  1049. 53:06ใช้เป็น uu id เพื่อ generate เป็น ID
  1050. 53:08ให้มันนะงั้นทุกคนครับไป import
  1051. 53:12uuid เข้ามาเพื่อจะทำเป็น ID ให้มัน uuid
  1052. 53:16เนี่ยจะมีคำสั่งที่ชื่อว่า uuid 4 ผมใช้
  1053. 53:19uuid 4 เพียงแต่ว่าผมต้องแปลงเป็น
  1054. 53:22string ก่อนนะเพราะฉะนั้นผมขอใช้ string
  1055. 53:24ครอบนะ str ครอบแปลงตัวนี้ให้เป็น string
  1056. 53:29ซะโอเคมันจะ generate ID ให้ผมออโต้เลย
  1057. 53:33เป็น Global ID ให้เราเรียบร้อยได้แล้ว
  1058. 53:39ทีนี้เรามาดูกันว่าถ้าเราแอดไปแล้วเนี่ย
  1059. 53:42สิ่งที่เกิดขึ้นเนี่ยมันทำอะไรกับ
  1060. 53:43Database ตัวนี้บ้างผมจะทำงี้ครับก็คือ
  1061. 53:46collection. Peak
  1062. 53:50Colorction. พีคเนี่ยคุณจะทำการเอา data
  1063. 53:52เนี่ยดึงขึ้นมาให้คุณดูนะผมขอดูนี้ resve
  1064. 53:56เท่ากับ print resolve มาดูนะโอเคปริ้น
  1065. 54:00ตรงนี้มาดูสังเกตมยโค้ดเราสะอาดมากเลยแทบ
  1066. 54:03จะไม่ทำอะไรเลยโอเคผมขอลองดูก่อนนะว่ามัน
  1067. 54:06ทำไงได้บ้างผมขอรันที่ UV Run 03
  1068. 54:15สิ่งที่เกิดขึ้นคืออะไรสิ่งที่เกิดขึ้น
  1069. 54:17คือก็คือว่าเครื่องคุณจะใช้อีกแล้วครับ
  1070. 54:19เพราะมันจะมีการดาวน์โหลดโมเดลมาอีกแล้ว
  1071. 54:22โมเดลที่มันดาวน์โหลดมาให้คุณนั้นอยู่ใน
  1072. 54:25นี้ครับอยู่ใน Do cash
  1073. 54:29แล้วก็อยู่ใน Chroma
  1074. 54:32อยู่ใน Onix Model
  1075. 54:35นี่ครับมันไปดาวน์โหลดโมเดล All Mini LM
  1076. 54:39L6 V2 มาอีกแล้วแต่อยู่คนละที่นะคือ
  1077. 54:42เบื้องหลังเนี่ยมันไปทำให้คุณออโต้พยายาม
  1078. 54:44จะทำให้คนที่เริ่มต้นเนี่ยใช้งานง่ายที่
  1079. 54:46สุดโดย default ตัวเนี้ยมาให้คุณเพราะ
  1080. 54:48ฉะนั้นครั้งแรกที่คุณรันอาจจะช้าหน่อยนี่
  1081. 54:51ครับเรียบร้อยมันลง database เรียบร้อย
  1082. 54:53สังเกตนะครับมันมี ID มันเป็น UUID เห็น
  1083. 54:57มั้ยกี่ตัว 1 2 3 ตัวต่อมามันมี beding
  1084. 55:00เห็นป่ะ A Bedding เพียบเลยมันมี
  1085. 55:03Document เห็นป่านี่คือความพิเศษของมัน
  1086. 55:05ครับเมื่อกี้เวกเตอร์ database ของเราไม่
  1087. 55:07ได้ทำใช่มยเราเก็บแต่เวกเตอร์เราไม่ได้
  1088. 55:09เก็บตัว text document แต่นี้มันเก็บ
  1089. 55:11document ตัวเดิมไว้ให้มี meta data
  1090. 55:14เอ้ย meta data เราไม่ได้ใช้อะไรเลยนี่
  1091. 55:16เดี๋ยวเรามาลองเล่น meta data กันหน่อย
  1092. 55:19เพราะคุณอย่าลืมว่าบางสิ่งบางอย่างเรา
  1093. 55:21ต้องเก็บdata้าคุณต้องมีคอลัมน์อื่นอีก
  1094. 55:23เยอะแยะมากมายคำถามคือมีแค่ text กับ ID
  1095. 55:25เท่านั้นหรอที่เก็บได้คำตอบคือเก็บมาก
  1096. 55:27กว่านั้นก็ได้ครับเราจะใช้เป็น MAT Data
  1097. 55:29data แทนคุณสามารถใส่เป็นดิสก์เข้าไปได้
  1098. 55:32เลยเช่นคุณใส่เป็น Jon เข้าไปนะสมมุติผม
  1099. 55:34บอกว่าแรงภาษาเป็นภาษาอังกฤษก็ทำงี้ได้
  1100. 55:39เลยแต่คุณต้องทำบน Loop ทั้งหมด 3 ครั้ง
  1101. 55:42เพราะคุณมี data อยู่ 3 ตัวคุณต้องทำให้
  1102. 55:44ครบแต่ผมเอาง่ายก่อนแล้วกันนะผมขอ loop
  1103. 55:47ให้ตามจำนวน data ที่วิ่งเข้าไปทั้งหมด
  1104. 55:50เลยเท่ากับว่าทั้ง 3 ตัวจะมี data เป็น
  1105. 55:53rank เท่ากับ en ทั้งหมดโอเคผมสั่งรันดู
  1106. 55:58จะเห็นมว่าตัวนี้จะมีแรง en เป็น data มา
  1107. 56:02ด้วยเห็นป่ะต่อไปผมต้องการที่จะคyเอา
  1108. 56:05เฉพาะสิ่งที่ผมต้องการอ่ะมาลองดูครับคตรง
  1109. 56:09นี้ไปก่อน result
  1110. 56:12เท่ากับ collection. Qury Qury ก็คือมี
  1111. 56:16Qury text ผมส่งได้เลยครับสังเกตมว่าผม
  1112. 56:19ไม่ต้อง embeding เพราะ framework อ่ะมัน
  1113. 56:21ช่วย embed ให้คุณอยู่แล้วในตัวนะคุณก็
  1114. 56:24ใช้ได้เลยครับ greeting
  1115. 56:26มันง่ายมากไอ้สิ่งที่คุณเคยทำทั้งหลาย
  1116. 56:28ทั้งบนเนี่ยไม่ต้องทำแล้ว dissolve ก็คือ
  1117. 56:30บอกว่าจะเอามากี่ตัวผมขอมา 3 ตัวที่ก็
  1118. 56:34สั่งปริ้นนะครับปริ้นผมปริ้นตัว resource
  1119. 56:37มาดู
  1120. 56:39อ่ะสั่งดันดูครับ
  1121. 56:42เรียบร้อยแต่ว่าผมต้องการดูแค่บางอย่าง
  1122. 56:44ไม่เอา ID แล้วกัน ID ไม่ต้องการผม
  1123. 56:47ต้องการดู document แล้วก็ต้องการดู
  1124. 56:50distance อยากรู้ 2 อย่างกับ distance
  1125. 56:53เพราะฉะนั้นผมจะปรintตัว document เห็นม
  1126. 56:56นี่คือตัวนี้ document นะแล้วก็ปรint
  1127. 57:00result
  1128. 57:04นี่ดูตรงนี้ได้เลยครับจะมี distance อยู่
  1129. 57:07ตรงนี้เห็นม distance s ด้วยโอเคเมื่อ
  1130. 57:11ได้แล้วปึ๊บสั่ง
  1131. 57:14เรียบร้อยครับ Good morning
  1132. 57:17เอ่อเหมือนเดิมครับเปลี่ยนตรงนี้เป็น
  1133. 57:18feeling ต้องเป็น I love you ใช่มยอ่ะ
  1134. 57:24อ๋อที่เราใช้กันอยู่เนี่ยมันคือตัวไหนนะ
  1135. 57:28มันคือตัวนี้ใช่มยมันไม่เก่งมันมีแค่ 300
  1136. 57:32กว่า diension เองไม่เวิร์คเห็นมผมใช้
  1137. 57:34Feling แล้วมันไม่เปลี่ยนให้เราแสดงว่า
  1138. 57:37มีปัญหาที่ Mbeding ะเพราะฉะนั้นเรามา
  1139. 57:40เปลี่ยนเป็น Open AI กันดีกว่าก็คือใช้
  1140. 57:42โอามะที่ 768 diension โอเคทุกคนครับ
  1141. 57:48สร้างไฟล์เพิ่มไป 1 ไฟล์
  1142. 57:51ชื่อ 04a_opena.py
  1143. 57:57PY
  1144. 57:58เมื่อกี้แบบง่ายคือแบบที่ไม่ต้องทำอะไร
  1145. 58:02เลยแล้วคุณก็ได้ของแต่ครั้งนี้จะดูให้มัน
  1146. 58:04ยากหน่อยผมcopี้แล้วกันนะทุกคนcopี้ทั้ง
  1147. 58:08หมดเลยมาไว้ที่อีกไฟล์นึงจะได้เก็บเอาไว้
  1148. 58:11อ่านได้ในวันที่คุณต้องการจะทำแบบง่ายๆ
  1149. 58:14รันเวกเตอร์แบบไม่ต้องทำอะไรเลยทุกอย่าง
  1150. 58:16framework ทำให้หมดแต่ไฟล์ที่ 4 ตัวนี้
  1151. 58:19คือสิ่งที่เราต้องการก็คือเราต้องการจะ
  1152. 58:21เปลี่ยนตัว embeding เพราะเรารู้แล้วว่า
  1153. 58:23ความเก่งของมันอยู่ที่ embeding ตัวที่
  1154. 58:25เราต้องทำเพิ่มก็คือตอน create
  1155. 58:28collection มันจะมีสิ่งนึงที่คุณต้อง
  1156. 58:31เปลี่ยนเาเรียกว่า embedding function
  1157. 58:33ตัวนี้แหละคือตัวที่จะมาบอกว่าใครเป็นคน
  1158. 58:36ให้คุณโอเคเพราะฉะนั้นมาเราจะต้องไป
  1159. 58:40import ของเพิ่มนิดนึงครับ form
  1160. 58:44dbutil.
  1161. 58:49Function.open Open AI embeding
  1162. 58:52function Import Open AI embeding
  1163. 58:54function เข้ามาแล้วก็ import. ENV
  1164. 58:57ด้วยแล้วก็ import ตัว OS ด้วยเพื่อจะได้
  1165. 59:00โหลด ENV เข้ามาแล้วก็ ENV.load.eninv
  1166. 59:05inv ให้เรียบร้อยโอเคเพราะฉะนั้นตรงนี้
  1167. 59:07ครับตรงใต้ client ตัวนี้ก่อนจะไป create
  1168. 59:10collection คุณต้องมี embeding function
  1169. 59:12ก่อนสร้าง EF ขึ้นมาครับพิมพ์ Open AI
  1170. 59:16embeding function อันดับแรกคือส่ง
  1171. 59:18Model name เข้าไปอันดับ 2 คุณต้องส่ง
  1172. 59:22API base เข้าไปอันดับ 3 คุณต้องส่ง API
  1173. 59:26key เข้าไป
  1174. 59:29model name API base มาจาก
  1175. 59:31environment ครับ OS.en Enveronะ
  1176. 59:35N point
  1177. 59:37API key ของโอะ
  1178. 59:40เสร็จแล้ว embeding ฟังก์ชเพียงแค่คุณไป
  1179. 59:44เพิ่ม eding ฟังกชให้มันแบบนี้ครับ
  1180. 59:49เพียงแค่คุณทำแค่นี้ครับลองมาดูครับเมื่อ
  1181. 59:51กี้นี้ greeting ใช่มโอเคผมลองรัน UV Run
  1182. 59:5704 Tab ครับ Enter
  1183. 1:00:01เห็นมยตอนนี้ Greeting เป็น Good morning
  1184. 1:00:03I love you vector ผมลองเปลี่ยนเป็น
  1185. 1:00:05ตรงนี้ feeling ดูครับเมื่อกี้ที่เราผิด
  1186. 1:00:07พลาดใช่ม
  1187. 1:00:09ดูซิว่าเขาจะแก้ปัญหานี้เได้ไหมไอ้เรียบ
  1188. 1:00:13ร้อยเห็นมว่าการคุณเปลี่ยนตัวing model
  1189. 1:00:16เข้าไปงานของคุณนั้นก็จะง่ายขึ้นอ่ะลองดู
  1190. 1:00:19embedding บ้าง embedding
  1191. 1:00:21ก็จะเก่งขึ้นนะเข้าใจนี่คือเวกเตอร์
  1192. 1:00:25database
  1193. 1:00:27ตัวเลขที่คุณเห็นตัวนี้มันเป็นตัวเลขเกิน
  1194. 1:00:291 ใช่มั้ยเมื่อกี้ผมสอนคุณว่าการคำนวณ
  1195. 1:00:32distance มี 2 แบบใช่ป่ะก็คือแบบที่เป็น
  1196. 1:00:35ยูคียนกับการที่มันคำนวณเกิน 1 ได้แสดง
  1197. 1:00:40ว่าเดาได้เลยว่ามันเป็นูคียนป่ะเพราะมัน
  1198. 1:00:43คือ distance ระยะทางเพราะว่าการคอสไม่มี
  1199. 1:00:46ทางที่คอสเกิน 0 กับ 1 ไปได้แสดงว่า
  1200. 1:00:49default มันเป็นอยากลอง cos มยมาการ
  1201. 1:00:53เปลี่ยนเป็น cos นั้นคุณจะต้องไป config
  1202. 1:00:55เพิ่มเติมนิดนึงครับตอนที่คุณ create
  1203. 1:00:57collection กด enter ลงมานะแล้วพิมพ์คำ
  1204. 1:01:00ว่า configuration
  1205. 1:01:01ใส่ปีกการเข้าไป double code พิมพ์คำว่า
  1206. 1:01:04นี่ฮะ HNHW
  1207. 1:01:06ถ้าคุณจำสไลด์ผมได้ HNHW
  1208. 1:01:09คือตอนนี้เลยครับ Hari Navigable Small
  1209. 1:01:12World คุณต้องกำหนดด้วยว่า World ของคุณ
  1210. 1:01:15เนี่ยจะคำนวณ distance เป็นแบบไหนเพราะ
  1211. 1:01:17ฉะนั้นผมจะ config HNHW
  1212. 1:01:20ใส่ colon ใส่ปีกอีกทีนึงแล้วคราวนี้ใส่
  1213. 1:01:23space ครับบอกว่า space อยากใช้อะไรครับ
  1214. 1:01:26นี่ฮะมีให้คุณเลือกอยู่ 3 ตัว cos L2 2
  1215. 1:01:30ip
  1216. 1:01:32cos ก็คือ cos นั่นเองมุม l2 เนี่ยแหละ
  1217. 1:01:37ครับคือ default มันเป็น l2 เพราะฉะนั้น
  1218. 1:01:40คุณลองเปลี่ยนเป็น cos ดูครับ
  1219. 1:01:43ลองรันอีกรอบนึงครับ
  1220. 1:01:46จะเห็นว่าค่าของมันนั้นจะเป็น 0 กว่าๆไม่
  1221. 1:01:51เกิน 1 เห็นมในตารางนี้เนี่ยผมได้แสดงให้
  1222. 1:01:54เห็นแล้วว่าระหว่าง cos กับ L2 ที่เป็น
  1223. 1:01:57equient เนี่ยมันมีความแตกต่างยังไงเรา
  1224. 1:01:59ใช้งานประเภทไหนนะอย่าง cos เนี่ยมันเช็ค
  1225. 1:02:03ความคล้ายยิ่งเป็น 0 ก็คือองศามันน้อย
  1226. 1:02:06เท่ากับว่ามันจะใกล้เคียงส่วน equient
  1227. 1:02:10อยู่ที่ระยะทางก็ยิ่งน้อยก็คือยิ่งใกล้
  1228. 1:02:13ช่วงของค่าของมันเนี่ย cos เนี่ยอยู่ที่
  1229. 1:02:15-1-1 นะก็คือมีค่าติดลบกับมีค่าบวกแต่
  1230. 1:02:18ไม่เกิน 1 นะอยู่ประมาณนี้ก็ไม่สนใจ
  1231. 1:02:21เรื่องขนาดสนใจแค่มุมนะส่วน L2 หรือ
  1232. 1:02:25Equium เนี่ยสนใจเรื่องของระยะทางและ
  1233. 1:02:27ขนาดงานที่ใช้โคซจะใช้เกี่ยวข้องกับพวก
  1234. 1:02:31งาน text หรือข้อความต่างๆนะจะดีกว่าส่วน
  1235. 1:02:36เอ่อตัวที่เป็น equient เนี่ยจะเหมาะพวก
  1236. 1:02:39รูปนะพวกข้อมูลเชิงปริมาณอย่างนี้เป็นต้น
  1237. 1:02:42ก็ลองไปเลือกใช้ดูแล้วกันต่อไปเมื่อกี้
  1238. 1:02:46นี้ผมพูดถึงเรื่องของ meta data ใช่มย
  1239. 1:02:49การค้นหานั้นเราค้นหากันแค่ Qex อย่าง
  1240. 1:02:51เดียวเหรออยากค้นหาจาก MEA data ด้วยได้
  1241. 1:02:54มั้ยมาลองดูกันถ้าอยากลองค้นหาจาก Met
  1242. 1:02:58เพราะฉะนั้นผมต้องทำให้ data นั้นมีความ
  1243. 1:03:00แตกต่างกันก่อนผมขอเพิ่มแบบนี้ครับ meta
  1244. 1:03:05data เปลี่ยนใหม่เป็นแบบพิมงก็คือแรงอัน
  1245. 1:03:11นี้เป็น EN
  1246. 1:03:14ตัวที่ 2 ผมcopี้มาเลยนะ
  1247. 1:03:19เอาไป 3 ตัวที่ 2 ผมมันเป็นภาษาไทยคือ TS
  1248. 1:03:22ผมมั่วๆไปเพื่อให้เกิดความแตกต่างตัวที่ 3
  1249. 1:03:27ผมเป็น EN เหมือนเดิมเห็นมยนะคือคุณต้อง
  1250. 1:03:29มีให้ครบนะตามจำนวน data ที่คุณใส่ผมไม่
  1251. 1:03:33ได้วน lo ไงผมต้องพ manual เองเพื่อให้
  1252. 1:03:36เห็นความแตกต่างแต่ความเป็นจริงแล้วที่
  1253. 1:03:38คุณเอา data ลงเวกเตอร์เนี่ยคุณคงมีวิธี
  1254. 1:03:40การคำนวณเขียนโปรแกรมของคุณและนะเพื่อ
  1255. 1:03:42แปลงจาก table ปกติให้กลายเป็นเวกเตอร์
  1256. 1:03:47ทีนี้ถ้าเราจะ qu บอกว่าผมต้องการเอา
  1257. 1:03:50เฉพาะ en ไม่เอา th ทำไงก็ใช้ where ครับ
  1258. 1:03:56อใช้ชื่อเหมือน SQL เอาเลยแแล้วบอกว่าแรง
  1259. 1:04:01เป็นเฉพาะ EN นะแบบนี้เป็นต้นเห็นมั้ยว่า
  1260. 1:04:06แค่เนี้ยคุณสามารถเพิ่มcrครทีในการแare
  1261. 1:04:08ได้ละแทนที่มันจะไปค้นหาคำๆนี้จากทั้งหมด
  1262. 1:04:14มันกลายเป็นว่ามันมีการไปแareเพิ่มมันจะ
  1263. 1:04:17เหลือแค่ 1 กับ 3 ถูกมั้ก็คือเหลือแค่
  1264. 1:04:19เวกเตอร์กับ Good morning เพราะฉะนั้นผม
  1265. 1:04:22ลองรันดูใหม่คราวนี้ถึงแม้ผมจะลิมิต 3 ก็
  1266. 1:04:26ตามแต่มันออกมาแค่ 2 มันจะไม่มีตัวนั้น
  1267. 1:04:29ออกมาแล้วนี่คือการแareเพิ่มได้
  1268. 1:04:32โอเคทีนี้พอคุณเริ่มทำไปแล้วเนี่ยคุณอยาก
  1269. 1:04:36จะให้มันมีตัวตนสักนิดนึงเพราะตอนนี้มัน
  1270. 1:04:38เป็น memmory database อย่างเดียวผมอยาก
  1271. 1:04:41ให้มันเก็บเป็นไฟล์ได้มทำได้วิธีการก็คือ
  1272. 1:04:45คุณก็แค่ไปสร้าง chroma client อีกแบบ
  1273. 1:04:48นึงขึ้นมาโดยครั้งนี้จะเป็น Chroma DB.
  1274. 1:04:52persist client ะ persist client ก็
  1275. 1:04:56แค่ไปบอกว่าคุณจะเก็บ data ไว้ที่ไหนผมขอ
  1276. 1:04:58เก็บ data ไว้ที่/a
  1277. 1:05:02อันนี้เป็นโฟลเดอร์นะฮะมันจะไปสร้างไว้
  1278. 1:05:04ที่ตรงนี้ให้คุณผมจะลองรันดูนะครับรัน
  1279. 1:05:08เหมือนเดิมแต่ครั้งนี้มันจะไป persit
  1280. 1:05:11อยู่ที่นี่ครับโoldด Chroma เห็นมยและที่
  1281. 1:05:14น่าสนใจก็คือ database ที่มันใช้คือ SQL
  1282. 1:05:183 อีกแล้ว
  1283. 1:05:20แต่ว่าโครงสร้างของ database เนั้นไม่
  1284. 1:05:22เหมือนเดิมมันมีอะไรที่มากกว่านั้นเห็นม
  1285. 1:05:25เก็บหลากหลายมากมายซึ่งคุณไม่ต้องไปแตะ
  1286. 1:05:27ต้องมันนะนี่คือของมันเรียบร้อยเห็นมนี่
  1287. 1:05:32คือได้ persist เรียบร้อยครั้งหน้าคุณมา
  1288. 1:05:35แค่จาก database ที่นี่ก็พอทีนี้การทำ
  1289. 1:05:39เป็นไฟล์โฟลเดอร์อย่างนี้เนี่ยมันก็คือ
  1290. 1:05:42ถูกป่ะอยากทำเป็น server ได้มยได้ผมขอลบ
  1291. 1:05:46โฟลเดอร์ตรงนี้ออกไปก่อนนะ
  1292. 1:05:50dB ที่คุณติดตั้ง package Python มัน
  1293. 1:05:52เนี่ยมันจะมีคำสั่งนี้ครับ Chroma แล้วก็
  1294. 1:05:54คำสั่ง Run เพื่อ Start database Server
  1295. 1:05:56ขึ้นมาได้เห็นมั้ว่ามันเป็นพort 8,000
  1296. 1:05:59ต่อมาคุณก็ต้องไปเปลี่ยนตรงนี้ครับปกติ
  1297. 1:06:02ที่เราคุณไปยิงที่โลคalแล้วจะไปยิงใหม่
  1298. 1:06:04ที่ Chroma
  1299. 1:06:06Client เท่ากับ Chroma DB.ht
  1300. 1:06:11HTDV Cant โดยที่ส่ง Host เข้าไป Host
  1301. 1:06:15ก็คือตัว Local Host แล้วก็ส่ง Port
  1302. 1:06:17เข้าไป Default ก็คือตัว Port จะเห็นว่า
  1303. 1:06:21ตอนนี้เขาจะไปสร้างโฟลเดอร์ Chroma ขึ้น
  1304. 1:06:23มาแล้วแต่โฟลดตรงเนี้ยมันเป็นของ HTTP
  1305. 1:06:25Server นะมันไม่ใช่ของตัวalตัวนี้ละผม
  1306. 1:06:29เปิด Terminal อีก 1 ตัวขึ้นมาแล้วผมสั่ง
  1307. 1:06:31run UV Run 04 คราวนี้มันจะไปยิงที่
  1308. 1:06:37ตัว HTTP Server แทนแล้วนั่นหมายความว่า
  1309. 1:06:41จากนี้ต่อไปคุณไปเขียน AI แอปพลิเคชก็แค่
  1310. 1:06:45ใช้ไอตัวเนี้ยไปได้เลยนะแต่ว่าอยากจะรัน
  1311. 1:06:51เป็นแบบdoอกerเลยมยได้ถ้าอยากรันแบบ
  1312. 1:06:53doอกerเนี่ยมันก็จะมีให้คุณใช้เหมือนกัน
  1313. 1:06:55ครับถ้าคุณไปเปิดที่ docker.com คอเนี่ย
  1314. 1:06:59คุณไปค้นหาคำว่า Chroma DB
  1315. 1:07:05ตัวนี้ Chroma DB/Chroma
  1316. 1:07:08คุณก็แค่ไปพูตัวโมเดลตรงนี้มา
  1317. 1:07:12ผมขอ stop server ก่อนนะปึ๊บโอเคลบทิ้ง
  1318. 1:07:15ก่อน
  1319. 1:07:18doer image just นะตอนนี้คุณจะเห็นว่า
  1320. 1:07:23ผมจะมีโมเดลที่ชื่อว่า DB/A
  1321. 1:07:27เห็นมยโอเคโคเพราะฉะนั้นเดี๋ยวเราจะไป
  1322. 1:07:30สร้าง docker compost กันเนาะก็คือสร้าง
  1323. 1:07:33ไฟล์doอกerขี compost. YML สร้างสวิตch
  1324. 1:07:38ขึ้นมา
  1325. 1:07:42DB
  1326. 1:07:44image ก็คือ DB/A
  1327. 1:07:49port ก็คือPortุ่ม
  1328. 1:07:54ที่ใช้ก็คือผมขอใช้/a
  1329. 1:08:00มันจะอยู่ที่ slash data ครับโอเคข้างใน
  1330. 1:08:05ของ image อยู่ที่ slash data นะ map
  1331. 1:08:07data มาข้างนอกนะนี่ผมลบโฟลเดอร์ coma
  1332. 1:08:11ไปแล้วนะโอเค Start docker ได้เลยครับก็
  1333. 1:08:14คือdoอกer
  1334. 1:08:17up
  1335. 1:08:19โอเค Start ได้เหมือนกันเห็นมั้ยทีนี้
  1336. 1:08:21สามารถเอาตัวนี้ขึ้น Server ได้แล้วแล้ว
  1337. 1:08:23ก็สั่ง Run ได้เหมือนเดิมเพราะว่าที่นี่
  1338. 1:08:27เราไปที่โลคal Host Portะ
  1339. 1:08:35ครับคือโคร DB ที่คุณสามารถเอาไปทำการต่อ
  1340. 1:08:39ยอดได้เลยเนอะ
  1341. 1:08:44โอเคครับจบเรื่อง Chroma DB เราจะเข้า
  1342. 1:08:48สู่ database ตัวถัดไปก็คือ Qance ตัวนี้
  1343. 1:08:50พัฒนาโดยประสาท Rus ก็เดี๋ยวเรามาลองดู
  1344. 1:08:52กันว่าไอ้งานแบบเดิมที่เราทำที่ตัว Chroma
  1345. 1:08:56SQ มาแล้วเนี่ยเมื่อมันอยู่บน QD จะมี
  1346. 1:08:58วิธีการเขียนโค้ดยังไงนะแตกต่างกันขนาด
  1347. 1:09:00ไหนก็เดี๋ยวเรามาลองดูนะเว็บไซต์ของ QD
  1348. 1:09:03ก็คือ cdance.tech Text นะฮะคุณสามารถมา
  1349. 1:09:06ดูข้อมูลได้ที่นี่นะมันจะมี droper ที่
  1350. 1:09:08เป็น document ตรงนี้ตรงจุดไหนที่คุณไม่
  1351. 1:09:11ได้เรียนจากคอร์สนี้ก็มานั่งศึกษาเพิ่ม
  1352. 1:09:13เติมได้จากตรงนี้กลับไปที่ VS Code ครับ
  1353. 1:09:16สร้างไฟล์เพิ่ม
  1354. 1:09:1905.py
  1355. 1:09:23py
  1356. 1:09:26ตัวแพ็คเกจที่เราจะใช้กันเนี่ยก็คือตัว
  1357. 1:09:28ที่ชื่อว่า
  1358. 1:09:30เข้าไปที่พายายนะ
  1359. 1:09:33ขีด clan
  1360. 1:09:36ตัวนี้
  1361. 1:09:40กลับไปที่ vs code ครับเราใช้คำสั่ง UV
  1362. 1:09:44cant
  1363. 1:09:51แล้วก็ไป import ครับ formance
  1364. 1:09:55client import ตัว cant
  1365. 1:10:00เข้ามาโจทย์ใช้โจทย์เดิมครับทุกคนไป copy
  1366. 1:10:04โจทย์ text ตัวนี้มา
  1367. 1:10:10เริ่มจากสร้าง client ขึ้นมาก่อนครับ
  1368. 1:10:12cudent cant
  1369. 1:10:20เริ่มต้นจาก mmory ก่อนนะ
  1370. 1:10:25ใช้คล้ายๆ SQL เลยต่อไปเราต้องมีโมเดล
  1371. 1:10:30โมเดลตรงนี้Supportพortอยู่กับ Huging
  1372. 1:10:33Face เพราะฉะนั้นคุณต้องไปเอาโมเดลที่
  1373. 1:10:34huging face ผมคิดว่าตัวที่ง่ายที่สุด
  1374. 1:10:37สำหรับพวกเราณตอนนี้ก็คือ
  1375. 1:10:41sentence transformer
  1376. 1:10:44ตัวนี้ copy มาวางเป็นโมเดลคือก่อนที่เรา
  1377. 1:10:49จะเอา text ตัวเนี้ยเข้าไปอยู่ใน QD
  1378. 1:10:52เพื่อให้มันได้เนี่ยคุณจะต้องทำการแปลง
  1379. 1:10:54มันนิดนึงครับก็คือแปลง text ตัวนี้ให้
  1380. 1:10:56เป็น document ก่อนมันมี class อยู่ class
  1381. 1:10:58นึงครับที่คุณต้องทำก็คือ form cdance
  1382. 1:11:01client do model แล้วให้คุณไป import
  1383. 1:11:04document เข้ามาแปลงจาก text ให้เป็น
  1384. 1:11:07document ตรงนี้ทั้งหมดเลยวิธีแปลงก็คือ
  1385. 1:11:09ผมจะสร้างเป็น document อย่างงี้
  1386. 1:11:13แล้วก็ใช้เป็น list โดยที่บน loop เหมือน
  1387. 1:11:15เดิมครับบน loop text inex
  1388. 1:11:18เสร็จแล้วสร้าง document
  1389. 1:11:21โดยที่ใน Document มี text ครับ text
  1390. 1:11:23เท่ากับ text เข้าไปแล้วก็ส่ง model เท่า
  1391. 1:11:26กับ model เข้าไปอย่างงี้ต่อไป collection
  1392. 1:11:30ผมขอสร้างเป็น collection name ขึ้นมา
  1393. 1:11:34ชื่อว่า My Collection
  1394. 1:11:38เสร็จแล้วไปสั่ง QDance client.c Create
  1395. 1:11:42collection ครับโดยที่จะต้องส่ง
  1396. 1:11:45collection name collection name ตัว
  1397. 1:11:47นี้เข้าไปและคุณจะต้องทำการไปตั้งค่า
  1398. 1:11:51vector config ครับคือตัวที่คุณจะต้อง
  1399. 1:11:53กำหนดว่าคุณจะต้องใช้ขนาดเท่าไหร่คุณจะ
  1400. 1:11:57ต้องใช้ cos หรือจะใช้ equient คือ vector
  1401. 1:12:01config เนี่ยมันคือ class ที่ชื่อว่ากด
  1402. 1:12:03เข้าไปดูตรงนี้นะปึ๊บนี่มันคือเวกเตอร์
  1403. 1:12:06พAMเพราะฉะนั้นผมจะไป import เพิ่มตรงนี้
  1404. 1:12:09comma เวอร์
  1405. 1:12:11พAM
  1406. 1:12:13อืเสร็จแล้วสั่งเวกเตอร์พAMสร้างขึ้นมา
  1407. 1:12:18โดยที่ข้างในจะมีอะไรบ้างมันจะมีไซส์นี่
  1408. 1:12:22ครับเมื่อกี้นี้ในตัว dbz เนี่ยมัน
  1409. 1:12:26อutโมติให้เราเลยนะแคุณแทบไม่ต้องไปใส่
  1410. 1:12:28ไซส์เองเลยแต่คราวนี้มันต้องให้คุณใส่
  1411. 1:12:30ไซส์อ่ะเมื่อกี้มัน 384 ใช่มั้ยแต่ Qance
  1412. 1:12:34Kant เนี่ยมันมีคำสั่งชื่อว่า Get
  1413. 1:12:37embeding size ด้วยมันสามารถรู้ไซส์ของ
  1414. 1:12:41โมเดลตัวนี้ได้
  1415. 1:12:43อีกอย่างนึงที่ต้องใส่ก็คือเรื่องของ
  1416. 1:12:45distance
  1417. 1:12:47คุณจะใช้วิธีการคำนวณ distance แบบไหน
  1418. 1:12:50ซึ่ง distance ตัวนี้คุณจะต้องใช้อีกคลาส
  1419. 1:12:54นึงครับ class ชื่อว่า distance เพราะ
  1420. 1:12:57ฉะนั้นทุกคนไป import นิดนึงนะด้านบนคอม
  1421. 1:13:00ตรงนี้เพิ่ม distance
  1422. 1:13:04จังหวะนี้คุณจะสามารถใส่ distance แล้ว
  1423. 1:13:08บอกได้ว่าจะเอาอะไร Equient ใช้อันนี้ cos
  1424. 1:13:13ใช้อันนี้ใช้ cos ก็ cos ไปโอเคผมสร้าง
  1425. 1:13:18คอชเรียบร้อยแล้วสังเกตมว่าตอนสร้างนั้น
  1426. 1:13:21เราไม่ต้องรับอะไรกลับมาเลย resp กับมัน
  1427. 1:13:23นะคือส่งสร้างเสร็จปุ๊บก็คือยิงไปที่
  1428. 1:13:25server มันก็ปิดอยู่ที่นั่นต่อไป client
  1429. 1:13:30upload collection
  1430. 1:13:32คือเรา data เนี้ยอัปโหลดขึ้น server ที่
  1431. 1:13:36เราทำเป็น document เนี่ยผม comment ตรง
  1432. 1:13:38document ก่อนนะผมไม่ได้ปิดแล้วนะปึ๊บนะ
  1433. 1:13:42อ่ะอัปโหลด collection กันซึ่งเราต้องบอก
  1434. 1:13:45ว่า collection name ก่อน collection
  1435. 1:13:48name เห็นมยว่าต่อไปคือ vector เวกเตอร์
  1436. 1:13:52ก็คือไอ้ document นี่แหละที่เราจะใช้
  1437. 1:13:56ID เหมือนเดิมครับคุณต้องส่ง ID ด้วยผม
  1438. 1:13:59ขอใช้ท่าเดิมแล้วกันก็คือใช้ UUID เนาะผม
  1439. 1:14:03ไป import UUID มันนิดนึงข้างบน import
  1440. 1:14:07UUID ID เพื่อ generate ID เพราะผมไม่
  1441. 1:14:10มี ID
  1442. 1:14:12อ่ะก็เป็น for
  1443. 1:14:16intext แล้วก็ใช้ str uuid.Uuidc UUIDC
  1444. 1:14:23โอเค
  1445. 1:14:24อ่ะต่อไปอยากลองดูมว่าอัปโหลดได้มจะทำให้
  1446. 1:14:29คุณดู UV Run 05 Tab
  1447. 1:14:34error Error ตรงนี้มันบอก Error อะไร
  1448. 1:14:37คุณมันบอกว่าเฮ้ยคุณไม่ได้ import ตัว
  1449. 1:14:40Fast MT มันเลยไม่ได้เพราะจังหวะที่มัน
  1450. 1:14:43อัปโหลดเนี่ยมันการ Mb ทุกคนกลับไปดูที่
  1451. 1:14:45แพ็คเกจของ Python Qance Client มันจะ
  1452. 1:14:48มีอยู่ตัวนึงครับมันชื่อว่านี่ Extra ตรง
  1453. 1:14:51นี้ fast embed
  1454. 1:14:53จังหวะที่คุณอัปโหลดตัวเนี้ยมันจะใช้ fast
  1455. 1:14:57นะในการไปให้คุณณตอนนั้นเลยมันไม่ได้ก่อน
  1456. 1:15:01เพราะฉะนั้นทุกคนครับติดตั้งเพิ่มครับก็
  1457. 1:15:05คือ UV add แตัวนี้ก็คือ Qance Client
  1458. 1:15:13แต่คุณต้องใส่ extra เข้าไปด้วยเพราะ
  1459. 1:15:16ฉะนั้น My Max เนี่ยมันใช้เครื่องหมายวง
  1460. 1:15:18เล็บเปิดแบบนี้ไม่ได้มันจะเออ error คุณ
  1461. 1:15:20ต้องใส่ double code ด้วยdoubleิ code
  1462. 1:15:24เข้าไปแล้วใส่วงเล็บอย่างี้แล้วใส่คำว่า
  1463. 1:15:28fast mbet ตัวนี้เข้าไป
  1464. 1:15:33นี่แบบนี้ครับทุกคนติดตั้ง Fast MBT
  1465. 1:15:37Enter
  1466. 1:15:39เมื่อคุณได้ติดตั้ง Fast MB แล้วก็จัด
  1467. 1:15:42การลองรัน Q อีกรอบนึงครับคราวนี้จะไม่
  1468. 1:15:47Error
  1469. 1:15:49เรียบร้อยผ่านแล้วแต่เหมือนเดิมครับครั้ง
  1470. 1:15:51แรกอาจจะนานหน่อยเพราะมันต้องดาวน์โหลด
  1471. 1:15:53โมเดลลงมามันจะอยู่ที่ CD data temp
  1472. 1:15:57dir อยู่ที่นี่ครับ Open จุดที่นี่มันจะ
  1473. 1:16:02อยู่ที่ Fast Embed Cash ตัวนี้นะนี่
  1474. 1:16:06ครับโมเดลของมันอยู่นี่นั่นหมายความว่า
  1475. 1:16:09ถ้าเกิดคุณเคลียร์ Temp เนี่ยตัวนี้ก็จะ
  1476. 1:16:11หายไปนะโอเคตอนนี้คุณอัปโหลด Mb เรียบ
  1477. 1:16:15ร้อยแล้วต่อไปเราจะไปทำการไปคyแล้วนะ
  1478. 1:16:19พิมพ์ response เท่ากับ cdance client.
  1479. 1:16:23Qury point เขาใช้เป็นคำว่า point นะ
  1480. 1:16:27โอเคใส่ collection name เข้าไปก็คือ
  1481. 1:16:30collection name
  1482. 1:16:32ส่ง qury เข้าไป quy เนี่ยถ้าคุณเข้าไปดู
  1483. 1:16:36เนี่ย quy คืออะไร quy ของอะไรก็ได้หลายๆ
  1484. 1:16:40อย่างตามนี้ 1 ในนั้นคือ document แต่ที่
  1485. 1:16:43แอบเห็นอีกอย่างก็คือนำพาย array เห็นมย
  1486. 1:16:46เดี๋ยวจะมาใช้นำ array กันนะแต่ตอนนี้เรา
  1487. 1:16:49ใช้ document ไปก่อนโอเค document ก็คือ
  1488. 1:16:53document
  1489. 1:16:54นะสร้างเดี๋ยวนี้เลย text ที่จะ greeting
  1490. 1:16:58เหมือนเดิม
  1491. 1:17:01แล้วก็ส่งโมเดลเข้าไป
  1492. 1:17:06โอเค
  1493. 1:17:08ต่อไปจะลิมิก็ได้นะปกติลิมิเนี่ยที่ qury
  1494. 1:17:12point เนี่ยเขาจะ default ไว้ที่เท่า
  1495. 1:17:14ไหร่ที่ 10 default ไว้ให้คุณจะใส่ลิมิต
  1496. 1:17:18สัก 3 ก็ได้ใส่ไปแบบนี้โอเคได้มาเรียบ
  1497. 1:17:23ร้อยะจังหวะนี้ก็ให้คุณ automatic เมื่อ
  1498. 1:17:27ได้ resp มาแล้วผมขอสั่งปก่อนเลยนะ resp
  1499. 1:17:30ปึ๊บเพื่อดูก่อนว่าผมได้อะไรกลับมาอ่ะลอง
  1500. 1:17:34รันดูครับปึ๊บสิ่งที่ได้กลับมาก็คือตาม
  1501. 1:17:39นี้เลยโอ้โหมีของมาเพียบเลยครับของที่ได้
  1502. 1:17:43คุณดูนะมีอะไรบ้างใน point นี้เป็น list
  1503. 1:17:46of point เห็นป่ะ list of point นะใน
  1504. 1:17:48นั้นมี ID มี payload อะไรก็ไม่รู้ไม่ได้
  1505. 1:17:52ส่งมาให้มีสกoreมาให้มีสกอร์มาให้มีสกอร์
  1506. 1:17:58มาให้แค่นี้เองแล้วเมื่อกี้ที่มันเหมือน
  1507. 1:18:02กับ DB อ่ะที่มันเก็บไว้ให้เราอ่ะที่มัน
  1508. 1:18:04เก็บ text ไว้ให้เราอ่ะจะเห็นว่าใน qan
  1509. 1:18:08ไม่ได้เก็บให้เราเห็นมไม่มีข้อความมันมี
  1510. 1:18:11แต่เวกเตอร์มีแต่สกoreเออเพราะฉะนั้นสิ่ง
  1511. 1:18:16ที่คุณได้ก็คือได้แค่สกoreแต่ว่าสิ่งที่
  1512. 1:18:18ผมแอบเห็นอยู่อย่างก็คือมันมีplayโหลด
  1513. 1:18:21ไอ้ Playload นี่แหละคือสิ่งที่คุณจะ
  1514. 1:18:22สามารถเก็บเพิ่มเติมได้มันเหมือนเป็น MA
  1515. 1:18:25Data เพราะฉะนั้นครับจังหวะที่คุณกำลัง
  1516. 1:18:27จะอัปโหลดไปนั้นเนี่ยผมขอเพิ่มอีก 1
  1517. 1:18:30อย่างคือเพิ่ม Playload Playload ตัวนี้
  1518. 1:18:33เหมือนเดิมครับก็ใส่ไปเลยครับ for text
  1519. 1:18:38in text แบบนี้
  1520. 1:18:41ผมก็ใส่เป็น Jon เข้าไปบอกว่า Text ก็คือ
  1521. 1:18:47Text นะเพราะว่าผมต้องการอะไรผมต้องการ
  1522. 1:18:51เอาข้อความที่เป็นภาษาปกติอ่ะเก็บเอาไว้
  1523. 1:18:55ด้วยไม่ได้ให้เก็บแค่เวกเตอร์อย่างเดียว
  1524. 1:18:58เมื่อคุณใส่ Play ไปเพิ่มจะเห็นว่าถ้า
  1525. 1:19:00เกิดคุณรันใหม่
  1526. 1:19:02จากนี้สิ่งที่กลับมานั้นจะมีPlayโหลดที่
  1527. 1:19:06เป็นข้อความเห็นม Good morning มาแล้ว
  1528. 1:19:10ทีนี้ผมก็อยากจะเห็นแบบง่ายๆว่าสั่ง one
  1529. 1:19:13loop for point in response dop
  1530. 1:19:17point
  1531. 1:19:19แล้วก็สั่งปริ้น
  1532. 1:19:23ใส่เป็น format บอกว่าเอา point
  1533. 1:19:27do payload ตัวที่ชื่อว่า text แล้วก็
  1534. 1:19:31สิ่งที่อยากรู้อีกอย่างก็คืออยากรู้
  1535. 1:19:33เรื่องของ point do score
  1536. 1:19:37เนี่ยฮะคือตัวคะแนนที่ความใกล้เคียงที่
  1537. 1:19:40ได้มาเป็น similarity
  1538. 1:19:43โอเคลองรันดูใหม่ครับ
  1539. 1:19:50อ้ามาแล้วครับ Good morning I love
  1540. 1:19:53you และ vector database สังเกตว่ามัน
  1541. 1:19:56มีค่าที่เป็น 0 - 1 มันจะไม่เกิน 1
  1542. 1:19:58เพราะมันอะไรครับเพราะว่าเราตั้งตรงนี้
  1543. 1:20:00เป็นcosนนั่นเองคุณลองเปลี่ยนตรงcosนเป็น
  1544. 1:20:03equent ก็ได้นะก็คือเป็นequนentก็ได้อีก
  1545. 1:20:07สกอร์นึงเนี่ยเห็นมจะเกิน 1 ปัญหาของเรา
  1546. 1:20:11ตอนนี้คืออะไรครับยังไม่ได้ถูกใจเลยนะยัง
  1547. 1:20:15เป็นมันแค่ 384 dimension นะปัญหามันไม่
  1548. 1:20:19ได้อยู่ที่ vector database ปัญหามัน
  1549. 1:20:21อยู่ที่ eding นะเพราะฉะนั้นเรามาเปลี่ยน
  1550. 1:20:24eding กันดีกว่าครับทุกคนสร้างไฟล์ใหม่
  1551. 1:20:26อีก 1 ตัวครับชื่อ 06_opena.py
  1552. 1:20:34PY
  1553. 1:20:36ไป copy 05 ครับ copy มาเลยมาไว้ที่ 06
  1554. 1:20:41เพื่อความรวดเร็วแต่ครั้งนี้เราจะเปลี่ยน
  1555. 1:20:45ครับจากที่เราใช้ Fast MBT เราใช้โมเดล
  1556. 1:20:48ของ Hing Face มาเป็นของ Open AI ละ
  1557. 1:20:53หรือOlamะโอเคมา import เพิ่มครับ Form
  1558. 1:20:58Open AI import open AI
  1559. 1:21:02import.v ENV มาเป็นชุดเลยครับ import
  1560. 1:21:06OS
  1561. 1:21:08แล้วก็ import number
  1562. 1:21:12เพราะเราไม่ใช่ MS ของเขาเราต้อง MS เอง
  1563. 1:21:15ข้างใต้ Qant
  1564. 1:21:17เราสร้าง AI Cant ขึ้นมา
  1565. 1:21:21เป็น Open AI เหมือนเดิม
  1566. 1:21:25มี base URL เป็น OS. Enveronะ
  1567. 1:21:32NP point
  1568. 1:21:35มี API key เป็น
  1569. 1:21:39โอเค
  1570. 1:21:41จากเดิมที่เราใช้โมเดลกับ document ตัว
  1571. 1:21:44นี้เราไม่ใช้ละ comment ไปแต่เราต้องไป
  1572. 1:21:49เพิ่มโมเดลตัวแปรเพิ่มอีก 1 ตัวด้วยเพราะ
  1573. 1:21:52เลยต้องใช้ตัวนี้ซ้ำโมเดลตรงนี้ไปcopี้มา
  1574. 1:21:55เราใช้เป็นตัวเดิม noric
  1575. 1:22:01มาเรามาเองก่อนคือตอนนี้เราไม่ได้ใช้ fast
  1576. 1:22:04แล้วนะ response เท่ากับ AI.
  1577. 1:22:09embedding. create input คือ text
  1578. 1:22:13เหมือนเดิมเลยเหมือนที่เราทำใน SQ L เลย
  1579. 1:22:15เห็นม model ก็คือ model
  1580. 1:22:20eding
  1581. 1:22:23เราทำเป็น list ให้พร้อมเลยเพราะว่าใน
  1582. 1:22:27response เนี่ยมี for data in
  1583. 1:22:29response data มันเป็น list อยู่แล้ว
  1584. 1:22:33เพราะนั้นทำเป็น list แปลงจากตัวเนี้ยให้
  1585. 1:22:35กลายเป็น number array ซะnumาย array
  1586. 1:22:41แปลงตัว data
  1587. 1:22:44embeding
  1588. 1:22:46อันนี้ไปดูได้จากตรงหัวข้อ SQL embedding
  1589. 1:22:49แต่สิ่งที่แตกต่างก็คือว่า Qance support
  1590. 1:22:5364 ครับไม่ต้องไป buy ด้วยเพราะว่าคุณ
  1591. 1:22:55ไม่ได้เก็บลง SQ เดี๋มันจัดการให้คุณเอง
  1592. 1:22:59เาต้องการแค่นำภาย array ที่เป็น list
  1593. 1:23:02เท่านั้นเองต่อไปตอนสร้าง collection
  1594. 1:23:07ปัญหาของเราก็คือว่าไอ้ตัว Cant ตัวเมัน
  1595. 1:23:09supporting face มันสามารถรู้ได้ว่า
  1596. 1:23:11โมเดลตัวนั้นใช้กี่
  1597. 1:23:14แต่ว่าของเราไม่รู้ไงนั่นหมายความว่าคุณ
  1598. 1:23:17อาจจะต้องใส่เองครับ 7 6 8 ผมทำงี้ได้
  1599. 1:23:20มยคือเนื่องมาจากว่าเราไปเรียบร้อยแล้ว
  1600. 1:23:23นั่นหมายความว่าตัวingเนี่ยมันต้องรู้
  1601. 1:23:25ขนาดสิผมลองขอคอมเมนต์ไว้ก่อนนะ
  1602. 1:23:31ผมจะลองไป
  1603. 1:23:34ปริ้น length ของ wedding
  1604. 1:23:37ตัวที่ 0 มาดูก่อนดูซิว่ามันกี่ diension
  1605. 1:23:41UV Run 06
  1606. 1:23:45อุ๊สโอะอ้อลืมโหลดครับโทษทีทุกคนไป.load
  1607. 1:23:52โหลด ENV ด้วยโอเคขอลองอีกรอบนึงรัน
  1608. 1:23:58768
  1609. 1:24:00768 แสดงว่าอันนี้คือdiensชionจริงนั่น
  1610. 1:24:03หมายความว่าผมสามารถเอาอันเนี้ยไป
  1611. 1:24:07เป็น
  1612. 1:24:09ไซส์เลยได้มยก็คือขอตรงนี้
  1613. 1:24:15เอากลับมาตรงนี้ที่เป็นไซส์เนี่ยขอเป็น
  1614. 1:24:19length embeding 0 เลยได้มั้ย
  1615. 1:24:22จะได้ว่านั่งใส่เป็นค่า constant นะเรา
  1616. 1:24:25เปลี่ยนโมเดลเมื่อไหร่ก็ได้เลงอันนั้นมา
  1617. 1:24:27ทันทีต่อไปเมื่อคุณ
  1618. 1:24:32ทำเป็น beding ตรงนี้แล้วจะเห็นว่าตรงนี้
  1619. 1:24:35จะ error เพราะ document เรามันไม่มีะแต่
  1620. 1:24:37คุณอย่าลืมว่าตอนอัปโหลด correction
  1621. 1:24:39เนี่ยเวกเตอร์เนี่ยมันเป็นนำพาย array
  1622. 1:24:41งั้นแสดงว่าผมก็แค่ส่ง eding ไปเลยได้มย
  1623. 1:24:46เพราะว่าผมใน beding เนี่ยผมเป็นนำ array
  1624. 1:24:49อยู่แล้วหรือจุดจุดเดียวตอน qy
  1625. 1:24:53quy เป็น document อยู่นะ qy เปลี่ยน
  1626. 1:24:55ครับก็หาโอเคมา qy response
  1627. 1:25:02aicent.
  1628. 1:25:03embedding. Create input คือ creating
  1629. 1:25:11model เท่ากับ model โอเค
  1630. 1:25:15quyeding
  1631. 1:25:20เท่ากับ npire. array
  1632. 1:25:24Qury response
  1633. 1:25:26data ตัวที่ 0
  1634. 1:25:30eding แปลงเป็นนำพาย array ซะเพราะเรา
  1635. 1:25:33รู้ว่า qy ตรงนี้supพort n array ใช่ม
  1636. 1:25:37number array โอเคเพราะฉะนั้นทุกคนครับ
  1637. 1:25:40เปลี่ยน document ตรงนี้เป็น qury
  1638. 1:25:43embedding เรียบร้อยโอเคลอง run อีกรอบ
  1639. 1:25:49นึงครับ
  1640. 1:25:51ได้แล้วครับตอนนี้คุณใช้เป็น Open AI
  1641. 1:25:55Library โดยการใช้ ORAM เรียบร้อยแต่ถ้า
  1642. 1:26:00เกิดว่าคุณอยากใช้ตัว Open AI ก็ไม่ยาก
  1643. 1:26:02นะก็ทำคล้ายๆเดิมเลยก็แค่ไปใส่
  1644. 1:26:05Configuration เพิ่มตรงนี้ BAS UL API
  1645. 1:26:08Key เท่านั้นเองถ้าคุณอยากใช้ที่เป็นรูป
  1646. 1:26:13แบบไฟล์บ้างตอนนี้มันอยู่ใน memmory เน
  1647. 1:26:15comment ออกไปใช้ cdance
  1648. 1:26:19clan เท่ากับ Cance client ตัวนี้ครับ
  1649. 1:26:24แล้วบอกว่าฉันจะเอาผdance
  1650. 1:26:30แบบนี้เป็นต้นเสร็จแล้วเพียงแค่นี้ครับ
  1651. 1:26:34เดี๋ยวจะมีโoldด qdance อยู่ตรงนี้นะผมขอ
  1652. 1:26:36ลบคAไปก่อน
  1653. 1:26:40ถ้าเกิดคุณรัน
  1654. 1:26:4206
  1655. 1:26:44นี่ครับจะมีโderขึ้นมาซึ่งมันได้ใช้ SQL
  1656. 1:26:48เก็บเหมือนกันเห็นนะ
  1657. 1:26:51แบบนี้เป็น point และถ้าเกิดว่าคุณ
  1658. 1:26:54ต้องการจะ run เป็น server ล่ะผมจะต้องไป
  1659. 1:26:58ใช้เป็น docker compost ครับที่doอกer
  1660. 1:27:01ถ้าเกิดคุณเข้าไปที่ ub
  1661. 1:27:05seสิรชหา
  1662. 1:27:09ตัวนี้ครับ qdance/qdance
  1663. 1:27:12ก็ไปpูมา
  1664. 1:27:16เขียน compose กันก็คือ
  1665. 1:27:22image ชื่อว่า/dance
  1666. 1:27:27พortที่ใช้เนี่ยโดย default มันคือพort
  1667. 1:27:30633 ครับ 633
  1668. 1:27:35ส่วนvolุeที่ใช้ถ้าจะแมapออกมาเนี่ยผมขอ
  1669. 1:27:38ลบคตรงนี้ออกไปก่อนนะ
  1670. 1:27:43ก็คือ/qdance
  1671. 1:27:46map ไปที่/cD/storage
  1672. 1:27:53มาลอง start server c กันดูก่อนนะก็คือ
  1673. 1:27:57ใช้คำสั่ง
  1674. 1:28:00compose ผมอัพเฉพาะนะ
  1675. 1:28:05ปึ๊บอ่า start เรียบร้อยผมเปิดอีก
  1676. 1:28:07terminal นึงครับแล้วก็ที่นี่ครับ
  1677. 1:28:11เปลี่ยนใหม่จาก cdance kant นะผมเปลี่ยน
  1678. 1:28:16เป็น
  1679. 1:28:18qance
  1680. 1:28:21client เท่ากับ qdance client ตัวเดิม
  1681. 1:28:24นะแต่แค่เปลี่ยนตรงนี้เป็น host host
  1682. 1:28:28เป็น local host แล้วก็พortเป็น
  1683. 1:28:34633
  1684. 1:28:36เท่านั้นเองโอเคคราวนี้ผมจะยิงเป็น server
  1685. 1:28:39แทนแล้วนะลองดู
  1686. 1:28:42UV run
  1687. 1:28:456 ปึ๊บ
  1688. 1:28:47โอเคเรียบร้อยใช้ได้เหมือนกันแต่คราวนี้
  1689. 1:28:50เป็น server ละเท่ากับว่าคุณมี server
  1690. 1:28:54vector database ใช้งานได้แล้วโอเคก็
  1691. 1:28:56อันนี้เป็นเรื่องของ vector database
  1692. 1:28:59ระดับ fundamental นะก็คุณสามารถที่จะ
  1693. 1:29:01เรียนรู้เบื้องต้นเพื่อไปศึกษาต่อเนื่อง
  1694. 1:29:03ได้คุณต้องมีเรื่องศึกษาต้องเยอะแยะหลายๆ
  1695. 1:29:06อย่างนะเดี๋ยวคุณต้องเอาไปใช้งานในโปรเจค
  1696. 1:29:08จริงเข้าไปเอา data จริงๆมาลงถ่ายข้อมูล
  1697. 1:29:12ยังไงแล้วก็เอาไปใช้งานได้อย่างอะไรก็ลอง
  1698. 1:29:15ดูนะครับมีเวกเตอร์ database อีกหลายเจ้า
  1699. 1:29:18ให้คุณได้ลองก็ดูข้อดีข้อเสียกันแล้วกัน
  1700. 1:29:21สำหรับคอร์สนี้เอ่อเวกเตอร์ database
  1701. 1:29:23ระดับ fundamental ก็ขอจบแต่เพียงเท่านี้
  1702. 1:29:25ครับสวัสดีครับ

About this transcript

This page contains the full transcript of Vector Database Fundamentals by Sphere, generated from the public captions YouTube serves with the video. The transcript has 4,928 words across 1,702 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.