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])
```
|