โปรเจ็กต์แบบครบวงจรนี้ช่วยลดความซับซ้อนของวงจรการใช้งานแอปพลิเคชัน Large Language Model (LLM) รวมถึงการพัฒนา การผลิต และการปรับใช้ พื้นที่เก็บข้อมูลประกอบด้วยโฟลเดอร์และไฟล์เป็นส่วนประกอบของโปรเจ็กต์ เช่น เอเจนต์, API, เชน, แชทบอท, GROQ (ภาษาคิวรี), โมเดล Hugging Face, ObjectBox (ฐานข้อมูลแบบฝัง), โมเดล OpenAI และการสร้างการดึงข้อมูล (RAG) ) ) รุ่น โครงการนี้มีจุดมุ่งหมายเพื่อมอบโซลูชันที่ครอบคลุมสำหรับการทำงานร่วมกับ LLM ครอบคลุมการจัดการข้อมูล การพัฒนาแชทบอต และการผสานรวมกับเครื่องมือและเฟรมเวิร์กต่างๆ
โปรเจ็กต์นี้สาธิตการสร้างแชทบอทโดยใช้โมเดลภาษาขนาดใหญ่ (LLM) ทั้งแบบชำระเงินและแบบโอเพ่นซอร์สผ่าน Langchain และ Ollama โดยครอบคลุมวงจรการใช้งานทั้งหมดของแอปพลิเคชัน LLM รวมถึงการพัฒนา การผลิต และการปรับใช้
ใช่. API ทั้งหมดเป็นความลับ โดยมีการจำกัดการเข้าถึงของผู้ใช้ และ .gitignore ที่ไม่ระบุตัวตน และการรักษาความปลอดภัยอีกชั้นหนึ่งผ่านสภาพแวดล้อมลับ Github (ขออภัย! คุณจะต้องใช้ของคุณเอง!)
conda create -p venv python==3.10 -y
venv S cripts a ctivate
pip install -r requirements.txt
กำหนดค่าคีย์ API และการตั้งค่าที่จำเป็นในไฟล์ app.py
python app.py
เปิดเว็บเบราว์เซอร์แล้วไปที่ (หรือพอร์ตโปรเกรสซีฟที่กำหนดบนคอมพิวเตอร์ของคุณ) ของฉันคือ:
http://localhost:8502
เราสร้างไฟล์โดยการเรียกใช้ฟังก์ชันหลัก 3 ฟังก์ชันที่เชื่อมโยงกันของแชทบอทฐานของเรา
เราโหลดข้อกำหนดสำหรับโมดูลและไลบรารี:
เรารัน app.py ของเรา
เรากำหนดค่า app.py
และรันเสร็จแล้ว
มันจะส่งคืนเส้นทางและเปิดโฮสต์ในเบราว์เซอร์ทดสอบ
Local URL: http://localhost:8502
Network URL: http://192.168.100.30:8502
มาตรวจสอบหน้ากัน:
มาทบทวนโปรเจ็กต์ในกรอบการทำงานของ Langchain กัน:
ลองดูที่โครงสร้างของผลลัพธ์ตามที่เรากำหนดไว้:
เราดูรายละเอียด StrOutputParser:
เราจะถามคุณเกี่ยวกับ “การให้โค้ด Python ที่แลกเปลี่ยนสองค่า” เพื่อประเมินต้นทุน โทเค็น และเวลาหน่วงเพื่อแก้ไขปัญหา:
*proveeme de un código python que swapee 2 valores.*
:
# Definir los dos valores a intercambiar
a = 5
b = 10
print ( "Valores originales:" )
print ( "a =" , a )
print ( "b =" , b )
# Intercambiar los valores
temp = a
a = b
b = temp
print ( " n Valores intercambiados:" )
print ( "a =" , a )
print ( "b =" , b )
ในที่สุดเราก็สร้างแบบสอบถามทั่วไป:
“คำถาม”: “เมื่อใดควรเริ่มแปรงฟันให้ลูกสุนัข?”
เราจะโหลด Llamama โดยเฉพาะโดยการดาวน์โหลด Llama2 ลงในคอมพิวเตอร์ของเราเพื่อเรียกใช้จากสภาพแวดล้อมในพื้นที่ของฉัน
ฉันเปิด cmd
ollama run llama2
เราดาวน์โหลด llama2
Llama2
เทียบกับระดับที่สร้างด้วย gpt3.5 turbo
โครงการนี้รวมการเปรียบเทียบระหว่าง GPT-3.5-turbo ของ OpenAI และรุ่น Llama2 ที่รันในเครื่อง:
เราใช้ Langsmith บน Langchain เพื่อติดตาม:
การมีส่วนร่วมเพื่อปรับปรุงแชทบอทหรือขยายขีดความสามารถนั้นยินดีต้อนรับเสมอ กรุณาส่งคำขอดึงหรือปัญหาที่เปิดอยู่สำหรับการปรับปรุงใด ๆ
#### อยากเรียนมั้ย? ส่ง DM มาให้ฉันสิ!
โครงการนี้เป็นโอเพ่นซอร์สและพร้อมใช้งานภายใต้ใบอนุญาต MIT