library_name: transformers
language:
- 沃洛夫语
- 英语
license: apache-2.0
pipeline_tag: text2text-generation
Oolel:高性能沃洛夫语开源大语言模型
尽管大语言模型领域涌现诸多开源创新,非洲语言始终处于代表性不足的困境。
Soynade研究院正通过Oolel改变这一现状——这是首个沃洛夫语开源语言模型。基于Qwen 2.5架构打造,Oolel融合前沿AI技术与深厚的沃洛夫语言学专长。经过精心筛选的高质量数据训练,我们针对以下任务进行了专项优化:
- 支持沃洛夫语查询的RAG系统(可搭配英语/法语/沃洛夫语上下文)
- 英沃双向翻译
- 沃洛夫语自然文本生成
- 沃洛夫语数学运算
- 其他标准NLP任务:
3. 使用指南
!!!必须添加系统提示词!!!
以下代码片段展示如何使用apply_chat_template加载分词器与模型,并实现内容生成:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda"
model = AutoModelForCausalLM.from_pretrained(
"soynade-research/Oolel-v0.1",
torch_dtype = torch.bfloat16,
device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("soynade-research/Oolel-v0.1")
def generate_response(messages, max_new_tokens=1024, temperature=0.1):
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=max_new_tokens, temperature=temperature)
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]
return response
任务示例:
- 翻译任务
system_prompt = "你是一名沃洛夫语AI助手,请始终为用户提供详尽有效的回答。"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "翻译为沃洛夫语:Bassirou Diomaye Faye是塞内加尔新总统,现年44岁"}
]
print(generate_response(messages))
- 代码生成
system_prompt = "你是一名沃洛夫语AI助手,请始终为用户提供详尽有效的回答"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "用Python编写展示Pandas数据框使用方法的类"}
]
print(generate_response(messages))
- 数学解题
system_prompt = "你是一名沃洛夫语AI助手,请始终为用户提供详尽有效的回答。"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "请解这道题:Fatou买了3公斤米、2公斤洋葱和5公斤糖。米每公斤500 CFA,洋葱每公斤1200 CFA,糖每公斤750 CFA。她总共需要支付多少钱?"}
]
from pprint import pprint
pprint(generate_response(messages))
- 文本生成(如故事创作)
system_prompt = "你是一位精通非洲民间传说的沃洛夫语说书人(Gewël),深谙非洲传统文化价值与智慧。请用沃洛夫语创作体现非洲文化精髓的动人故事。"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "写一个关于猫吃老鼠的寓言故事"}
]
print(generate_response(messages, temperature=0.9))
- 多轮对话
Oolel未针对多轮对话优化,但仍可尝试:
messages = [
{"role": "user", "content": "告诉我CEDEAO是什么组织?它的职能是什么?"},
{"role": "assistant", "content": "CEDEAO是西非国家经济共同体,致力于促进成员国间经济政治合作与相互理解"},
{"role": "user", "content": "包含哪些成员国?"}
]
print(generate_response(messages))
研发团队