wsxqaza12 / RAG_LangChain_streamlit

18 stars 8 forks source link

請問能夠將LOCAL轉成PUBLIC 讓LINEBOT互動使用嗎? #4

Open minka2 opened 6 months ago

minka2 commented 6 months ago

如題。

wsxqaza12 commented 6 months ago

@minka2 你是想將什麼東西從LOCAL轉成PUBLIC呢? 如果是 Streamlit 的話,後續不用再接 LINEBOT,可以變成一個獨立的 chatbot, 這個方式需要解決的主要是部屬在哪裡, 可以選擇家裡電腦以對外開放 port,但這樣非常不安全。 因此建議放在雲端上如 AWS 等。

而你提到要讓 LINEBOT 互動,我猜測你是想讓 LINEBOT 連接你的 LLM, 我假設你的 LLM 也是 llamacpp 架設的,而 llamacpp server 提供的是類似 openai 的接口, 因此如果你讓他對外開放的話是可以讓外部連接的。 如此你就可以用常見的步驟架設 LINEBOT ,如 LINEBOT + Github + Heroku, 其中在 Github 中再詳細設定你的 LLM 處理邏輯。

minka2 commented 6 months ago

請問有「在 Github 中再詳細設定你的 LLM 處理邏輯」的簡單範例嗎?謝謝

wsxqaza12 commented 5 months ago

@minka2 基本上會寫在 Github 的就是 flask 的一些邏輯, 如與 Heroku 串接 webhook、接到訊息後處理等, 我搜尋了一下發現這篇的教學不錯, 滿容易實作的,其中 api/ 下的檔案就是你想要的。

minka2 commented 5 months ago

謝謝,我是能將OPEN引入LINEBOT使用,但不知如何將RAG(讀取自己的PDF資料)也引入LINEBOT。

wsxqaza12 commented 5 months ago

OPEN 是指 openai 嗎? RAG 的操作邏輯主要都寫在 Github 那一端, 我不太清楚你想要的操作流程,也許你可以參考 這篇教學

minka2 commented 5 months ago

謝謝資訊,那篇教學,我有留意過,但前面太冗長也使用了AWS,我較喜歡RAG直接讀PDF檔。

wsxqaza12 commented 5 months ago

@minka2 使用 AWS 是為了建置 vectorDB,如果要在 LINEBOT 上使用, 就需要有對應的、向外網開放的 vectorDB,因此他那邊採用 AWS 來實作。 雲端的好處是幫你把控好安全性的問題,但如果你不想用到雲端的東西, 你需要將本來在 Github 那一層的 Flask 寫在你的主機中,並對外網開放對應的 port, 這樣 LINEBOT 才能使用你的 Flask API,這種情況下 vectorDB 就能也放在你的主機中, 不知道這樣是不是你要的使用情況?