Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paper Retrieval QA Chat

created by nakasone taro

Demo

論文に関する問い合わせ応答(要約・質問)を可能にするチャット形式のWebアプリ

alt text

前提

  • gpu環境上でDockerコンテナを構築し、コンテナ内で実行するものとする。
  • docker-compose.yamlでGPU数やポートを設定を行っているため、適宜変更すること。
  • OpenAIのAPIキーを取得し、.envに設定すること。

OpenAI APIキーの管理

.envファイルに以下のように設定する。(`.env.exampleを参考にする)

OPENAI_API_KEY= "key"

実行方法

コンテナの立ち上げ

  1. コンテナのあるディレクトリ(prqa)へ移動
  2. 以下のコマンドを実行してコンテナを立ち上げる
$ docker compose up -d prqa-local
  1. 以下のコマンドでコンテナにアクセス
$ docker exec -it prqa-local bash

アプリの起動

以下のコードでapp.pyを実行できる

$ chainlit run app.py

アーキテクチャ

アップロードされた論文pdfファイルを英語の論文解析に特化した機械学習ベースOCRnougat-ocrでmmdファイルに変換し、特定のヘッダーレベルで分割、ベクトル埋め込みをベクトルDBにストアする。ユーザの質問に関して、ベクトルDBにクエリ検索を行い、関連した情報を取得して答えを返す。

flowchart
    subgraph user

        subgraph input
            Q[Question]
            S[PDF]
        end
        subgraph output
            A[Answer]
        end
        input --> output
    end
        subgraph inside
        S-->*.PDF
        Q---LLM
        LLM---A
        LLM{{LLM}} -.-> query
        D[/vectorDBstore/] -.-> LLM
        query -. similarity search .-> D[/vectorDBstore/]
        *.PDF -- nougat ocr -->*.mmd
        *.mmd -- texsplitter --> chunk
        chunk -- OpenAIEmbeddings-->D[/vectorDBstore/]

        end

Loading

備考

実行環境について

  • Ubuntu: 22.04
  • GPU: NVIDIA GeForce RTX 3090 x 2
  • NVIDIA Driver Version: 535.171.04
  • CUDA Version: 12.2
  • Docker Engine: 26.1.3

Dockerコンテナ環境について

  • Python: 3.10.12

About

PDF論文に関する問い合わせ応答(要約・質問)を可能にするWebアプリ

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages