Dòng Orange Pi 3 với việc sử dụng chip RK3566 mới nhất 4 lõi hợp lý Cortex-A55 có tích hợp thêm NPU 0.8Tops@INT8 trong SoC này và khiến nó trở thành bo mạch chạy AI giá rẻ nhất trên thị trường hiện nay. một Bộ xử lý thần kinh (NPU) hoặc một bộ vi xử lý (CPU) trong khi thực hiện các phép tính liên quan đến mạng nơ-ron sâu (mạng lưới thần kinh sâu). TOPS là một đơn vị đo lường hiệu quả tính toán cho các mạng nơ-ron sâu vì chúng thường có số lượng tính cực lớn được phép.
Khi một NPU có nhiều TOPS, nó có khả năng thực hiện nhiều tính năng nhanh hơn, cho phép xử lý và phân loại dữ liệu hình ảnh hoặc âm thanh nhanh hơn. Ví dụ, trong lĩnh vực trí tuệ nhân tạo và thị giác máy tính, một NPU có nhiều TOPS có thể xử lý các tác vụ như nhận dạng đối tượng, phát hiện khuôn mặt, hoặc dự đoán vị trí đối tượng trong thời gian thực hiện với hiệu suất cao.
YOLOv5 sử dụng cho Orange Pi 3B trong máy tính giác.
YOLO là bản viết tắt của “You Only Look mô Một lần” và đó là một mạng nơ-ron sâu (mạng lưới thần kinh sâu) hình nền được sử dụng để nhận dạng đối tượng trong hình ảnh và video. Mô hình YOLO đã trở nên phổ biến trong lĩnh vực thị giác máy tính và thị giác máy tính sâu rộng, như trong các ứng dụng như giám sát an ninh, xe tự lái, phân loại đối tượng và nhiều ứng dụng khác.
Một trong những điểm mạnh của YOLO so với các phương pháp truyền tải là khả năng thực hiện phát hiện đối tượng và phân loại đối tượng trong một lần duy nhất (Bạn Chỉ Nhìn Một Lần), thay vì phải thực hiện nhiều lần quét ảnh và đối tượng phân loại. Điều này làm cho YOLO nhanh chóng và hiệu quả, và nó thường được sử dụng trong thời gian thực hiện các ứng dụng.
YOLO sử dụng chiều sâu nơ-ron mạng để chia hình ảnh thành một ô vuông và sau đó dự đoán các hộp giới hạn (hộp giới hạn) và các nhãn (nhãn) cho các đối tượng có trong từng ô vuông. Mô hình này sử dụng một chức năng mất mát (chức năng mất mát) để cải thiện khả năng dự đoán giới hạn và nhãn cho độ chính xác thực sự của chúng.
Với bản và các biến thể khác nhau của YOLO đã phát triển theo thời gian, YOLO đã trở thành một công cụ mạnh mẽ cho việc nhận dạng các đối tượng trong thời gian thực và nhiều ứng dụng trong thị giác máy tính. Hiện tại YOLO đã phát triển tới v8, tuy nhiên tốc độ của YOLOv5 cũng khá đáng kể rồi.
Tham khao3: https://orangepi.vn/huong-dan-cai-dat-va-test-thu-yolov5-voi-orange-pi-3b.html
Bước 1: cài đặt Ubuntu/Debian trên eMMC thì tốc độ sẽ nhanh hơn trên NVME.
Bước 2: Cài đặt các phần mềm cần thiết
Chạy bản cập nhật hệ điều hành của bạn bằng lệnh sudo apt update && sudo apt upgrade -y
Tiếp theo HDH của bạn sẽ có 2 phiên bản Python, chỉ sử dụng Python3 bằng cách cài đặt như sau sudo apt install python-is-python3
Cài đặt Python PIP: sudo apt install python3-pip python3-dev
Cài đặt các phần mềm khác khi bạn chưa có HDH sudo apt install gcc build-essential
Bước 3: Chuẩn bị cho công việc kiểm tra nhận dạng vật thể (phát hiện đối tượng)
- Bạn cần nhận diện Camera, hãy sử dụng 1 webcam có chất lượng tốt. Nếu như Orange Pi 5 Plus bạn có thể sử dụng 1 camera chất lượng cao cho đầu vào HDMI IN lên tới 4K thì Orange Pi 3B bạn chỉ có thể sử dụng webcam, hãy chọn 1 webcam chất lượng tốt.
- Một mạng lưới internet tốt để tải về mã nguồn và các thư viện python, công việc này rất cần thiết vì khi cài đặt các phần mềm python, chúng sẽ tự động tải về các thư viện phụ thuộc (phụ thuộc). Tôi đã cài đặt nhiều lần nhưng không thể kết nối được với thư viện máy chủ để tải về, mà tôi nghĩ rằng mình sai ở đâu đó. Trên thực tế, đường truyền chỉ là quá xa.
- Màn hình bàn phím thao tác trên Orange Pi 3B, bạn không thể chạy thao tác này qua lệnh CLI màn hình, vì vậy hãy cắm màn hình vào HDMI trên Orange Pi 3B, thêm bàn phím và sử dụng nó cho các thao tác sau này . Bạn cũng có thể VNC vào Orange Pi 3B bằng cách cài đặt X11VNC trên Orange Pi , bằng cách nào thuận tiện thì bạn sử dụng.Mở terminal trên hệ điều hành, tải về mã nguồn này trên github
git clone https://github.com/thanhtantran/rknn-single-thread-3566
Trên thư mục này đã có đủ công cụ cho bạn. Chúng tôi sẽ sử dụng thư viện RKNN Toolkit Lite trên github này của Rockchip https://github.com/rockchip-linux/rknn-toolkit2 Trên các thư mục rknn-single-thread-3566
bạn cài đặt RKNN Toolkit Lite bằng lệnh sau pip install rknn_toolkit_lite2-1.5.0-cp39-cp39-linux_aarch64.whl
Tiếp theo đó cài đặt openCV trên Python pip install opencv-python
Trong quá trình quá trình cài đặt, PIP sẽ luôn cài đặt cho bạn các thư viện cần thiết như numpy, psutils hay ruamel. Nếu không chắc chắn bạn có thể cài đặt riêng lẻ trên github của tôi thì cũng đã có sẵn 1 model create will và chuyển đổi sang dạng rknn là yolov5s.rknn. Việc đào tạo mô hình và chuyển đổi mô hình là một quá trình phức tạp khác, chúng tôi sẽ nghiên cứu sau. Tiếp đến, tìm xem Webcam của bạn được cài đặt trên HDH nằm ở đâu, thông thường nó sẽ là /dev/video0 hoặc /dev/ video1. Bạn chỉ cần sửa tệp main.py bằng trình soạn thảo nào (ví dụ nano) rồi sửa dòng cap = cv2.VideoCapture(0) thành số tương ứng.Cuối cùng hãy thử thử RKNN Toolkit Lite và mô hình bằng lệnhpython triển khai.pyNếu Kết quả trả về hình ảnh như thế này là thư viện và mô hình đã được cài đặt thành công.
Việc tiếp theo đơn giản hơn, chạy tệp nhận biết thực tế thời gian. Quá trình này trên máy tính gọi là Inference – hay gọi là suy đoán.
python camera.py
Bạn sẽ thấy cửa sổ camera hiện lên và Orange Pi 3B đang nhận diện các vật thể trong camera theo thời gian thực hiện tới 28 khung hình / giây theo thư viện đào tạo đã có sẵn.
Bạn sẵn sàng rằng liệu Orange Pi 3B có chạy quá nóng như các sản phẩm máy tính Pi khác không có NPU không? Hãy thử bằng 1 CLI cửa sổ khác với lệnh htop
, CPU chỉ chạy khoảng nơi 20%.
Thế còn NPU? Tôi đã sẵn sàng tệp rkcat.sh trong nguồn mã thư mục, chạy trên 1 lệnh CLI cửa sổ khác bash rkcat.sh
, bạn sẽ thấy rằng Orange Pi 3B chỉ chạy ở đâu đạt 50-60% NPU của nó.
Bạn muốn tăng cường sử dụng? Trong file camera.py có 2 hằng số là
OBJ_THRESH = 0.25
NMS_THRESH = 0.45
Chỉnh sửa các thông số này để xem điều kỳ diệu nào sẽ xảy ra.
cài đặt build dependency
apt install abseil cmake go grpc protobuf wget
sudo apt update && sudo apt install golang
# clone kho
git clone https://github.com/go-skynet/LocalAI.git
cd LocalAI
# build nhị phân
make build
# defined GOROOT thủ công
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential debootstrap rsync gpg squashfs-tools git
wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz
tar – xvf go1.20.2.linux-amd64.tar.gz
sudo mv go /usr/local
export GOPATH=/usr/local/go/bin
export GOROOT=/usr/local/go
export PATH= $PATH : $GOROOT /bin: $GOPATH /bin
go build go build main.go https://localai.io/basics/build/ kiểm tra phiên bản (1.20.2): go version
clone https://github.com/lxc/distrobuilder
cd distrobuilder
make
mv /usr/local/go/bin/bin/distrobuilder /usr/local/bin/
# Tải gpt4all-j xuống models/
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j
# Sử dụng mẫu từ các ví dụ
cp -rf prompt-templates/ggml-gpt4all-j.tmpl models/
# Chạy LocalAI
./local-ai –models-path=./models/ –debug=true # Bây giờ API có thể truy cập được tại localhost:8080 curl http://localhost:8080/v1/models curl http://localhost:8080/v1/chat/completions -H “Content-Type: application/json” -d ‘{ “model”: “ggml-gpt4all-j”, “messages”: [{“role”: “user”, “content”: “How are you?”}], “temperature”: 0.9 }’
Nó là chữ viết tắt của “URL khách hàng”, dùng để kiểm tra kết nối tới URL và lệnh cuộn tròn thường được sử dụng để truyền tải dữ liệu. Curl được cung cấp bởi libcurl, là một URL truyền thư viện phía máy khách. Hãy cùng chúng tôi tìm hiểu cách sử dụng nó.
Lệnh Curl hỗ trợ các giao thức bên dưới:
- HTTP và HTTPS
- FTP và FTPS
- IMAP và IMAPS
- POP3 và POP3S
- SMB và SMBS
- SFTP
- SCP
- TELNET
- GOPHER
- LDAP và LDAPS
- SMTP và SMTPS
Đây là những giao thức được hỗ trợ quan trọng nhất, đồng thời có các giao thức khác ít phổ biến hơn.
sudo apt-get remove golang-go
sudo apt-get remove --auto-remove golang-go
công việc này sẽ loại bỏ mọi gói liên quan đến go. Sau đó bạn có thể chạy
sudo apt-get update
Nhưng nếu bạn đã làm điều đó và không có tác dụng gì thì bạn có thể làm điều này
sudo rm -rf /usr/local/go
https://github.com/janhq/jan
Một khuôn mặt cho thị thức học tập có giám sát từ giọng nói: wav2graph
git clone https://github.com/leduckhai/wav2graph.git
Trước khi bắt đầu, hãy tạo một môi trường Virtual Python và cài đặt các phụ thuộc cần thiết.
pip install -r require.txt
2. Cấu hình Mã thông báo khuôn mặt
bạn sẽ cần mã hóa API Hugging Face thông báo để truy cập một số tài nguyên được sử dụng trong dự án này. Chèn thông báo Hugging Face của bạn mã hóa vào các cấu hình YAML có liên quan.
3. Chạy thử nghiệm
Sau khi thiết lập môi trường cài đặt và hoàn tất cấu hình, bạn có thể thử nghiệm bằng cách cung cấp lệnh.
sh chạy.sh
Biên soạn máy học cho Mali
Biên dịch máy học (MLC) là một công nghệ tự động biên dịch nổi tiếng và tối ưu hóa khối lượng công việc học máy và phát triển khối lượng công việc được biên dịch thành một tập hợp các chương trình phụ trợ. Tại thời điểm viết bài, dựa trên Apache TVM Unity, MLC hỗ trợ các nền tảng bao gồm trình duyệt (WebGPU, WASM), GPU NVIDIA (CUDA), GPU AMD (ROCm, Vulkan), GPU Intel (Vulkan), iOS và MacBook (Kim loại), Android (OpenCL) và GPU Mali (https://blog.mlc.ai/2024/04/20/GPU-Accelerated-LLM-on-Orange-Pi).
Biên dịch ML có thể tổng hợp hóa cho Mali Codegen
MLC được xây dựng trên Apache TVM Unity, một giai đoạn tổng hợp để biên dịch các mô hình học trên nhiều phần cứng và các phần hỗ trợ khác. Để biên dịch LLM sang GPU Mali, chúng tôi sử dụng lại toàn bộ đường biên dịch hiện có mà không cần bất kỳ mã hóa tối ưu nào. Cụ thể hơn, chúng tôi đã phát triển thành công các mô hình Llama-2/3 và RedPajama với các bước sau:
Tái sử dụng các mô hình hóa tối ưu hóa các bước, bao gồm bảo lượng tử hóa, hợp nhất, địa phương tối ưu hóa, vv;
Tái sử dụng chung GPU không hạt nhân tối ưu hóa được viết bằng TVM TensorIR và chuyển hướng nó tới GPU Mali;
Tái sử dụng codegen OpenCL hỗ trợ chương trình từ TVM và chuyển hướng nó sang GPU Mali;
Tái sử dụng hiện tại giao diện người dùng, bao gồm Python API, CLI và REST API.
Hãy thử xem
phần cung cấp hướng dẫn từng bước này để bạn có thể tự thử trên thiết bị pi màu cam của mình. Ở đây, chúng tôi sử dụng Llama-3-8B-Instruct-q4f16_1-MLClàm ví dụ chạy. Bạn có thể thay thế bằng Llama-2-7b-chat-hf-q4f16_1hoặc Llama-2-13b-chat-hf-q4f16_1(yêu cầu bo mạch 16GB).
Trước
tiên, vui lòng làm theo hướng dẫn tại đây để thiết lập bo mạch RK3588 với OpenCL điều khiển. Sau đó, sao chép MLC-LLM từ nguồn và tải xuống số lượng và thư viện sẵn có.
# clone mlc-llm từ GitHub
git clone –recursive https://github.com/mlc-ai/mlc-llm.git && cd mlc-llm
# Tải xuống các trọng số và thư viện được dựng sẵn
git lfs install
mkdir -p dist/prebuilt && cd dist/prebuilt
git clone https://github.com/mlc-ai/binary-mlc-llm-libs.git lib
git clone https://huggingface.co/mlc-ai/Llama-3-8B-Instruct-q4f16_1-MLC
cd ../../..
Hãy thử CLI
Xây dựng mlc_llm_cli từ mã nguồn
cd mlc-llm/
# tạo thư mục build
mkdir -p build && cd build
# tạo cấu hình build
python3 ../cmake/gen_cmake_config.py
# build `mlc_llm python package`
cmake .. && cmake –build . –parallel $(nproc) && cd ..
Xác định cài đặt của mình
# dự kiến sẽ thấy , `libmlc_llm.so` và `libmlc_llm_module.so`
ls -l ./build/
Hãy thử API Python
Xây dựng thời gian chạy TVM
# clone from GitHub
git clone –recursive https://github.com/mlc-ai/relax.git tvm_unity && cd tvm_unity/
# tạo thư mục build
mkdir -p build && cd build
# tạo cấu hình build
cp ../cmake/config.cmake . && echo “set(CMAKE_BUILD_TYPE RelWithDebInfo)\nset(USE_OPENCL ON)” >> config.cmake
# build `TVM runtime`
cmake .. && cmake –build . –target runtime –parallel $(nproc) && cd ../..
Thiết lập đường dẫn Python (vui lòng đặt thành bashrc hoặc zshrcđể thiết lập liên tục)
export TVM_HOME=$(pwd)/tvm_unity
export MLC_LLM_HOME=$(pwd)/mlc-llm
export PYTHONPATH=$TVM_HOME/python:$MLC_LLM_HOME/python:${PYTHONPATH}
Chạy tập lệnh python sau.
từ mlc_llm nhập ChatModule
từ mlc_llm.callback nhập StreamToStdout
cm = ChatModule(
mô hình=”dist/prebuilt/Llama-3-8B-Instruct-q4f16_1-MLC”,
mô hình_lib_path=”dist/prebuilt/lib/Llama-3-8b-Instruct/Llama-3-8B-Instruct-q4f16_1-mali.so”,
thiết bị=”opencl”
)
# Tạo phản hồi cho lời nhắc cho trước
cm.generate(prompt=”Ý nghĩa của cuộc sống là gì?”, progress_callback=StreamToStdout(callback_interval=2))
# In số liệu thống kê hiệu suất điền trước và giải mã
print(f”Statistics: {cm.stats()}\n”)
Thảo luận và công việc tương lai
Các thử nghiệm hiện tại của chúng tôi cho thấy các mô hình 8B có thể là một điểm mạnh. Mô hình Llama-3-8b-Instruct có thể cung cấp tới 2 tok/giây và trải nghiệm trò chơi khác. Cũng có khả năng cải thiện, công cụ có thể xung quanh các chuyển đổi số nguyên sang số thực. Tiến về phía trước, chúng tôi sẽ giải quyết các vấn đề liên quan và cải thiện hiệu suất của GPU Mali.
Bài đăng này góp phần vào nỗ lực của chúng tôi nhằm mục đích hợp lý hóa LLM vào các thiết bị giá cả phải chăng và mang AI đến với mọi người. Những nỗ lực trong tương lai của chúng tôi sẽ tập trung vào công việc khai thác những tiến bộ trong máy tính bảng đơn, tinh chỉnh các phần mềm đau đớn như OpenCL và MLC-LLM, và khám phá các ứng dụng rộng hơn như thiết bị nhà thông minh. Những nỗ lực hợp tác trong cộng đồng nguồn mở và cam kết học hỏi và thích nghi liên tục sẽ đóng vai trò sau đó thúc đẩy công việc điều hướng môi trường phát triển khai LLM trên phần cứng mới nổi đang phát triển.
Xây dựng công cụ kotaemon để trả lời câu hỏi trên các tài liệu địa phương.
Dự án này là người dùng giao diện người dùng RAG cho cả người dùng cuối cùng muốn thực hiện QA trên tài liệu của họ và các nhà phát triển muốn xây dựng quy trình RAG của riêng mình.
Đối với người dùng cuối: Giao diện người dùng tối giản và gọn gàng dành cho QA dựa trên RAG. Hỗ trợ các nhà cung cấp API LLM (OpenAI, AzureOpenAI, Cohere, vv) và LLM local (thông qua ollamavà llama-cpp-python). Cài đặt lệnh dễ dàng.
Dành cho nhà phát triển: Một công cụ khó khăn để xây dựng cơ sở tài liệu chất lượng đảm bảo trên RAG của riêng bạn. Tùy chỉnh và xem quy trình RAG của bạn hoạt động như thế nào với giao diện người dùng được cung cấp (xây dựng bằng Gradio)
Sử dụng thử tại trang https://huggingface.co/spaces/cin-model/kotaemon-demo
Các tính năng chính.
- Lưu trữ tài liệu web QA (RAG) giao diện người dùng của riêng bạn . Hỗ trợ nhiều người đăng nhập, sắp xếp các tệp của bạn trong bộ sưu tập riêng tư/công khai, cộng tác và chia sẻ cuộc trò chuyện yêu thích của bạn với người khác.
- Tổ chức các mô hình LLM & Embedding của bạn . Hỗ trợ cả địa phương LLM và các nhà cung cấp API phổ biến (OpenAI, Azure, Ollama, Groq).
- Đường ống RAG lai . Đường ống RAG mặc định hợp lý với trình thu thập lai (toàn văn bản và thú vị) + xếp hạng lại để đảm bảo chất lượng thu thập tốt nhất.
- Hỗ trợ đa phương thức QA . Thực hiện Trả lời câu hỏi trên nhiều tài liệu với hình ảnh và bảng được hỗ trợ. Đa phương thức tài liệu phân tích được hỗ trợ (tùy chọn có thể chọn trên giao diện người dùng).
- Trích dẫn nâng cao với bản xem trước tài liệu . Theo mặc định, hệ thống sẽ cung cấp trích dẫn chi tiết để đảm bảo tính chính xác của câu trả lời LLM. Xem trích dẫn của bạn (bao gồm các số liên quan) trực tiếp trong trình xem PDF trong trình duyệt với các điểm nổi bật. Cảnh báo khi đường ống xuất ra trả về các bài viết có liên kết thấp.
- Hỗ trợ các phương pháp suy luận phức tạp . Sử dụng phân tích câu hỏi để trả lời câu hỏi phức tạp/nhiều bước nhảy của bạn. Hỗ trợ suy luận dựa trên hoạt động với ReAct, ReWOO và các hoạt động khác.
- Người dùng cài đặt giao diện có thể cấu hình . Bạn có thể điều chỉnh hầu hết các khía cạnh của quá trình truy cập và tạo trên giao diện người dùng (bao gồm cả lời nhắc).
- Có thể mở rộng . Được xây dựng trên Gradio, bạn có thể tùy chỉnh bất kỳ thành phần UI nào theo ý muốn. Ngoài ra, chúng tôi còn hướng dẫn các mục tiêu hỗ trợ hỗ trợ nhiều chỉ mục cài đặt chiến lược và truy xuất tài liệu. Chỉ mục cài đặt đường ống GraphRAG được cung cấp làm ví dụ.
Cài đặt
https://github.com/Cinnamon/kotaemon
https://cinnamon.github.io/kotaemon/
Tải xuống kotaemon-app.ziptệp từ https://github.com/Cinnamon/kotaemon/releases/latest/
File nén đã được tải xuống. Điều hướng đến thư mục script và khởi chạy cài đặt phù hợp với hệ điều hành của bạn:
Windows: run_windows.bat. Chỉ cần nhấp vào tệp file.
macOS:run_macos.sh
Click chuột phải vào tệp của bạn và chọn Mở bằng và Khác. Kích hoạt tất cả ứng dụng và chọn Terminal.
LƯU Ý: Nếu bạn luôn muốn mở tệp đó bằng Terminal, hãy chọn Luôn mở bằng. Từ bây giờ, hãy nhấp vào tệp của bạn và nó sẽ hoạt động.
Linux: run_linux.sh. Vui lòng chạy lệnh bằng terminal bash run_linux.shtrong của bạn.
Sau khi cài đặt, quá trình cài đặt sẽ yêu cầu người dùng giao diện ktem khởi động, vui lòng trả lời Y để tiếp tục. Nếu được khởi chạy, ứng dụng sẽ tự động mở trong trình duyệt của bạn. http://127.0.0.1:7860
Để khởi động ứng dụng sau khi thiết lập ban đầu hoặc có bất kỳ thay đổi nào, chỉ cần chạy lệnh: bash ./kotaemon-app/scripts/run_linux.sh.
môi trường conda tại /home/orangepi/kotaemon-app/install_dir/env
[dữ liệu nltk]
Setting LLM local & nhúng mô hình
https://github.com/Cinnamon/kotaemon/blob/main/docs/local_model.md
Máy chủ tương thích Ollama OpenAI (khuyến nghị)
Bắt đầu và chạy với các mô hình ngôn ngữ lớn. https://github.com/ollama/ollama
Cài đặt ARM64
Tải xuống và giải nén gói dành riêng cho ARM64:
curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
sudo tar -C /usr -xzf ollama-linux-arm64.tgz
Thêm Ollama làm dịch vụ khởi động (khuyến nghị)
Tạo người dùng và nhóm cho Ollama:
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
Tạo tệp dịch vụ trong:/etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment=”PATH=$PATH”[Install]
WantedBy=default.target
Sau đó bắt đầu dịch vụ:
sudo systemctl daemon-reload
sudo systemctl enable ollama
Trong khi Ollama hỗ trợ một số mô hình, bạn nên sử dụng những mô hình đơn giản hơn như Gemma (2B), Dolphin Phi, Phi 2 và Orca Mini, vì chạy LLM có thể khá tốn kém trên Raspberry Pi của bạn. Nếu bạn có bo mạch Pi với RAM 8 GB, bạn có thể thử chạy 7B LLM, mặc dù hiệu suất sẽ không thực sự ấn tượng. Model nhỏ hơn (ví dụ gemma:2b
: phi
hoặc tinyllama
có thể chạy nhanh hơn)
Để chạy và trò chuyện:
Model | Parameters | Size | Download |
---|
Llama 3.1 | 8B | 4.7GB | ollama run llama3.1 |
Llama 3.1 | 70B | 40GB | ollama run llama3.1:70b |
Llama 3.1 | 405B | 231GB | ollama run llama3.1:405b |
Phi 3 Mini | 3.8B | 2.3GB | ollama run phi3 |
Phi 3 Medium | 14B | 7.9GB | ollama run phi3:medium |
Gemma 2 | 2B | 1.6GB | ollama run gemma2:2b |
Gemma 2 | 9B | 5.5GB | ollama run gemma2 |
Gemma 2 | 27B | 16GB | ollama run gemma2:27b |
Mistral | 7B | 4.1GB | ollama run mistral |
Moondream 2 | 1.4B | 829MB | ollama run moondream |
Neural Chat | 7B | 4.1GB | ollama run neural-chat |
Starling | 7B | 4.1GB | ollama run starling-lm |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
LLaVA | 7B | 4.5GB | ollama run llava |
Solar | 10.7B | 6.1GB | ollama run solar |
ollama run llama3.1
Đợi vài phút trong khi nó tải xuống và tải mô hình, sau đó bắt đầu trò chuyện! Nó sẽ đưa bạn đến lời nhắc trò chuyện tương tự như thế này.
ollama run llama3
>>> Who was the second president of the united states?
The second President of the United States was John Adams. He served from 1797 to 1801, succeeding
George Washington and being succeeded by Thomas Jefferson.
>>> Who was the 30th?
The 30th President of the United States was Calvin Coolidge! He served from August 2, 1923, to March 4,
1929.
>>> /bye
Bạn có thể trò chuyện cả ngày trong phần mềm trò chuyện này, nhưng nếu bạn muốn thứ gì đó giống ChatGPT hơn thì dùng Open WebUI là một giao diện người dùng có thể mở rộng, tự lưu trữ.
Ollama hỗ trợ nhập các mô hình GGUF trong Modelfile: Tạo một tệp có tên , với một hướng dẫn với đường dẫn tệp cục bộ đến mô hình bạn muốn nhập. ModelfileFROM
FROM ./vicuna-33b.Q4_0.gguf
Tạo mô hình trong Ollama
ollama create example -f Modelfile
Chạy mô hình
ollama run example
>>> hi
Hello! It’s your friend Mario.
Các mô hình từ thư viện Ollama có thể được tùy chỉnh với một lời nhắc. Ví dụ: để tùy chỉnh mô hình:llama3.1
ollama pull llama3.1
Tạo tệp :Modelfile
FROM llama3.1
# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1
# set the system message
SYSTEM “””
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
“””
Tiếp theo, tạo và chạy mô hình:
ollama create mario -f ./Modelfile
ollama run mario
>>> hi
Hello! It’s your friend Mario.
Tạo mô hình
ollama create được sử dụng để tạo một mô hình từ một Modelfile.
ollama create mymodel -f ./Modelfile
Kéo mô hình
ollama pull llama3.1
Lệnh này cũng có thể được sử dụng để cập nhật mô hình cục bộ. Chỉ có sự khác biệt sẽ được kéo.
Xóa mô hình
ollama rm llama3.1
Sao chép mô hình
ollama cp llama3.1 my-model
Đầu vào đa dòng
Đối với nhập nhiều dòng, bạn có thể ngắt dòng bằng :”””
>>> “””Hello,
… world!
… “””
I’m a basic program that prints the famous “Hello, world!” message to the console.
Mô hình đa phương thức
ollama run llava “What’s in this image? /Users/jmorgan/Desktop/smile.png”
The image features a yellow smiley face, which is likely the central focus of the picture.
Chuyển lời nhắc làm đối số
$ ollama run llama3.1 “Summarize this file: $(cat README.md)”
Ollama is a lightweight, extensible framework for building and running language models on the local machine. It provides a simple API for creating, running, and managing models, as well as a library of pre-built models that can be easily used in a variety of applications.
Hiển thị thông tin mô hình
ollama show llama3.1
Liệt kê các mô hình trên máy tính của bạn
ollama list
Bắt đầu Ollama
ollama serve được sử dụng khi bạn muốn khởi động Ollama mà không cần chạy ứng dụng máy tính để bàn.
khởi động máy chủ:
./ollama serve
Cuối cùng, trong một shell riêng, chạy một model:
./ollama run llama3.1
REST API
API của Ollama. Nếu bạn muốn tích hợp Ollama vào các dự án của riêng bạn, Ollama cung cấp cả API riêng của nó cũng như API tương thích với OpenAI. Các API tự động tải LLM được lưu trữ cục bộ vào bộ nhớ, chạy suy luận, sau đó dỡ tải sau một khoảng thời gian chờ nhất định. Bạn phải kéo bất kỳ mô hình nào bạn muốn sử dụng trước khi có thể chạy mô hình thông qua API, điều này có thể dễ dàng thực hiện thông qua dòng lệnh.
ollama pull mistral
Ollama có API riêng của họ, trong đó cũng có một số SDK cho Javascript và Python.
Sau đây là cách bạn có thể thực hiện suy luận tạo văn bản đơn giản bằng API.
curl http://localhost:11434/api/generate -d ‘{
“model”: “mistral”,
“prompt”:”Why is the sky blue?”
}’
Và đây là cách bạn có thể thực hiện suy luận tạo cuộc trò chuyện bằng API.
curl http://localhost:11434/api/chat -d ‘{
“model”: “mistral”,
“messages”: [
{ “role”: “user”, “content”: “why is the sky blue?” }
]
}’
Thay thế modeltham số bằng bất kỳ mô hình nào bạn muốn sử dụng. Xem tài liệu API chính thức để biết thêm thông tin.
API tương thích OpenAI
Bạn cũng có thể sử dụng Ollama như một sự thay thế (tùy thuộc vào trường hợp sử dụng) với các thư viện OpenAI. Sau đây là một ví dụ từ tài liệu của họ .
# Python
from openai import OpenAI
client = OpenAI(
base_url=’http://localhost:11434/v1/’,
# required but ignored
api_key=’ollama’,
)
chat_completion = client.chat.completions.create(
messages=[
{
‘role’: ‘user’,
‘content’: ‘Say this is a test’,
}
],
model=’mistral’,
)
Điều này cũng áp dụng được với Javascript.
// Javascript
import OpenAI from ‘openai’
const openai = new OpenAI({
baseURL: ‘http://localhost:11434/v1/’,
// required but ignored
apiKey: ‘ollama’,
})
const chatCompletion = await openai.chat.completions.create({
messages: [{ role: ‘user’, content: ‘Say this is a test’ }],
model: ‘llama2’,
})
Ollama có API REST để chạy và quản lý các mô hình.
Tạo phản hồi trên Powershell
curl http://localhost:11434/api/generate -d ‘{“model”: “llama3.1”, “prompt”:”Why is the sky blue?” }’
Trò chuyện với người mẫu
curl http://localhost:11434/api/chat -d ‘{ “model”: “llama3.1”,
“messages”: [{ “role”: “user”, “content”: “why is the sky blue?” }]}’
Xem nhật ký
Để xem nhật ký của Ollama đang chạy như một dịch vụ khởi động, hãy chạy:
journalctl -e -u ollama
Gỡ cài đặt
Xóa dịch vụ ollama:
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
Xóa nhị phân ollama khỏi thư mục thùng rác của bạn (, , hoặc ):/usr/local/bin/usr/bin/bin
sudo rm $(which ollama)
Xóa các mô hình đã tải xuống và người dùng và nhóm dịch vụ Ollama:
sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama
Ollama Windows Preview
powershell: (Invoke-WebRequest -method POST -Body ‘{“model”:”llama3″, “prompt”:”Why is the sky blue?”, “stream”: false}’ -uri http://localhost:11434/api/generate ).Content | ConvertFrom-json
Khi tôi thực hiện ollama serve, tôi phải đối mặt với vấn đề dưới đây:
Lỗi: nghe tcp 127.0.0.1:11434: bind: Chỉ cho phép một lần sử dụng mỗi địa chỉ socket (giao thức/địa chỉ mạng/cổng).
Mở brower localhost:11434 thì Ollama is running
Vì vậy, nếu bạn tắt cả hai hoặc ít nhất là tắt quá trình “ứng dụng ollama”, nó sẽ giải quyết vấn đề đó. Đây là phím tắt của bạn: Get-Process ollama* | Stop-Process -Force | ollama serve
Ollama trên Windows lưu trữ các tệp ở một vài vị trí khác nhau. Bạn có thể xem chúng trong Cửa sổ Explorer bằng cách nhấn và gõ: cmd
explorer %LOCALAPPDATA%\Ollama chứa nhật ký và các bản cập nhật đã tải xuống
app.log chứa hầu hết các bản ghi được phẫn nộ từ ứng dụng GUI
server.log chứa nhật ký máy chủ gần đây nhất
upgrade.log chứa đầu ra nhật ký để nâng cấp
explorer %LOCALAPPDATA%\Programs\Ollama chứa các tệp nhị phân (Trình cài đặt thêm tệp này vào đường dẫn người dùng của bạn)
explorer %HOMEPATH%\.ollama chứa các mô hình và cấu hình
explorer %TEMP% chứa các tệp thực thi tạm thời trong một hoặc nhiều thư mụcollama*
Open WebUI
Open WebUI cung cấp phương pháp cài đặt. Python 3.11 là bắt buộc đối với phương pháp này. Cài đặt Open WebUI : Mở terminal và chạy lệnh sau:
pip install open-webui
Bắt đầu Mở WebUI : Sau khi cài đặt, hãy khởi động máy chủ bằng cách sử dụng:
open-webui serve
Phương pháp này cài đặt tất cả các phụ thuộc cần thiết và khởi động Open WebUI, cho phép thiết lập đơn giản và hiệu quả. Sau khi cài đặt, bạn có thể truy cập Open WebUI tại http://localhost:8080
Open WebUI bao gồm hai thành phần chính: frontend và backend (hoạt động như một proxy ngược, xử lý các tệp frontend tĩnh và các tính năng bổ sung)
git clone https://github.com/open-webui/open-webui.git
cd open-webui
# Đối với Windows: copy .env.example .env
# Copying required .env file Đối với Linux/macOS:
cp -RPp .env.example .env
npm install
npm run build
Đối với Linux/macOS: cd ./backend
Đối với Windows: cd .\backend
# Optional: To install using Conda as your development environment, follow these instructions:
# Create and activate a Conda environment
conda create –name open-webui-env python=3.11
conda activate open-webui-env
pip install -r requirements.txt -U
start.bat
Bạn nên mở Open WebUI và chạy tại http://localhost:8080/ .
Tôi đã thử sử dụng Orca Mini và Phi 2 trên Raspberry Pi 5 của mình và chúng hoạt động khá tốt. Tuy nhiên, những hạn chế của SBC trở nên rõ ràng ngay khi tôi chạy các mô hình 7B như Mistral và Llama. Ngoài độ trễ dài sau khi nhập lời nhắc, LLM khá chậm trong việc tạo văn bản, với tốc độ trung bình là 1–2 mã thông báo mỗi giây.
Mặc dù việc biến bo mạch Raspberry Pi của bạn thành trình tạo văn bản AI là một dự án nhỏ thú vị, nhưng thiết bị nhỏ bé này hầu như không thể phát huy hết sức mạnh của nó khi chạy các LLM phức tạp hơn. Do đó, bạn nên cân nhắc tìm hiểu về PC AI mạnh mẽ nếu bạn muốn phản hồi nhanh hơn từ các LLM yêu thích của mình.
Xây dựng ứng dụng máy tính web — bằng Python
https://github.com/gradio-app/gradio
Gradio là một gói mở nguồn Python cho phép bạn nhanh chóng xây dựng bản demo hoặc ứng dụng web cho máy học, API hoặc bất kỳ tùy chọn Python chức năng nào. Sau đó, bạn có thể chia sẻ liên kết đến bản demo hoặc web ứng dụng của mình chỉ trong vài giây bằng cách sử dụng tính năng chia sẻ của Gradio. Không cần kinh nghiệm về JavaScript, CSS hoặc lưu trữ web! Ứng dụng Gradio có thể được phát triển miễn phí trên Hugging Face Spaces .
Điều kiện tiên quyết : Gradio yêu cầu Python 3.8 trở lên
Chúng tôi khuyên bạn nên cài đặt Gradio bằng pip, được bao gồm theo mặc định trong Python. Chạy lệnh này trong terminal hoặc lệnh command của bạn:
pip install gradio
Tốt nhất là cài đặt Gradio trong môi trường ảo. Môi trường ảo trong Python là một thư mục độc lập chứa bản cài đặt Python cho một phiên bản cụ thể Python, cùng với một số gói bổ sung. Môi trường này được phân biệt từ bản cài đặt Python chính và các môi trường ảo khác. Mỗi môi trường có thể có gói Python được cài đặt độc lập, cho phép bạn duy trì các thư viện phiên bản khác nhau cho các dự án khác nhau mà không bị xung đột.
Sử dụng môi trường ảo để đảm bảo rằng bạn có thể làm việc trên nhiều dự án Python trên cùng một máy mà không có bất kỳ xung đột nào. Điều này đặc biệt hữu ích khi các dự án khác nhau yêu cầu các phiên bản khác nhau của cùng một thư viện. Nó cũng đơn giản hóa việc quản lý phụ thuộc và tăng cường khả năng tái tạo, bởi vì bạn có thể dễ dàng chia sẻ các yêu cầu của dự án với những người khác. Mở Dấu nhắc Lệnh và điều hướng đến dự án thư mục của bạn. Sau đó tạo môi trường ảo bằng lệnh sau:
python -m venv gradio-env
Lệnh này tạo một dự án thư mục gradio-envtrong thư mục mới của bạn, chứa bản cài đặt Python mới. Kích hoạt môi trường ảo, hãy chạy:
.\gradio-env\Scripts\kích hoạt
Kích hoạt môi trường ảo : Để kích hoạt môi trường ảo trên MacOS/Linux, hãy sử dụng:
nguồn gradio-env/bin/activate
Lệnh nhắc của bạn bây giờ sẽ chỉ ra rằng bạn đang làm việc bên trong gradio-env. Lưu ý: bạn có thể chọn tên khác cho môi trường ảo gradio-env tên của mình trong bước này. Bây giờ bạn đã có thể cài đặt Gradio bằng pip: pip install gradio
Xác minh : Để xác định cài đặt, hãy chạy pythonrồi:
import gradio as gr
print(gr.__version__)
Thao tác này sẽ hiển thị phiên bản cài đặt Gradio đã cài đặt.
Bằng cách thực hiện theo các bước này, bạn có thể cài đặt thành công Gradio trong môi trường ảo trên hệ điều hành của mình, đảm bảo không gian làm việc sạch sẽ và được quản lý cho các dự án Python của bạn.
https://www.gradio.app/main/guides/installing-gradio-in-a-virtual-environment
Xây dựng bản demo đầu tiên
Bạn có thể chạy Gradio trong trình soạn thảo yêu thích mã hóa của mình, cửa sổ Jupyter, Google Colab, gradio.app/playground hoặc bất kỳ nơi nào khác mà bạn viết Python. Hãy cùng viết ứng dụng Gradio đầu tiên của bạn:
nhập gradio dưới dạng gr
def hello(tên, cường độ):
trả về “Xin chào, ” + tên + “!” * int(cường độ)
demo = gr.Interface(
fn=greet,
inputs=[“text”, “slider”],
outputs=[“text”],
)
demo.launch()
Bây giờ, hãy chạy mã của bạn. Nếu bạn đã viết mã Python trong tệp có tên app.py, thì bạn sẽ chạy python app.pytừ thiết bị đầu cuối.
Bản demo bên dưới sẽ mở trong trình duyệt tại http://localhost:7860 nếu chạy từ tệp tệp. Nếu bạn đang chạy quá trình sao chép sổ sách, bản demo sẽ được hiển thị trong quá trình sao chép sổ sách. Nhập tên của bạn vào hộp văn bản bên trái, kéo thanh trượt, sau đó nhấn nút Gửi. Bạn sẽ tìm thấy lời chào thân thiện ở bên phải.
Mẹo:
Khi phát triển cục bộ, bạn có thể chạy ứng dụng Gradio của mình ở chế độ tải lại nóng, chế độ này sẽ tự động tải lại ứng dụng Gradio bất cứ khi nào bạn thực hiện thay đổi đối với tệp. Để thực hiện công việc này, chỉ cần nhập gradio trước tên tệp thay vì python. Trong ví dụ trên, bạn sẽ nhập: `gradio app.py` ở đầu thiết bị cuối cùng của mình.
Chạy ứng dụng Gradio trên máy chủ của bạn với Nginx
trong một số trường hợp, bạn có thể muốn phát triển ứng dụng Gradio trên máy chủ của riêng mình. Bạn có thể đã sử dụng Nginx, một máy chủ có hiệu suất cao, để phục vụ trang web của mình (ví dụ https://www.example.com), và bạn muốn đính kèm Gradio vào một phụ cụ đường dẫn thể trên trang web của mình (ví dụ https://www.example.com/gradio-demo).
Bắt đầu bằng cách chỉnh sửa cấu hình tệp Nginx trên web máy chủ của bạn. Theo mặc định, tệp này nằm tại:/etc/nginx/nginx.conf
Trong khối http, thêm dòng sau để bao gồm cấu hình khối máy chủ từ một tệp riêng biệt:
include /etc/nginx/sites-enabled/*;
Tạo một tệp mới trong /etc/nginx/sites-available thư mục (tạo thư mục nếu chưa tồn tại), sử dụng tên tệp đại diện cho ứng dụng của bạn, ví dụ:sudo nano /etc/nginx/sites-available/my_gradio_app
Dán nội dung sau vào trình soạn thảo tệp của bạn:
server {
listen 80;
server_name example.com www.example.com; # Change this to your domain name
location /gradio-demo/ { # Change this if you’d like to server your Gradio app on a different path
proxy_pass http://127.0.0.1:7860/; # Change this if your Gradio app will be running on a different port
proxy_buffering off;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Mẹo: Việc thiết lập các tiêu đề `X-Forwarded-Host` và `X-Forwarded-Proto` rất quan trọng vì Gradio sử dụng các tiêu đề này, kết hợp với tham số `root_path` được thảo luận bên dưới, để xây dựng URL công khai mà ứng dụng của bạn đang được phục vụ. Gradio sử dụng URL công khai để lấy nhiều tài sản tĩnh khác nhau. Nếu các tiêu đề này không được thiết lập, ứng dụng Gradio của bạn có thể tải ở trạng thái bị hỏng.
Lưu ý: Biến $hostkhông bao gồm cổng máy chủ. Nếu bạn đang phục vụ ứng dụng Gradio của mình trên địa chỉ IP và cổng thô, bạn nên sử dụng biến $http_hostthay thế, trong các dòng này:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
Chạy ứng dụng Gradio của bạn trên máy chủ web
Trước khi khởi chạy ứng dụng Gradio, bạn cần phải thiết lập root_path giống với đường dẫn phụ mà bạn đã chỉ định trong cấu hình nginx. Điều này là cần thiết để Gradio chạy trên bất kỳ đường dẫn phụ nào ngoài gốc của tên miền.
Lưu ý: Thay vì đường dẫn phụ, bạn cũng có thể cung cấp URL đầy đủ cho root_path (bắt đầu bằng http hoặc https), trong trường hợp đó root_path được coi là URL tuyệt đối thay vì hậu tố URL (nhưng trong trường hợp này, bạn sẽ cần cập nhật root_path nếu tên miền thay đổi).
Sau đây là một ví dụ đơn giản về ứng dụng Gradio có tùy chỉnh root_pathtương ứng với cấu hình Nginx ở trên.
import gradio as gr
import time
def test(x):
time.sleep(4)
return x
gr.Interface(test, “textbox”, “textbox”).queue().launch(root_path=”/gradio-demo”)
Bắt đầu tmux phiên bằng cách nhập tmux và nhấn enter (tùy chọn)
Bạn nên chạy ứng dụng Gradio của mình trong một tmux phiên để có thể dễ dàng duy trì ứng dụng chạy ở chế độ nền
Sau đó, bạn hãy khởi động ứng dụng Gradio của mình. Chỉ cần nhập vào python theo sau là tệp Python Gradio của bạn. Theo mặc định, ứng dụng của bạn sẽ chạy trên localhost:7860, nhưng nếu nó khởi động trên một cổng khác, bạn cần cập nhật cấu hình tệp nginx ở trên.
Khởi động lại Nginx
Nếu bạn đang ở phiên bản tmux, hãy thoát bằng cách nhấn CTRL+B (hoặc CMD+B), sau đó là phím “D”.
Cuối cùng, khởi động lại nginx bằng cách chạy sudo systemctl restart nginx.
Và thế là xong! Nếu bạn truy cập https://example.com/gradio-demo trên trình duyệt của mình, bạn sẽ thấy ứng dụng Gradio đang chạy ở đó.
Cho phép localhost chấp nhận không an toàn trên trình duyệt
- Trường hợp 1: Cấu hình Google Chrome/Cốc cốc
Mở Google Chrome.
Nhập vào thanh địa chỉ: chrome://flags sau đó nhấn Enter.
Nhập từ khóa: #allow-insecure-localhost vào ô tìm kiếm.
Đổi trạng thái từ Disabled thành Enabled trong kết quả tìm kiếm (Nếu trạng thái đang là Enabled thì không cần thực hiện).
Khởi động lại Google Chrome/Cốc Cốc.
- Trường hợp 2: Cấu hình Firefox
Mở trình duyệt Firefox.
Vào menu Tools chọn Options (hoặc nhấn vào biểu tượng ba dấu gạch ngang bên góc trên bên phải màn hình và chọn Options).
Tìm đến phân hệ Privacy & Security.
Trong phần Certificates chọn View certificates.
Trong cửa sổ Certificate Manager, người dùng chọn tab Servers
Nhấn vào Add Exeption.
Tại cửa số Add Security Exeption, người dùng nhập localhost:8006 vào ô Location.
Nhấn Get Certificate.
Nhấn Confirm Security Exeption
Nhấn OK để xác nhận thay đổi.
Khởi động lại Firefox để hoàn thành cấu hình.
Cách chạy Llama 3.2-Vision cục bộ với Ollama
Ollama vừa tung ra hỗ trợ Llama 3.2-Vision! Mô hình này không chỉ vượt trội về khả năng hiểu ngôn ngữ tự nhiên mà còn xử lý hình ảnh liền mạch, và phần tuyệt nhất là gì? Nó miễn phí và được thiết kế cho AI biên (edge).
Llama 3.2-Vision mang lại khả năng thị giác cho một trong những mô hình ngôn ngữ thú vị nhất, cho phép xử lý cả văn bản và hình ảnh.
- Khả năng đa phương thức : Llama 3.2-Vision xử lý cả văn bản và hình ảnh, rất quan trọng cho các ứng dụng AI biên.
- Xử lý thời gian thực : Được tối ưu hóa cho các thiết bị biên, cho phép phản hồi tức thì mà không cần dựa vào đám mây.
- Nâng cao quyền riêng tư và giảm chi phí : Xử lý cục bộ lưu trữ dữ liệu nhạy cảm trên thiết bị và giảm chi phí đám mây.
- Dễ triển khai : Thiết lập thân thiện với người dùng của Ollama giúp đơn giản hóa việc triển khai AI đa phương thức, ngay cả đối với các nhà phát triển không có chuyên môn sâu về AI.
- Tối ưu hóa cạnh : Lý tưởng cho các ứng dụng thực tế như robot, AR và chăm sóc sức khỏe, nơi mà việc hiểu hình ảnh theo thời gian thực là yếu tố quan trọng.
Bước 1 — Nâng cấp Ollama lên 0.4.1
Để mở khóa sức mạnh của Llama 3.2-Vision , bạn sẽ cần nâng cấp Ollama lên phiên bản 0.4.1. Sau đây là cách thực hiện:
- Tải xuống phiên bản mới nhất Truy cập trang web của Ollama và tải xuống phiên bản 0.4.1.
- Chạy ứng dụng. Sau khi tải tệp xuống, hãy chạy ứng dụng.
- Xác minh cài đặt. Kiểm tra xem bản cập nhật có thành công hay không bằng cách chạy:
ollama –version
#ollama phiên bản là 0.4.1
Bước 2 — Cài đặt mô hình Llama 3.2 Vision
Bây giờ bạn đã cập nhật Ollama, hãy kéo mô hình Llama 3.2-Vision . Sử dụng lệnh sau:
ollama run llama3.2-vision
Llama 3.2 Vision là tập hợp các mô hình tạo lập lý luận hình ảnh được điều chỉnh theo hướng dẫn ở kích thước 11B và 90B.
Thuật ngữ này 11b ám chỉ phiên bản 11 tỷ tham số của mô hình, đảm bảo độ chính xác cao trong các tác vụ thị giác.
Bạn có thể xác minh cài đặt bằng cách chạy:
ollama list
Đầu ra sẽ hiển thị:
TÊN ID KÍCH THƯỚC ĐÃ SỬA ĐỔI
llama3.2-vision 2*****6a29 7,9 GB * giờ trước
Bước 3— Chạy Llama 3.2-Tầm nhìn
Chúng ta hãy cùng bắt đầu phần thú vị — chạy mô hình Llama 3.2-Vision trên một hình ảnh.
Sau đây là cách thực hiện ngay từ giao diện dòng lệnh (CLI) của bạn:
ollama run llama3.2-vision “describe this image: /Users/../images/Gryffindor_ClearBG.png”
Thay thế /Users/../images/Gryffindor_ClearBG.png bằng đường dẫn đến hình ảnh bạn chọn. Mô hình sẽ phân tích hình ảnh và đưa ra phản hồi dựa trên sự hiểu biết của nó.
Đầu ra
Hình ảnh này có vẻ là logo hoặc biểu tượng cho nhà Gryffindor của Hogwarts. Nó có tông màu đỏ và vàng đậm, là những màu truyền thống gắn liền với Gryffindor. Thiết kế đơn giản nhưng nổi bật, với dòng chữ “Gryffindor” trên một đường cong phía trên đầu sư tử, là biểu tượng phổ biến của lòng dũng cảm và can đảm – những giá trị mà nhà Gryffindor thể hiện.
Ví dụ này cho thấy khả năng nhận dạng vật thể và ý nghĩa tượng trưng của nó của mô hình.
Tích hợp với Llama 3.2-Vision bằng Python
Để tích hợp khả năng xử lý hình ảnh của Llama 3.2-Vision bằng Ollama trong Python , đây là một ví dụ thực tế trong đó bạn gửi hình ảnh đến mô hình để phân tích. Đoạn mã Python giới thiệu chatchức năng của Ollama để diễn giải hình ảnh.
import ollama
image_path = ‘/Users/../images/Gryffindor_ClearBG.png’ # Replace with your image path
# Use Ollama to analyze the image with Llama 3.2-Vision
response = ollama.chat(
model=”llama3.2-vision”,
messages=[{
“role”: “user”,
“content”: “Describe this image?”,
“images”: [image_path]
}],
)
# Trích xuất phản hồi của mô hình về hình ảnh
cleaned_text = response[‘message’][‘content’].strip()
print(f”Model Response: {cleaned_text}”)
Trong phản hồi, mô hình trả về kết quả đã xử lý, chẳng hạn như xác định nội dung của bất kỳ dữ liệu trực quan nào được cung cấp.
Thử nghiệm
Xem Llama 3.2-Vision hoạt động như thế nào với bản demo OCR này, có tính năng nhận dạng bìa sách liền mạch tại đây: https://pub.towardsai.net/enhance-ocr-with-llama-3-2-vision-using-ollama-0b15c7b8905c
import ollama
# Example usage
image_path = ‘image.png’ # Replace with your image path
# Use Ollama to clean and structure the OCR output
response = ollama.chat(
model=”llama3.2-vision”,
messages=[{
“role”: “user”,
“content”: “The image is a book cover. Output should be in this format – <Name of the Book>: <Name of the Author>. Do not output anything else”,
“images”: [image_path]
}],
)
# Extract cleaned text
cleaned_text = response[‘message’][‘content’].strip()
print(cleaned_text)
Phần kết luận
Với Llama 3.2-Vision , Meta đã có bước tiến lớn trong AI biên, giúp các thiết bị thông minh hơn và có khả năng hơn bao giờ hết. Cho dù bạn là nhà nghiên cứu AI, nhà phát triển AI hay chỉ đơn giản là người thích thử nghiệm công nghệ mới nhất, bản phát hành này sẽ mở ra những khả năng mới thú vị.