Tutor-GPT เป็นเพื่อนร่วมการเรียนรู้ที่ขับเคลื่อนโดย LLM ที่พัฒนาโดย Plastic Labs โดยให้เหตุผลแบบไดนามิกเกี่ยวกับความต้องการการเรียนรู้ของคุณ และ อัปเดตคำแนะนำของตนเอง เพื่อให้บริการคุณได้อย่างดีที่สุด
เราพึ่งพาทฤษฎีการทดลองทางจิต และตอนนี้มันเป็นมากกว่าครูสอนพิเศษด้านการอ่านเขียน แต่ยังเป็นเพื่อนการเรียนรู้ที่กว้างขวาง อ่านเพิ่มเติมเกี่ยวกับวิธีการทำงานที่นี่
Tutor-GPT ขับเคลื่อนโดย Honcho เพื่อสร้างการนำเสนอผู้ใช้ที่มีประสิทธิภาพ และสร้างประสบการณ์ส่วนตัวสำหรับผู้ใช้แต่ละคน
tutor-gpt
เวอร์ชันที่โฮสต์มีชื่อว่า Bloom เพื่อเป็นการยกย่องปัญหา Two Sigma ของ Benjamin Bloom
หรือคุณสามารถเรียกใช้อินสแตนซ์บอทของคุณเองโดยทำตามคำแนะนำด้านล่าง
โปรเจ็กต์ tutor-gpt ถูกแบ่งระหว่างโมดูลต่างๆ มากมายที่แยกตรรกะแบ็กเอนด์สำหรับไคลเอนต์ที่แตกต่างกัน
agent/
- ประกอบด้วยตรรกะหลักและสถาปัตยกรรมพร้อมท์bot/
- มีการใช้งานบอทที่ไม่ลงรอยกันapi/
- มีอินเทอร์เฟซ FastAPI API ที่เปิดเผย agent/
ตรรกะwww/
- มีส่วนหน้าของเว็บ NextJS
ที่สามารถเชื่อมต่อกับอินเทอร์เฟซ API ได้supabase/
- มีสคริปต์ SQL ที่จำเป็นสำหรับการตั้งค่า supabase ในเครื่อง โปรเจ็กต์ส่วนใหญ่ได้รับการพัฒนาโดยใช้ Python ยกเว้นแอปพลิเคชัน NextJS สำหรับ python uv
ใช้สำหรับการจัดการการพึ่งพาและสำหรับเว็บอินเตอร์เฟสเราใช้ pnpm
ทั้ง bot/
และ api/
modules ใช้ agent/
เป็นการพึ่งพาและโหลดเป็นแพ็คเกจภายในเครื่องโดยใช้ uv
หมายเหตุ ข้อมูลเพิ่มเติมเกี่ยวกับเว็บอินเตอร์เฟสมีอยู่ใน www/README README นี้ประกอบด้วยข้อมูลเกี่ยวกับแบ็กเอนด์ของ tutor-gpt และตรรกะหลักของติวเตอร์เป็นหลัก
โมดูล agent
, bot
และ api
ทั้งหมดได้รับการจัดการโดยใช้พื้นที่ทำงาน uv
ในส่วนนี้จะกล่าวถึงวิธีการตั้งค่าสภาพแวดล้อม Python สำหรับการเรียกใช้ Tutor-GPT ซึ่งจะช่วยให้คุณสามารถเรียกใช้บอทที่ไม่ลงรอยกัน เรียกใช้แอปพลิเคชัน FastAPI หรือพัฒนาโค้ด agent
คำสั่งด้านล่างจะติดตั้งการขึ้นต่อกันทั้งหมดที่จำเป็นสำหรับการรันโปรเจ็กต์ tutor-gpt เราขอแนะนำให้ใช้ uv เพื่อตั้งค่าสภาพแวดล้อมเสมือนสำหรับโปรเจ็กต์
git clone https://github.com/plastic-labs/tutor-gpt.git && cd tutor-gpt
uv sync # set up the workspace
source .venv/bin/activate # activate the virtual environment
จากที่นี่ คุณจะต้องเรียกใช้ uv sync
ในไดเร็กทอรีที่เหมาะสม ขึ้นอยู่กับว่าคุณเป็นส่วนหนึ่งของโปรเจ็กต์ที่คุณต้องการเรียกใช้ ตัวอย่างเช่น ในการเรียกใช้แอปพลิเคชัน FastAPI คุณต้องนำทางไปยังไดเร็กทอรีเพื่อทำการซิงค์อีกครั้ง
cd api/
uv sync
คุณควรเห็นข้อความระบุว่าการพึ่งพาได้รับการแก้ไขแล้วและ/หรือติดตั้งหากยังไม่ได้ติดตั้งมาก่อน
อีกวิธีหนึ่ง (วิธีที่แนะนำ) โปรเจ็กต์นี้สามารถสร้างและรันด้วยนักเทียบท่าได้ ติดตั้งนักเทียบท่าและตรวจสอบให้แน่ใจว่าทำงานก่อนดำเนินการต่อ
ส่วนหน้าของเว็บถูกสร้างขึ้นและทำงานแยกจากส่วนที่เหลือของโค้ดเบส ด้านล่างนี้คือคำสั่งสำหรับการสร้างแกนหลักของโปรเจ็กต์ tutor-gpt ซึ่งรวมถึงการขึ้นต่อกันที่จำเป็นสำหรับการรันบอทที่ไม่ลงรอยกันหรือตำแหน่งข้อมูล FastAPI
git clone https://github.com/plastic-labs/tutor-gpt.git
cd tutor-gpt
docker build -t tutor-gpt-core .
ในทำนองเดียวกัน หากต้องการสร้างเว็บอินเตอร์เฟสให้รันคำสั่งด้านล่าง
แต่ละอินเทอร์เฟซของ tutor-gpt ต้องการตัวแปรสภาพแวดล้อมที่แตกต่างกันเพื่อให้ทำงานได้อย่างถูกต้อง ทั้งโมดูล bot/
และ api/
มีไฟล์ .env.template
ที่คุณสามารถใช้เป็นจุดเริ่มต้นได้ คัดลอกและเปลี่ยนชื่อ .env.template
เป็น .env
ด้านล่างนี้คือคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับตัวแปรสภาพแวดล้อม
OPENAI_API_KEY
— คีย์ API สำหรับ Openrouter ซึ่งใช้ API ที่เข้ากันได้กับ OpenAIMODEL
— โมเดล openrouter ที่จะใช้ถัดไปJS และ fastAPI
URL
— ตำแหน่งข้อมูล URL สำหรับแอปพลิเคชันส่วนหน้า Next.jsHONCHO_URL
— URL พื้นฐานสำหรับอินสแตนซ์ของ Honcho ที่คุณใช้HONCHO_APP_NAME
— ชื่อของแอปพลิเคชัน honcho ที่จะใช้สำหรับ Tutor-GPTอุปกรณ์เสริมเพิ่มเติม
SENTRY_DSN_API
— Sentry DSN สำหรับการรายงานข้อผิดพลาดเพิ่มเติมBOT_TOKEN
— นี่คือโทเค็นบอทที่ไม่ลงรอยกัน คุณสามารถดูคำแนะนำเกี่ยวกับวิธีสร้างบอทและสร้างโทเค็นได้ในเอกสาร pycordTHOUGHT_CHANNEL_ID
— นี่คือช่องทางที่ไม่ลงรอยกันสำหรับบอทในการแสดงความคิดเห็น สร้างช่องในเซิร์ฟเวอร์ของคุณและคัดลอก ID โดยคลิกขวาที่ช่องแล้วคัดลอกลิงก์ รหัสช่องคือตัวเลขชุดสุดท้ายในลิงก์ คุณยังสามารถเลือกใช้คอนเทนเนอร์นักเทียบท่าเพื่อเรียกใช้แอปพลิเคชันภายในเครื่องได้ ด้านล่างนี้คือคำสั่งให้เรียกใช้บอทที่ไม่ลงรอยกันในเครื่องโดยใช้ไฟล์ .env
ที่ไม่อยู่ในคอนเทนเนอร์นักเทียบท่า ระวังอย่าเพิ่ม .env
ของคุณในคอนเทนเนอร์นักเทียบท่า เนื่องจากไม่ปลอดภัยและอาจทำให้ความลับของคุณรั่วไหลได้
docker run --env-file .env tutor-gpt-core python bot/app.py
หากต้องการเรียกใช้ webui คุณต้องเรียกใช้ FastAPI
แบ็กเอนด์และคอนเทนเนอร์ NextJS
ส่วนหน้าแยกกัน ในอินสแตนซ์เทอร์มินัลสองอินสแตนซ์ที่แยกจากกัน ให้รันคำสั่งต่อไปนี้เพื่อให้ทั้งสองแอปพลิเคชันทำงาน ลักษณะการทำงานปัจจุบันจะใช้ไฟล์ .env
ในพื้นที่เก็บข้อมูลในเครื่องของคุณและเรียกใช้บอท
docker run -p 8000:8000 --env-file .env tutor-gpt-core python -m uvicorn api.main:app --host 0.0.0.0 --port 8000 # FastAPI Backend
docker run tutor-gpt-web
หมายเหตุ: คำสั่งเรียกใช้เริ่มต้นในไฟล์นักเทียบท่าสำหรับคอร์จะรันแบ็กเอนด์ FastAPI ดังนั้นคุณจึงสามารถรันนักเทียบท่า run --env-file .env tutor-gpt-core
โครงการนี้เป็นโอเพ่นซอร์สโดยสมบูรณ์และยินดีรับการสนับสนุนจากโอเพ่นซอร์สทั้งหมด ขั้นตอนการทำงานสำหรับการสนับสนุนคือการสร้างทางแยกของพื้นที่เก็บข้อมูล คุณสามารถอ้างสิทธิ์ปัญหาได้ในแท็บปัญหาหรือเริ่มชุดข้อความใหม่เพื่อระบุคุณลักษณะหรือการแก้ไขข้อบกพร่องที่คุณกำลังดำเนินการอยู่
เมื่อคุณบริจาคเสร็จแล้ว ให้ PR ชี้ไปที่สาขา staging
และผู้จัดการโครงการจะตรวจสอบ รู้สึกอิสระที่จะเข้าร่วมกับเราในความขัดแย้งของเราเพื่อหารือเกี่ยวกับการเปลี่ยนแปลงของคุณหรือขอความช่วยเหลือ
เมื่อการเปลี่ยนแปลงของคุณได้รับการยอมรับและรวมเข้ากับการแสดงชั่วคราวแล้ว การเปลี่ยนแปลงเหล่านั้นจะเข้าสู่ช่วงการทดสอบจริงก่อนที่จะเข้าสู่อัปสตรีมเข้าสู่ main
Tutor-GPT ได้รับอนุญาตภายใต้ใบอนุญาต GPL-3.0 เรียนรู้เพิ่มเติมที่ไฟล์ใบอนุญาต