MicroCore adalah kumpulan adaptor python untuk Model Bahasa Besar dan API Pencarian Semantik yang memungkinkan untuk berkomunikasi dengan layanan ini dengan cara yang nyaman, membuatnya mudah dialihkan dan memisahkan logika bisnis dari detail implementasi.
Ini mendefinisikan antarmuka untuk fitur yang biasanya digunakan dalam aplikasi AI, yang memungkinkan Anda membuat aplikasi sesederhana mungkin dan mencoba berbagai model & layanan tanpa perlu mengubah kode aplikasi Anda.
Anda bahkan dapat beralih antara model penyelesaian teks dan penyelesaian obrolan hanya menggunakan konfigurasi.
Contoh dasar penggunaannya adalah sebagai berikut:
from microcore import llm
while user_msg := input ( 'Enter message: ' ):
print ( 'AI: ' + llm ( user_msg ))
Instal sebagai paket PyPi:
pip install ai-microcore
Alternatifnya, Anda cukup menyalin folder microcore
ke root sumber proyek Anda.
git clone [email protected]:Nayjest/ai-microcore.git && mv ai-microcore/microcore ./ && rm -rf ai-microcore
Python 3.10 / 3.11 / 3.12
Versi paket OpenAI v0.28+ dan v1.X didukung.
Memiliki OPENAI_API_KEY
dalam variabel lingkungan OS sudah cukup untuk penggunaan dasar.
Fitur pencarian kesamaan akan langsung berfungsi jika Anda menginstal paket pip chromadb
.
Ada beberapa opsi yang tersedia untuk mengonfigurasi microcore:
microcore.configure(**params)
.env
di root proyek Anda; contoh: basic.env, Mistral Large.env, Anthropic Claude 3 Opus.env, Gemini di Vertex AI.env, Gemini di AI Studio.envmc.configure(DOT_ENV_FILE='dev-config.ini')
Untuk daftar lengkap opsi konfigurasi yang tersedia, Anda juga dapat memeriksa microcore/config.py
.
Untuk model yang tidak bekerja melalui OpenAI API, Anda mungkin perlu menginstal paket tambahan:
pip install anthropic
pip install google-generativeai
pip install vertexai
?Selain itu untuk bekerja melalui Vertex AI, Anda perlu menginstal Google Cloud CLI dan mengonfigurasi otorisasi.
Anda perlu menginstal transformator dan perpustakaan pembelajaran mendalam pilihan Anda (PyTorch, TensorFlow, Flax, dll).
Lihat pemasangan trafo.
microcore.configure()
memiliki prioritas tertinggi..env
secara default atau nilai DOT_ENV_FILE
) lebih tinggi daripada variabel lingkungan OS.USE_DOT_ENV
ke false
akan menonaktifkan pembacaan file konfigurasi.Melakukan permintaan ke model bahasa besar (LLM).
Varian asinkron: 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 ),
])
Merender templat prompt dengan params.
Templat Jinja2 berfitur lengkap digunakan secara default.
Opsi konfigurasi terkait:
from microcore import configure
configure (
# 'tpl' folder in current working directory by default
PROMPT_TEMPLATES_PATH = 'my_templates_folder'
)
Pencarian kesamaan
Temukan teks yang paling mirip
Kembalikan koleksi teks
Simpan teks dan metadata terkait dalam database embeddings
Simpan banyak teks dan metadata terkait di database embeddings
Hapus koleksi
LLM Microcore mendukung semua model & penyedia API yang memiliki OpenAI API.
Penyedia API | Model |
---|---|
OpenAI | Semua model GPT-4 dan GTP-3.5-Turbo semua model penyelesaian teks (davinci, gpt-3.5-turbo-instruct, dll) |
Microsoft Azure | Semua model OpenAI, Mistral Besar |
Antropis | Model Claude 3 |
MistralAI | Semua model Mistral |
Google AI Studio | Model Google Gemini |
Google Vertex AI | Gemini Pro & model lainnya |
Infra dalam | deepinfra/airoboros-70b jondurbin/airoboros-l2-70b-gpt4-1.4.1 meta-llama/Llama-2-70b-chat-hf dan model lain yang memiliki OpenAI API |
Skala apa pun | meta-llama/Llama-2-70b-chat-hf meta-llama/Llama-2-13b-chat-hf meta-llama/Llama-7b-chat-hf |
Bagus | LLaMA2 70b Campuran 8x7b Permata 7b |
Kembang api | Lebih dari 50 model bahasa sumber terbuka |
Melakukan peninjauan kode oleh LLM untuk perubahan pada file git .patch dalam bahasa pemrograman apa pun.
Tentukan jumlah kelopak dan warna bunga dari foto (gpt-4-turbo)
Akurasi tolok ukur 20+ model canggih dalam menyelesaikan soal matematika olimpiade. Menyimpulkan model bahasa lokal melalui HuggingFace Transformers, inferensi paralel.
@TODO
Ini adalah fitur eksperimental.
Mengubah sistem impor Python untuk menyediakan pengaturan otomatis lingkungan MicroCore berdasarkan metadata dalam dokumen modul.
import microcore . ai_modules
Silakan lihat KONTRIBUSI untuk rinciannya.
Berlisensi di bawah Lisensi MIT © 2023 Vitalii Stepanenko