当前位置: 首页 > wzjs >正文

大理做网站网络广告营销方案策划内容

大理做网站,网络广告营销方案策划内容,企业网站制作的市场,黄岛区城市建设局网站🐑 |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面 🐑 文章目录 🐑 |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面 🐑♈前言♈♈调取Deepseek大模型♈♒准备工作♒♒调用API♒ ♈将模型嵌入到ui界面中♈♈…

🐑 |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面 🐑

文章目录

  • 🐑 |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面 🐑
    • ♈前言♈
    • ♈调取Deepseek大模型♈
      • ♒准备工作♒
      • ♒调用API♒
    • ♈将模型嵌入到ui界面中♈
    • ♈总结♈

♈前言♈

经过上周老学长的提点,这周进度飞速,感觉按照我原来的进度这周的成果需要多耗好多个星期,首先感谢一下学长@浩浩的科研笔记,其次这周的博客就准备简单记录一下,如何把一个AI以api的形式嵌入到自己的ui界面中,引入AI后确实增加了很多交互的体验,就拿我自己做的这个根据心电信号实时识别并预测情绪的系统来看,我完全可以在引入AI后通过AI调取我识别后的情绪模型结果来给用户相关建议或者下一步的想法,人机交互显得更加自然一点。本篇就以引入Deepseek的模型为例来记录一下如何将AI引入到自己的ui界面中。

♈调取Deepseek大模型♈

在打造ui界面的AI助手之前首先来介绍一下如何在python上调取Deepseek大模型并实现一个多轮对话,这里先推荐一下学长@浩浩的科研笔记的一篇博文调用阿里通义千问大语言模型API-小白新手教程-python,这里已经以阿里的通义千问为例将调取大模型API 以及实现多轮对话的功能介绍的很详细了,我这里就以调取Deepseek为例全程记录一下自己调取的步骤。

♒准备工作♒

首先我们需要申请一份DeepseekAPI用于使用python访问Deepseek的模型。进入deepseek的官网:https://www.deepseek.com/,进入右上角的API开放平台

在这里插入图片描述
进入后在开放平台左侧可以看到充值入口,充值后,进入API KEYs
在这里插入图片描述
点击创建API key即可创建一个自己的API 密钥,可以保存到电脑上,或者复制下来
(因为只有创建的时候才能看到自己的密钥,后面关闭创建的弹窗后就看不到了)
然后开始安装requests库,这个库的作用就是HTTP请求到Deepseek API内,安装命令符:
pip install requests。至此准备工作结束。

♒调用API♒

然后一点点来记录下调用刚刚保存的API 的代码。

import requests# 配置参数
API_KEY = ""  # 替换为你的API密钥
API_URL = "https://api.deepseek.com/v1/chat/completions"

其中API_KEY为刚刚保存的密钥复制上即可,下面的API_URL为官方文档的断点地址。

def ask_deepseek(prompt):headers = {"Authorization": f"Bearer {API_KEY}","Content-Type": "application/json"}data = {"model": "deepseek-chat","messages": [{"role": "user", "content": prompt}],"temperature": 0.7,"max_tokens": 1024}

ask_deepseek的函数中分别定义请求头headers以及构造请求数据datamessages中分别包含角色和对话的内容temperature则是控制模型回复的随机性,越靠近1回复就会越天马行空;max_tokens则是限制回复的最大长度(大约1024tokens≈700汉字),并且在data中我们可以改变调用的模型,除了代码中的deepseek-chat外还可以调用deepseek-coder相对而言代码能力更强。

    try:response = requests.post(API_URL, headers=headers, json=data)response.raise_for_status()  # 检查错误return response.json()["choices"][0]["message"]["content"]except Exception as e:return f"错误: {str(e)}"

然后就是发送请求与错误处理,当消息头和请求数据发送成功时,response.json会成功解析API返回的JSON数据,并且通过response.json()["choices"][0]["message"]["content"]提取出AI回复的文本内容,如果请求失败则会返回错误提示。

if __name__ == "__main__":while True:user_input = input("你: ")if user_input.lower() == 'exit':breakanswer = ask_deepseek(user_input)print("DeepSeek:", answer)

最后就是连续对话的一个交互逻辑,当用户输入exit时候退出对话。
完整代码:

import requests# 配置参数
API_KEY = ""  # 替换为你的实际API密钥
API_URL = "https://api.deepseek.com/v1/chat/completions"def ask_deepseek(prompt):headers = {"Authorization": f"Bearer {API_KEY}","Content-Type": "application/json"}data = {"model": "deepseek-chat","messages": [{"role": "user", "content": prompt}],"temperature": 0.7,"max_tokens": 1024}try:response = requests.post(API_URL, headers=headers, json=data)response.raise_for_status()  # 检查错误return response.json()["choices"][0]["message"]["content"]except Exception as e:return f"错误: {str(e)}"if __name__ == "__main__":while True:user_input = input("你: ")if user_input.lower() == 'exit':breakanswer = ask_deepseek(user_input)print("DeepSeek:", answer)

运行后我们可以简单看下效果:
在这里插入图片描述

可以看到我们可以直接在pycharm的控制台中实现实时的对话功能,但是不好的一点就是pycharm的控制台不支持markdown的渲染,所以里面会难以识别出markdown的语法。

♈将模型嵌入到ui界面中♈

既然已经实现了简单使用requestspycharm中调用deepseek的模型,后面就简单记录一下怎样在ui界面中调用。
这里还是以QTdesigner来制作ui界面为例,这里我是创建了一个名为aitest2.ui的文件,包含了一个QTexeBrowser、一个QtextEdit、一个Qpushbutton以及一个label
在这里插入图片描述
首先label就是简单给自己的AI助手设置一个名字,我这里也是随便起的一个,下面分别就是用户的输入栏发送按钮以及回复框,其中三个控件的名字分别为aitextaibutton,以及textbrowser。创建好后我们只需要将他load并结合我们上面的代码,给各个控件加一个交互的指令即可。

import sys
import requests
from PySide2.QtWidgets import QApplication, QMainWindow
from PySide2.QtUiTools import QUiLoader# API 配置(与原始代码保持一致)
API_KEY = ""  # 替换为你的实际API密钥
API_URL = "https://api.deepseek.com/v1/chat/completions"def ask_deepseek(prompt):"""与您提供的函数完全一致的API调用方法"""headers = {"Authorization": f"Bearer {API_KEY}","Content-Type": "application/json"}data = {"model": "deepseek-chat","messages": [{"role": "user", "content": prompt}],"temperature": 0.7,"max_tokens": 1024}try:response = requests.post(API_URL, headers=headers, json=data)response.raise_for_status()return response.json()["choices"][0]["message"]["content"]except Exception as e:return f"错误: {str(e)}"class DeepSeekApp:def __init__(self):# 加载UI文件self.ui = QUiLoader().load("aitest2.ui")# 绑定按钮事件self.ui.aibutton.clicked.connect(self.on_button_click)def on_button_click(self):"""按钮点击事件处理"""user_input = self.ui.aitext.toPlainText().strip()if not user_input:return# 调用与原始代码一致的API方法answer = ask_deepseek(user_input)# 显示结果self.ui.textbrowser.append(f"You: {user_input}")self.ui.textbrowser.append(f"AI: {answer}\n")self.ui.aitext.clear()if __name__ == "__main__":app = QApplication(sys.argv)window = DeepSeekApp()window.ui.show()sys.exit(app.exec_())

第一个函数基本没什么变化,主要第二个调用的类里面记得在初始化中将按钮给初始化了。然后下面的on_button_click的方法也是很简单的交互指令,只是最后记得加上一句 self.ui.aitext.clear()目的是当我们把输入的文本发送后,将上次已发送的文本进行清空掉。
简单看下效果:
在这里插入图片描述

♈总结♈

简单记录一下这周学到的一些比较重要的地方,如果有不合适的地方也欢迎提出。

http://www.dtcms.com/wzjs/294866.html

相关文章:

  • 小内存vps WordPress北京网站优化排名
  • 兰州模板网站建设成全视频免费观看在线看
  • 本地网站建设官网百度seo推广计划类型包括
  • 如何用模版做网站站内关键词排名优化软件
  • wordpress运动鞋模板seo 优化技术难度大吗
  • 买域名自己做网站百度信息流平台
  • 汽车网站cms东莞seo技术
  • 营销型网站建设调查表短视频培训课程
  • 长安东莞网站推广做网站公司哪家正规
  • 网站建设需要具备的能力seo关键词怎么优化
  • 网站开发 商标注册分析网站推广和优化的原因
  • 有什么做动图比较方便的网站网拍外宣怎么推广
  • 网站建设的目的定位盈利模式和功能网站建设介绍ppt
  • 广州微网站建设多少钱产品品牌推广策划方案
  • 外贸网站案例链接是什么意思
  • 门户网站类是什么意思怎么找当地的地推团队
  • 学雷锋_做美德少年网站武汉seo百度
  • 成都网站建设sntuu淘宝运营培训课程免费
  • 机械加工网站平台南昌seo快速排名
  • 网站建设 电话咨询全国疫情实时动态
  • 社保服务个人网站长沙正规seo优化公司
  • 网站策划内容有哪些百度seo自然优化
  • 建设网站的结束语竞价外包运营
  • 网站备案 公司名称关联性网站seo设置是什么
  • wordpress 网站加密seo研究学院
  • 北京网站公司建设网络营销的实现方式有哪些
  • 企业网站建设兴田德润实惠短视频营销成功的案例
  • 那些论坛网站做的比较好大学生网络营销策划书
  • delphi 可做网站吗目前引流最好的平台
  • 商城网站建站程序安卓优化大师全部版本