Skip to content

Commit

Permalink
tranclate on updated file
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexBotsmann committed Oct 21, 2024
1 parent 2b37df7 commit b1afb92
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 44 deletions.
133 changes: 90 additions & 43 deletions docs-ua/examples/ChatQnA/deploy/aipc.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,15 @@ Tня має на меті показати, як використовувати
основні необхідні компоненти, що використовуються для створення прикладів, які ви знайдете в GenAIExamples і розгортання їх як мікросервісів.

```
mkdir ~/OPEA -p
cd ~/OPEA
git clone https://github.com/opea-project/GenAIComps.git
git clone https://github.com/opea-project/GenAIExamples.git
```

Перевірте тег релізу
```
cd GenAIComps
cd ~/OPEA/GenAIComps
git checkout tags/v1.0
```

Expand All @@ -70,6 +72,82 @@ export no_proxy=${your_no_proxy},$host_ip
export http_proxy=${your_http_proxy}
export https_proxy=${your_http_proxy}
```
The examples utilize model weights from Ollama and langchain.

### Set Up Ollama LLM Service
We use [Ollama](https://ollama.com/) as our LLM service for AIPC.
Please follow the instructions to set up Ollama on your PC. This will set the entrypoint needed for the Ollama to suit the ChatQnA examples.

#### Install Ollama Service
Install Ollama service with one command:
```
curl -fsSL https://ollama.com/install.sh | sh
```

#### Set Ollama Service Configuration
Ollama Service Configuration file is /etc/systemd/system/ollama.service. Edit the file to set OLLAMA_HOST environment.
Replace **<host_ip>** with your host IPV4 (please use external public IP). For example the host_ip is 10.132.x.y, then `Environment="OLLAMA_HOST=10.132.x.y:11434"'.
```
Environment="OLLAMA_HOST=host_ip:11434"
```

#### Set https_proxy environment for Ollama
If your system access network through proxy, add https_proxy in Ollama Service Configuration file
```
Environment="https_proxy=Your_HTTPS_Proxy"
```

#### Restart Ollama services
```
$ sudo systemctl daemon-reload
$ sudo systemctl restart ollama.service
```

#### Check the service started
```
netstat -tuln | grep 11434
```
The output are:
```
tcp 0 0 10.132.x.y:11434 0.0.0.0:* LISTEN
```

#### Pull Ollama LLM model
Run the command to download LLM models. The <host_ip> is the one set in [Ollama Service Configuration](#Set-Ollama-Service-Configuration)
```
export host_ip=<host_ip>
export OLLAMA_HOST=http://${host_ip}:11434
ollama pull llama3.2
```
After downloaded the models, you can list the models by `ollama list`.
The output should be similar to the following:
```
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0 GB 2 minutes ago
```

### Consume Ollama LLM Service
Access ollama service to verify that the ollama is functioning correctly.
```bash
curl http://${host_ip}:11434/api/generate -d '{"model": "llama3.2", "prompt":"What is Deep Learning?"}'
```
The outputs are similar to these:
```
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.098813868Z","response":"Deep","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.124514468Z","response":" learning","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.149754216Z","response":" is","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.180420784Z","response":" a","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.229185873Z","response":" subset","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.263956118Z","response":" of","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.289097354Z","response":" machine","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.316838918Z","response":" learning","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.342309506Z","response":" that","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.367221264Z","response":" involves","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.39205893Z","response":" the","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.417933974Z","response":" use","done":false}
{"model":"llama3.2","created_at":"2024-10-12T12:55:28.443110388Z","response":" of","done":false}
...
```

## Підготовка (створення / витягування) докер-образів

Expand All @@ -87,6 +165,7 @@ rerank, LLM і dataprep. Крім того, вам потрібно буде з
#### Побудова образу підготовки даних

```
cd ~/OPEA/GenAIComps
docker build --no-cache -t opea/dataprep-redis:latest --build-arg https_proxy=$https_proxy \
--build-arg http_proxy=$http_proxy -f comps/dataprep/redis/langchain/Dockerfile .
```
Expand Down Expand Up @@ -114,46 +193,13 @@ docker build --no-cache -t opea/reranking-tei:latest --build-arg https_proxy=$ht

#### Побудова образу LLM

Налаштовуємо сервіс Ollama LLM однією командою
```bash
curl -fsSL https://ollama.com/install.sh | sh
```

Далі ми створимо докер мікросервісу Ollama. Це встановить точку входу
необхідну для того, щоб Ollama відповідала прикладам ChatQnA
```
docker build --no-cache -t opea/llm-ollama:latest --build-arg https_proxy=$https_proxy \
--build-arg http_proxy=$http_proxy -f comps/llms/text-generation/ollama/langchain/Dockerfile .
```

Налаштування конфігурації сервісу Ollama

Файл конфігурації сервісу Ollama знаходиться в `/etc/systemd/system/ollama.service`.
Відредагуйте файл, щоб встановити середовище OLLAMA_HOST (замініть **${host_ip}** на IPV4 вашого хоста).
```
Environment="OLLAMA_HOST=${host_ip}:11434"
```
Встановіть оточення https_proxy для Ollama, якщо ваша система отримує доступ до мережі через проксі.
```
Environment="https_proxy=http://proxy.example.com:8080"
```
Перезапустіть сервіси Ollama
```
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
```

Pull LLM model

```bash
export OLLAMA_HOST=http://${host_ip}:11434
ollama pull llama3
ollama list

NAME ID SIZE MODIFIED
llama3:latest 365c0bd3c000 4.7 GB 5 days ago
```

### Побудова образів Мегасервісу

Мегасервіс - це трубопровід, який передає дані через різні мікросервіси, кожен з яких виконує різні завдання. Ми визначаємо різні
Expand All @@ -166,8 +212,7 @@ llama3:latest 365c0bd3c000 4.7 GB 5 days ago
Створіть образ мегасервісу для цього варіанту використання

```
cd ..
cd GenAIExamples/ChatQnA
cd ~/OPEA/GenAIExamples/ChatQnA
git checkout tags/v1.0
```

Expand All @@ -185,7 +230,7 @@ docker build --no-cache -t opea/chatqna:latest --build-arg https_proxy=$https_pr
*Базовий інтерфейс*

```
cd GenAIExamples/ChatQnA/ui/
cd ~/OPEA/GenAIExamples/ChatQnA/ui/
docker build --no-cache -t opea/chatqna-ui:latest --build-arg https_proxy=$https_proxy \
--build-arg http_proxy=$http_proxy -f ./docker/Dockerfile .
```
Expand All @@ -194,7 +239,7 @@ docker build --no-cache -t opea/chatqna-ui:latest --build-arg https_proxy=$https
Якщо вам потрібен розмовний досвід, скористайтеся мегасервісом chatqna.

```
cd GenAIExamples/ChatQnA/ui/
cd ~/OPEA/GenAIExamples/ChatQnA/ui/
docker build --no-cache -t opea/chatqna-conversation-ui:latest --build-arg https_proxy=$https_proxy \
--build-arg http_proxy=$http_proxy -f ./docker/Dockerfile.react .
```
Expand Down Expand Up @@ -321,18 +366,20 @@ e1fc81b1d542 redis/redis-stack:7.2.0-v9 "/entrypo

Якщо ви хочете додати або оновити базу знань за замовчуванням, ви можете скористатися такими командами. Мікросервіс dataprep витягує тексти з різних джерел даних, розбиває дані на частини, вбудовує кожну частину за допомогою мікросервісу embedding і зберігає вбудовані вектори у базі даних векторів redis.

Завантаження локального файлу `nke-10k-2023.pdf` :
Завантажте pdf файл:
```
wget https://raw.githubusercontent.com/opea-project/GenAIComps/main/comps/retrievers/redis/data/nke-10k-2023.pdf
```
Local File `nke-10k-2023.pdf` Upload with dataprep:
This command updates a knowledge base by uploading a local file for processing.

```
curl -X POST "http://${host_ip}:6007/v1/dataprep" \
-H "Content-Type: multipart/form-data" \
-F "files=@./nke-10k-2023.pdf"
```

Ця команда оновлює базу знань, завантажуючи локальний файл для обробки.
Змініть шлях до файлу відповідно до вашого середовища.

Додайте базу знань через HTTP-посилання:
Крім того, ви можете додати базу знань за допомогою HTTP-посилань:

```
curl -X POST "http://${host_ip}:6007/v1/dataprep" \
Expand Down
12 changes: 11 additions & 1 deletion docs-ua/getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,17 @@ docker compose up -d

Будь ласка, зверніться до розділу ['Збірка образів докерів'](/examples/ChatQnA/deploy) з файлу, який відповідає вашому апаратному забезпеченню.

### Взаємодія з мегасервісом і мікросервісом ChatQnA
### Взаємодія з мегасервісом і мікросервісом ChatQnA
Перш ніж взаємодіяти зі службою ChatQnA, переконайтеся, що служба TGI готова (її запуск займає до 2 хвилин).
```
docker ps
# expected: all images's status are up
# TGI example on on Xeon and Nvidia GPU
docker logs tgi-service | grep Connected
# TGI example on on Gaudi
docker logs tgi-gaudi-service | grep Connected
# execpted output: ... INFO text_generation_router::server: router/src/server.rs:2311: Connected
```
```
curl http://${host_ip}:8888/v1/chatqna \
-H "Content-Type: application/json" \
Expand Down

0 comments on commit b1afb92

Please sign in to comment.