File size: 12,462 Bytes
ef89f0a
 
 
 
 
 
 
 
936017d
ef89f0a
 
25dd07c
 
cc1231f
25dd07c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
860002a
25dd07c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ef89f0a
25dd07c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ef89f0a
25dd07c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
---
pipeline_tag: text-generation
library_name: transformers
tags:
- mining
license: apache-2.0
language:
- ru
base_model: t-tech/T-pro-it-2.0
---

## Description

**MetalGPT-1** is a model built upon the Qwen/Qwen3-32B and incorporates both continual pre-training and supervised fine-tuning on domain-specific data from the mining and metallurgy industry.

---

### HF Usage (Transformers)

```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

torch.manual_seed(42)

model_name = "nn-tech/MetalGPT-1"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="bfloat16",
    device_map="auto",
)

prompt = (
    "Назови плюсы и минусы хлоридной и сульфатной технологии производства никеля."
)

messages = [
    {"role": "system", "content": "Ты специалист в области металлургии."},
    {"role": "user", "content": prompt},
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    # enable_thinking=False
)

model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=2048,
)

# Обрезаем префикс промпта
generated_ids = [
    output_ids[len(input_ids):]
    for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(
    generated_ids,
    skip_special_tokens=True
)[0]

print(response)
```

### Output

```text
<think>
Хорошо, мне нужно разобраться в плюсах и минусах хлоридной и сульфатной технологий производства никеля. Начну с того, что вспомню, что эти технологии относятся к гидрометаллургическим процессам, то есть используют водные растворы для извлечения металлов. 

Сначала подумаю о хлоридной технологии. Возможно, она связана с использованием соляной кислоты или хлорида натрия. Преимущества могут быть в более высокой растворимости некоторых соединений, что позволяет эффективно извлекать никель. Также, возможно, процесс работает при более низких температурах, что экономит энергию. Но есть и недостатки: коррозионная активность хлора может быть проблемой, оборудование должно быть из специальных материалов, что увеличивает стоимость. Также выбросы хлора в атмосферу опасны, требуют сложных систем очистки.

Теперь сульфатная технология. Здесь, наверное, используется серная кислота. Плюсы: серная кислота дешевле и доступнее, чем соляная. Процесс может быть более стабильным, меньше коррозии по сравнению с хлоридом. Минусы: возможно, более низкая скорость реакции, необходимость в более высоких температурах, что увеличивает энергозатраты. Также образование сульфатов, которые могут быть менее селективными, что приводит к большему количеству побочных продуктов.

Нужно проверить, не путаю ли я процессы. Например, в хлоридной технологии может использоваться хлорирование для перевода никеля в раствор, тогда как в сульфатной — кислотное выщелачивание. Также важно учесть, что хлоридные процессы могут быть более эффективны для определенных типов руд, например, с высоким содержанием железа, так как хлориды железа легко растворяются. В то время как сульфатные процессы могут быть предпочтительнее для руд с низким содержанием железа, чтобы избежать загрязнения раствора.

Еще момент: в хлоридной технологии возможно использование электролиза для получения чистого никеля, тогда как в сульфатной — тоже, но с другими условиями. Также стоит упомянуть экологические аспекты: хлоридные процессы могут быть более токсичными, требуют строгого контроля выбросов, тогда как сульфатные — меньше проблем с выбросами, но больше с отходами кислоты.

Нужно структурировать ответ, разделив на плюсы и минусы для каждой технологии, возможно, в виде списков. Убедиться, что информация точная и не противоречит друг другу. Проверить, нет ли ошибок в понимании процессов. Например, в хлоридной технологии может быть этап хлорирования, который требует высоких температур, что увеличивает энергозатраты, но позволяет извлекать никель из сложных руд. В сульфатной — возможно, более простой процесс, но менее эффективный для определенных типов сырья.

Также стоит отметить, что выбор технологии зависит от типа руды, наличия инфраструктуры, экологических норм и экономических факторов. Возможно, в некоторых регионах предпочтительнее одна технология, в других — другая. Важно подчеркнуть, что обе технологии имеют свои ниши и применяются в зависимости от конкретных условий.
</think>

Плюсы и минусы хлоридной и сульфатной технологий производства никеля

Хлоридная технология
Плюсы:
1. Высокая селективность и эффективность извлечения — хлориды никеля хорошо растворяются в воде, что позволяет эффективно извлекать металл из сложных руд, включая сульфидные и оксидные.
2. Возможность работы при низких температурах — некоторые этапы (например, выщелачивание) могут проводиться при умеренных температурах, снижая энергозатраты.
3. Подходит для руд с высоким содержанием железа — хлориды железа легко растворяются, что упрощает разделение никеля от примесей.
4. Возможность получения чистого никеля — электролиз в хлоридных растворах позволяет получать высокочистый никель.

Минусы:
1. Коррозионная активность — хлоридные растворы агрессивны, требуют использования дорогостоящих материалов (например, титан, нержавеющая сталь).
2. Экологические риски — выбросы хлора и его соединений токсичны, требуют сложных систем очистки и контроля.
3. Высокая стоимость реагентов — соляная кислота и хлорид натрия дороже, чем серная кислота.
4. Ограниченная применимость — менее эффективна для руд с низким содержанием никеля или высоким содержанием кремнезема.

Сульфатная технология
Плюсы:
1. Дешевизна реагентов — серная кислота — один из самых доступных и дешёвых реагентов.
2. Меньшая коррозионная активность — сульфатные растворы менее агрессивны, чем хлоридные, что снижает износ оборудования.
3. Экологическая безопасность — выбросы сульфатов менее токсичны, проще поддаются контролю.
4. Широкая применимость — эффективна для большинства типов руд, особенно оксидных и низкосульфидных.

Минусы:
1. Низкая селективность — сульфаты железа и других примесей могут мешать извлечению никеля, требуя дополнительных стадий очистки.
2. Высокие энергозатраты — некоторые процессы (например, выщелачивание) требуют нагревания, что увеличивает расход энергии.
3. Сложность регенерации кислоты — серная кислота может разлагаться, требуя её частой замены.
4. Ограниченная эффективность для сложных руд — менее эффективна для руд с высоким содержанием железа или кремнезема.

Итог:
- Хлоридная технология предпочтительна для сложных руд с высоким содержанием никеля и железа, но требует строгого контроля коррозии и выбросов.
- Сульфатная технология — более экономична и экологична, но менее эффективна для сложных руд. Выбор зависит от типа сырья, инфраструктуры и экологических норм.
```

---

### vLLM Usage

```python
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

model_name = "nn-tech/MetalGPT-1"

tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(model=model_name, max_model_len=8192)

sampling_params = SamplingParams(
    temperature=0.7,
    repetition_penalty=1.05,
    top_p=0.8,
    top_k=70,
    max_tokens=2048,
)

prompt = (
    "Назови плюсы и минусы хлоридной и сульфатной технологии производства никеля."
)

messages = [
    {"role": "system", "content": "Ты специалист в области металлургии."},
    {"role": "user", "content": prompt},
]

prompt_token_ids = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
)

outputs = llm.generate(
    prompt_token_ids=prompt_token_ids,
    sampling_params=sampling_params,
)

generated_text = [output.outputs[0].text for output in outputs]
print(generated_text[0])
```