µn¤J
¡U
µù¥U
¡U
·|û¤¤¤ß
¡U
µ²±b
¡U
°ö°V½Òµ{
Å]ªk§Ì¤l
¡U
¦Û¸ê¥Xª©
¡U
¹q¤l®Ñ
¡U
«ÈªA¤¤¤ß
¡U
´¼¼z«¬¥ßÊ^·|û
®Ñ¦W
¥Xª©ªÀ
§@ªÌ
isbn
½s¸¹
5050Å]ªk²³Äw
|
NG®Ñ«°
|
°ê»Ú¯Å«~µP½Òµ{
|
Àu´f³qª¾
|
ÅRÆE^¶¯µ¼Öºë¿ï
|
Appµ{¦¡³]p¤Jªù¡GiPhone¡BiPad(ªþ¥úºÐ)
¡D
Codex Vibe
¡D
Gemini §ë¸ê²z
¡D
Claude Cod
¤å¾Ç¤p»¡
¤å¾Ç
¡U
¤p»¡
°ÓºÞ³Ð§ë
°]¸g§ë¸ê
¡U
¦æ¾P¥øºÞ
¤H¤åÃÀ§{
©v±Ð¡Bõ¾Ç
ªÀ·|¡B¤H¤å¡B¥v¦a
ÃÀ³N¡B¬ü¾Ç
¡U
¹q¼vÀ¸¼@
Ày§Ó¾i¥Í
ÂåÀø¡B«O°·
®Æ²z¡B¥Í¬¡¦Ê¬ì
±Ð¨|¡B¤ß²z¡BÀy§Ó
¶i׾Dzß
¹q¸£»Pºô¸ô
¡U
»y¨¥¤u¨ã
Âø»x¡B´Á¥Z
¡U
x¬F¡Bªk«ß
°Ñ¦Ò¡B¦Ò¸Õ¡B±Ð¬ì¥Î®Ñ
¬ì¾Ç¤uµ{
¬ì¾Ç¡B¦ÛµM
¡U
¤u·~¡B¤uµ{
®a®x¿Ë¤l
®a®x¡B¿Ë¤l¡B¤H»Ú
«C¤Ö¦~¡Bµ£®Ñ
ª±¼Ö¤Ñ¦a
®È¹C¡B¦a¹Ï
¡U
¥ð¶¢®T¼Ö
º©µe¡B´¡¹Ï
¡U
¨î¯Å
LangChain¶}µo¤â¥U--OpenAI ¡Ñ LCEL ªí¹F¦¡ ¡Ñ Agent ¦Û°Ê¤Æ¬yµ{ ¡Ñ RAG ÂX®i¼Ò«¬ª¾ÃÑ ¡Ñ ¹Ï§Î¸ê®Æ®w ¡Ñ LangSmith °£¿ù¤u¨ã
§@ªÌ¡G
施威»Ê研究室
¤ÀÃþ¡G
¹q¸£»Pºô¸ô
¡þ
µ{¦¡»y¨¥
¥Xª©ªÀ¡G
ºX¼Ð
¥Xª©¤é´Á¡G2024/5/22
ISBN¡G9789863127918
®ÑÄy½s¸¹¡Gkk0586686
¶¼Æ¡G336
©w»ù¡G
680
¤¸
Àu´f»ù¡G
95
§é
646
¤¸
®Ñ»ùY¦³²§°Ê¡A¥H¥Xª©ªÀ¹ê»Ú©w»ù¬°·Ç
¼È°±³c°â
¼ÈµL¨ÑÀ³°Ó¡G´M§ä¨Ñ³f°Ó¤¤(¤]¦³¥i¯à¥Xª©ªÀ¤wµ²§ô)¡C
¹ÎÁʼƳ̧C¬° 20 ¥»¥H¤W
µû»ù¼Æ¡G
(½Ð±N·Æ¹«²¾¦Ü¬P¬P³B¶i¦æµû»ù)
¥Ø«e¥§¡µû»ù¡G
¤å¦r³sµ²
½Æ»s»yªk
LangChain¶}µo¤â¥U--OpenAI ¡Ñ LCEL ªí¹F¦¡ ¡Ñ Agent ¦Û°Ê¤Æ¬yµ{ ¡Ñ RAG ÂX®i¼Ò«¬ª¾ÃÑ ¡Ñ ¹Ï§Î¸ê®Æ®w ¡Ñ LangSmith °£¿ù¤u¨ã
¹Ï¤ù³sµ²
½Æ»s»yªk
¤À
¨É
¤º®e²¤¶
®ÑÄy¥Ø¿ý
¦PÃþ±ÀÂË
LangChain¶}發手冊--OpenAI × LCEL ªí¹F式 × Agent ¦Û動化流程 × RAG 擴展模型知ÃÑ × 圖形¸ê料庫 × LangSmith °£¿ù工具 商品簡介 整合大型»y¨¥模型¯à力¶}發應用程式已成為一ªÑ不可ªý擋的ÁÍ勢, 利用 LangChain 框架可以快³t¶}發Åý使用ªÌ³z¹L¦Û然»y¨¥就¯à¦Û動化³B理任務的應用程式, 大大提°ª工作效率¡CLangChain ¸Ñ決了¶}發¹L程中»P»y¨¥模型溝³q必¶·撰寫大¶q½ÆÂø程式碼的問ÃD, ³z¹L模板機制可以ÀH時將ÃB外的¸ê°T填¸É到提示中, 利用工具機制可以Åý模型使用我們所撰寫的外³¡函式, 更提供有³\多現成的工具節省¶}發ªÌ«新發明½ü子的時¶¡, ÁÙ可³z¹L Agent 機制整合上z功¯à, Åý你的程式ÅÜ成¦Û主決策¡B¦Û動¹B作的代理機器人¡CLangChain ÁÙ提供有 RAG 機制»P串接圖形¸ê料庫的功¯à, Åý你可以擴展模型知ÃÑ, ¸Ñ放制¡C |善用模板化機制彈性增¡B修提示內容, Åý模型生成正確結果| 客»s具有彈性的提示模板, 根據不同情境替換³¡分提示內容, Åý模型依據提示模板回ÂÐ結果¡C本書會介紹 LangChain 的提示模板機制彈性替換³¡分提示內容的方式, 也會展示在模板中嵌入函式替換即時時¶¡, Åý模型知¹D現在的時空I景¡C |深入¿é出內容¸Ñ析器 | ¿é出內容¸Ñ析器可以Åý模型以指定格式的¸ê料結構傳回結果, 不½×是 JSON¡BDict¡BCSV¡BList 等³£¯àn求模型將結果以指定格式傳回, 方便程式¶i¦æ後續的³B理¡C |LCEL ªí¹F式全¸Ñ析| LCEL ªí¹F式是 LangChain 獨有的»y法, 可以使用ªí¹F式串接個別元件加³t¶}發, 本書將會帶大家了¸Ñ LCEL 的概念»P用法, 比¸û不使用 LCEL »P使用 LCEL 的差別, 以及各種 LCEL 便利的功¯à¡C |使用工具幫模型加上外掛| ³z¹L工具機制串接外³¡函式幫»y¨¥模型增加功¯à, 如¡G網¸ô搜尋¡B天氣¸ê料查¸ß等等, 同時善用 LangChain 內建提供的多種工具, 例如:DuckDuckGO Search¡BYouTube 等等節省¶}發時¶¡¡C |深入理¸Ñ Agent 機制¶}發代理程式| 代理是可以¦Û主決策執¦æ流程的元件, ÁÙ可以整合對¸Ü紀¿ý¡B網¸ô搜尋¡B向¶q¸ê料庫¡B程式函式¡B文字生圖等等功¯à, 成為實作 AI 的基石¡C本書會帶大家深度了¸Ñ代理的¹B作原理以及使用方式¡C |利用 RAG 擷取各種格式檔案內容擴展»y¨¥模型知ÃÑ| 使用 LangChain 的好³B之一, 就是可以使用它內建的多種檔案格式Ū取工具, 以及不同的檔案內容切割器, 再整合多種向¶q¸ê料庫, Åý你可以從各種格式的檔案Ū取內容, 提供給模型參¦Ò, 擴展模型的知ÃÑ, 突破模型本¨°V練¸ê料的制, 生成正確的內容¡C本書將會帶大家¸Ñ析 RAG 的個別³B理方式, 以及它使用的向¶q檢索概念¡C |圖形¸ê料庫| LangChain 可以搭°t圖形¸ê料庫將¹L往以¸ê料為中心的概念Âà換成¸ê料»PÃöÁp並«的方式, Åý»y¨¥模型可以ÂÇ由對¸ê料¶¡Ãö係的理¸Ñ, 正確生成以¸ê料¶¡Ãö係為依據的內容, 不再»Ýn我們¦Û己找出¸ê料之¶¡的Ãö係¡C |實作¹q影知ÃÑ專家機器人| 使用圖形¸ê料庫儲存¹q影¸ê°T, Åý模型回答¸ò¹q影相Ãö的問ÃD, 像是找出你愛的王淨演¹L哪些¹q影¡B又或ªÌ有哪些既¯à演又¯à導的天才¡C |實作¿ì公室檔案問答機器人| 利用 RAG 技³N»P LangChain 內建 RAG 工具, Åý»y¨¥模型¦Û動¸Ñ析並回答有Ãö PPT¡BEXCEL¡BWORD¡BPDF 和 CSV 文件的查¸ß¡A提升工作效率»P¦Û動化程度¡C |實作YouTube 懶人包機器人| 利用 LangChain 內建工具查¸ß YouTube 影片, 並使用 OpenAI Whisper ¸Ñ析影片內容¡A再³z¹L RAG 技³N快³t找出影片內容來回答問ÃD¡A節省Æ[看時¶¡¡C 本書特¦â: \\大型»y¨¥模型應用¶}發ªÌ的x火庫// ‣ 用 LangChain 整合不同»y¨¥模型, 單一框架不用修改程式碼就可以吃¹M各家»y¨¥模型¡C ‣ 善用模板化機制彈性增¡B修提示內容, Åý模型生成正確結果¡C ‣ 熟悉¿é出內容¸Ñ析器, 強制模型依照指定格式生成內容, Âà換成便利程式碼³B理的¸ê料結構¡C ‣ 利用 LCEL ªí¹F式串接模板¡B»y¨¥模型¡B¿é出內容¸Ñ析器, 快³t建立對¸Ü流程¡C ‣ 學會使用工具機制串接外³¡函式幫»y¨¥模型增加功¯à, 同時善用多種 LangChain 內建的工具, 省去撰寫各種外³¡函式的時¶¡¡C ‣ 深入理¸Ñ Agent 機制¶}發代理程式, Åý»y¨¥模型¦Û己決策¿ï用¾A當工具¦Û動執¦æ完成任務, 不»Ýn撰寫»P»y¨¥模型溝³q的½ÆÂø程式碼¡C ‣ ³z¹L內建的對¸Ü紀¿ý功¯à元件, 快³t建立具有°O憶¡B¯à夠理¸Ñ前後»y意¯ß絡的對¸Ü機器人¡C ‣ 啟用串流功¯àÅý»y¨¥模型Ãä生成Ãä回ÂÐ, Åý使用ªÌ不必痴痴等¡C ‣ 串接 OpenAI ²á天¡B生圖¡B»yµ生成文字模型, 甚¦Ü幾乎不必修改程式碼無縫替換串接 Google gemini pro 模型¡C ‣ 利用 RAG 擷取各種格式檔案內容擴展»y¨¥模型知ÃÑ, 客»s專屬的問答程式¡C ‣ 導入圖形¸ê料庫³B理ÃöÁp¸ê料, Åý»y¨¥模型像是抓粽子一樣幫你快³t串°_相Ãö¸ê料¡C ‣ 善用 LangSmith 工具, °lÂÜ程式流程»P傳¿é¸ê料, 再½ÆÂø的程式也一目了然¡C ‣ 實作¿ì公室檔案問答機器人, 工作上會出現的 PPT¡BEXCEL¡BWORD¡BPDF¡BCSV 檔, ³q³q丟¶i去Åý»y¨¥模型幫你Ū, 有效提升工作效率¡C ‣ 實作YouTube 懶人包機器人, 不必完整Æ[看影片也¯à問出內容¡C ‣ 實作¹q影知ÃÑ專家機器人, 想知¹D最喜愛的演員演¹L哪些¹q影一問就知¹D¡C
¥Ø¿ý ²Ä 1 ³¹ »y¨¥¼Ò«¬¶}µo®Ø¬[ - LangChain 1-1 ¬°¬Æ»ò¿ï¾Ü LangChain¡H • LangChain ²¤¶ 1-2 LangChain ²Õ¦¨¤¸¥ó 1-3 µù¥U OpenAI API ±b¤á • ¦¨¬°¥I¶O·|û • Àˬd¥Ø«e¥Î¶q»P¨î¨Ï¥ÎÃB«× ²Ä 2 ³¹ ¨Ï¥Î©x¤è LangChain ®M¥ó 2-1 ¦w¸Ë»P¨Ï¥Î langchain ®M¥ó • «Ø¥ß»P¨Ï¥Î OpenAI ª«¥ó • ¶Ç°e¦hµ§°T®§ • ¦ê¬y¼Ò¦¡ • §Ö¨ú»Pp¶O¥\¯à • ³]©w»PÁôÂê÷Æ_ªº¤èªk 2-2 »P»y¨¥¼Ò«¬·¾³qªºÃÀ³N ¡V • ´£¥Ü¼ÒªO (PromptTemplate) • ¦r¦ê´£¥Ü¼ÒªO - PromptTemplate • ¹ï¸Ü´£¥Ü¼ÒªO - ChatPromptTemplate • ¨¤¦âª«¥ó 2-3 ´£¥Ü¼ÒªOªº¶i¶¥ÅÜ¤Æ • ©T©w´£¥Ü¼ÒªOªº³¡¤À°Ñ¼Æ • ¥H¨ç¦¡¦Û°Ê¥[¤J³Ì·s¤º®e • ´£¥Ü¼ÒªO¤¤ªº¦û¦ì°T®§ 2-4 »{ÃÑ¿é¥X¤º®e¸ÑªR¾¹ (Output Parsers) • ¿é¥X¤å¦r®æ¦¡ªº¦^ÂФº®e • ¿é¥X JSON ®æ¦¡ªº¤º®e • ¦ê±µ¿é¥X¤º®e¸ÑªR¾¹ • ¿é¥X CSV ®æ¦¡ªº¤º®e • ¦Ûq¿é¥X®æ¦¡ • µ²ºc¤Æ¿é¥X®æ¦¡ ²Ä 3 ³¹ ¨Ï¥Î¬yµ{Ãì (Chain) ¦ê±µª«¥ó 3-1 »{ÃÑLCEL¡]LangChain Expression Language¡^ • ²Ó³¡¤À¸Ñ LCEL • ¨Ï¥Î RunnableSequence ²¤Æ¦h¼h¨ç¦¡ªº©I¥s • ¨Ï¥Î RunnableParallel °õ¦æ¦hÓ¬yµ{¦X¨Öµ²ªG 3-2 LCEL ¹ê¥Î¥\¯à • ¨Ï¥Î RunnablePassthrough ²¤Æ°Ñ¼Æ • ¨Ï¥Î RunnableBinding ¨Ï¥Î¼Ò«¬¤èªk©M¥N¤J¤u¨ã • ¤À¤ä»P¦X¨Ö 3-3 LCEL ¶i¶¥¥\¯à • ¦b¬yµ{Ã줤¨Ï¥Î¨ç¦¡ • ¨Ì·Ó¿é¤J¤ÀÃþ°õ¦æ¤£¦Pªº¥ô°È • ¤Á´«¼Ò«¬©Î´£¥Ü ²Ä 4 ³¹ °O¾Ð¹ï¸Üªºª«¥ó--memory 4-1 ¦ê±µ°O¾Ð¥\¯àª«¥ó • ±N°O¿ýªº°T®§¥[¤J¨ì¬yµ{Ã줤 • ±N°T®§°O¿ý¦b SQLite ¸ê®Æ®w¤¤ • ±N°T®§Àx¦s¦bÀÉ®×¸Ì 4-2 °O¿ý¤@°Ý¤@µªªº¹ï¸Ü • ¨Ï¥Î¹ï¸Ü°O¾Ðª«¥ó°O¿ý¹ï¸Ü • «Ø¥ß¹ï¸Ü¬yµ{Ãì • ¥i¨î°O¿ý¹ï¸Ü¦¸¼Æªº°O¾Ðª«¥ó • ¶W¹L token ¼Æ¶q¨î·|¦Û°ÊºKn¤º®eªº°O¾Ðª«¥ó 4-3 «Ø¥ß²á¤Ñ¾÷¾¹¤H • ¦ê¬y¼Ò¦¡ ²Ä 5 ³¹ ¤u¨ã»P¥N²z 5-1 ´£¨Ñ·j´M¥\¯àªº¨ç¦¡ • ¨Ï¥Î LangChain ¥]¸Ëªº API Ãþ§O • ±N¨ç¦¡¥]¸Ë¦¨ runnable ª«¥ó¡X¤u¨ã (tool) 5-2 Åý¼Ò«¬¦Û¤v¿ï¾Ü¤u¨ã • ´£¨Ñ¤u¨ãµ¹¼Ò«¬ª«¥ó 5-3 ¨Ï¥Î¦Ûq¨ç¦¡·í¤u¨ã • ¦hºØ¤u¨ã¤§¶¡ªº¿ï¾Ü 5-4 ¦Û¥D¨Mµ¦¬yµ{ªº¥N²z • §Ö³t«Ø¥ß¥N²z • ³]©w¤u¨ã¿ù»~°T®§ • ¤¤¶¡¨BÆJ ²Ä 6 ³¹ «Ø¥ß¦Û¤vªº¥N²z 6-1 ¤å¦r²á¤Ñ»P¥Í¹Ï¥N²z • ¨Ï¥Î Dall-e-3 ¼Ò«¬«Ø¥ß¥Í¹Ï¤u¨ã • ¦ê±µ¦¨¥N²z • ¥[¤J°O¾Ðª«¥ó • ¥u°O¿ý©T©w¦¸¼Æ¹ï¸Ü 6-2 «È»s¤¤¶¡¨BÆJ • «È»s¤Æ¦^À³ ²Ä 7 ³¹ ¥Î RAG Åý¼Ò«¬ÂX®iÃB¥~ª¾ÃÑ 7-1 ¤°»ò¬O RAG • RAG ²Ä¤@¨B¡G¸ü¤J¸ê®Æ • RAG ²Ä¤G¨B¡G¸ê®Æ¤À³Î 7-2 Embedding ¦V¶q¤Æ • RAG ²Ä¤T¨B¡G¤å¦rÂà¦V¶q • RAG ²Ä¥|¨B¡GÀx¦s¨ì¦V¶q¸ê®Æ®w Chroma 7-3 À˯Á¹ï¸Ü¬yµ{Ãì • ¦P®É¶Ç¦^¥Í¦¨µ²ªG»PÃöÁp¸ê®Æ • RAG ¶°¤j¦¨¡G«Ø¥ßÀ˯Á¹ï¸Ü¥N²z 7-4 Á`µ²¤å¥ó¤º®eªº¬yµ{Ãì • ¤£¦PªºÁ`µ²¤è¦¡ 7-5 ¨ä¥Lªº¤å¥ó¤À³Î¾¹ • JSON ®æ¦¡ • Markdown ®æ¦¡ • HTML ®æ¦¡ • ¤£¦Pµ{¦¡½X®æ¦¡ ²Ä 8 ³¹ RAG »P¹Ï§Î¸ê®Æ®w 8-1 ¤°»ò¬O¹Ï§Î¸ê®Æ®w¡H • µù¥U¹Ï§Î¸ê®Æ®w Neo4j • ³s±µ¸ê®Æ®w¤Î¶×¤J¸ê®Æ • «Ø¥ß°Ýµª¬yµ{Ãì 8-2 »P¦V¶q¸ê®Æ®wµ²¦X • ¦X¨Ö¨âÓ¸ê®Æ®w ²Ä 9 ³¹ ¹ê¾Ôºt½m 9-1 YouTube ¼v¤ùÃi¤H¥]°Ýµª¾÷¾¹¤H • °õ¦æ¬yµ{ • ¨Ï¥Î RAG ³B²z¸ê®Æ • «Ø¥ß¯à«ùÄò¹ï¸Üªºµ{¦¡ 9-2 ¿ì¤½«Ç±`¨£Àɮװݵª¾÷¾¹¤H • PowerPoint • Word • Excel • CSV ²Ä 10 ³¹ LangSmith - °lÂܵ{¦¡ªº¸ê®Æ¶Ç»¼¹Lµ{ 10-1 ¦p¦ó¨Ï¥Î LangSmith¡H 10-2 ¬yµ{Ã쪺¸ê®Æ¶Ç»¼¹Lµ{ 10-3 ¥N²zªº¸ê®Æ¶Ç»¼¹Lµ{ 10-4 RAG ªº¸ê®Æ¶Ç»¼¹Lµ{
LINE Bot S
µL·åªºµ{¦¡½X ²Ä¤Gª©
Codex Vibe
¿Ë¤â¶}µo±ÀÂ˨t²Î ¡Ð
ºtºâªk ¹Ï¸Ñì²z x
½d¨ÒÅX°Êªº»Ý¨D¼á²M³N
Unity ¡Ñ ³]p
Binary Hac
Python¹s°ò¦¤J
¨t²Î³]p±¸Õ¨î³ÓÃöÁä
¬°¤F«O»Ù±zªºÅv¯q¡A·sµ·¸ôºô¸ô®Ñ©±©ÒÁʶRªº°Ó«~§¡¨É¦³¨ì³f¤C¤ÑªºÅ²½à´Á¡]§t¨Ò°²¤é¡^¡C°h¦^¤§°Ó«~¥²¶·©óŲ½à´Á¤º±H¦^¡]¥H¶lÂW©Î¦¬°õÁp¬°¾Ì¡^¡A¥B°Ó«~¥²¶·¬O¥þ·sª¬ºA»P§¹¾ã¥]¸Ë(°Ó«~¡Bªþ¥ó¡B¤º¥~¥]¸Ë¡BÀH³f¤å¥ó¡BÃØ«~µ¥)¡A§_«h®¤¤£±µ¨ü°h³f¡C