基于LLM搭建一個AI問答系統(tǒng)步驟

基于LLM搭建一個AI問答系統(tǒng),步驟備忘錄

工具

Langchain4J,適應(yīng)于java語言,對應(yīng)python語言的是 Langchain

步驟

準(zhǔn)備環(huán)境

  1. 下載大模型,使用ollama工具下載并運行大模型,類似docker的使用方式,ollma pull llama3; ollma run llama3
  2. 下載向量數(shù)據(jù)庫,并啟動

編寫代碼

初始化知識庫

  1. maven依賴中導(dǎo)入Langchain4j的包
  2. 使用Langchain4j的函數(shù),加載本地文件,這是作為AI問答系統(tǒng)的知識庫源數(shù)據(jù)的目的
  3. 使用Langchain4j的文檔切割工具,將本地文件切分為segments
  4. 利用大模型的EmbeddingModel模型,這個模型是將普通的文本轉(zhuǎn)化為高維度的向量。將segments作為輸入,存入上面的向量數(shù)據(jù)庫
    流程圖如下:


    image.png

查詢

  1. 利用同一個EmbeddingModel模型,將查詢文本轉(zhuǎn)化為embedding
  2. 使用embedding在向量庫中檢索到匹配的segment
  3. 繼續(xù)利用大模型推理構(gòu)建輸出。這個需要基于向量庫的segment,構(gòu)建Prompt詞。例如, “基于信息回答提問。信息:segment, 提問:xxx?”
  4. 將prompt提示詞輸入給大模型ollamaChatModel,輸出的結(jié)果,就是最終的結(jié)果了
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容