by rainchu | 7 月 31, 2024 | AI , Chat
2024/07 相信 AI 界最火的是 Microsoft 推出的 GraphRAG 了,看起來很簡單,但坑也不少,網路上教學很多,我這邊專門做一集推坑以及救贖的文章
訓練價格過高
用便宜模型 gpt-4o-mini
llm:
api_key: ${GRAPHRAG_API_KEY}
type: openai_chat # or azure_openai_chat
model: gpt-4o-mini
model_supports_json: true # recommended if this is available for your model.
用 local ollama, vllm, LM Studio
要用 ollama 的話,要先安裝 ollama 的庫
並且用別人已經改好的程式碼
git clone https://github.com/TheAiSingularity/graphrag-local-ollama.git
執行細節可以看
https://medium.com/@vamshirvk/unlocking-cost-effective-local-model-inference-with-graphrag-and-ollama-d9812cc60466
VIDEO
視覺化模型
請下載 Gephi
打開 settings.yaml 並且找到 snapshots 將 graphml 打開,這樣子在 index 的時候就會幫你生成 .graphml 的檔案,之後就可以用 Gephi 去編輯他
snapshots:
graphml: true
raw_entities: true
top_level_nodes: true
參考資料
GraphRAG Github
https://github.com/microsoft/graphrag
by rainchu | 7 月 22, 2024 | AI , Chat
AnythingLLm 官方最推薦的安裝方法是採用 docker,可以最快速的體驗 anything llm web ui 以及驗證想法,雖然說用docker安裝已經超簡單了,但還是有些小細節值得記錄一下,並且告訴大家避免採坑。
最低要求
最低需要 Docker v18.03+ 版本在 Win/Mac 上和 20.10+ 版本在 Linux/Ubuntu 上才能解析 host.docker.internal
Linux:在 docker run 命令中添加 –add-host=host.docker.internal參數以使其能夠解析。例如:在主機上 localhost:8000 上運行的 Chroma 主機 URL 在 AnythingLLM 中使用時需改為 http://host.docker.internal:8000。
安裝指令
docker pull mintplexlabs/anythingllm
Windows 的設定指令,定義好你要存放 llm 的位址
$env:STORAGE_LOCATION="$HOMEDocumentsanythingllm"; `
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory}; `
If(!(Test-Path "$env:STORAGE_LOCATION.env")) {New-Item "$env:STORAGE_LOCATION.env" -ItemType File}; `
docker run -d -p 3001:3001 `
--cap-add SYS_ADMIN `
-v "$env:STORAGE_LOCATION`:/app/server/storage" `
-v "$env:STORAGE_LOCATION.env:/app/server/.env" `
-e STORAGE_DIR="/app/server/storage" `
mintplexlabs/anythingllm;
多個 Anything llm containers
如果你需要安裝多個anything llm,那記得要改兩個位置
$env:STORAGE_LOCATION=”$HOMEDocumentsanythingllm-yourid”; `
docker run -d -p 8001(改成你自己的port):3001 `
修改玩會像是下面的樣子
$env:STORAGE_LOCATION="$HOMEDocumentsanythingllm-yourid"; `
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory}; `
If(!(Test-Path "$env:STORAGE_LOCATION.env")) {New-Item "$env:STORAGE_LOCATION.env" -ItemType File}; `
docker run -d -p 8001:3001 `
--cap-add SYS_ADMIN `
-v "$env:STORAGE_LOCATION`:/app/server/storage" `
-v "$env:STORAGE_LOCATION.env:/app/server/.env" `
-e STORAGE_DIR="/app/server/storage" `
--name yourid `
mintplexlabs/anythingllm;
之後可以執行 Docker run
docker run -d -p 8001:3001 --cap-add SYS_ADMIN --user root -v "$env:STORAGE_LOCATION:/app/server/storage" -v "$env:STORAGE_LOCATION.env:/app/server/.env" -e STORAGE_DIR="/app/server/storage" mintplexlabs/anythingllm
利用 Docker Compose 安裝
先寫一段 docker-compose.yml ,再用 docker-compose up -d 執行即可
version: '3.8'
services:
anythingllm:
image: mintplexlabs/anythingllm
container_name: anythingllm
ports:
- "3001:3001"
volumes:
- ./storage:/app/server/storage
- ./env.txt:/app/server/.env
environment:
- STORAGE_DIR=/app/server/storage
cap_add:
- SYS_ADMIN
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
利用介面安裝
在 docker desktop 的搜尋框內輸入 anythingllm ,找到 mintpolexlabs/anythingllm,並且按下 Run
下載完畢後記得要做第一次的初始化設定喔
TIPS
記得你現在運行的服務是在 docker 中,如果您在 localhost 上運行其他服務,如 Chroma、LocalAi 或 LMStudio,您將需要使用 http://host.docker.internal:xxxx 從 Docker 容器內訪問該服務,因為 localhost對主機系統來說無法解析。
參考資料
https://docs.useanything.com/installation/self-hosted/local-docker
錯誤解決
如果遇到Error : ‘Invalid file upload. EACCES: permission denied, open ‘/app/collector/hotdir/xxxx.txt’,可以用以下的方法解決
docker run -d -p 8001:3001 --cap-add SYS_ADMIN --user root -v "$env:STORAGE_LOCATION:/app/server/storage" -v "$env:STORAGE_LOCATION.env:/app/server/.env" -e STORAGE_DIR="/app/server/storage" mintplexlabs/anythingllm
by Rain Chu | 5 月 21, 2024 | AI , Chat
在法律領域中,AI 的應用日益增加,而「ChatLaw 法律大模型」正是這一趨勢的最新產物,這個由尖端技術驅動的模型,同時面相專業人士和一般人,提供前所未有的支持,從基本的法律查詢到複雜的案件分析,ChatLaw 都能提供高效且精確的協助,一般人只需要用白話文就可以請 Chatlaw 幫你判斷案件。
核心技術
ChatLaw 的核心在於其先進的演算法。這使得它能夠精確理解和分析法律文本,從而提供具有操作性的建議。無論是判例研究、法律意見書撰寫,還是復雜的法律論證,ChatLaw 都能夠提供高效的解決方案。
ChatLaw-13B,此版本為學術demo版,基於姜子牙Ziya-LLaMA-13B-v1訓練而來,中文各項表現很好,但是邏輯複雜的法律問答效果不佳,需要用更大參數的模型來解決。
ChatLaw-33B,此版本為學術demo版,基於Anima-33B訓練而來,邏輯推理能力大幅提升,但是因為Anima的中文語料過少,導致問答時常會出現英文數據。
ChatLaw-Text2Vec,使用93萬條判決案例做成的數據集基於BERT訓練了一個相似度匹配模型,可將用戶提問信息和對應的法條相匹配。
功能應用
律師和法學研究者使用 ChatLaw 可以迅速獲得所需的法律信息,包括最新的法規變動和相關的判決案例。此外,ChatLaw 的使用者界面極其友好,即使是非專業人士也能輕鬆上手,進行基本的法律查詢。
例如:你可以問”一名女大學生在地鐵站被偷拍”,他就可以回應你判例以及相關條文給你參考,不過現在都是大陸那邊的法律條文。
支援 Python 庫
https://github.com/PKU-YuanGroup/ChatLaw
對法律實踐的影響
ChatLaw 的出現讓法律服務更加民主化,讓普通公眾也能輕鬆接觸到專業的法律建議。這不僅提升了法律服務的普及率,也幫助減少了因法律知識欠缺而產生的社會問題。
參考資料
挤爆服务器,北大法律大模型ChatLaw火了:直接告诉你张三怎么判
姜子牙模型
Anima 模型
by Rain Chu | 5 月 14, 2024 | AI , Chat
這一次OpenAI的2024年春季更新,帶來了虛擬人的真正可行性,因為可以真正即時的交互對談,過程中也真的像極了真人,有語氣,不會笨笨的把句子唸到完畢,完全能理解使用者的指令,並且做出對應的動作,重點還 free
更新說明
Hello GPT-4o | OpenAI
影片如下
Introducing GPT-4o (youtube.com)
重點摘要
realtime
反應速度快、真的超快,再也沒有延遲,可以看看DEMO
VIDEO
有了真的的人類情緒
懂說話者的語氣,你可以緊張、可以不舒服,他都可以感受到
chatgpt 可以用各種語氣回應,甚至連叫他用歌劇的方法也可以
Live research
可以用錄影的方法,了解上下文解題,數學題代公式的也難不倒
也可以用攝像頭看得出來使用者的情緒
Free to everyone
Desktop and Mobile Phones app
https://openai.com/chatgpt/download
Web UI Update
by Rain Chu | 5 月 13, 2024 | AI , Chat , Linux , NodeJS , React , Ubuntu , ViteJS , 程式
AnythingLLM是一款全功能的應用程序,支持使用商業或開源的大語言模型(LLM)和向量數據庫建構私有ChatGPT。用戶可以在本地或遠端運行該系統,並利用已有文檔進行智能對話。此應用將文檔分類至稱為工作區的容器中,確保不同工作區間的資料隔離,保持清晰的上下文管理。
特點:多用戶支持、權限管理、內置智能代理(可執行網頁瀏覽、代碼運行等功能)、可嵌入到網站的聊天窗口、多種文檔格式支持、向量數據庫的簡易管理界面、聊天和查詢兩種對話模式、引用文檔內容的展示,以及完善的API支持客戶端定制整合。此外,該系統支持100%雲端部署,Docker部署,且在處理超大文檔時效率高,成本低。
VIDEO
注意,以下要用 linux 平台安裝,windows 用戶可以用 WSL,推薦用 Ubuntu OS
在自己的 home 目錄下,到 GitHub 中下載原始碼
git clone https://github.com/Mintplex-Labs/anything-llm.git
利用 yarn 作設定資源
cd anything-llm
yarn setup
把環境變數建立起來,後端主機是 NodeJS express
cp server/.env.example server/.env
nano server/.env
密文需要最少12位的字元,檔案的存放路徑也記得改成自己的
JWT_SECRET="my-random-string-for-seeding"
STORAGE_DIR="/your/absolute/path/to/server/storage"
前端的環境變數,先把/api打開即可
# VITE_API_BASE='http://localhost:3001/api' # Use this URL when developing locally
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for Github Codespaces
VITE_API_BASE='/api' # Use this URL deploying on non-localhost address OR in docker.
如果你在設定的時候,遇到更新請求,可以跟我著我下面的方法作
把 prisma 更新好
yarn add --dev prisma@latest
yarn add @prisma/client@latest
前端的程式碼
先編譯前端程式碼,前端是由 viteJS + React
cd frontend && yarn build
將編譯好的資料放到 server 的目錄下
cp -R frontend/dist/* server/public/
選項,如果需要用到本地端的 LLM 模型,就把 llama-cpp 下載下來
cd server && npx --no node-llama-cpp download
把資料庫建立好
cd server && npx prisma generate --schema=./prisma/schema.prisma
cd server && npx prisma migrate deploy --schema=./prisma/schema.prisma
Server端是用來處理 api 以及進行向量資料庫的管理以及跟 LLM 交互
Collector 是一個 NodeJS express server,用來作UI處理和解析文檔
cd server && NODE_ENV=production node index.js &
cd collector && NODE_ENV=production node index.js &
更新的指令碼
現在 anything llm 更新速度超快,把這一段指令碼複製起來,方便未來作更新的動作
#!/bin/bash
cd $HOME/anything-llm &&\
git checkout . &&\
git pull origin master &&\
echo "HEAD pulled to commit $(git log -1 --pretty=format:"%h" | tail -n 1)"
echo "Freezing current ENVs"
curl -I "http://localhost:3001/api/env-dump" | head -n 1|cut -d$' ' -f2
echo "Rebuilding Frontend"
cd $HOME/anything-llm/frontend && yarn && yarn build && cd $HOME/anything-llm
echo "Copying to Sever Public"
rm -rf server/public
cp -r frontend/dist server/public
echo "Killing node processes"
pkill node
echo "Installing collector dependencies"
cd $HOME/anything-llm/collector && yarn
echo "Installing server dependencies & running migrations"
cd $HOME/anything-llm/server && yarn
cd $HOME/anything-llm/server && npx prisma migrate deploy --schema=./prisma/schema.prisma
cd $HOME/anything-llm/server && npx prisma generate
echo "Booting up services."
truncate -s 0 /logs/server.log # Or any other log file location.
truncate -s 0 /logs/collector.log
cd $HOME/anything-llm/server
(NODE_ENV=production node index.js) &> /logs/server.log &
cd $HOME/anything-llm/collector
(NODE_ENV=production node index.js) &> /logs/collector.log &
by Rain Chu | 3 月 28, 2024 | AI , Chat
在當今快速發展的人工智慧領域中,Perplexity作為一家新興的對話式AI平台公司,於2022年8月成立,迅速吸引了眾多目光。這家新創公司不僅得到了科技界巨頭如黃仁勳和傑夫·貝佐斯等人的重金注資,更是以其創新的知識搜尋平台而聞名。Perplexity提供了一種全新的搜尋體驗,將傳統的網路搜尋與最先進的人工智慧技術結合起來,為使用者遇到的每個問題提供高品質的答案。
Perplexity的特色
注資背景顯赫 :得到黃仁勳、貝佐斯等科技界巨頭的注資,顯示了市場對Perplexity業務模式和未來發展潛力的高度認可。
創新的知識搜尋平台 :Perplexity是一個結合了網路搜尋與人工智慧的對話式AI平台,致力於解決用戶可能遇到的各種問題,無論是學術問題、日常疑惑還是專業咨詢。
高品質的答案 :Perplexity憑藉先進的AI技術,提供的答案品質高於一般搜尋引擎,更加準確、有深度且可靠。
提供參考來源 :為了確保信息的透明度和可信度,Perplexity在提供答案的同時,會附上參考來源,讓用戶可以進一步查證。
自動推薦追問問題 :該平台能夠根據用戶的查詢自動推薦相關的追問問題,豐富用戶的探索過程。
搜尋YouTube影片 :Perplexity不僅限於文本搜尋,還能夠搜索YouTube影片,為用戶提供更多樣化的信息來源。
Chrome擴充工具「Perplexity – AI Companion 」 :Perplexity還推出了一款Chrome擴充工具,讓用戶在瀏覽網頁時能夠更方便地使用其服務。
至於Perplexity的商業模式,它提供了專業版服務,專業版用戶支付每月20美元的費用,便可無限制使用其「Copilot」功能,享受客服支援,甚至可以上傳自己的資料請Perplexity分析。截至目前,Perplexity已擁有約10萬名付費用戶,顯示出其服務的受歡迎程度以及市場的廣大潛力。
https://www.perplexity.ai/
近期留言