该项目旨在利用大型语言模型功能来支持编码。
该系统包括客户端和服务器。在客户端,有各种有趣的功能,包括摘要管理,基本聊天机器人接口,选择型号,选择查询或反馈模式。在服务器端,要实现查询 /反馈的逻辑,futhermore,FastApi用于与Chatgpt API交互。

- 使用FastApi或烧瓶开发用户友好的Web界面,以提示用户输入其编码问题的描述。
- 接口应与LLM进行交互,以根据用户的输入生成相应的代码段。
前端不受Chatgpt UI的不利。它通过使用Websocket与后端进行交互。在更多详细信息中,前端进行用户查询并将其通过Websocket传输到服务器。服务器将通过FastApi流媒体模式从Chatgpt获得结果,然后转发到客户端。
- 合并一个功能,允许用户在生成的代码片段上提供反馈。
- 利用此反馈来完善子孙后代。
在这里,有两个选项查询模式和反馈模式。在查询模式下,编码提示提示提示技术使用编码提示。在反馈模式下,反馈提示可以通过几个弹片提示技术来完善用户的负面反馈(请参阅文件server/prompts.py )。
要在两种模式之间切换,您可以选择以下选项: 
- 开发用于运行和利用本地或GPU服务器上自定义LLM的脚本。
在custom_llm文件夹中,有一个脚本可以通过vllm运行自定义LLM。您可以将URL输入UI,然后单击保存: 
此外,您可以从输入文本框下方的选项中选择所需的模型。 
- 提供一个Dockerfile以及用于构建和运行应用程序作为容器的说明
该项目支持Dockerfile的建筑服务。要运行客户端网页Docker容器,请运行:
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
要简化,您只需一个命令即可运行客户端和服务器(请更改docker-compose.yml中的OPENAI_API_KEY ):
sudo docker compose up
毕竟,请访问url http://localhost:8000/ on Browser开始聊天!
- 在同一接口内实现功能,以显示先前生成的代码段的列表。
- 用户应该能够查看,查看和删除这些片段
客户端在使用客户端的localStorage上实现了摘要管理。在更多详细信息中, localStorage是一个词典,其中键是conversation_id ,该值是多个回合的转换。示例对话:

有两个主要文件夹: client和server 。虽然第一个包含html/css/javaScript代码以渲染代码支持者网页,但后来包含用Python编写的服务器代码。
在client文件夹中,最重要的代码是js/chat.js文件,它处理server文件夹中服务器/客户端iTeraction的逻辑,文件的使用如下:
apps.py :服务fastapirouters :处理客户端的FastApi Websocket请求和Iteractprompts.py :声明提示utils.py :一些支持功能