如何通过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,一经查实,立即删除!

相关文章

C#+halcon机器视觉九点标定算法

在机器视觉中&#xff0c;九点标定&#xff08;也称为九点标定法&#xff09;是一种常用的方法&#xff0c;用于将图像坐标系与物理坐标系进行映射。通过标定&#xff0c;可以将图像中的像素坐标转换为实际物理坐标&#xff0c;或者反之。下面是一个使用C#和Halcon进行九点标定…

Stream API 进阶:筛选、映射、查找、归约

文章目录 1. 引言 (Introduction)2. 筛选和切片 (Filtering and Slicing)2.1 使用谓词筛选 filter2.2 筛选各异的元素 distinct2.3 截短流 limit2.4 跳过元素 skip 3. 映射 (Mapping)3.1 对流中每一个元素应用函数 map3.2 流的扁平化 flatMap 4. 查找和匹配 (Finding and Match…

使用scoop 下载速度慢怎么办

在国内使用 Scoop 下载速度慢是一个常见问题&#xff0c;主要是因为 Scoop 默认的软件源&#xff08;bucket&#xff09;和下载服务器通常位于国外。以下是一些提高下载速度的方法&#xff1a; 1. 更换 Scoop 镜像源&#xff08;Bucket 镜像&#xff09;&#xff1a; 原理&…

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的绿…

DeepSeek-V3:开源多模态大模型的突破与未来

目录 引言 一、DeepSeek-V3 的概述 1.1 什么是 DeepSeek-V3&#xff1f; 1.2 DeepSeek-V3 的定位 二、DeepSeek-V3 的核心特性 2.1 多模态能力 2.2 开源与可扩展性 2.3 高性能与高效训练 2.4 多语言支持 2.5 安全与伦理 三、DeepSeek-V3 的技术架构 3.1 模型架构 3…

警告accumulate and all-reduce gradients in fp32 for bfloat16 data type

这条警告信息是关于分布式训练中的通信优化策略的&#xff0c;具体涉及流水线并行&#xff08;Pipeline Parallelism&#xff09;和点对点通信&#xff08;P2P Communication&#xff09;。以下是对这条警告的详细解释&#xff1a; ### **警告内容** WARNING: Setting args.o…

【生成模型之十四】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;如运动检测、步数统计、游戏中的动作感应等。 健…

修剪二叉搜索树(力扣669)

这道题还是比较复杂&#xff0c;在递归上与之前写过的二叉树的题目都有所不同。如果当前递归到的子树的父节点不在范围中&#xff0c;我们根据节点数值的大小选择进行左递归还是右递归。为什么找到了不满足要求的节点之后&#xff0c;还要进行递归呢&#xff1f;因为该不满足要…

活动预告 |【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…

【LeetCode Hot100 动态规划】

动态规划 动态规划五部曲简单动态规划问题爬楼梯打家劫舍 01背包类问题01背包基础二维动态数组一维动态数组分割等和子集 完全背包类问题完全背包基础零钱兑换完全平方数零钱兑换II组合总和IV单词拆分 子序列问题最长递增子序列乘积最大子数组 动态规划五部曲 确定dp数组&…

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

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

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

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

使用mockttp库模拟HTTP服务器和客户端进行单元测试

简介 mockttp 是一个用于在 Node.js 中模拟 HTTP 服务器和客户端的库。它可以帮助我们进行单元测试和集成测试&#xff0c;而不需要实际发送 HTTP 请求。 安装 npm install mockttp types/mockttp模拟http服务测试 首先导入并创建一个本地服务器实例 import { getLocal } …

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 这个程序&…