如何通过Deepseek的API进行开发和使用(适合开发者和小白的学习使用教程)

        

目录

一,API创建与获取

二,直接进行API的调用 

2.1 安装第三方库

2.2 官方支持的接口调用方式

2.3 编写的小tips

2.4 AI助手工具代码 

三, 配置方面的说明 

3.1 token价格和字符用量

3.2 响应错误码

 


    最近在休息的时候也是一直会刷到关于deepseek,简单使用了一下,发现这个AI和以往使用过的有很大的不同,起码在我看来有了人性,今天突然发现官方开放了API,赶紧来玩一下,通过deepseek今后可以极大的提高开发工具的效率.

一, API创建与获取

API文档官网:

https://platform.deepseek.com/

        直接微信扫码登录即可,我是因为电脑登录着微信,直接快捷登录了,首次登录国内用户会有10CNY的额度赠送,当然如果不能注册的话可以挂个梯子微信会改为谷歌登录,用谷歌邮箱登录就可以了,只是没有免费额度,还挺亏的.

接下来点击旁边的API keys 

点击创建API keys,会提示输入名称,输入key的名称后点击复制即可

此时点击复制即可,记住如果关闭后,是无法再次看到这个key的

         请将此 API key 保存在安全且易于访问的地方。出于安全原因,你将无法通过 API keys 管理界面再次查看它。如果你丟失了这个 key,将需要重新创建。

         此时只能,修改key的名称和删除key,无法看到秘钥了

二, 直接进行API的调用 

2.1 安装第三方库

可以在命令行,也可以使用pyCharm等进行安装

pip3 install openai

 如果用命令行的话,出现Successfully说明安装成功

2.2 官方支持的接口调用方式

   这里我比较习惯使用Python,就用个示例简单做个示范,调用起来根据要写的东西,响应回来的时间也会不同,我这个也就半分钟作用

# -*- coding: UTF-8 -*-
from openai import OpenAIclient = OpenAI(api_key="填写自己的key", base_url="https://api.deepseek.com")response = client.chat.completions.create(model="deepseek-reasoner",messages=[{"role": "system", "content": "你是一个GUI工具研发工程师"},{"role": "user", "content": "帮我用Python写一个GUI界面的小助手,并且对接DeepSeek,给合适的提示词,用户会输入它所需要提问的信息,你做出回答,并响应到返回区,""并且响应区的信息进行复制,python的洁面一定要美观科技感,你可以在这个基础上帮我完善一下这个想法,并生成代码"},],stream=False
)print(response.choices[0].message.content)

   当然,在这个基础上的代码还是不够完善的,还需要进一步进行提示和自行更改,直到代码符合自己的需求.

2.3 编写的小tips

        通过AI编写代码,然后自己手工改进错误,当然,在这个基础上还可以进行进一步的改进.

2.4 AI助手工具代码 

# -*- coding: UTF-8 -*-
import tkinter as tk
from tkinter import ttk, scrolledtext, messagebox
import threading
import requests
import json
import clipboardclass DeepSeekAssistant:def __init__(self, root):self.root = rootself.root.title("DeepSeek AI 助手")self.root.geometry("800x600")self.root.configure(bg='#1a1a1a')self.style = ttk.Style()self.style.theme_use('clam')# 自定义颜色方案self.style.configure('TFrame', background='#1a1a1a')self.style.configure('TLabel', background='#1a1a1a', foreground='#00ff99')self.style.configure('TButton', background='#2d2d2d', foreground='white',font=('Helvetica', 10, 'bold'), borderwidth=1)self.style.map('TButton',background=[('active', '#3d3d3d'), ('pressed', '#4d4d4d')])self.create_widgets()self.api_key = "xxxxxxxxxxxxxx你的api秘钥"  # 替换为你的API密钥self.api_url = "https://api.deepseek.com/chat/completions"def create_widgets(self):# 头部header_frame = ttk.Frame(self.root)header_frame.pack(pady=10)self.logo_label = ttk.Label(header_frame,text="DeepSeek AI",font=('Arial', 18, 'bold'),foreground='#00ff99')self.logo_label.pack(side=tk.LEFT, padx=10)# 主内容区main_frame = ttk.Frame(self.root)main_frame.pack(fill=tk.BOTH, expand=True, padx=20, pady=10)# 输入区input_frame = ttk.Frame(main_frame)input_frame.pack(fill=tk.X, pady=5)self.input_entry = ttk.Entry(input_frame,font=('Arial', 12),foreground='black',background='#2d2d2d')self.input_entry.pack(side=tk.LEFT, fill=tk.X, expand=True, ipady=5)self.input_entry.bind("<Return>", lambda event: self.send_query())self.send_btn = ttk.Button(input_frame,text="发送",command=self.send_query)self.send_btn.pack(side=tk.LEFT, padx=5)# 响应区self.response_area = scrolledtext.ScrolledText(main_frame,wrap=tk.WORD,font=('Arial', 11),bg='#2d2d2d',fg='white',insertbackground='white')self.response_area.pack(fill=tk.BOTH, expand=True)self.response_area.tag_config('user', foreground='#00ff99')self.response_area.tag_config('assistant', foreground='white')# 右键菜单self.context_menu = tk.Menu(self.root, tearoff=0)self.context_menu.add_command(label="复制", command=self.copy_text)self.response_area.bind("<Button-3>", self.show_context_menu)def show_context_menu(self, event):self.context_menu.tk_popup(event.x_root, event.y_root)def copy_text(self):selected = self.response_area.get(tk.SEL_FIRST, tk.SEL_LAST)if selected:clipboard.copy(selected)def send_query(self):user_input = self.input_entry.get().strip()if not user_input:messagebox.showwarning("输入为空", "请输入您的问题")returnself.input_entry.delete(0, tk.END)self._append_message(f"你:{user_input}\n", 'user')threading.Thread(target=self._get_response, args=(user_input,)).start()def _append_message(self, message, tag):self.response_area.configure(state='normal')self.response_area.insert(tk.END, message, tag)self.response_area.configure(state='disabled')self.response_area.see(tk.END)def _get_response(self, prompt):headers = {"Authorization": f"Bearer {self.api_key}","Content-Type": "application/json"}data = {"model": "deepseek-chat","messages": [{"role": "user", "content": prompt}],"temperature": 0.7}try:response = requests.post(self.api_url, headers=headers, json=data)response.raise_for_status()result = response.json()answer = result['choices'][0]['message']['content']self._update_response_area(f"助手:{answer}\n\n", 'assistant')except Exception as e:error_msg = f"错误:{str(e)}"self._update_response_area(error_msg + "\n\n", 'assistant')def _update_response_area(self, text, tag):self.root.after(0, lambda: self._append_message(text, tag))if __name__ == "__main__":root = tk.Tk()app = DeepSeekAssistant(root)# 设置窗口图标(准备一个ico文件)try:root.iconbitmap('tools.ico')  # 需要准备图标文件except:passroot.mainloop()

三, 配置方面的说明 

3.1 token价格和字符用量

        对于我们开发者或者学生来说,价格决定我们会不会继续使用,简介介绍一下Deepseek API方面

百万token只需要16快,方便使用,而且也不贵

3.2 响应错误码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity学习33:角色相关2,碰撞检测,collider 和 rigidbody,测试一个简单碰撞爆炸效果

目录 1 给gameObject添加rigidbody 2 rigidbody的属性 2.1 基础属性 2.2 插值 详细 2.3 碰撞检测 2.4 constraints 冻结坐标轴的移动和旋转 2.5 layer Overrides 3 碰撞检测 collision Detection 3.1 每个gameObeject上都会创建时自带一个 Collider 3.2 Collider的绿…

【生成模型之十四】Visual Autoregressive Modeling

论文&#xff1a;Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction code&#xff1a;GitHub - FoundationVision/VAR: [NeurIPS 2024 Best Paper][GPT beats diffusion&#x1f525;] [scaling laws in visual generation&#x1f4c8;]…

硬核技术:小程序能够调用手机的哪些传感器

一、加速度传感器 小程序可以调用手机的加速度传感器来检测设备的运动状态。加速度传感器能够测量设备在三个轴&#xff08;X、Y、Z&#xff09;上的加速度变化。通过分析这些数据&#xff0c;小程序可以实现一些功能&#xff0c;如运动检测、步数统计、游戏中的动作感应等。 健…

活动预告 |【Part 2】Microsoft 安全在线技术公开课:通过扩展检测和响应抵御威胁

课程介绍 通过 Microsoft Learn 免费参加 Microsoft 安全在线技术公开课&#xff0c;掌握创造新机遇所需的技能&#xff0c;加快对 Microsoft Cloud 技术的了解。参加我们举办的“通过扩展检测和响应抵御威胁”技术公开课活动&#xff0c;了解如何更好地在 Microsoft 365 Defen…

【WB 深度学习实验管理】利用 Hugging Face 实现高效的自然语言处理实验跟踪与可视化

本文使用到的 Jupyter Notebook 可在GitHub仓库002文件夹找到&#xff0c;别忘了给仓库点个小心心~~~ https://github.com/LFF8888/FF-Studio-Resources 在自然语言处理领域&#xff0c;使用Hugging Face的Transformers库进行模型训练已经成为主流。然而&#xff0c;随着模型复…

创建一个javaWeb Project

文章目录 前言一、eclipse创建web工程二、web.xmlservlet.xml< mvc:annotation-driven/ > Spring MVC 驱动< context:component - scan >&#xff1a;扫描< bean > ... < /bean >< import > config/beans.xml beans.xmlmybatis.xml 前言 javaWe…

【蓝桥杯—单片机】第十一届省赛真题代码题解题笔记 | 省赛 | 真题 | 代码题 | 刷题 | 笔记

第十一届省赛真题代码部分 前言赛题代码思路笔记竞赛板配置内部振荡器频率设定键盘工作模式跳线扩展方式跳线 建立模板明确设计要求和初始状态显示功能部分数据界面第一部分第二部分第三部分调试时发现的问题 参数设置界面第一部分第二部分和第四部分第三部分和第五部分 按键功…

寒假2.7

题解 web&#xff1a;[HCTF 2018]WarmUp 打开是张表情包 看一下源代码 访问source.php&#xff0c;得到完整代码 代码审计 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["source">"source.p…

python康威生命游戏的图形化界面实现

康威生命游戏&#xff08;Conway’s Game of Life&#xff09;是由英国数学家约翰何顿康威&#xff08;John Horton Conway&#xff09;在1970年发明的一款零玩家的细胞自动机模拟游戏。尽管它的名字中有“游戏”&#xff0c;但实际上它并不需要玩家参与操作&#xff0c;而是通…

【数据结构】链表应用-链表重新排序

重新排序 反转链表预期实现思路解题过程code力扣代码核心代码完整代码 总结 删除链表中间节点代码解惑 链表重新排序题目描述解题思路解题过程复杂度代码力扣代码完整代码 反转链表 预期实现 思路 你选用何种方法解题&#xff1f; 我选用了迭代法来反转链表。这是一种经典且高…

pytest-xdist 进行多进程并发测试!

在软件开发过程中&#xff0c;测试是确保代码质量和可靠性的关键步骤。随着项目规模的扩大和复杂性的增加&#xff0c;测试用例的执行效率变得尤为重要。为了加速测试过程&#xff0c;特别是对于一些可以并行执行的测试用 例&#xff0c;pytest-xdist 提供了一种强大的工具&…

mysql8安装时提示-缺少Microsoft Visual C++ 2019 x64 redistributable

MySQL8.0安装包mysql-8.0.1-winx64进行安装&#xff0c;提示&#xff1a;This application requires Visual Studio 2019 x64Redistributable, Please install the Redistributable then runthis installer again。出现这个错误是因为我们电脑缺少Microsoft Visual C 这个程序&…

【MySQL】深度理解事务的隔离性:全面讲解事务的四种隔离级别

**前言&#xff1a;**上节内容我们主要说了如果没有设置保存点&#xff0c; 也可以回滚&#xff0c;但是只能回滚到事务的开始。直接使用rollback的前提是事务还没有提交。并且如果一个事务被提交了&#xff0c;就不可以回退。同时我们也可以使用savepoint设置回滚点。 可以自己…

项目实战 —— HTTP服务器设计与实现

目录 一&#xff0c;项目介绍 二&#xff0c;背景知识补充 2.1 http特点 2.2 URI&#xff0c;URL&#xff0c;URN 2.3 http请求方法 三&#xff0c;前置功能实现 3.1 日志编写 3.2 封装相关套接字 3.3 http请求结构设计 3.4 http响应结构设计 3.5 http服务器主体逻辑…

GitHub Copilot:智能助手觉醒

GitHub Copilot: The agent awakens - The GitHub Blog github copilot 官方文档刚刚宣布支持 agent 模式&#xff01; 这一模式和之前的 chat 方式不同&#xff0c;类似于 cursor 可以根据需求直接运行、调试和修改代码 这一模式在 preview 版本可以使用&#xff0c;并且需…

网络安全威胁框架与入侵分析模型概述

引言 “网络安全攻防的本质是人与人之间的对抗&#xff0c;每一次入侵背后都有一个实体&#xff08;个人或组织&#xff09;”。这一经典观点概括了网络攻防的深层本质。无论是APT&#xff08;高级持续性威胁&#xff09;攻击、零日漏洞利用&#xff0c;还是简单的钓鱼攻击&am…

深入浅出谈VR(虚拟现实、VR镜头)

1、VR是什么鬼&#xff1f; 近两年VR这次词火遍网上网下&#xff0c;到底什么是VR&#xff1f;VR是“Virtual Reality”&#xff0c;中文名字是虚拟现实&#xff0c;是指采用计算机技术为核心的现代高科技手段生成一种虚拟环境&#xff0c;用户借助特殊的输入/输出设备&#x…

postman免登录版本,实测可用(解决一直卡在登录界面无法进入的问题)

一、背景 2025今年开工后&#xff0c;打开postman&#xff0c;一直提示需要登录&#xff0c;但是一直卡在登录界面&#xff0c;好几个人的postman都是这样的情况&#xff0c;不知道是什么原因。 折腾几小时无果&#xff0c;网上下载了各种版本都试了&#xff0c;最新的版本也…

Unity中Spine骨骼动画完全指南:从API详解到避坑实战

Unity中Spine骨骼动画完全指南&#xff1a;从API详解到避坑实战 一、为什么要选择Spine&#xff1f; Spine作为专业的2D骨骼动画工具&#xff0c;相比传统帧动画可节省90%资源量。在Unity中的典型应用场景包括&#xff1a; 角色换装系统&#xff08;通过插槽替换部件&#xf…

HTTP异步Client源码解析

我们知道Netty作为高性能通信框架&#xff0c;优点在于内部封装了管道的连接通信等操作&#xff0c;用户只需要调用封装好的接口&#xff0c;便可以很便捷的进行高并发通信。类似&#xff0c;在Http请求时&#xff0c;我们通过调用HttpClient&#xff0c;内部使用java NIO技术&…