โครงการนี้มีจุดมุ่งหมายเพื่อใช้ประโยชน์จากความสามารถของแบบจำลองภาษาขนาดใหญ่เพื่อรองรับการเข้ารหัส
ระบบรวมถึงไคลเอนต์และเซิร์ฟเวอร์ ในฝั่งไคลเอ็นต์มีคุณสมบัติที่น่าสนใจมากมายรวมถึงการจัดการตัวอย่างอินเตอร์เฟสแชทบ็อตพื้นฐานการเลือกรุ่นการเลือกแบบสอบถามหรือโหมดข้อเสนอแนะ ทางฝั่งเซิร์ฟเวอร์ตรรกะของการสืบค้น / ข้อเสนอแนะถูกนำมาใช้ futhermore, fastapi ถูกใช้เพื่อโต้ตอบกับ chatgpt APIs

- พัฒนาเว็บอินเตอร์เฟสที่ใช้งานง่ายโดยใช้ Fastapi หรือ Flask ที่แจ้งให้ผู้ใช้ทราบคำอธิบายของปัญหาการเข้ารหัส
- อินเทอร์เฟซควรโต้ตอบกับ LLM เพื่อสร้างตัวอย่างโค้ดที่สอดคล้องกันตามอินพุตของผู้ใช้
ส่วนหน้าถูก inspried จาก chatgpt ui มันโต้ตอบกับ back-end โดยใช้ WebSocket ในรายละเอียดเพิ่มเติมส่วนหน้าจะใช้การสืบค้นผู้ใช้และส่งไปยังเซิร์ฟเวอร์โดย WebSocket เซิร์ฟเวอร์จะได้รับผลลัพธ์จาก ChatGPT โดยโหมดการสตรีม Fastapi จากนั้นส่งต่อไปยังไคลเอนต์
- รวมฟีเจอร์ที่อนุญาตให้ผู้ใช้ให้ข้อเสนอแนะเกี่ยวกับตัวอย่างโค้ดที่สร้างขึ้น
- ใช้ประโยชน์จากข้อเสนอแนะนี้เพื่อปรับแต่งคนรุ่นต่อไปในอนาคต
ที่นี่มีสองโหมดการสืบค้นตัวเลือกและโหมดตอบรับ ในโหมดการสืบค้นพรอมต์การเข้ารหัสจะใช้โดยเทคนิคการแจ้งเตือนแบบโซ่ ในโหมดข้อเสนอแนะพรอมต์ข้อเสนอแนะใช้เพื่อปรับแต่งการตอบกลับเชิงลบของผู้ใช้ด้วยเทคนิคการแจ้งเตือนไม่กี่นัด (ดูไฟล์ server/prompts.py )
หากต้องการสลับระหว่างสองโหมดคุณสามารถเลือกตัวเลือกได้เช่นด้านล่าง: 
- พัฒนาสคริปต์สำหรับการรันและใช้ LLM ที่กำหนดเองไม่ว่าจะเป็นในพื้นที่หรือบนเซิร์ฟเวอร์ GPU
ในโฟลเดอร์ custom_llm มีสคริปต์ให้เรียกใช้ LLM ที่กำหนดเองโดย vllm คุณสามารถป้อน URL ของคุณไปยัง UI และคลิกบันทึก: 
นอกจากนี้คุณสามารถเลือกรุ่นที่คุณต้องการจากตัวเลือกด้านล่างกล่องข้อความอินพุต 
- จัดเตรียม DockerFile พร้อมคำแนะนำสำหรับการสร้างและเรียกใช้แอปพลิเคชันเป็นคอนเทนเนอร์
โครงการสนับสนุนบริการอาคารโดย DockerFile ในการเรียกใช้คอนเทนเนอร์หน้าไคลเอนต์หน้าไคลเอนต์ให้เรียกใช้:
cd client/
sudo docker build -t code-supporter-client:latest .
sudo docker run -d -p 8000:80 code-supporter-client:latest
ในทางกลับกันรันคอนเทนเนอร์เซิร์ฟเวอร์ Docker ดังนี้:
cd server/
sudo docker build -t code-supporter-server:latest .
sudo docker run -p 7999:80 -e OPENAI_API_KEY=sk-... code-supporter-server:latest
ในการทำให้ง่ายขึ้นคุณสามารถเรียกใช้ไคลเอนต์และเซิร์ฟเวอร์ได้เพียงหนึ่งคำสั่ง (โปรดเปลี่ยน OPENAI_API_KEY ใน docker-compose.yml ):
sudo docker compose up
ท้ายที่สุดให้ไปที่ URL http://localhost:8000/ บนเบราว์เซอร์เพื่อเริ่มแชท!
- ใช้ฟังก์ชันการทำงานภายในอินเทอร์เฟซเดียวกันเพื่อแสดงรายการตัวอย่างโค้ดที่สร้างขึ้นก่อนหน้านี้
- ผู้ใช้ควรสามารถดูตรวจสอบและลบตัวอย่างเหล่านี้ได้
ฝั่งไคลเอ็นต์ใช้การจัดการตัวอย่างที่ใช้ localStorage ลูกค้าในพื้นที่ ในรายละเอียดเพิ่มเติม localStorage เป็นพจนานุกรมที่คีย์คือ conversation_id ค่าคือการสนทนาในหลายรอบ ตัวอย่างการสนทนา:

มีโฟลเดอร์หลักสอง client และ server ในขณะที่คนแรกรวมถึงรหัส HTML/CSS/JavaScript เพื่อแสดงผลเว็บเพจผู้สนับสนุนโค้ด แต่ในภายหลังมีรหัสเซิร์ฟเวอร์ที่เขียนใน Python
ในโฟลเดอร์ client รหัสที่สำคัญที่สุดคือไฟล์ js/chat.js ซึ่งจัดการตรรกะของเซิร์ฟเวอร์/ไคลเอนต์ iteraction ในโฟลเดอร์ server การใช้ไฟล์ดังนี้:
apps.py : ให้บริการ fastapirouters : จัดการคำขอ fastapi websocket และ iteract กับฝั่งไคลเอ็นต์prompts.py : ประกาศพรอมต์utils.py : ฟังก์ชั่นสนับสนุนบางอย่าง