[學習心得][Golang] 透過 Cobra 與 go-gpt3 來寫一個 console ChatGPT

ChatGPT 是一個聊天對話的語言模型,它是由 OpenAI 開發的,被訓練來回答用戶的輸入。它是基於 GPT-3 架構設計的,具有高度的自然語言理解能力,能夠通過文本形式的對話來與用戶交流。通過使用 ChatGPT,用戶可以和訓練過的語言模型進行自然的對話,並得到相應的回答。 最近最紅的網站大概就是: https://chat.openai.com/chat Github https://github.com/kkdai/chatgpt 參考文章: https://chat.openai.com/chat 我嘗試將 GPT-3 整合到 LINE 聊天機器人中 https://beta.openai.com/docs/api-reference/completions/create https://github.com/isdaviddong/chatGPTLineBot 讓 AI 來代勞 以下文章讓 ChatGPT 來寫 ,發現整體上還算很方便。正確性也還可以。 幫我寫一篇介紹如何用 cobra 與 go-gpt3 來寫 golang console client 的文章 由於 MaxToken 只能限制在 4000 ,所以當 ChatGPT 卡住的時候,請打上 繼續 即可。 什麼是 Cobra Cobra 是一個用於構建強大的命令行用戶端的 Go 庫。它提供了一個模板引擎,可以讓您輕鬆地定義命令和子命令,並提供支援幫助和提示信息。 Go-gpt3 是一個 Go 語言庫,提供了一個簡單的方法來使用 OpenAI 的 GPT-3 機器學習模型。GPT-3 是一個非常強大的語言模型,可以用來處理自然語言處理任務,如文本生成和分類。 現在讓我們來看看如何使用這兩個庫來寫一個 Golang 控制台客戶端。首先,您需要安裝 Go 和 Cobra: $ go get github.com/spf13/cobra/cobra 接下來,創建一個新的 Go 專案,並在 main.go 文件中寫入以下代碼: package main import ( "fmt" "github.com/spf13/cobra" ) func main() { // 創建一個新的 Cobra 命令行應用程序 var cmd = &cobra.Command{ Use: "gpt3-console-client", Short: "A simple GPT-3 console client", Long: "A simple GPT-3 console client built with Cobra and Go-gpt3", } // 定義子命令 cmd.AddCommand(...) // 執行命令 cmd.Execute() } 這個程序定義了一個名為 gpt3-console-client 的 Cobra 命令行應用程序,並添加了一些子命令。 導入 Go-GPT3 接下來,您需要安裝 Go-gpt3 庫並導入它: $ go get github.com/gpt3/go-gpt3 import ( "fmt" "log" "github.com/gpt3/go-gpt3" "github.com/spf13/cobra" ) 現在,您可以使用 Go-gpt3 庫來創建一個 GPT-3 客戶端並進行諸如文本生成之類的操作。首先,您需要創建一個 GPT-3 客戶端,並使用您的 OpenAI API...
繼續閱讀

[TW_DevRel] 2022-11-29 2022 LINE Chatbot 對話機器人設計大賽企業參訪

前言 大家好,我們是來自 LINE 台灣開發者關係與技術推廣部門 (Developer Relations)。 LINE Taiwan 開發工程團隊於 2022 年初的 「關於 LINE 台灣開發者關係與技術推廣部門的校園相關資源」文章中,有敘述到關於 LINE Taiwan 所提供給理工相關科系學校同學的企業參訪機會,除了讓學校同學可以了解 LINE 的研發工程文化之外,更可以了解相關的技術實習的機會。 日前「LINE新星計劃」連續第四年攜手國立台北市商業大學,共同主辦「2022 LINE CHATBOT對話機器人設計大賽」,本屆共吸引55組企業與學生團隊、超過200人次報名參加,參賽作品包括應用對話機器人於旅遊、消費、金融理財、美妝、寵物、運動、教育及生活等各種主題。 並且在 2022/10/30 當天進行決賽,選出了優秀的作品。 這一次我們邀請了前幾名的參賽同學,來公司內企業參訪並且與開發團隊同仁們交流。 公司簡介與 LINE TECH FRESH 2023 Spring 梯次招募說明 在 LINE 台灣技術實習 - TECHFRESH 介紹與相關福利 如果對於 LINE TECH FRESH 技術新星實習計畫有興趣的同學,歡迎了解以下的相關文章。 更多關於 LINE TECH FRESH 介紹文章有: TECH FRESH 實習的一年間,除了開發還有什麼內部活動呢? 【訪談】TECH FRESH 工作老實說 – 後續花絮與相關資訊整理 Life in LINE – 直擊 TECH FRESH 實習內容! TECHPULSE 2020 青春主場 – TECH FRESH 議程與攤位介紹 如何申請 LINE TECH FRESH 技術新星的實習計畫呢? 對於 TECH FRESH 計畫有興趣並想了解內容,歡迎大家參考 LINE Career 中的細節。 如果想要應徵 LINE 台灣的技術實習,最近一個梯次是什麼時候? 就是現在到 2022/12/02 前為止,這次 TECH FRESH 職缺採取分團隊投遞,請根據你的專長到以下職缺投遞: Front-end Back-end Data Dev Central Dev iOS Dev Blockchain Dev 參賽團隊分享的部分 【亞軍】真好味—市場好味夠 HOW WAY GO 來自台北市商業大學隊伍「真好味」,以「市場好味夠 HOW WAY GO」作品獲得評審青睞,這個作品表達市場不僅是城市生活的縮影,更是大眾日常的風景,致力向年輕族群推廣台灣市場,提供完整的資訊及親切易懂的介面,讓使用者更有意願踏入傳統市場。功能設計方面,透過市場買菜(味)、料理(胃),及美食尋寶(WAY),找回年輕人心中傳統市場的存在價值與優勢。 【季軍】非常遜baby—WearRU 來自元智大學的隊伍「非常遜baby」,作品「WearRU」將「服裝檢索系統」以對話機器人的方式呈現,運用成衣資料庫生成的標籤,提供方便查找的搜尋服務,用戶可以依照服裝的不同風格、類型,設定篩選條件找到符合需求的衣服,並可以透過圖像辨識的功能,上傳圖片尋找相似商品,快速找到有購買意願的品項,進而創造電商導流,並提高商品成交率。 【佳作】伴你來管理—個人管理聊天群 佳作由「個人管理聊天群」奪得,該服務是由用戶與五種不同人格對話機器人共同組成的群聊聊天室,不同個性的對話機器人,將依據其設定的人格屬性,針對用戶丟出的訊息分別進行回覆,以創造貼近真實聊天感受的情境為宗旨,讓更多的社群邊緣人體驗被朋友圍繞的感覺,也可以透過與機器人的對話,鼓勵用戶做好理財、運動等自我管理。 小結 立即加入「LINE開發者官方社群」官方帳號,就能收到第一手Meetup活動,或與開發者計畫有關的最新消息的推播通知。▼ 「LINE開發者官方社群」官方帳號ID:@line_tw_dev 關於「LINE 開發社群計畫」 LINE 於 2019 年初在台灣啟動「LINE 開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦 30 場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看: 2019 年 LINE 開發社群計畫活動時程表 LINE Taiwan Developer Relations 2019 回顧與 2019 開發社群計畫報告 2020 年 LINE 開發社群計畫活動時程表 2021 年 LINE 開發社群計畫活動時程表
繼續閱讀

演講內容分享:「如何建立自己的開源專案」

前言 大家好,我是 LINE Developer Relations 團隊的資深開發部門的 - Evan Lin 。主要的工作項目就是平台技術推廣與技術品牌的建立與溝通。 這次很榮幸受到陽明交大的 DSC (Developer Students Club) 開發者學生社群的邀請到了陽明交大工程四館的 117 教室,分享關於如何打造自己的開源專案的經驗這次的同學相當的踴躍,很感謝同學在下雨的晚上願意聽我講解如何參與開源專案的開發。 投影片 內容有一些部分歡迎參考這篇文章LINE 開發社群計畫: 「手把手教你建立自己的開源專案」,裡面內容有包括: 找到一個好點子 / Find a great idea 良好的說明 / Well Documentation 完整的 CI/CD 流程 / Well Workflow 找到你的第一個貢獻者 / Find your first contributor 宣傳! 宣傳! 宣傳! / Promote ! Promote ! 以下將特別列出本次演講分享新內容: 開源專案對於工作的關係有沒有用? 最近經常看到同學們在討論,到底從事開源專案或是寫一些自己的 side project 跟工作有沒有關係? 這邊可以分享關於 LINE 的實習工作機會 LINE TECH FRESH 就很在意你的開源專案,因為從開源專案可以看出以下一些重點: 你是否有良好的文件習慣(這看你專案的 README.md 就能展現出來) 專案是否有良好的 CI/CD 流程,也代表了你是否懂一些基本的流程。 看相關專案的程式碼,可以了解你對於 Git 了解的程度。 除了這些之外,好的開源專案代表你也有良好的 Pull Request 的訓練與習慣。對於多國協作上,你也更容易能適應相關團隊合作的方式。 刷題目到底重不重要? YES, YES and YES。 如果你是軟體研發相關工作,這個絕對重要。就像你考上大學聯考一樣,如果進入這些國立大學的路途只有考試。即便你有各種才藝,考試的分數依舊是你唯一證明的依據之一。 刷題目對研發工程師來說,最重要莫過: 對於問題的分析:能夠精準的閱讀題目,了解真正的問題。 對於資料結構的熟悉:熟悉資料結構與它能解決的問題。 演算法: 熟悉每一種演算法與它可能的時間複雜度,才能針對題目來使用。 這些都是身為程式設計師重要的技能,所以我認為這個只是基本。 而你面對的是當所有人都是刷題刷過了,而你有開源的經驗。那麼對面試官來說,你就有相當的優勢。(重要是不需要花時間教你)。 關於 LINE 學生實習機會: LINE TECH FRESH 介紹 LINE 台灣工程團隊每年透過 LINE TECH FRESH – 技術新星人才計劃,招募資訊科技相關科系,或對此領域有所涉略的大學生 / 研究生加入 LINE 團隊進行長期實習 (一年期),讓同學們能在國際級科技公司中觀摩學習。LINE TECH FRESH 由經驗豐富的技術專案經理帶領團隊,接觸多元化的專案與產品開發,學習業界實際的軟體專案分工,並體驗跨國團隊合作。往年工作內容包含 server、web、mobile app、chatbot、IoT、data、DevOps 等領域,並透過實習熟悉 LINE 平台系統、SDK、API 等。值得一提的是,LINE TECH FRESH 是有給薪的實習機會,對於軟體開發有熱情、有想法的同學們,千萬別錯過這個揮灑創意與衝勁的機會! 更多關於 LINE TECH FRESH 介紹文章有: TECH FRESH 實習的一年間,除了開發還有什麼內部活動呢? 【訪談】TECH FRESH 工作老實說 – 後續花絮與相關資訊整理 Life in LINE – 直擊 TECH FRESH 實習內容! TECHPULSE 2020 青春主場 – TECH FRESH 議程與攤位介紹...
繼續閱讀

[TW_DevRel] TECH-Verse 2022 有趣的議程分享 - 第一天

前言 11/17 ~ 11/18 兩天在線上舉辦的 Z Holding 開發者大會 TECH-Verse 即將展開。包括了 LINE Corp, Yahoo! Japan 等8家公司的線上開發者大會,共有 90 線上議程: 所有相關議程類別條列如下: Day 1 - 11.17 (11:00 ~ 18:00) Data / AI Security Infrastructure Blockchain Day 2 - 11.18 (10:00 ~ 18:00) Server Side UX / Design Mobile App Web Front-end Process & Environment 相關活動網址: https://tech-verse.me/en 相關的議程,結束後馬上都有投影片的公開。相關的口譯完成後的影片,將統一在 11/25 之後陸續公開。 第一天有趣的議程分享: Vald: ANN search engine by Golang**Vald: OSS ANN Nearest Neighbor Dense Vector Search Engine Valid: https://github.com/vdaas/vald 這是一個 scalable 分散式的 ANN (approximate nearest neighbor) vector search engine 這是一套可以很迅速在 K8S 上面部署的的工具。 在 Yahoo! JP 裡面更有用來使用: 相似產品圖片搜尋 透過產品名稱來產生相關 Tag 相似 source code search (這也行!) 想知道如何使用,可以參考 投影片。 議程: https://tech-verse.me/en/sessions/172 Our Automation Tool for Migrating 1,800 MySQL Instances in Only Six Months 請問各位有沒有進行過 MySQL 的升級? LINE 由於事業擴展的原因,整個企業中的 MySQL Instance 超過 6000 個。為了要提升 MySQL 5.6 (已經在 2021/02 停止維護)的版本,將會是一個無法計算的成本。 一般來說,MySQL 更新流程可以分成: Create New MySQL Instance Add User ACL Set MySQL Variable Export/Import Data Start Replication Inspect Query Performace Switch to new...
繼續閱讀

[心情分享] 開發文章的分享帶給許多開發者的影響 - Thank you! Caterpillar

https://www.ithome.com.tw/caterpillar 這幾天在軟體開發社群中,有發生一件大事。人稱良葛格(有個可愛小挖土機)的林信良老師過世了。 講到林老師離開,除了驚訝與不捨外。 其實更能感受到是開源社群原來有那麼多人受到他的文章與書籍的照顧。 更加深了,我對於開源技術文章文章的撰寫熱情。雖然我們不能到林老師的萬分之一,也希望我們的技術分享文章能夠像林老師一樣,幫助到一些未來想要學習軟體開發的同學們。 (或許只有一兩個也好) 在公司內部,在帶領實習生的時候。我經常鼓勵他們將自己演講的內容試著用文字寫出來。 因為我深刻相信,當你試著將你懂的寫下來的時候,你除了想過一次之外。你會想要將他相關知識查清楚,你獲取的將會更多。 有人問過我,寫這些技術文章到底有獲得什麼? 名聲? 流量? 我相信在寫作的過程中,那種鑽研技術的樂趣時無法取代的。 如果,在某年後聽到文章有幫助到人。那麼就~太好了。 希望更多夥伴們能夠秉持這樣的精神,一起多寫些技術文章來讓更多的後起學習的夥伴們得到你們的幫助。 最後,希望林老師可以繼續在天上享受他一直以來喜愛的事物。 謝謝
繼續閱讀

[TW_DevRel] 【TEAM UP, REBOOT - AI/Web3 Calling】 LINE Taiwan Internal Hackathon 2022

前言 2022 年是 LINE 在 2011 年成立的第 11 年,今年公司在慶祝 LINE 11 歲生日的口號。 “為下一個 10 重新啟動!” (REBOOT for the Next 10!”) 。除了感謝所有使用者11年的支持!展望下一個十年,期待更多讓您驚嘆的創意。 因應公司的目標 “REBOOT for the Next 10! ” 的概念,我們希望透過第四屆的 LINE Taiwan Internal Hackathon 能夠讓更多 LINE TAIWAN 的同仁透過 (AI 或是 Web3) 的技術來讓 LINE 重生。變成未來民眾與使用者生活中不可或缺的要素。 這裡也分享一下,過去幾年我們舉辦黑客松的相關文章: 【AI For The New Normal】 LINE Taiwan Internal Hackathon 2021 LINE Taiwan Internal Hackathon 2020 活動紀錄 透過 AI 與 Web3 來一起發想新的產品 2022 年今年是充滿許多驚喜的一年, 集團中的 LINE NEXT 公司也在今年正式啟動了 NFT 商城 - DOSI (韓語的”都市”) ,這裡有相關的新聞給大家參考一下: LINE NEXT 為全球 NFT 平台 DOSI 上線做準備,先推出 DOSI Wallet錢包服務 LINE NEXT 推出DOSI Teaser前導網站 5大品牌商店進駐,發行品牌NFT項目與專屬福利 LINE NEXT宣布全球NFT平台DOSI開放C2C交易 以往每一年, AI 都是我們 LINE 台灣黑客松的主軸。 今年由於集團內有許多關於 Web3 相關的策略規劃與專案的新聞,不論是 LINE Blockchain 還是 LINE NEXT 的全球 NFT 平台 DOSI 。於是今年的內部黑客松,我們鼓勵不同產品與服務的研發工程團隊與產品服務的規劃與經營團隊可以一起來發想相關的嶄新應用,讓我們可以透過 AI 與 Web3 來讓 LINE 產品重生,一起讓使用者驚艷,迎接LINE的下個十年。參賽條件如下: 必須是兩個團隊的混合組隊。(後面會提到更多) 不能使用已經在開發中的專案來比賽。 在發想題目必須使用到 AI 或者是 Web3 的相關技術。 以往黑客松所帶來的回饋與嶄新的福利 第四屆的 LINE TAIWAN Internal Hackathon ,我們聽取了許多之前參賽同仁的建議。這次的活動依舊有許多體貼的措施: 需求與工程的混合組隊,完美的腦力激盪: 另一方面因為公司同仁越來越多,許多時候雖有點子,卻不一定認識跨部門的同仁可以討論合作,因此這次的黑客松中也舉辦了線上媒合會,讓大家可以居家工作之餘,有機會分享自己的黑客松點子,找到更多跨部門且志同道合的同仁一起完成這次的黑客松競賽。 主動的媒合組隊,沒有任何好點子被落下: 開放報名後,我們舉辦了一個名為「Ideathon 」點子黑客松的組隊媒合會,,歡迎不論是非研發工程團隊,或是研發工程師都可以參加。 透過這個組隊媒合會,分享你的奇特想法與點子,並找尋隊友。 一直以來都為不少廣告部門或是行銷部門的同事,找到了最強的開發夥伴。 Hacking Space 讓你盡情開發的下午,帶來最好完成度的作品: Hacking Space (黑客工作坊) 是允許同仁暫時放下手邊的工作,專心地把Hacking 專案來完成,與跨部門的夥伴透過實際的討論,來一起淬煉最後成品,達成最高的完成度。提案入選的隊伍,能有三次的 Hacking Space的參與機會,我們於週五下午在特定的空間進行,更備有餐點(下午茶)讓參賽隊伍都能在舒適的環境下進行,進而提高產品的完成度。 GAS Fee...
繼續閱讀