Proyek ini bertujuan untuk memanfaatkan kemampuan model bahasa besar untuk mendukung pengkodean.
Sistem ini mencakup klien dan server. Di sisi klien, ada berbagai fitur menarik termasuk manajemen cuplikan, antarmuka chatbot dasar, memilih model, memilih kueri atau mode umpan balik. Di sisi server, logika kueri / umpan balik diimplementasikan, futhermore, Fastapi digunakan untuk berinteraksi dengan chatgpt API.

- Kembangkan antarmuka web yang ramah pengguna menggunakan FastAPI atau Flask yang meminta pengguna untuk memasukkan deskripsi masalah pengkodean mereka.
- Antarmuka harus berinteraksi dengan LLM untuk menghasilkan cuplikan kode yang sesuai berdasarkan input pengguna.
Front-end di-inspried dari Chatgpt UI. Ini berinteraksi dengan back-end dengan menggunakan WebSocket. Dalam lebih jelasnya, front-end mengambil permintaan pengguna dan mengirimkannya ke server oleh WebSocket. Server akan mendapatkan hasil dari ChatGPT dengan mode streaming FASTAPI dan kemudian meneruskan ke klien.
- Menggabungkan fitur yang memungkinkan pengguna memberikan umpan balik pada cuplikan kode yang dihasilkan.
- Memanfaatkan umpan balik ini untuk memperbaiki generasi mendatang.
Di sini, ada dua mode kueri dan mode umpan balik. Dalam mode kueri, prompt pengkodean digunakan oleh teknik yang mendorong rantai. Dalam mode umpan balik, prompt umpan balik digunakan untuk memperbaiki umpan balik negatif pengguna dengan beberapa teknik yang diminta (lihat File server/prompts.py ).
Untuk beralih di antara dua mode, Anda dapat memilih opsi seperti di bawah ini: 
- Kembangkan skrip untuk menjalankan dan memanfaatkan LLM khusus baik secara lokal maupun di server GPU.
Di folder custom_llm , ada skrip untuk menjalankan LLM Custom oleh vllm . Anda dapat memasukkan URL Anda ke UI dan klik Simpan: 
Selain itu, Anda dapat memilih model yang Anda inginkan dari opsi di bawah kotak teks input. 
- Berikan dockerfile bersama dengan instruksi untuk membangun dan menjalankan aplikasi sebagai wadah
Proyek ini mendukung layanan pembangunan oleh DockerFile. Untuk menjalankan wadah Docker WebPage Client, jalankan:
cd client/
sudo docker build -t code-supporter-client:latest .
sudo docker run -d -p 8000:80 code-supporter-client:latest
Di sisi lain, jalankan wadah server Docker sebagai berikut:
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
Untuk menyederhanakan, Anda dapat menjalankan klien dan server hanya dengan satu perintah (harap ubah OPENAI_API_KEY di docker-compose.yml ):
sudo docker compose up
Lagi pula, buka URL http://localhost:8000/ di browser untuk mulai mengobrol!
- Menerapkan fungsionalitas dalam antarmuka yang sama untuk menampilkan daftar cuplikan kode yang dihasilkan sebelumnya.
- Pengguna harus dapat melihat, meninjau, dan menghapus cuplikan ini
Sisi klien mengimplementasikan manajemen snippet di mana localStorage klien digunakan. Dalam detail lebih lanjut, localStorage adalah kamus di mana kunci adalah conversation_id , nilainya adalah konversi dalam beberapa belokan. Contoh percakapan:

Ada dua folder utama, client , dan server . Sementara yang pertama mencakup kode HTML/CSS/JavaScript untuk membuat halaman web pendukung kode, yang kemudian berisi kode server yang ditulis dalam Python.
Di folder client , kode yang paling penting adalah file js/chat.js , di mana ia menangani logika iteraksi server/klien di folder server , penggunaan file sebagai berikut:
apps.py : melayani fastapirouters : Tangani Permintaan Websoket Fastapi dan Iteract dengan Sisi Klienprompts.py : mendeklarasikan promptutils.py : Beberapa fungsi suportif