目录

前言

百度 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。

返回代码,这里少了个跨域,我就自己写上了。

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)

代码框给的挺完整,我们只需要套一下函数就行了。

完整代码:

import requests
import json
from flask import Flask, request, jsonify
from flask_cors import CORS
# 初始化Flask应用
app = Flask(__name__)

# 使用CORS扩展并允许所有来源(在生产环境中应限制来源)
CORS(app, origins="*")

@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)

启动程序:

访问结果: 

文心快码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数组的数据。

返回代码

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. 整体视角:架构师需要具备全局思维,能够从整体角度审视系统,并理解各个组件如何相互关联和影响。

  2. 需求分析:深入理解项目的需求和目标,将这些需求转化为可行的技术解决方案。

  3. 技术选型:根据项目需求,选择合适的技术栈、框架和工具,以确保系统的可扩展性、稳定性和性能。

  4. 模块化设计:将系统划分为逻辑上独立的模块,每个模块具有明确定义的接口和功能,便于团队协作和后期维护。

  5. 可扩展性和可维护性:预见未来的扩展需求,并设计易于扩展和维护的系统结构。

  6. 安全性考虑:在系统设计中融入安全性原则,保护数据和系统的完整性、机密性和可用性。

  7. 性能优化:通过合理的架构设计和资源配置,确保系统能够满足性能和响应时间的要求。

  8. 文档编写:清晰、详尽地记录系统架构、设计决策和接口规范,以供团队成员参考和实现。

接下来我们就逐一测试一下。

1、整体视角——完全失败

最开始我准备使用代码库进行分析,但是不行,无法访问当前代码库,所以无法分析。

然后我就换成了目录,但是不是自己选的路径,是它自己分析的generator-input,这结果很明显不对啊。

选择文件也不行。。。就很迷糊

2、需求分析——对单个文件进行功能的需求分析——成功

有快的有慢的,有的时候卡住了,再凑就行了。

文件分析:

3、技术选型——成功

这里的回答虽然话术比较官方,但是还是比较中规中矩的。

4、模块化设计——失败

模仿设计失败,给出了HTML的代码,并没给出vue的template结构。

其它的几个也都测试了,基本差不多,给的回答都比较模糊,看来做大的项目处理还是有一些难度的。最后我们试试文档能力,给的也没有在整体层次上说明,所以这里就不继续测试了。

总结

优点1:【/】显示指令【@】显示插件【#】显示知识,用着很方便。

优点2:给出的代码精准度比较高,基本无需修改。

优点3:给出的数据随心较强,重复的数据概率较低,用于给AI喂数据做测试也很不错。

问题1:选中的代码在解答的时候依然是全面进行回答,但回答的完整度又不高,会有代码省略,省略的部分就得挨个复制过去,很麻烦,还可能有复制错漏,就很难受。

问题2:替换代码功能,不能直接向下引入啊,是直接替换已经修改的部分,这里功能有异常啊。

问题3:大型微服务项目上的处理能力还是非常欠缺的,亟待加强。

可以从我的插件栏上看到我测试了很多款的工具,其实使用文心快码Baidu Comate的时间还是最多的,大模型有很多,都是喂数据,喂的多的我相信百度说第二就没人敢说第一了,所以对于AI代码助手来说,我选择百度的文心快码,好用。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐