เซิร์ฟเวอร์ AGI แบบโอเพ่นซอร์สสำหรับ LLM แบบโอเพ่นซอร์ส
นี่คือความพยายามของ Anarchy ในการสร้างปัญญาประดิษฐ์ทั่วไปแบบเปิด ? ผ่าน LLM-VM: วิธีการมอบพลังพิเศษของ LLM ของคุณ ? และซุปเปอร์สปีด ?.
คุณสามารถดูคำแนะนำโดยละเอียดเพื่อทดลองใช้งานได้ที่นี่: anarchy.ai
โครงการนี้อยู่ในรุ่นเบต้า คาดหวังการปรับปรุงและพัฒนาอย่างต่อเนื่อง
Anarchy LLM-VM เป็นแบ็กเอนด์ที่ได้รับการปรับปรุงให้เหมาะสมและเหมาะสมอย่างยิ่งสำหรับการรัน LLM พร้อมด้วยคุณสมบัติที่ทันสมัยทั้งหมดที่เราคาดหวังตั้งแต่เสร็จสิ้น: การใช้เครื่องมือ, หน่วยความจำ stateful แบบถาวร, การเพิ่มข้อมูลสด, การปรับแต่งข้อมูลและงานอย่างละเอียด, การสร้างเทมเพลตเอาต์พุต, สนามเด็กเล่นบนเว็บ, ตำแหน่งข้อมูล API, การกลั่นกรองระหว่างนักเรียนและครู, การสังเคราะห์ข้อมูล, การปรับสมดุลโหลดและการจัดประสาน, การเลียนแบบหน้าต่างบริบทขนาดใหญ่
อย่างเป็นทางการ มันเป็นเครื่องเสมือน/ล่ามสำหรับภาษามนุษย์ ประสานงานระหว่างข้อมูล โมเดล (CPU) ข้อความแจ้งของคุณ (รหัส) และเครื่องมือ (IO)
ด้วยการทำทุกสิ่งเหล่านี้ในจุดเดียวด้วยวิธีที่ยึดมั่นถือมั่น LLM-VM สามารถเพิ่มประสิทธิภาพการเรียกแบบแบตช์ได้อย่างเหมาะสม ซึ่งจะมีราคาแพงเกินไปด้วยจุดสิ้นสุดแบบกระจาย นอกจากนี้ยังมุ่งมั่นในการไม่เชื่อเรื่องพระเจ้าทั้งแบบจำลองและสถาปัตยกรรม โดยปรับแบบจำลองที่เลือกให้เหมาะสมสำหรับสถาปัตยกรรมปัจจุบันอย่างเหมาะสม
เพื่อให้สอดคล้องกับภารกิจของ Anarchy LLM-VM มุ่งมั่นที่จะสนับสนุนโมเดลโอเพ่นซอร์ส ด้วยการใช้โมเดลโอเพ่นซอร์สและใช้งานภายในเครื่อง คุณจะได้รับประโยชน์หลายประการ:
เร่งการพัฒนา AGI ของคุณ : ด้วย AnarchyAI อินเทอร์เฟซเดียวคือทั้งหมดที่คุณต้องการเพื่อโต้ตอบกับ LLM ล่าสุดที่มีอยู่
ลดต้นทุนของคุณ ?: การใช้โมเดลในพื้นที่สามารถลดต้นทุนการพัฒนาและการทดสอบแบบจ่ายตามการใช้งานได้
ความยืดหยุ่น ?♀️: อนาธิปไตยช่วยให้คุณสลับระหว่างโมเดลยอดนิยมได้อย่างรวดเร็ว เพื่อให้คุณสามารถระบุเครื่องมือที่เหมาะสมสำหรับโครงการของคุณได้
Community Vibes ?: เข้าร่วมชุมชนนักพัฒนาและวิศวกรที่มีแรงบันดาลใจสูงที่ทำงานอย่างกระตือรือร้นเพื่อทำให้ AGI เป็นประชาธิปไตย
WYSIWYG ?: โอเพ่นซอร์สหมายความว่าไม่มีอะไรถูกซ่อนไว้ เรามุ่งมั่นเพื่อความโปร่งใสและมีประสิทธิภาพเพื่อให้คุณมุ่งเน้นไปที่การสร้างได้
ตัวแทนโดยนัย ?: Anarchy LLM-VM สามารถตั้งค่าให้ใช้เครื่องมือภายนอกผ่านตัวแทนของเรา เช่น REBEL เพียงแค่ระบุคำอธิบายเครื่องมือ!
การเพิ่มประสิทธิภาพการอนุมาน ?: Anarchy LLM-VM ได้รับการปรับให้เหมาะสมตั้งแต่ระดับเอเจนต์ไปจนถึงการประกอบบนสถาปัตยกรรม LLM ที่รู้จักเพื่อให้คุณได้รับผลตอบแทนสูงสุด ด้วยการแบ่งกลุ่มที่ล้ำสมัย การอนุมานแบบกระจัดกระจายและการหาปริมาณ การกลั่น และการวางตำแหน่งหลายระดับ เรามุ่งมั่นที่จะมอบกรอบงานที่เร็วที่สุดที่มีอยู่
การเพิ่มประสิทธิภาพงานอัตโนมัติ ?: Anarchy LLM-VM จะวิเคราะห์กรณีการใช้งานของคุณสำหรับงานซ้ำๆ ซึ่งสามารถเปิดใช้งานการกลั่นกรองนักเรียนและครูเพื่อฝึกโมเดลขนาดเล็กที่มีประสิทธิภาพสูงจากโมเดลทั่วไปที่ใหญ่กว่าโดยไม่สูญเสียความแม่นยำ นอกจากนี้ยังสามารถใช้ประโยชน์จากเทคนิคการสังเคราะห์ข้อมูลเพื่อปรับปรุงผลลัพธ์ได้อีกด้วย
Library Callable : เรามีไลบรารี่ที่สามารถใช้งานได้จากโค้ดเบส Python ใดๆ ได้โดยตรง
HTTP Endpoints ⁉️: เรามีเซิร์ฟเวอร์ HTTP แบบสแตนด์อโลนเพื่อจัดการคำขอให้เสร็จสิ้น
Live Data Augmentation : (ROADMAP) คุณจะสามารถจัดเตรียมชุดข้อมูลอัปเดตแบบสดได้ และ Anarchy LLM-VM จะ ปรับแต่ง โมเดลของคุณหรือทำงานกับ ฐานข้อมูลเวกเตอร์ เพื่อให้ข้อมูลล่าสุดพร้อมการอ้างอิง
Web Playground ?: (ROADMAP) คุณจะสามารถเรียกใช้ Anarchy LLM-VM และทดสอบเอาต์พุตจากเบราว์เซอร์ได้
Load Balancing and Orchestration ⚖️: (ROADMAP) หากคุณมี LLM หรือผู้ให้บริการหลายรายที่คุณต้องการใช้ คุณจะสามารถมอบผู้ให้บริการเหล่านั้นให้กับ Anarchy LLM-VM เพื่อคิดโดยอัตโนมัติว่าจะทำงานร่วมกับรายใดและเมื่อใดที่จะเพิ่มประสิทธิภาพของคุณ เวลาทำงานหรือต้นทุนของคุณ
เทมเพลตเอาท์พุต ?: (ROADMAP) คุณสามารถมั่นใจได้ว่า LLM จะแสดงเฉพาะข้อมูลในรูปแบบเฉพาะและเติมตัวแปรจากเทมเพลตด้วยนิพจน์ทั่วไป, LMQL หรือภาษาเทมเพลตของ OpenAI
หน่วยความจำสถานะถาวร: (ROADMAP) Anarchy LLM-VM สามารถจดจำประวัติการสนทนาของผู้ใช้และตอบสนองตามนั้น
รองรับ Python >=3.10 Python เวอร์ชันเก่านั้นใช้ความพยายามอย่างดีที่สุด
ใช้ bash > python3 --version
เพื่อตรวจสอบเวอร์ชันที่คุณใช้อยู่
หากต้องการอัปเกรด python ให้สร้าง python env ใหม่โดยใช้ bash > conda create -n myenv python=3.10
หรือไปที่ https://www.python.org/downloads/ เพื่อดาวน์โหลดเวอร์ชันล่าสุด
If you plan on running the setup steps below, a proper Python version will be installed for you
รุ่นต่างๆ มีความต้องการของระบบที่แตกต่างกัน ปัจจัยจำกัดในระบบส่วนใหญ่น่าจะเป็น RAM แต่ฟังก์ชันหลายอย่างจะทำงานได้แม้กระทั่ง RAM ขนาด 16 GB
กล่าวคือ ให้ค้นหาข้อมูลเกี่ยวกับรุ่นที่คุณใช้อยู่เสมอ โดยทุกรุ่นมีขนาดและข้อกำหนดที่แตกต่างกันในหน่วยความจำและทรัพยากรการประมวลผล
วิธีเริ่มต้นที่เร็วที่สุดคือการเรียกใช้ pip install llm-vm
ในสภาพแวดล้อม Python ของคุณ
อีกวิธีในการติดตั้ง LLM-VM คือการโคลนพื้นที่เก็บข้อมูลนี้และติดตั้งด้วย pip ดังนี้:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> ./setup.sh
setup.sh
ค่าสคริปต์ bash ข้างต้นใช้งานได้กับ MacOS และ Linux เท่านั้น
หรือคุณสามารถทำสิ่งนี้:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv < name >
> source < name > /bin/activate
> python -m pip install -e . " [dev] "
หากคุณใช้ Windows คุณสามารถปฏิบัติตามวิธีใดวิธีหนึ่งจากสองวิธีด้านล่าง:
ก่อนที่จะดำเนินการขั้นตอนใดๆ ต่อไปนี้ คุณต้องเปิด Powershell ในฐานะผู้ดูแลระบบก่อน และเรียกใช้คำสั่งด้านล่าง
> Set-ExecutionPolicy RemoteSigned
> Press Y and enter
> exit
ตอนนี้คุณสามารถปฏิบัติตามวิธีใดวิธีหนึ่งจากสองวิธีด้านล่าง:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> .windows_setup.ps1
หรือ
> winget install Python.Python.3.11
> python --version
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv anarchyai
> anarchyaiScriptsactivate
> python -m pip install -e .
บันทึก :
หากคุณใช้หนึ่งในโมเดล OpenAI คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อม LLM_VM_OPENAI_API_KEY
ด้วยคีย์ API ของคุณ
LLM-VM ของเราช่วยให้คุณทำงานโดยตรงกับ LLM ยอดนิยมภายในเครื่องได้ภายใน 3 สาย เมื่อคุณติดตั้งแล้ว (ตามด้านบน) เพียงโหลดโมเดลของคุณและเริ่มสร้าง!
# import our client
from llm_vm . client import Client
# Select which LLM you want to use, here we have OpenAI
client = Client ( big_model = 'chat_gpt' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' , openai_key = 'ENTER_YOUR_API_KEY' )
print ( response )
# Anarchy is a political ideology that advocates for the absence of government...
# import our client
from llm_vm . client import Client
# Select the LlaMA 2 model
client = Client ( big_model = 'llama2' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
เลือกจากรุ่นต่อไปนี้
Supported_Models = [ 'chat_gpt' , 'gpt' , 'neo' , 'llama2' , 'bloom' , 'opt' , 'pythia' ]
ขนาดโมเดลเริ่มต้นของ LLM-VM สำหรับโมเดลในตัวเครื่องมีจุดมุ่งหมายเพื่อให้ทุกคนสามารถเข้าถึงการทดลอง LLM ได้ แต่ถ้าคุณมีหน่วยความจำที่จำเป็น โมเดลพารามิเตอร์ที่ใหญ่กว่าจะทำงานได้ดีกว่ามาก!
ตัวอย่างเช่น หากคุณต้องการใช้โมเดลนีโอขนาดใหญ่และเล็กสำหรับครูและนักเรียน และคุณมี RAM เพียงพอ:
# import our client
from llm_vm . client import Client
# Select the LlaMA model
client = Client ( big_model = 'neo' , big_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-20b' },
small_model = 'neo' , small_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-125m' })
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
ต่อไปนี้คือรายละเอียดของโมเดลเริ่มต้นบางส่วน:
ชื่อ | Model_Uri | พารามิเตอร์โมเดล | ขนาดไฟล์จุดตรวจ |
---|---|---|---|
นีโอ | EleutherAI/gpt-neo-1.3B | 1.3B | 5.31GB |
บลูม | bigscience/bloom-560m | 1.7B | 1.12GB |
เลือก | facebook/opt-350m | 350ม | 622 เมกะไบต์ |
สำหรับตัวเลือกอื่นๆ ในการใช้หน่วยความจำและจำนวนพารามิเตอร์ในแต่ละตระกูลรุ่น โปรดดูที่ตาราง model_uri_tables
มีสองตัวแทน: FLAT และ REBEL
รันเอเจนต์แยกกันโดยไปที่ src/llm_vm/agents/<AGENT_FOLDER>
และรันไฟล์ที่ชื่อ agent.py
หรืออีกทางหนึ่ง หากต้องการรันอินเทอร์เฟซแบบธรรมดาและเลือกเอเจนต์ที่จะรันจาก CLI ให้รันไฟล์ src/llm_vm/agents/agent_interface.py
และปฏิบัติตามคำแนะนำพร้อมรับคำสั่ง
เรายินดีต้อนรับผู้มีส่วนร่วม! ในการเริ่มต้นคือการเข้าร่วมชุมชนที่ไม่ลงรอยกันของเรา มิฉะนั้น ต่อไปนี้เป็นวิธีบางส่วนในการบริจาคและรับเงิน:
เราเสนอค่าหัวสำหรับการปิดตั๋วเฉพาะ! ดูที่ป้ายตั๋วเพื่อดูว่ามีค่าหัวเท่าไร ในการเริ่มต้น ให้เข้าร่วม Discord และอ่านคำแนะนำ
แมทธิว เมอร์แมน - ซีอีโอ
วิคเตอร์ โอเดเด - ผู้ไม่สมควร
อภิคยา โสดานี - นักวิจัยฝึกงาน
Carter Schonwald - ผู้สนับสนุนที่กล้าหาญ
Kyle Wild - ผู้สนับสนุนที่กล้าหาญ
Aarushi Banerjee - ผู้มีส่วนร่วมที่กล้าหาญ
แอนดรูว์ เนลสัน - ผู้สนับสนุนที่กล้าหาญ
ใบอนุญาตเอ็มไอที