首页 > 其他分享 >AI舌苔诊病(文心快码Baidu Comate)进行代码解析与完成项目二创

AI舌苔诊病(文心快码Baidu Comate)进行代码解析与完成项目二创

时间:2024-08-17 13:26:21浏览次数:16  
标签:Baidu 快码 代码 question 舌头 文心 query

目录

前言

百度 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代码助手来说,我选择百度的文心快码,好用。

标签:Baidu,快码,代码,question,舌头,文心,query
From: https://blog.csdn.net/feng8403000/article/details/141225467

相关文章

  • 文心快码 Baidu Comate 前端工程师观点分享:文心快码 Baidu Comate效果怎么样(一)
    本系列视频来自百度工程效能部的前端研发经理杨经纬,她在由开源中国主办的“AI编程革新研发效能”OSC源创会·杭州站·105期线下沙龙活动上,从一款文心快码(BaiduComate)前端工程师的角度,分享了关于智能研发工具本身的研发历程和理念。以下视频是关于【文心快码BaiduComate效......
  • 文心快码Baidu Comate 帮你解大厂面试题:Java G1 GC中,region是什么意思?有哪些不同的reg
    ......
  • 文心快码 Baidu Comate 前端工程师观点分享:行业现状(一)
    本系列视频来自百度工程效能部的前端研发经理杨经纬,她在由开源中国主办的“AI编程革新研发效能”OSC源创会·杭州站·105期线下沙龙活动上,从一款文心快码(BaiduComate)前端工程师的角度,分享了关于智能研发工具本身的研发历程和理念。​​​​​​​本视频是关于【AI编程行业......
  • 文心快码 Baidu Comate 前端工程师观点分享:行业现状(二)
    本系列视频来自百度工程效能部的前端研发经理杨经纬,她在由开源中国主办的“AI编程革新研发效能”OSC源创会·杭州站·105期线下沙龙活动上,从一款文心快码(BaiduComate)前端工程师的角度,分享了关于智能研发工具本身的研发历程和理念。以下视频是关于【AI编程行业现状】的观点2。......
  • 基于C# winform调用文心一言大模型实现实时聊天功能
    【软件界面】【测试通过环境】vs2019netframework4.7.2【使用步骤】由于调用百度接口需要首先去https://login.bce.baidu.com/去注册或者登录自己的账号,进去后界面如下:然后点击左上角九个点图标然后点击百度智能云千帆大模型平台点击应用接入然后选择创建应用即可......
  • LLM-文心一言:Gradle依赖配置
    Gradle依赖配置是Gradle构建系统中的一个重要部分,它允许开发者指定项目所需的各种库和模块。Gradle提供了多种依赖配置选项,以满足不同的项目需求。以下是对Gradle依赖配置的详细说明:一、依赖配置类型implementation作用:用于声明编译时依赖,但不会对模块的消费者(即使用此模块作为......
  • 文心一言 VS 讯飞星火 VS chatgpt (320)-- 算法导论22.3 12题
    十二、证明:我们可以在无向图G上使用深度优先搜索来获得图G的连通分量,并且深度优先森林所包含的树的棵数与G的连通分量数量相同。更准确地说,请给出如何修改深度优先搜索来让其给每个结点赋予一个介于1和k之间的整数值v.cc,这里k是G的连通分量数,使得u.cc=v.cc当且仅当结点u和结......
  • 文心一言 VS 讯飞星火 VS chatgpt (319)-- 算法导论22.3 11题
    十一、请解释有向图的一个结点u怎样才能成为深度优先树中的唯一结点,即使结点u同时有入边和出边。如果要写代码,请用go语言。文心一言:在一个有向图中,如果结点u在深度优先搜索(DFS)的过程中成为深度优先树(DFS树)中的唯一结点,这通常意呀着在DFS遍历的某个特定时刻,从u出发能够探索......
  • LLM-文心一言:connectTimeout , readTimeout
    在网络编程和HTTP客户端库(如ApacheHttpClient、OkHttp、Retrofit等)中,connectTimeout和readTimeout是两个重要的超时设置,它们用于控制网络请求的行为,以提高应用的健壮性和用户体验。connectTimeout(连接超时)connectTimeout指的是客户端尝试与服务器建立TCP连接时等待的最长时......
  • LLM-文心一言:Zigbee、LoRaWAN、NB-IoT
    Zigbee、LoRaWAN和NB-IoT都是无线通信技术,各自具有独特的特点和应用场景。以下是对这三种通讯技术的详细介绍:ZigbeeZigbee是一种短距离、低功耗的无线通信技术,主要用于构建低成本、低功耗的无线个人区域网络(WPAN)。它类似于蓝牙,但具有更低的功耗和更远的通信距离,且适用于需要大量......