創建本地PDF Chatbot with Llama3 & RAG技術

Поділитися
Вставка
  • Опубліковано 28 гру 2024

КОМЕНТАРІ • 25

  • @陳冠穎-b5q
    @陳冠穎-b5q 7 місяців тому +3

    感謝老師的分享,非常棒👍

  • @kennykang900
    @kennykang900 3 місяці тому +2

    謝謝老師

  • @AIStudio.2024
    @AIStudio.2024 7 місяців тому +1

    👍

  • @1123Chu
    @1123Chu Місяць тому +1

    老師你好,我的PDF Chatbot有成功做出來也可以把pdf上傳上去,但每次回應時context都是空白的,是pdf讀取不出來嗎?我已經有試過換別的pdf套件了

    • @changlunglung
      @changlunglung  Місяць тому

      你先確認你的pdf裡面的文字是文字還是圖片的文字。如果pdf是圖片存在的話,建議找不是圖片的先試試。

    • @煎煎-c7c
      @煎煎-c7c Місяць тому

      @@changlunglung 老師您好,我也有遇到相同問題。我先前有順利產生PDF內容,也有回應成功,但過沒幾天再上傳相同檔案後,它卻無法讀取pdf內容,目前我找不到原因,想請教老師是否知道可能哪邊有出問題嗎?

  • @Chenggg7414
    @Chenggg7414 2 місяці тому +1

    老師 生成回應的部分有快轉嗎,因為我看您那邊生成蠻快的,但是我自己跑的時候都要等很久。

    • @changlunglung
      @changlunglung  2 місяці тому

      我的GPU是非常早期的1080ti,8G RAM,也是慢慢的。我是有快轉喔。

  • @leohsi2663
    @leohsi2663 6 місяців тому +1

    請教老師一下,之前影片ua-cam.com/video/ntuuLCR8TkA/v-deo.html 所教的RAG的用法,embeddings是不是一樣的?只是差別在一個用ollama套件,一個用langchain下的ollama。

    • @changlunglung
      @changlunglung  6 місяців тому

      是的,embeddings在教學影片用的是同一個。

  • @jz1818
    @jz1818 7 місяців тому +2

    請問如果是word檔該如何做呢?

    • @changlunglung
      @changlunglung  7 місяців тому +1

      過幾天會整理相關資料,再錄製影片分享給大家。

  • @yusteven3986
    @yusteven3986 7 місяців тому +1

    請問我跑您的程式範例上傳檔案的時候為什麼會出現像這樣的error:AxiosError: Request failed with status code 403

    • @changlunglung
      @changlunglung  7 місяців тому

      有更多的上下文訊息嗎?
      包括出錯的程式碼資訊,看起來比較像是網路方面的問題。

    • @MalaysiaGeorge
      @MalaysiaGeorge 6 місяців тому

      我也有同樣的問題
      > Entering new RetrievalQA chain...
      2024-06-17 09:53:01.907 Uncaught app exception
      Traceback (most recent call last):
      File "D:\tmp
      ag
      ag\Lib\site-packages\streamlit
      untime\scriptrunner\script_runner.py", line 600, in _run_script
      exec(code, module.__dict__)
      File "D:\tmp
      ag\pdfChatbotV1.py", line 131, in
      response = st.session_state.qa_chain(user_input)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_core\_api\deprecation.py", line 168, in warning_emitting_wrapper
      return wrapped(*args, **kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain\chains\base.py", line 383, in __call__
      return self.invoke(
      ^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain\chains\base.py", line 166, in invoke
      raise e
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain\chains\base.py", line 156, in invoke
      self._call(inputs, run_manager=run_manager)
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain\chains
      etrieval_qa\base.py", line 142, in _call
      docs = self._get_docs(question, run_manager=_run_manager)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain\chains
      etrieval_qa\base.py", line 254, in _get_docs
      return self.retriever.invoke(
      ^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_core
      etrievers.py", line 221, in invoke
      raise e
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_core
      etrievers.py", line 214, in invoke
      result = self._get_relevant_documents(
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_core\vectorstores.py", line 797, in _get_relevant_documents
      docs = self.vectorstore.similarity_search(query, **self.search_kwargs)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_community\vectorstores\chroma.py", line 349, in similarity_search
      docs_and_scores = self.similarity_search_with_score(
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_community\vectorstores\chroma.py", line 438, in similarity_search_with_score
      query_embedding = self._embedding_function.embed_query(query)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_community\embeddings\ollama.py", line 224, in embed_query
      embedding = self._embed([instruction_pair])[0]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_community\embeddings\ollama.py", line 199, in _embed
      return [self._process_emb_response(prompt) for prompt in iter_]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\tmp
      ag
      ag\Lib\site-packages\langchain_community\embeddings\ollama.py", line 173, in _process_emb_response
      raise ValueError(
      ValueError: Error raised by inference API HTTP code: 403, 403: Forbidden403: Forbidden

  • @0914
    @0914 Місяць тому

    想問老師,如果pdf結構較複雜,例如包含圖片或表格,該如何處理?

    • @changlunglung
      @changlunglung  Місяць тому

      這個我們要把複雜問題簡單化,用而所謂的資料前處理。依何的圖片要進行文本處理,第一步就是文字化,所以解決的思維就是把圖片取出來,利用多模態或者ocr技術,轉成文本,然後再接後面的大語言模型。簡單說就是要做資料前處理。

    • @0914
      @0914 Місяць тому

      @ 謝謝老師!

  • @teddylin5197
    @teddylin5197 3 місяці тому

    老師,請問目前這chatbot是網頁部分,那我要如何用在linebot上,這部分您方便介紹嗎? 或是我可以跟您聯繫?

    • @changlunglung
      @changlunglung  3 місяці тому

      可以先寫信給我聯絡,jackie691224@hotmail.com