5分钟带你获取deepseek api并搭建简易问答应用

目录

1、获取api

2、获取base_url和chat_model

3、配置模型参数

方法一:终端中临时将加入

方法二:创建.env文件

4、 配置client

5、利用deepseek大模型实现简易问答


        deepseek-v3是截止博文撰写之日,无论是国内还是国际上发布的大模型中表现十分亮眼的模型,这里以deepseek为例,讲解如何获取api_key、base_url、chat_model。

1、获取api

       首先打开deepseek接口的官网:DeepSeek

         点右上角“开放平台”

         新号一般会送10元的余额,左上方会显示你当前余额按照当前的价格所拥有的tokens数量(tokens可以简单的理解为你输入给大模型的提示词+大模型输出的内容之和所占用的字符数,这个后续博客中会细讲分词原理),这个tokens数量可能会随着模型价格变化而变化,不过deepseek的api价格比较便宜,如图上所展示的送给新人的500万tokens数也够个人使用很久了。

        接着,点击左侧的API keys,然后点击创建API key

         一般需要给API key命名用来区分不同的API,比如下图命名为“test”

​        这里需要注意的是,系统生成的API key只有第一次创建时能看到并且复制,此后都无法再次看到,只能看到名字,所以需要大家第一次就将其复制下来,保存到你的文件中,当然如果忘记了也影响不大,重新创建一个就行。

2、获取base_url和chat_model

         同样以deepseek为例,点击2.1.1页面左下角的接口文档,或者直接进入DeepSeek API文档

         进入文档后,在“快速开始”的“首次调用API”中,可以找到base_url和chat_model,如下:

base_url = https://api.deepseek.com/v1

chat_model='deepseek-chat'

 其他平台与deepseek的获取方式差不多

3、配置模型参数

        base_url和chat_model直接定义即可,但api key是关乎着模型是否能够使用的,所以尽量不要把其暴露在模型定理里面,而是把他添加到环境变量里,这里介绍两种方法添加环境变量。

方法一:终端中临时将加入

        在终端中临时将token加入变量,此时该环境变量只在当前终端内有效 !!!所以该种方法需要我们在该终端中运行我们的py脚本。

export api_key="填入你的api token"

        若是想永久加入环境变量,可以对 ~/.bashrc 文件中添加以下内容并保存。

export api_key="填入你的api token"

        此时在代码中获取api 只需要在Python脚本中添加以下代码即可

import os
api_key = os.getenv('api_key')
base_url = "https://api.deepseek.com/v1"
chat_model = "deepseek-chat"

方法二:创建.env文件

        终端输入命令临时创建也比较麻烦,而且只在当前终端内有效,而创建.env文件存储api_key则不存在这种问题。

        首先创建.env文件,然后输入以下内容,记得替换成你的token

api_key="your api_key"

同一路径下创建脚本文件,然后在代码中添加以下内容

import os
from dotenv import load_dotenv# 加载.env文件中的环境变量
load_dotenv()# 获取特定的环境变量
api_key = os.getenv('api_key')base_url = "https://api.deepseek.com/v1"
chat_model = "deepseek-chat"

4、 配置client

         有了前面的三个参数,我们就可以构造一个client,构造client只需要两个东西:api_key和base_url。

from openai import OpenAI
client = OpenAI(api_key = api_key,base_url = base_url
)

5、利用deepseek大模型实现简易问答

我们这里使用第二种方式定义api_key,创建.env文件存储api_key后,在.env同一目录下创建脚本文件,填入以下代码:

import os
from dotenv import load_dotenv
from openai import OpenAI
# 加载环境变量
load_dotenv()
# 从环境变量中读取api_key
api_key = os.getenv('api_key')
base_url = "https://api.deepseek.com/v1"
chat_model = "deepseek-chat"client = OpenAI(api_key = api_key,base_url = base_url
)

        有了这个client,我们就可以去实现各种能力了。

举个简单例子测试一下模型是否配置成功,配置好api的token后,输入以下代码

import os
from dotenv import load_dotenv
from openai import OpenAI# 加载环境变量
load_dotenv()# 从环境变量中读取api_key
api_key = os.getenv('api_key')
base_url = "https://api.deepseek.com/v1"
chat_model = "deepseek-chat"client = OpenAI(api_key=api_key,base_url=base_url
)try:# 发送一个简单的消息到模型response = client.chat.completions.create(model=chat_model,messages=[{"role": "system", "content": "你是一个乐于助人的AI助手,能够帮助用户解决各种专业问题."},{"role": "user", "content": "你好,介绍下你自己"}])# 打印模型的回复print("Model response:")print(response.choices[0].message.content)
except Exception as e:print(f"An error occurred: {e}")

结果如下:

         证明配置成功,如果没有回应,检查API key是否配置对了,如果对了可能是平台服务器的原因,等服务器恢复正常就好了

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

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

相关文章

ResNeSt: Split-Attention Networks 参考论文

参考文献 [1] Tensorflow Efficientnet. https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet. Accessed: 2020-03-04. 中文翻译:[1] TensorFlow EfficientNet. https://github.com/tensorflow/tpu/tree/master/models/official/efficien…

Ansible自动化运维实战--通过role远程部署nginx并配置(8/8)

文章目录 1、准备工作2、创建角色结构3、编写任务4、准备配置文件(金甲模板)5、编写变量6、编写处理程序7、编写剧本8、执行剧本Playbook9、验证-游览器访问每台主机的nginx页面 在 Ansible 中,使用角色(Role)来远程部…

马尔科夫模型和隐马尔科夫模型区别

我用一个天气预报和海藻湿度观测的比喻来解释,保证你秒懂! 1. 马尔可夫模型(Markov Model, MM) 特点:状态直接可见 场景:天气预报(晴天→雨天→阴天…)核心假设: 下一个…

decison tree 决策树

熵 信息增益 信息增益描述的是在分叉过程中获得的熵减,信息增益即熵减。 熵减可以用来决定什么时候停止分叉,当熵减很小的时候你只是在不必要的增加树的深度,并且冒着过拟合的风险 决策树训练(构建)过程 离散值特征处理:One-Hot…

Microsoft Visual Studio 2022 主题修改(补充)

Microsoft Visual Studio 2022 透明背景修改这方面已经有很多佬介绍过了,今天闲来无事就补充几点细节。 具体的修改可以参考:Microsoft Visual Studio 2022 透明背景修改(快捷方法)_material studio怎么把背景弄成透明-CSDN博客文…

Python实现U盘数据自动拷贝

功能:当电脑上有U盘插入时,自动复制U盘内的所有内容 主要特点: 1、使用PyQt5创建图形界面,但默认隐藏 2、通过CtrlAltU组合键可以显示/隐藏界面 3、自动添加到Windows启动项 4、监控USB设备插入 5、按修改时间排序复制文件 6、静…

[c语言日寄]越界访问:意外的死循环

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…

数据分析系列--①RapidMiner软件安装

目录 一、软件下载及账号注册 1.软件下载 1.1 CSDN下载国内下载,国内镜像相对快,点击下载 1.2 官网软件下载地址:AI Studio 2025.0 ,服务器在国外相对较慢. 2.软件注册 2.1 点击 注册界面 开始注册,如图: 3.邮箱验证 二、软件安装 1. 新年文件夹,名字最好为英文名 2. 双…

新增文章功能

总说 过程参考黑马程序员SpringBoot3Vue3全套视频教程,springbootvue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili 之前又偷懒几天。回老家没事干,玩也玩不好,一玩老是被家里人说。写代码吧还是,他们都看不懂&a…

LangGraph系列-1:用LangGraph构建简单聊天机器人

在快速发展的人工智能和大型语言模型(llm)世界中,开发人员不断寻求创建更灵活、更强大、更直观的人工智能代理的方法。 虽然LangChain已经改变了这个领域的游戏规则,允许创建复杂的链和代理,但对代理运行时的更复杂控制…

二叉树的最大深度(遍历思想+分解思想)

Problem: 104. 二叉树的最大深度 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(实则二叉树的先序遍历) 1.欲望求出最大的深度,先可以记录一个变量res,同时记录每次当前节点所在的层数depth 2.在递的过程中,每次递一层&#xff0…

QT+mysql+python 效果:

# This Python file uses the following encoding: utf-8 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox from PySide6.QtGui import QStandardItemModel, QStandardItem # 导入需要的类# Important: # 你需要通过以下指令把 form.ui转为ui…

WSL 安装cuDNN

WSL 安装cuDNN 参考文档:https://docs.nvidia.com/deeplearning/cudnn/installation/latest/linux.html#verifying-the-install-on-linux 1. 下载相应包 根据下方下载地址进入下载界面,并选择与自己电脑相对应的平台执行图中的命令 下载地址&#xff1…

58.界面参数传递给Command C#例子 WPF例子

界面参数的传递,界面参数是如何从前台传送到后台的。 param 参数是从界面传递到命令的。这个过程通常涉及以下几个步骤: 数据绑定:界面元素(如按钮)的 Command 属性绑定到视图模型中的 RelayCommand 实例。同时&#x…

阿里云域名备案

一、下载阿里云App 手机应用商店搜索"阿里云",点击安装。 二、登录阿里云账号 三、打开"ICP备案" 点击"运维"页面的"ICP备案"。 四、点击"新增网站/App" 若无备案信息,则先新增备案信息。 五、开始备案

sunrays-framework配置重构

文章目录 1.common-log4j2-starter1.目录结构2.Log4j2Properties.java 新增两个属性3.Log4j2AutoConfiguration.java 条件注入LogAspect4.ApplicationEnvironmentPreparedListener.java 从Log4j2Properties.java中定义的配置读取信息 2.common-minio-starter1.MinioProperties.…

如何解决跨浏览器兼容性问题

跨浏览器兼容性问题是指同一网页在不同浏览器中呈现效果不一致,通常由于浏览器渲染引擎、CSS支持、JavaScript执行等差异导致。解决这类问题可以从以下几个方面入手: 一、使用标准化的HTML和CSS 确保你的网页符合W3C标准。浏览器会尽量遵循这些标准,所以通过标准化的代码可…

算法12(力扣739)-每日温度

1、问题 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 2、示例 &#…

54.数字翻译成字符串的可能性|Marscode AI刷题

1.题目 问题描述 小M获得了一个任务,需要将数字翻译成字符串。翻译规则是:0对应"a",1对应"b",依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…

立创开发板入门ESP32C3第八课 修改AI大模型接口为deepseek3接口

#原代码用的AI模型是minimax的API接口,现在试着改成最热门的deepseek3接口。# 首先按理解所得,在main文件夹下,有minimax.c和minimax.h, 它们是这个API接口的头文件和实现文件,然后在main.c中被调用。所以我们一步步更改。 申请…