AI舌苔诊病(文心快码Baidu Comate)进行代码解析与完成项目二创
CSDN 2024-08-23 13:01:01 阅读 87
目录
前言
百度 AppBuilder——接口处理
文心快码Baidu Comate——接口解析
文心快码Baidu Comate——页面生成与优化
文心快码Baidu Comate——二创基础数据积累-智能提问存储数据
二创方向询问
二创实操
文心快码Baidu Comate——对微服务架构分析能力测试
1、整体视角——完全失败
2、需求分析——对单个文件进行功能的需求分析——成功
3、技术选型——成功
4、模块化设计——失败
总结
46%采纳率,百度30%的代码都是它写的!
文心快码Baidu Comate——下载链接:https://dwz.cn/Q9UY5eUP
前言
本次灵感来自于入秋上火,上火的时候舌苔的变化特别大,并且秋天的时候容易上火,胃口也不怎么样,所以就使用百度 AppBuilder来创建了一个智能体应用【AI舌诊专家】,但是不能总是用平台默认的页面样式,我想修改一下,所以就结合最新升级的【文心快码Baidu Comate】共同来完成这个项目了。
百度 AppBuilder——接口处理
官方直接就提供的请求方法。
如果我们不懂代码看不懂怎么办?直接使用代码解释就行。
使用:
#当前文件 代码解释
知道了代码代表的含义,我们这里就直接调用一下试试啊。
直接就访问成功了,那么我们后面就需要上传参数进行访问了。
有了对应的基础参数就能继续访问大模型了,代码都给提示了。
稍微处理一下返回结果:
我们已经有了核心的数据,那么,接下来我们要把它写成一个webapi的接口。
文心快码Baidu Comate——接口解析
我再官方平台看到了这个功能,应该是比较新的,那么我们就尝试一下。
有代码我们就直接进行提问。
使用flask库创建webapi接口,端口号8080,ip权限:0.0.0.0/0,一个参数是query,接口名称叫做getInfos。
返回代码,这里少了个跨域,我就自己写上了。
<code>from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/getInfos', methods=['GET'])
def get_infos():
# 从 URL 查询参数中获取 'query'
query = request.args.get('query', '')
# 这里可以添加更多的逻辑来处理 query 参数
# 例如,你可能想调用一个外部服务,或者查询数据库等
# 假设我们只是简单地将 query 返回
return jsonify({'query': query, 'response': 'Received query: ' + query})
if __name__ == '__main__':
# 监听 0.0.0.0 上的 8080 端口,允许从任何 IP 地址访问
app.run(host='0.0.0.0', port=8080, debug=True)code>
代码框给的挺完整,我们只需要套一下函数就行了。
完整代码:
import requests
import json
from flask import Flask, request, jsonify
from flask_cors import CORS
# 初始化Flask应用
app = Flask(__name__)
# 使用CORS扩展并允许所有来源(在生产环境中应限制来源)
CORS(app, origins="*")code>
@app.route('/getInfos', methods=['GET'])
def get_infos():
query = request.args.get('query', '')
url = "https://qianfan.baidubce.com/v2/app/conversation/runs"
payload = json.dumps({
"app_id": "48324e81-5fe3-4078-8cda-da61f3e09759",
"query": query,
"stream": False,
"conversation_id": "1303f56f-ffca-435e-9677-0ec4f324218e"
})
headers = {
'Content-Type': 'application/json',
'X-Appbuilder-Authorization': 'Bearer bce-v3/ALTAK-3SGdRDCM1QArx5ETW11Np/2819c6639d83e0a2f4012ec7b9c2cc866e4170b8'
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json()['answer']
if __name__ == '__main__':
# 监听 0.0.0.0 上的 8080 端口,允许从任何 IP 地址访问
app.run(host='0.0.0.0', port=8080, debug=True)code>
启动程序:
访问结果:
文心快码Baidu Comate——页面生成与优化
我们已经有了接口,那么接下来写页面就行了呗,所以我们直接提问,但是给的代码中jQuery地址是错误的,我找了个能用的地址提换上就OK了。
说明数据库有待更新,之前能用的代码已经失效了,我这里更换完毕后可以进行访问。
但是这比较难看,我们进行优化一下。
使用bootstrap来优化一下当前页面的UI效果,要小清新风格的。Enter Query改成:【提问】,Submit改成【提交AI咨询】。
基础样式有了:
还得继续优化。
艺术字优化一下选中的label与input。将内容居中,宽度占这个页面的70%,背景改为浅蓝色。
文心快码Baidu Comate——二创基础数据积累-智能提问存储数据
直接进行二创我们自己也没方向,我再活动的主页中看到【文心快码Baidu Comate】架构师的说法,那么作为架构师二创的能力肯定很强,所以就试试吧。
二创方向询问
#当前文件 当前AI舌诊项目如何进行二创?
例如给出的第三点,增强用户界面和交互,这里AI功能是有的。可以进行图片分析的,但是我没有找到接口长传图片的方法,已经询问了官方,但是官方的文档还是需要再次完善一下,所以我们先看看其它,例如,整合其它健康数据,这里我们首先整理自己的数,所以我就有了将AI数据收集的想法,做离线版也能用的接口。
二创实操
上来就有个问题,提问我们其实并不是很会,因为也就脑子中的几个,那么能否我们进行AI对AI提问,提问的信息存储起来,我们通过存储的json数据进行自我学习呢?
我们来试试问诊:
[
{ -- -->
"question": "请问您最近是否有感到舌头颜色发生变化,比如变红、变紫或者出现其他颜色?"
},
{
"question": "您的舌头表面是否有明显的舌苔,是薄白苔、厚腻苔还是其他情况?"
},
{
"question": "舌苔的颜色是偏白、偏黄、偏黑还是有其他特殊颜色?"
},
{
"question": "您觉得舌头的质地如何?是柔软、僵硬还是有其他异常感觉?"
},
{
"question": "在观察舌头时,是否有发现舌头边缘有齿痕或者形态上的异常?"
},
{
"question": "您的舌头是否有疼痛、麻木或者灼热等不适感?"
},
{
"question": "近期您的舌头是否有出现过溃疡或者破损的情况?"
},
{
"question": "您觉得自己的唾液分泌是否正常?是否感觉口干或者口燥?"
},
{
"question": "在饮食后,您的舌头是否有特别的味觉改变,比如味觉减退或异常?"
},
{
"question": "您最近是否有注意到舌头的运动功能受到影响,比如说话不清或者吞咽困难?"
}
]
问诊是没有问题的,而且重复性很低,我们继续问问向医生提问:
[
{
"question": "医生,请问我舌头的颜色看起来正常吗?是否有偏红、偏紫或其他异常?"
},
{
"question": "我的舌苔看起来是薄是厚?颜色是正常白色还是有发黄、发黑的情况?"
},
{
"question": "我发现舌头边缘有明显的齿痕,这是正常现象吗?可能是什么原因造成的?"
},
{
"question": "我的舌头最近感觉有些麻木或刺痛,这可能预示着什么健康问题?"
},
{
"question": "医生,我的舌头上有一些小溃疡,这是上火的症状吗?需要如何治疗?"
},
{
"question": "我感觉口干舌燥,舌头表面也干燥无津,这是身体哪里出了问题?"
},
{
"question": "我的舌头表面有时候会有白色或黄色的斑块,这是怎么回事?需要重视吗?"
},
{
"question": "最近感觉舌头运动不太灵活,说话有时不清楚,这可能与什么疾病有关?"
},
{
"question": "医生,根据我的舌象,您能判断我体内是否有湿气过重的情况吗?"
},
{
"question": "我的舌头颜色长期偏淡,而且容易感到疲劳,这是气血不足的表现吗?应该如何调理?"
}
]
我们有了提问,我们进行连续提问测试一下AI强度,是相当可以的。这里给文心快码点个赞。
请根据json数组遍历一下当前的函数。将输出的信息存储到一个叫做arr的数组中,每次遍历需要输出一下问题回答完毕,遍历完成后输出arr数组的数据。
返回代码
<code>import requests
import json
json_arr=[
{
"question": "医生,请问我舌头的颜色看起来正常吗?是否有偏红、偏紫或其他异常?"
},
{
"question": "我的舌苔看起来是薄是厚?颜色是正常白色还是有发黄、发黑的情况?"
},
{
"question": "我发现舌头边缘有明显的齿痕,这是正常现象吗?可能是什么原因造成的?"
},
{
"question": "我的舌头最近感觉有些麻木或刺痛,这可能预示着什么健康问题?"
},
{
"question": "医生,我的舌头上有一些小溃疡,这是上火的症状吗?需要如何治疗?"
},
{
"question": "我感觉口干舌燥,舌头表面也干燥无津,这是身体哪里出了问题?"
},
{
"question": "我的舌头表面有时候会有白色或黄色的斑块,这是怎么回事?需要重视吗?"
},
{
"question": "最近感觉舌头运动不太灵活,说话有时不清楚,这可能与什么疾病有关?"
},
{
"question": "医生,根据我的舌象,您能判断我体内是否有湿气过重的情况吗?"
},
{
"question": "我的舌头颜色长期偏淡,而且容易感到疲劳,这是气血不足的表现吗?应该如何调理?"
}
]
arr=[]
def getInfos(query):
url = "https://qianfan.baidubce.com/v2/app/conversation/runs"
payload = json.dumps({
"app_id": "48324e81-5fe3-4078-8cda-da61f3e09759",
"query": query,
"stream": False,
"conversation_id": "1303f56f-ffca-435e-9677-0ec4f324218e"
})
headers = {
'Content-Type': 'application/json',
'X-Appbuilder-Authorization': 'Bearer bce-v3/ALTAK-3SGdRDCM1QArx5ETW11Np/2819c6639d83e0a2f4012ec7b9c2cc866e4170b8'
}
response = requests.request("POST", url, headers=headers, data=payload)
arr.append(response.json()['answer'])
print(query,"回答完毕。")
for i in json_arr:
getInfos(i['question'])
print(arr)
医生,请问我舌头的颜色看起来正常吗?是否有偏红、偏紫或其他异常? 回答完毕。
我的舌苔看起来是薄是厚?颜色是正常白色还是有发黄、发黑的情况? 回答完毕。
我发现舌头边缘有明显的齿痕,这是正常现象吗?可能是什么原因造成的? 回答完毕。
我的舌头最近感觉有些麻木或刺痛,这可能预示着什么健康问题? 回答完毕。
医生,我的舌头上有一些小溃疡,这是上火的症状吗?需要如何治疗? 回答完毕。
我感觉口干舌燥,舌头表面也干燥无津,这是身体哪里出了问题? 回答完毕。
我的舌头表面有时候会有白色或黄色的斑块,这是怎么回事?需要重视吗? 回答完毕。
最近感觉舌头运动不太灵活,说话有时不清楚,这可能与什么疾病有关? 回答完毕。
医生,根据我的舌象,您能判断我体内是否有湿气过重的情况吗? 回答完毕。
我的舌头颜色长期偏淡,而且容易感到疲劳,这是气血不足的表现吗?应该如何调理? 回答完毕。
全部回答完毕,对应的数据拼接成了数组。
我们用了10个数据进行遍历,那么,这个数值开放到100,1000,甚至10万,我们的数据每次都存储到数据库里面,对应的我们就可以进行自己的舌诊数据库开发了,有了这个甚至抛除AI自己也是可以跑起来的,离线版也就完成了,二创从想法到实际都是通过【文心快码】来完成的,相当不错哦。
文心快码Baidu Comate——对微服务架构分析能力测试
架构能力通常指的是在设计和规划大型系统、软件应用或网络时的综合能力。这包括以下几个方面:
整体视角:架构师需要具备全局思维,能够从整体角度审视系统,并理解各个组件如何相互关联和影响。
需求分析:深入理解项目的需求和目标,将这些需求转化为可行的技术解决方案。
技术选型:根据项目需求,选择合适的技术栈、框架和工具,以确保系统的可扩展性、稳定性和性能。
模块化设计:将系统划分为逻辑上独立的模块,每个模块具有明确定义的接口和功能,便于团队协作和后期维护。
可扩展性和可维护性:预见未来的扩展需求,并设计易于扩展和维护的系统结构。
安全性考虑:在系统设计中融入安全性原则,保护数据和系统的完整性、机密性和可用性。
性能优化:通过合理的架构设计和资源配置,确保系统能够满足性能和响应时间的要求。
文档编写:清晰、详尽地记录系统架构、设计决策和接口规范,以供团队成员参考和实现。
接下来我们就逐一测试一下。
1、整体视角——完全失败
最开始我准备使用代码库进行分析,但是不行,无法访问当前代码库,所以无法分析。
然后我就换成了目录,但是不是自己选的路径,是它自己分析的generator-input,这结果很明显不对啊。
选择文件也不行。。。就很迷糊
2、需求分析——对单个文件进行功能的需求分析——成功
有快的有慢的,有的时候卡住了,再凑就行了。
文件分析:
3、技术选型——成功
这里的回答虽然话术比较官方,但是还是比较中规中矩的。
4、模块化设计——失败
模仿设计失败,给出了HTML的代码,并没给出vue的template结构。
其它的几个也都测试了,基本差不多,给的回答都比较模糊,看来做大的项目处理还是有一些难度的。最后我们试试文档能力,给的也没有在整体层次上说明,所以这里就不继续测试了。
总结
优点1:【/】显示指令【@】显示插件【#】显示知识,用着很方便。
优点2:给出的代码精准度比较高,基本无需修改。
优点3:给出的数据随心较强,重复的数据概率较低,用于给AI喂数据做测试也很不错。
问题1:选中的代码在解答的时候依然是全面进行回答,但回答的完整度又不高,会有代码省略,省略的部分就得挨个复制过去,很麻烦,还可能有复制错漏,就很难受。
问题2:替换代码功能,不能直接向下引入啊,是直接替换已经修改的部分,这里功能有异常啊。
问题3:大型微服务项目上的处理能力还是非常欠缺的,亟待加强。
可以从我的插件栏上看到我测试了很多款的工具,其实使用文心快码Baidu Comate的时间还是最多的,大模型有很多,都是喂数据,喂的多的我相信百度说第二就没人敢说第一了,所以对于AI代码助手来说,我选择百度的文心快码,好用。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。