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