MicroCore عبارة عن مجموعة من محولات لغة بايثون لنماذج اللغات الكبيرة وواجهات برمجة تطبيقات البحث الدلالي التي تسمح بالتواصل مع هذه الخدمات بطريقة ملائمة، مما يجعلها قابلة للتبديل بسهولة ومنطق أعمال منفصل عن تفاصيل التنفيذ.
فهو يحدد واجهات للميزات المستخدمة عادةً في تطبيقات الذكاء الاصطناعي، مما يسمح لك بإبقاء تطبيقك بسيطًا قدر الإمكان وتجربة نماذج وخدمات مختلفة دون الحاجة إلى تغيير رمز التطبيق الخاص بك.
يمكنك أيضًا التبديل بين نماذج إكمال النص وإكمال الدردشة فقط باستخدام التكوين.
المثال الأساسي للاستخدام هو كما يلي:
from microcore import llm
while user_msg := input ( 'Enter message: ' ):
print ( 'AI: ' + llm ( user_msg ))
التثبيت كحزمة PyPi:
pip install ai-microcore
وبدلاً من ذلك، يمكنك فقط نسخ مجلد microcore
إلى جذر مصادر مشروعك.
git clone [email protected]:Nayjest/ai-microcore.git && mv ai-microcore/microcore ./ && rm -rf ai-microcore
بايثون 3.10 / 3.11 / 3.12
يتم دعم كل من إصدارات حزمة v0.28+ وv1.X OpenAI.
يعد وجود OPENAI_API_KEY
في متغيرات بيئة نظام التشغيل كافيًا للاستخدام الأساسي.
ستعمل ميزات البحث عن التشابه خارج الصندوق إذا قمت بتثبيت حزمة chromadb
pip.
هناك عدد قليل من الخيارات المتاحة لتكوين microcore:
microcore.configure(**params)
.env
في جذر المشروع الخاص بك؛ أمثلة: basic.env، وMistral Large.env، وAnthropic Claude 3 Opus.env، وGemini على Vertex AI.env، وGemini على AI Studio.envmc.configure(DOT_ENV_FILE='dev-config.ini')
للحصول على القائمة الكاملة لخيارات التكوين المتاحة، يمكنك أيضًا التحقق من microcore/config.py
.
بالنسبة للنماذج التي لا تعمل عبر OpenAI API، قد تحتاج إلى تثبيت حزم إضافية:
pip install anthropic
pip install google-generativeai
pip install vertexai
بالإضافة إلى العمل من خلال Vertex AI، تحتاج إلى تثبيت Google Cloud CLI وتكوين التفويض.
سوف تحتاج إلى تثبيت المحولات ومكتبة التعلم العميق التي تختارها (PyTorch، TensorFlow، Flax، إلخ).
شاهد تركيب المحولات.
microcore.configure()
لها الأولوية القصوى..env
افتراضيًا أو قيمة DOT_ENV_FILE
) أعلى من متغيرات بيئة نظام التشغيل.USE_DOT_ENV
إلى false
إلى تعطيل قراءة ملفات التكوين.ينفذ طلبًا إلى نموذج لغة كبير (LLM).
متغير غير متزامن: allm(prompt: str, **kwargs)
from microcore import *
# Will print all requests and responses to console
use_logging ()
# Basic usage
ai_response = llm ( 'What is your model name?' )
# You also may pass a list of strings as prompt
# - For chat completion models elements are treated as separate messages
# - For completion LLMs elements are treated as text lines
llm ([ '1+2' , '=' ])
llm ( '1+2=' , model = 'gpt-4' )
# To specify a message role, you can use dictionary or classes
llm ( dict ( role = 'system' , content = '1+2=' ))
# equivalent
llm ( SysMsg ( '1+2=' ))
# The returned value is a string
assert '7' == llm ([
SysMsg ( 'You are a calculator' ),
UserMsg ( '1+2=' ),
AssistantMsg ( '3' ),
UserMsg ( '3+4=' )]
). strip ()
# But it contains all fields of the LLM response in additional attributes
for i in llm ( '1+2=?' , n = 3 , temperature = 2 ). choices :
print ( 'RESPONSE:' , i . message . content )
# To use response streaming you may specify the callback function:
llm ( 'Hi there' , callback = lambda x : print ( x , end = '' ))
# Or multiple callbacks:
output = []
llm ( 'Hi there' , callbacks = [
lambda x : print ( x , end = '' ),
lambda x : output . append ( x ),
])
يعرض قالب موجه مع المعلمات.
يتم استخدام قوالب Jinja2 كاملة المواصفات بشكل افتراضي.
خيارات التكوين ذات الصلة:
from microcore import configure
configure (
# 'tpl' folder in current working directory by default
PROMPT_TEMPLATES_PATH = 'my_templates_folder'
)
بحث التشابه
البحث عن النص الأكثر مماثلة
عودة مجموعة من النصوص
تخزين النص والبيانات الوصفية ذات الصلة في قاعدة بيانات التضمين
قم بتخزين نصوص متعددة وبيانات التعريف ذات الصلة في قاعدة بيانات التضمين
مجموعة واضحة
يدعم LLM Microcore جميع النماذج وموفري واجهة برمجة التطبيقات (API) الذين لديهم OpenAI API.
مزود واجهة برمجة التطبيقات | نماذج |
---|---|
OpenAI | جميع موديلات GPT-4 وGTP-3.5-Turbo جميع نماذج إكمال النص (davinci، gpt-3.5-turbo-instruct، إلخ) |
مايكروسوفت أزور | جميع موديلات OpenAI، ميسترال الكبيرة |
أنثروبي | نماذج كلود 3 |
ميسترالAI | جميع موديلات ميسترال |
استوديو جوجل للذكاء الاصطناعي | نماذج جوجل الجوزاء |
جوجل فيرتكس الذكاء الاصطناعي | الجوزاء برو ونماذج أخرى |
الأشعة تحت الحمراء العميقة | ديبينفرا/إيروبوروس-70ب جوندوربين/ايروبوروس-l2-70b-gpt4-1.4.1 meta-llama/Llama-2-70b-chat-hf والنماذج الأخرى التي تحتوي على OpenAI API |
بأي مقياس | meta-llama/Llama-2-70b-chat-hf meta-llama/Llama-2-13b-chat-hf meta-llama/Llama-7b-chat-hf |
جروك | LLaMA2 70 ب ميكسترال 8x7b جيما 7 ب |
ألعاب نارية | أكثر من 50 نموذج لغة مفتوح المصدر |
يقوم بمراجعة التعليمات البرمجية بواسطة LLM للتغييرات في ملفات git .patch بأي لغة برمجة.
تحديد عدد البتلات ولون الزهرة من الصورة (gpt-4-turbo)
دقة معيارية لأكثر من 20 نموذجًا من أحدث النماذج في حل مسائل الرياضيات الأولمبية. الاستدلال على نماذج اللغة المحلية عبر محولات HuggingFace، الاستدلال الموازي.
@TODO
هذه ميزة تجريبية
يعدل نظام استيراد Python لتوفير الإعداد التلقائي لبيئة MicroCore استنادًا إلى البيانات التعريفية في مستندات الوحدة النمطية.
import microcore . ai_modules
يرجى الاطلاع على المساهمة للحصول على التفاصيل.
مرخص بموجب ترخيص MIT © 2023 Vitalii Stepanenko