akasha使用手冊

akasha manual

pip 安裝

  1. 下載或git clone akasha ui-dev專案分支到你的資料夾
    1
    2
    $ git clone --branch ui-dev https://github.com/iii-org/akasha.git
    $ cd akasha
  2. 安裝所需python套件
    1
    $ python -m pip install -r requirements.txt
  3. 啟動fast api server 和 streamlit 介面
    1
    $ nohup /bin/bash -c "uvicorn api:app &" && streamlit run main.py

image

Docker 安裝

在某些情況之下採用pip 安裝,無法開啟dev-ui,或許這時候可以考慮使用docker

  1. 下載或git clone akasha ui-dev專案分支到你的資料夾
    1
    2
    $ git clone --branch ui-dev https://github.com/iii-org/akasha.git
    $ cd akasha
  2. (optional) 編輯 install.env 檔案
    1
    2
    3
    4
    5
    6
    ## install.env
    MODEL=./model # 存放語言模型的資料夾
    CONFIG=./config # 存放dataset, knowledge 配置檔的資料夾
    DOCS=./docs # 存放文件的資料夾
    IMAGE_NAME=akasha_dev_ui
    IMAGE_VERSION=0.1
  3. 執行安裝 script
    1
    $ sudo bash install.sh

預設openAI key

如果您想要添加預設的 OpenAI API 密鑰或 Azure OpenAI API 密鑰,以便每個用戶都可以直接使用它,在第二步中,您可以在 install.env 文件中添加您的預設密鑰。
這將在你的config目錄中創建一個 default_key.json 文件,你可以更改該文件中的密鑰值以便在啟動akasha_dev_ui後更改或刪除密鑰。

openAI:

1
2
3
4
5
6
7
## install.env ##
MODEL=./model
CONFIG=./config
DOCS=./docs
IMAGE_NAME=akasha-lab
IMAGE_VERSION=0.6
DEFAULT_OPENAI_API_KEY={your openAI key}

Azure openAI:

1
2
3
4
5
6
7
8
## install.env ##
MODEL=./model
CONFIG=./config
DOCS=./docs
IMAGE_NAME=akasha_dev_ui
IMAGE_VERSION=0.6
DEFAULT_AZURE_API_KEY={your Azure key}
DEFAULT_AZURE_API_BASE={your Azure base url}


使用docker image建構container

1.創建資料夾儲存模型、文件資料

1
2
3
4
5
mkdir -p config
mkdir -p model
mkdir -p docs
mkdir -p chromadb

2.創建帳號yaml檔accounts.yaml

1
2
3
4
5
6
7
8
9
10
11
12
cookie:
expiry_days: 30
key: random_signature_key
name: random_cookie_name
credentials:
usernames:
cws:
email: cws@gmail.com
name: cws
password: $2b$12$jCB8MeVqMc3jWDynjNyeVeLS8IWBduxnX362gLfJ1KIkeTPH9KYha
emails: []

3.從docker hub下載image並執行

1
2
sudo docker pull ccchang0518/akasha-lab:0.6
sudo docker run -v ./model:/app/model -v ./config:/app/config -v ./docs:/app/docs -v ./chromadb:/app/chromadb -v ./accounts.yaml:/app/accounts.yaml -p 8501:8501 --name akasha_dev_ui ccchang0518/akasha-lab:0.6


使用API

若要直接串接akasha dev-ui API,啟動fastapi後,可至docs查詢API functions (http://127.0.0.1:8000/docs)

image



若為docker安裝請使用-p {port}:8000 開啟fastapi port

1
sudo docker run -v ./model:/app/model -v ./config:/app/config -v ./docs:/app/docs -v ./chromadb:/app/chromadb -v ./accounts.yaml:/app/accounts.yaml -p 8000:8000 -p 8501:8501 --name akasha-lab akasha-lab:0.6

註冊帳號

akasha dev-ui需要使用者註冊帳號,不同使用者可以獨自創建dataset、knowledge用來做文檔問答,也可以分享dataset、knowledge給其他使用者。

image

點選右下角”Sign Up”進入註冊介面
image

註冊完成後便可使用Username 和 Password登入帳號
image

創建Dataset

Dataset為保存一個或多個文件檔的設定檔。
至New Dataset頁面,輸入dataset名稱與描述,並上傳dataset所需的文件檔案(.txt、.pdf、.docx)

image



可選擇是否分享dataset給其他使用者
image



按下 “Create Dataset”,創建dataset 成功

image



:::warning
同一使用者無法創建相同名稱的Dataset,不同使用者可以創建相同名稱的Dataset
:::
image



檢視Dataset

創建完Dataset後,可至My Dataset頁面檢視,勾選Shared Datasets按鈕後也會顯示別人分享的Datasets,自己創建的Dataset可以刪除,但無法刪除別人分享的Dataset。

image



更新Dataset

若要更新Dataset資訊,可至Update Dataset頁面,選擇要更新的Dataset後,便可以更改Dataset名稱、描述,也可以新增或刪除文件、分享者。
image
image

API KEY

若要使用openAI的模型,必須輸入API KEY,可選擇openAI或是Azure openAI其一
如範例,選擇使用Azure openAI後,輸入key值與URL,按下儲存,若顯示成功,便成功添加API KEY。

image

若勾選左下角”Save Permanently”便會將key值儲存至config中,下次登入也可以直接使用。

image



History

History分頁可下載文檔問答的紀錄,並下載成.txt或.json檔案。
image

Account

Account分頁可更改密碼或是刪除帳號
image

創建Knowledge

knowledge為一個保存資料集(Datasets)和搜尋參數的設定檔,可以直接使用knowledge來使用文檔問答。
至New Knowledge頁面,輸入Knowledge名稱,選擇嵌入模型,選擇文件段落大小,選擇Dataset(可以多個),預設為選擇所有文件檔案,也可以各個檔案逐一勾選。

image



hhh

可選擇是否分享Knowledge給其他使用者
image



按下 “Create Knowledge”,會為每個文件產生向量db,因此可能需要等待一段時間。
image



:::warning
同一使用者無法創建相同名稱的Knowledge,不同使用者可以創建相同名稱的Knowledge
:::
image



檢視Knowledge

創建完Knowledge後,可至My Knowledges頁面檢視,勾選Shared Knowledges按鈕後也會顯示別人分享的Knowledges,自己創建的Knowledge可以刪除,但無法刪除別人分享的Knowledge。

image



更新Knowledge

若要更新Knowledge資訊,可至Update Knowledge頁面,選擇要更新的Knowledge後,便可以更改Knowledge名稱、描述,也可以新增或刪除文件、分享者。
image
image

Chat

Chat與Regular Consult相似,會根據提供的文檔進行問答,但同時Chat也會記住使用者之前的問答互動,方便使用者進行追問。

image

若要進行與之前不相關、新的提問,可以點選右邊按紐Clear History清除紀錄。



Regular Consult

創建完Knowledge後,便可以利用它來做文檔問答,來到Consult頁面,選擇Knowledge後,便可以輸入問題,按下crtl+Enter後便可以提交問題給語言模型等待回應。

image

更改參數

若你為該Knowledge的擁有者,按下Advanced可以更改Knowledge的參數,提交問題後,參數將會儲存到config中。
image

1. System Prompt 為希望語言模型回答的格式
2. language model 為使用何種語言模型
3. search type 為搜尋文檔的方法
4. Top K 為使用文檔段落的數量
5. Threshold 為文檔與問題相似度的閾值
6. Max Doc Length 為文檔段落的最長總長度
7. Temperature 為語言模型的隨機性


Deep Consult

若要詢問較為複雜的問題,可使用Deep-Consult,將可能需要的知識點做為子問題放到Sub-Questions中,再將最終期望詢問的問題填入Question欄位,按下”Submit”按鈕,便可等待語言模型回答。

image



Summary

在Summary頁面,可以從Dataset中選擇一個文件檔案,並輸入指示進行摘要。

image



你也可以上傳一個文件檔案進行摘要

image

0%