B站视频讲解: https://www.bilibili.com/video/BV1LH4y1Q7X8/
youtube视频讲解: https://youtu.be/erETVeOU_5U
代码解释器特别有用的用例如下:
a) 解决定量和定性数学问题
b) 进行数据分析和可视化
c) 在不同文件格式之间进行转换
文档说明如下:
https://openai.com/blog/chatgpt-plugins#code-interpreter
功能演示如下:
ChatGPT.interpreter.plug-in.demo.on.Vimeo.mp4
需要开通openAI plus,每个月支付20刀才能使用
a. https://github.com/ricklamers/gpt-code-ui
b. https://github.com/shroominic/codeinterpreter-api
clone下来,运行起来,遇到一个错误。(shroominic/codeinterpreter-api#97)
3. 当前是从 https://github.com/ricklamers/gpt-code-ui 拷贝过来,做一些分析和适配改造。
想应用LLM,prompt至关重要,所以首先来看一下prompt是怎么写的。
在文件:gpt_code_ui/webapp/main.py中
根据.env.azure-exampl 来配置相应的变量,然后修改文件为.env文件。 代码启动的时候,会去读这个文件。
load_dotenv('.env')
除了直接通过pip install 生成可执行文件gptcode之外,还可以通过make 命令把静态资源打包到gpt_code_ui/webapp/static下面。
(详细参见Makefile,我把Makefile中的 upload task删除了,本地编译不需要上传。)
根据prompt或者文档预先安装一些包,如果后期运行报错,根据错误再来安装也可以。
然后就可以直接运行 gpt_code_ui/webapp/main.py文件
功能视频演示如下:
gpt-code-interpreter-oss.mov
@sql,query the books table, group by column "authors" of top 5 in bar picture and the column "authors" is not null.
指定了2core 4G之后,得到明显好转
(规范一下资源模版:
[为容器和 Pod 分配内存资源](https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-memory-resource/) | [为容器和 Pods 分配 CPU 资源](https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-cpu-resource/))
***如果使用其他的serverless,比如web app或者container app也要对资源做相应的配置***
通过roundrobin 方式,轮训和retry
[绑定azure file的PVC](https://learn.microsoft.com/en-us/azure/aks/azure-csi-files-storage-provision)
[NFS共享访问](https://learn.microsoft.com/zh-cn/azure/storage/blobs/network-file-system-protocol-support-how-to)
或者serverless对storage的支持。
***代码都要做相应的调整***
用python语法树,做语法检查。然后inject prompt,再re-generate code
支持pip install 通过正则匹配过滤掉
常见问候,导致的代码错误,通过拒绝回答来避免错误
比如去访问的数据结构,比如询问天气,调用的API是401错误,但是没有判断,所以接下来会出现runtime Exception,不生成python来规避
数据空指针等,目前应对,实际情况,考虑prompt内置一些防御的prompt,比如过滤null等让用户体验更好。
用azure TextAnalyticsClient来检测语言的时候,***也有随机性如果输入太少比如:你好经常识别成英语,如果指定地域cn的话,容易识别成 繁体字***
本地安装字体,然后指定一下字体内容。可以在font文档夹中获取到。
把font放到拷贝到:
~/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf
修改文件:
~/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc #font.sans-serif: SimHei,
效果如下图: 中文可以正常显示:
1. user kernel_env 隔离
(https://github.com/dasmy/gpt-code-ui/tree/dev/kernel_env)
(https://github.com/shroominic/codebox-api/tree/main)
2. user session 管理(https://github.com/dasmy/gpt-code-ui/tree/dev/session_management)