Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Vi-Qwen2-7B-RAG
Vi-Qwen2-7B-RAGは、Qwen2-7B-Instruct (https://huggingface.co/Qwen/Qwen2-7B-Instruct) をベースに微調整された大規模言語モデルで、RAGタスクに特化しています。このモデルはベトナム語のデータセットで学習され、ベトナム語の言語処理能力とRetrieval Augmented Generation (RAG) タスクのパフォーマンスを向上させることを目的としています。
🚀 クイックスタート
Vi-Qwen2-7B-RAGは、RAGタスクに特化したモデルです。以下に、このモデルの概要、使用目的、制限事項、ベンチマーク、使用方法について説明します。
✨ 主な機能
モデル概要
Vi-Qwen2-7B-RAGは、ベースモデルQwen2-7B-Instruct (https://huggingface.co/Qwen/Qwen2-7B-Instruct) から微調整された大規模言語モデルで、RAGタスクに使用されます。このモデルはベトナム語のデータセットで学習され、ベトナム語の言語処理能力とRAGタスクのパフォーマンスを向上させることを目的としています。
使用目的
Vi-Qwen2-7B-RAGは、RAGタスク(最大8192トークンのコンテキストをサポート)に特化しているため、以下のようなケースを解決できます。
- 多様な情報の扱い:モデルはノイズの多いドキュメントから有用な情報を抽出します。(1つの肯定的な情報 + 4つの否定的な情報または1つの否定的な情報)
- 否定的な情報の排除:モデルは必要な知識が検索されたドキュメントに含まれていない場合、質問に回答を拒否します。(1 - 6つの否定的な情報)
- 情報の統合:モデルは、複数のドキュメントからの情報を統合する必要がある複雑な質問に回答します。(2つの肯定的な部分 + 3つの否定的な部分または3つの肯定的な部分 + 2つの否定的な部分)
- 肯定的/否定的な情報の識別:モデルは、コンテキストに質問に対する回答が含まれているかどうかを識別します。(精度は約99%)
また、Vi-Qwen2-1.5B-RAG (https://huggingface.co/AITeamVN/Vi-Qwen2-1.5B-RAG) やVi-Qwen2.5-3B-RAG (https://huggingface.co/AITeamVN/Vi-Qwen2-3B-RAG) など、異なる使用目的に合ったより小さなモデルも提供しています。
RAGタスク以外にも、通常のチャットボットとして使用することができ、入力コンテキストを持つ連続した質問にも対応しています。
制限事項
このモデルはRAGタスクに特化して設計されているため、以下のような制限があります。
- 政治や社会に関連する質問に対する回答の精度は保証されません。
- 偏見や不適切な意見を示す可能性があります。
ベンチマーク
私たちは、独自の手動作成データセット EvalRAGData を使用して、RAGタスクに対するいくつかの大規模言語モデルを評価しました。評価は人間によって10段階で行われ、以下は詳細な結果です。
また、VMLUリーダーボードでもベンチマークを行いました。
モデル | STEM | 社会科学 | 人文科学 | その他 | 平均 |
---|---|---|---|---|---|
Vi-Qwen2-7B-RAG | 60.22 | 57.8 | 52.67 | 51.08 | 56.04 |
📦 インストール
インストールに関する具体的な手順は提供されていません。
💻 使用例
基本的な使用法
入力コンテキストが1つのコンテキスト(1つの肯定的な情報または1つの否定的な情報)のみを含む場合の使用例です。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
path = 'AITeamVN/Vi-Qwen2-7B-RAG'
model = AutoModelForCausalLM.from_pretrained(
path,
torch_dtype=torch.bfloat16,
device_map="auto",
use_cache=True
)
tokenizer = AutoTokenizer.from_pretrained(path)
system_prompt = "Bạn là một trợ lí Tiếng Việt nhiệt tình và trung thực. Hãy luôn trả lời một cách hữu ích nhất có thể."
template = '''Chú ý các yêu cầu sau:
- Câu trả lời phải chính xác và đầy đủ nếu ngữ cảnh có câu trả lời.
- Chỉ sử dụng các thông tin có trong ngữ cảnh được cung cấp.
- Chỉ cần từ chối trả lời và không suy luận gì thêm nếu ngữ cảnh không có câu trả lời.
Hãy trả lời câu hỏi dựa trên ngữ cảnh:
### Ngữ cảnh :
{context}
### Câu hỏi :
{question}
### Trả lời :'''
# Ví dụ
context = '''Thuốc Insuact 10 trị bệnh gì? Thuốc Insuact 10mg có thành phần chính là Atorvastatin. Thuốc Insuact 10 có tác dụng làm giảm cholesterol và triglycerid trong máu ở bệnh nhân tăng cholesterol máu nguyên phát, rối loạn lipid máu hỗn hợp. 1. Thuốc Insuact 10 trị bệnh gì? Thuốc Insuact 10 thuộc nhóm thuốc điều trị rối loạn lipid máu, có thành phần chính là Atorvastatin 10mg. Atorvastatin có tác dụng làm giảm cholesterol, ức chế enzym tạo cholesterol ở gan. Atorvastatin làm giảm cholesterol chung bao gồm cholesterol LDL , triglycerid trong máu. Thuốc Insuact 10mg được bào chế dưới dạng viên nén bao phim, được chỉ định dùng trong những trường hợp sau: Ðiều trị hỗ trợ tăng cholesterol máu nguyên phát và rối loạn lipid máu hỗn hợp trên bệnh nhân đang áp dụng chế độ ăn kiêng để làm giảm cholesterol toàn phần , cholesterol LDL , apolipoprotein B, triglycerid và tăng cholesterol HDL . Insuact 10 cũng được dùng để điều trị rối loạn betalipoprotein trong máu nguyên phát. Ðiều trị hỗ trợ tăng cholesterol trong máu có tính gia đình đồng hợp tử trên bệnh nhân đang áp dụng các biện pháp làm giảm lipid khác để làm giảm cholesterol toàn phần và cholesterol LDL. 2. Liều dùng và cách dùng thuốc Insuact 10 Cách dùng thuốc Insuact 10: Thuốc được dùng theo đường uống, uống khi bụng đói hoặc no đều được, có thể uống vào bất cứ lúc nào trong ngày. Liều dùng thuốc Insuact 10mg khởi đầu là 10mg/lần/ngày, tối đa là 80mg/lần/ngày. Liều dùng thuốc Insuact 10 tùy vào mục đích điều trị cụ thể như sau: Tăng cholesterol máu nguyên phát và rối loạn lipid máu phối hợp: 10mg/lần/ngày, sau 2 - 4 tuần sẽ thấy hiệu quả của thuốc. Thuốc cần được được sử dụng duy trì trong thời gian dài để có hiệu quả. Tăng cholesterol trong máu có tính gia đình đồng hợp tử: Liều thường dùng là thuốc Insuact 10mg /lần/ngày và tối đa là 80mg/lần/ngày. Rối loạn lipid máu nghiêm trọng ở trẻ từ 10 - 17 tuổi: 10mg/lần/ngày, sau đó tăng lên 20mg/lần/ngày tùy vào cơ địa, tiến triển bệnh và khả năng dung nạp thuốc của người bệnh. Thời gian điều chỉnh liều thuốc tối thiểu là 4 tuần. 3. Tác dụng phụ của thuốc Insuact 10mg Thuốc Insuact 10 có thể gây một số tác dụng phụ không mong muốn với tần suất như sau: Thường gặp: Viêm mũi - họng, phản ứng dị ứng, tăng đường huyết, nhức đầu, đau thanh quản, chảy máu cam , đau cơ, co thắt cơ, đau khớp, sưng khớp, đau các chi, đau lưng, xét nghiệm gan bất thường, tăng creatine kinase trong máu, buồn nôn, khó tiêu, đầy hơi, táo bón, tiêu chảy. Ít gặp: Insuact 10 ít gây hạ đường huyết, tăng cân, chán ăn, mất ngủ, gặp ác mộng, choáng váng, dị cảm, mất trí nhớ, giảm cảm giác, loạn vị giác , nôn, đau bụng, ợ hơi, viêm tụy, viêm gan, nổi mày đay , phát ban, ngứa, rụng tóc, đau cổ, mỏi cơ, mệt mỏi, suy nhược, đau ngực, phù ngoại biên, sốt, xuất hiện bạch cầu trong nước tiểu, nhìn mờ, ù tai. Hiếm gặp: Insuact 10 hiếm khi làm giảm tiểu cầu, bệnh lý thần kinh ngoại biên, hoa mắt, ứ mật, phù thần kinh, nổi hồng ban, hội chứng hoại tử da nhiễm độc , hội chứng Stevens-Johnson , bệnh cơ, viêm cơ, tiêu cơ vân, bệnh gân, đôi khi nghiêm trọng hơn có thể đứt gân. Rất hiếm gặp: Insuact 10 rất hiếm khi gây sốc phản vệ , mất thính giác , suy gan , hội chứng to vú ở nam giới. Không rõ tần suất: Hoại tử cơ tự miễn trung gian. 4. Một số lưu ý khi dùng thuốc Insuact 10mg Không dùng thuốc Insuact với người bị quá mẫn với thành phần của thuốc, người có bệnh gan hoạt động hoặc tăng transaminase huyết thanh vô căn kéo dài, phụ nữ đang mang thai hoặc nuôi con cho bú, phụ nữ đang có ý định mang thai. Thuốc Insuact 10mg chỉ được dùng ở bệnh nhân có nguy cơ xơ vữa mạch máu cao do tăng cholesterol trong máu và phải kết hợp với chế độ ăn kiêng ít chất béo bão hòa , ít cholesterol và người bệnh đang áp dụng các biện pháp điều trị không dùng thuốc khác. Trước khi điều trị với Insuact 10 , người bệnh cần được loại trừ các nguyên nhân thứ phát gây tăng cholesterol bao gồm suy tuyến giáp , tiểu đường khó kiểm soát, hội chứng thận hư, nghiện rượu, bệnh gan tắc nghẽn, rối loạn protein trong máu, .... Ngoài ra, người bệnh cũng cần được kiểm tra, đo lường nồng độ lipid máu. Trước khi điều trị với thuốc Insuact 10mg , cần kiểm tra chức năng gan và trong quá trình dùng thuốc, người bệnh cần theo dõi, kiểm tra chức năng gan thường xuyên. Người có tiền sử mắc bệnh gan do rượu, bị nghiện rượu cần thận trọng khi dùng Insuact 10 . Trước khi dùng thuốc, người bệnh cần được cảnh báo nguy cơ gặp phải các vấn đề về cơ như căng cơ , đau cơ, yếu cơ. Thuốc Insuact 10mg có thể tương tác với các thuốc: Tăng nguy cơ tổn thương cơ (đặc biệt cơ vân) khi dùng đồng thời với thuốc điều trị viêm gan C và HIV, hạ cholesterol máu nhóm fibrat khác, thuốc ức chế miễn dịch; tăng thời gian chảy máu hoặc thời gian prothrombin khi dùng phối hợp với thuốc chống đông, indandione; tăng nhẹ nồng độ digoxin trong huyết thanh khi dùng phối hợp với Digoxin'''
question = '''Insuact 10mg được chỉ định dùng trong những trường hợp nào và liều dùng cụ thể ra sao?'''
conversation = [{"role": "system", "content": system_prompt }]
conversation.append({"role": "user", "content": template.format(context = context, question = question)})
text = tokenizer.apply_chat_template(
conversation,
tokenize=False,
add_generation_prompt=True)
model_inputs = tokenizer(text,return_tensors="pt").to(model.device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=2048,
temperature = 0.1,
#top_p=0.95,
#top_k=40,
)
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)
'''Trả lời:
Dựa trên ngữ cảnh cung cấp, Insuact 10mg được chỉ định dùng trong các trường hợp sau:
1. **Điều trị hỗ trợ tăng cholesterol máu nguyên phát và rối loạn lipid máu hỗn hợp**:
- **Liều dùng**: 10mg/lần/ngày.
- **Hiệu quả**: Sau 2 - 4 tuần sử dụng, bệnh nhân sẽ thấy hiệu quả của thuốc.
- **Lưu ý**: Thuốc cần được sử dụng duy trì trong thời gian dài để có hiệu quả.
2. **Điều trị hỗ trợ tăng cholesterol trong máu có tính gia đình đồng hợp tử**:
- **Liều dùng**: 10mg/lần/ngày (liều thường dùng) và tối đa 80mg/lần/ngày.
- **Lưu ý**: Liều lượng có thể được điều chỉnh tùy theo cơ địa, tiến triển bệnh và khả năng dung nạp thuốc của người bệnh.
3. **Rối loạn lipid máu nghiêm trọng ở trẻ từ 10 - 17 tuổi**:
- **Liều dùng**: 10mg/lần/ngày, sau đó có thể tăng lên 20mg/lần/ngày tùy theo tình trạng bệnh.
- **Thời gian điều chỉnh liều**: Thời gian điều chỉnh liều tối thiểu là 4 tuần.
**Lưu ý chung**:
- Thuốc được dùng theo đường uống, uống khi bụng đói hoặc no đều được, có thể uống vào bất cứ lúc nào trong ngày.
- Không dùng thuốc Insuact 10mg với người bị quá mẫn với thành phần của thuốc, người có bệnh gan hoạt động hoặc tăng transaminase huyết thanh vô căn kéo dài, phụ nữ đang mang thai hoặc nuôi con cho bú, phụ nữ đang có ý định mang thai.
- Cần kiểm tra chức năng gan trước và trong quá trình điều trị.
'''
高度な使用法
高度なシナリオに関する具体的な説明は提供されていません。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。



