نظرة عامة • التثبيت • ورقة • أمثلة • مستندات • اقتباس
يوفر OpenICL واجهة سهلة للتعلم داخل السياق ، مع العديد من أساليب الاسترجاع والاستدلال الحديثة المضمنة لتسهيل المقارنة المنهجية لـ LMS والنماذج الأولية للبحث السريع. يمكن للمستخدمين دمج طرق الاسترجاع والاستدلال المختلفة بسهولة ، بالإضافة إلى تعليمات سريعة مختلفة في سير العمل الخاصة بهم.
ملاحظة: يتطلب OpenICL Python 3.8+
باستخدام PIP
pip install openicl
التثبيت للتنمية المحلية:
git clone https://github.com/Shark-NLP/OpenICL
cd OpenICL
pip install -e .
يوضح لك المثال التالي كيفية تنفيذ ICL على مجموعة بيانات تصنيف المشاعر. يمكن العثور على المزيد من الأمثلة والدروس التعليمية في أمثلة
from datasets import load_dataset
from openicl import DatasetReader
# Loading dataset from huggingface
dataset = load_dataset ( 'gpt3mix/sst2' )
# Define a DatasetReader, with specified column names where input and output are stored.
data = DatasetReader ( dataset , input_columns = [ 'text' ], output_column = 'label' ) from openicl import PromptTemplate
tp_dict = {
0 : "</E>Positive Movie Review: </text>" ,
1 : "</E>Negative Movie Review: </text>"
}
template = PromptTemplate ( tp_dict , { 'text' : '</text>' }, ice_token = '</E>' ) سيتم استبدال العنصر النائب </E> و </text> بأمثلة داخل السياق وإدخال اختبار ، على التوالي. لمزيد من المعلومات التفصيلية حول PromptTemplate (مثل قالب نوع السلسلة) ، يرجى الاطلاع على Tutorial1.
from openicl import TopkRetriever
# Define a retriever using the previous `DataLoader`.
# `ice_num` stands for the number of data in in-context examples.
retriever = TopkRetriever ( data , ice_num = 8 )هنا نستخدم طريقة TOPK الشهيرة لبناء المسترد.
from openicl import PPLInferencer
inferencer = PPLInferencer ( model_name = 'distilgpt2' ) from openicl import AccEvaluator
# the inferencer requires retriever to collect in-context examples, as well as a template to wrap up these examples.
predictions = inferencer . inference ( retriever , ice_template = template )
# compute accuracy for the prediction
score = AccEvaluator (). score ( predictions = predictions , references = data . references )
print ( score )(تحديث ...)
وثائق مفتوحة
إذا وجدت هذا المستودع مفيدًا ، فلا تتردد في الاستشهاد بورقنا:
@article { wu2023openicl ,
title = { OpenICL: An Open-Source Framework for In-context Learning } ,
author = { Zhenyu Wu, Yaoxiang Wang, Jiacheng Ye, Jiangtao Feng, Jingjing Xu, Yu Qiao, Zhiyong Wu } ,
journal = { arXiv preprint arXiv:2303.02913 } ,
year = { 2023 }
}