python+openAI遇到的问题
因为输入内容比较多,导致生成一半报错了
然后把openAI超时时间拉长
client = OpenAI(
base_url=OPENAI_BASE_URL,
api_key=OPENAI_API_KEY,
timeout=200 #3分钟左右
)
会导致一个问题
好久没给mq回信息,mq以为你挂了,那边就会和你断开连接
所以需要把openai和ack回应分开
改造,在之前收到任务的基础上,把任务投递到队列里
python
# 投递到工作队列,立即 ack,避免连接因长时间阻塞被关闭
TASK_QUEUE.put((job_id, file_name, doc_content))
执行任务的时候,从队列里获取
python
task = TASK_QUEUE.get()
if task is None:
break
job_id, file_name, doc_content = task
如果结果还是生成很慢
这里的role最好别自定义,就用内定的system、user 这些
python
messages=[{"role": "system", "content": "你是一名资深测试开发工程师,根据需求文档生成 UI 测试用例和 Playwright 代码。只返回 JSON 数组,不要其他说明。"},
{"role":"user","content": prompt}],
docker部署并运行mysql
docker pull m.daocloud.io/docker.io/mysql:8.0
docker run -d --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 m.daocloud.io/docker.io/mysql:8.0
docker exec -it mysql8 bash
mysql -u root -p123456
h2数据库使用
h2本身就是一个Java类,就像使用log4j这些,引入依赖包即可,所以不需要安装
python
spring:
datasource:
url: jdbc:h2:file:./data/aitest;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
这里url的意思表示在当前目录下,./data文件夹下创建数据库文件aitest.mv.db
当你 springboot项目启动时,h2会自动初始化并连接这个文件
h2提供了一个非常方便的web控制台,可以在浏览器中管理数据库
python
spring:
h2:
console:
enabled: true # 开启 H2 Web 控制台
path: /h2 # 访问路径
直接访问 http://localhost:8080/h2

这里需要和自己配置文件里保持一致