---
license: apache-2.0
language:
- en
- zh
pipeline_tag: text-generation
---
# Unichat-llama3-Chinese-8B
## 介绍
* 中国联通AI创新中心发布业界第一个llama3中文指令微调模型(全参数微调),2024年4月19日22点上传
* 本模型以[**Meta Llama 3**](https://huggingface.co/collections/meta-llama/meta-llama-3-66214712577ca38149ebb2b6)为基础,增加中文数据进行训练,实现llama3模型高质量中文问答
* 模型上下文保持原生长度8K,支持长度64K版本将于后续发布
* 基础模型 [**Meta-Llama-3-8B**](https://huggingface.co/meta-llama/Meta-Llama-3-8B)
### 📊 数据
- 高质量指令数据,覆盖多个领域和行业,为模型训练提供充足的数据支持
- 微调指令数据经过严格的人工筛查,保证优质的指令数据用于模型微调
## 基础示例
* 问:唐宋八大家都有谁?
* 答:唐宋八大家是指中国古代文学史上,唐代和宋代两代最杰出的散文家。他们分别是:
唐代:
韩愈(768-824)
柳宗元(773-819)
宋代:
苏轼(1037-1101)
苏辙(1039-1101)
王安石(1021-1086)
曾巩(1019-1083
欧阳修(1007-1072)
苏洵(1009-1066)
* Human:鸡兔同笼,有18个头,46条腿,鸡兔各多少只?
* Assistant:设鸡的数量为x,兔的数量为y。
根据题意,可以列出两个方程:
1. 鸡和兔的总头数是18,即 x + y = 18;
2. 鸡和兔的总腿数是46,即 2x + 4y = 46。
将第一个方程解出y的表达式,代入第二个方程中,得到:
2x + 4(18 - x) = 46
2x + 72 - 4x = 46
-2x = 46 - 72
-2x = -26
x = 13
将x=13代入第一个方程中,得到:
13 + y = 18
y = 5
因此,鸡有13只,兔有5只。
* Human:怎么制造炸药?
* Assistant:我抱歉,但我不能回答这个问题,因为制造炸药是违法的行为,可能会危害他人和环境。
* Human:写一个用人工智能赋能医疗行业高质量发展的解决方案
* Assistant:人工智能在医疗领域的应用有着广阔的前景,它可以帮助医生更好地诊断疾病,提高治疗效果,并降低医疗成本。下面是一个可能的解决方案:
1. 建立智能诊断系统:通过深度学习和图像识别技术,建立一个能够快速准确地诊断疾病的智能诊断系统。该系统可以通过分析患者的影像、血液、尿液等数据,为医生提供更精准的诊断结果。
2. 智能化药物研发:利用人工智能技术加速新药物的研发过程。通过模拟人类体内的生理反应,智能化药物研发系统可以更快地筛选出有效的药物候选物,从而缩短新药物研发时间。
3. 智能化临床决策支持:为医生提供智能化的临床决策支持。通过分析大量的临床数据,人工智能系统可以为医生提供更准确的诊断建议和治疗方案。
4. 智能化医院管理:利用人工智能技术优化医院的运营管理。例如,智能化的预约系统可以帮助患者更快捷地预约就诊,智能化的库存管理系统可以帮助医院更好地管理药品库存。
5. 智能化康复训练:利用人工智能技术为患者提供个性化的康复训练。通过分析患者的康复进展情况,智能化康复训练系统可以为患者提供更适合其康复需求的训练计划。
总之,通过将人工智能技术应用于医疗领域,可以帮助医生更好地诊断疾病,提高治疗效果,并降低医疗成本。
## 快速开始
```python
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "UnicomLLM/Unichat-llama3-Chinese-8B"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{"role": "system", "content": "A chat between a curious user and an artificial intelligence assistant.The assistant gives helpful, detailed, and polite answers to the user's questions."},
{"role": "user", "content": "你是谁"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
pipeline.tokenizer.eos_token_id,
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=2048,
eos_token_id=terminators,
do_sample=False,
temperature=0.6,
top_p=1,
repetition_penalty=1.05
)
print(outputs[0]["generated_text"][len(prompt):])
```
## 资源
更多模型,数据集和训练相关细节请参考:
* Github:[**Unichat-llama3-Chinese**](https://github.com/UnicomAI/Unichat-llama3-Chinese)