MicroCore คือชุดอะแดปเตอร์ Python สำหรับโมเดลภาษาขนาดใหญ่และ API การค้นหาเชิงความหมาย ซึ่งช่วยให้สื่อสารกับบริการเหล่านี้ในวิธีที่สะดวก ทำให้สามารถสลับได้อย่างง่ายดาย และแยกตรรกะทางธุรกิจออกจากรายละเอียดการใช้งาน
โดยจะกำหนดอินเทอร์เฟซสำหรับฟีเจอร์ที่โดยทั่วไปใช้ในแอปพลิเคชัน AI ซึ่งช่วยให้คุณทำให้แอปพลิเคชันของคุณเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ และลองใช้โมเดลและบริการต่างๆ โดยไม่ต้องเปลี่ยนโค้ดแอปพลิเคชันของคุณ
คุณยังสามารถสลับระหว่างโมเดลการเติมข้อความและการเติมข้อความแชทได้โดยใช้การกำหนดค่าเท่านั้น
ตัวอย่างการใช้งานเบื้องต้นมีดังนี้:
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
ในตัวแปรสภาพแวดล้อมระบบปฏิบัติการก็เพียงพอสำหรับการใช้งานขั้นพื้นฐาน
คุณลักษณะการค้นหาความคล้ายคลึงจะทำงานนอกกรอบหากคุณติดตั้งแพ็คเกจ pip chromadb
มีตัวเลือกไม่กี่ตัวเลือกสำหรับการกำหนดค่าไมโครคอร์:
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
ผู้ให้บริการ API | โมเดล |
---|---|
OpenAI | GPT-4 และ GTP-3.5-Turbo ทุกรุ่น โมเดลการเติมข้อความทั้งหมด (davinci, gpt-3.5-turbo-instruct ฯลฯ) |
ไมโครซอฟต์ อาซัวร์ | OpenAI ทุกรุ่น Mistral Large |
มานุษยวิทยา | คลอดด์ 3 รุ่น |
มิสทรัลเอไอ | มิสทรัลทุกรุ่น |
กูเกิล เอไอ สตูดิโอ | รุ่น Google Gemini |
กูเกิล เวอร์เท็กซ์ เอไอ | Gemini Pro และรุ่นอื่นๆ |
อินฟราเรดลึก | ดีพอินฟรา/ไอโรโบรอส-70b จอนเดอร์บิน/ไอโรโบรอส-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 70b มิกซ์ทรัล 8x7b เจมม่า 7b |
ดอกไม้ไฟ | โมเดลภาษาโอเพ่นซอร์สมากกว่า 50 แบบ |
ดำเนินการตรวจสอบโค้ดโดย LLM สำหรับการเปลี่ยนแปลงในไฟล์ git .patch ในภาษาการเขียนโปรแกรมใดๆ
กำหนดจำนวนกลีบและสีของดอกไม้จากภาพถ่าย (gpt-4-turbo)
ความแม่นยำมาตรฐานของแบบจำลองล้ำสมัยกว่า 20 แบบในการแก้ปัญหาคณิตศาสตร์โอลิมปิก การอนุมานโมเดลภาษาท้องถิ่นผ่าน HuggingFace Transformers การอนุมานแบบขนาน
@สิ่งที่ต้องทำ
นี่คือคุณลักษณะทดลอง
ปรับแต่งระบบนำเข้า Python เพื่อให้ตั้งค่าสภาพแวดล้อม MicroCore โดยอัตโนมัติตามข้อมูลเมตาในโมดูลเอกสาร
import microcore . ai_modules
โปรดดูการมีส่วนร่วมเพื่อดูรายละเอียด
ได้รับอนุญาตภายใต้ใบอนุญาต MIT © 2023 Vitalii Stepanenko