Jupyter虚拟环境创建和Deepseek API调用
“如果改变不了环境,那就改变自己去适应环境!”
python的IDE和交互工具有很多,本人开发python习惯使用spyder和jupyter,前者用来做工程项目开发,后者用来做一些数据交互测试,因为jupyter的交互可视化比较便捷。下面基于Win10 + Python 3.10.11操作。
创建运行环境
首先创建虚拟环境,安装jupyter
> python -m venv D:\virtual_env\python_env\DeepseekApi
> cd /d D:\virtual_env\python_env\DeepseekApi\Scripts
> activate.bat
执行activate切换到虚拟环境后安装jupyter和openai(使用这个库实现deepseek api调用)库
> pip install jupyter
> pip install jupyterlab-language-pack-zh-CN # 这个是jupyter中文扩展包
> pip install openai
安装完成后pip list看下包的版本:
jupyter==1.1.1
openai==1.93.0
启动jupyter交互环境
在虚拟环境下启动jupyter,指定数据和代码存储路径(F:\DeepseekCode\),启动成功后一般会自动打开web交互页面,如果没有就自己打开浏览器输入地址,默认地址端口是http://localhost:8888/,可以根据启动信息查看到访问地址、端口和登录token信息。
jupyter-lab F:\DeepseekCode

登录jupyter页面后点击Setting->language->选择中文就可以切换到中文界面,点击之后有个提示框,选择“change and reload”自动重新加载页面就可以了。

在启动页上点击“笔记本”下面的python图标创建一个标签页就可以开始敲代码了。

调用Deepseek API
1、首先,登录deepseek开放平台设置API key,初次注册的用户还能免费获赠10元的消费金(有效期1个月),注册后赶紧用不然过期后就只能充值,具体价格跟选择的模型相关,官方说明的很详细了。


2、在jupyter标签页输入调用代码,替换自己创建的API KEY,Deepseek提供了两种模型,这里示例代码选用了deepseek-chat,两种模型的区别这里不赘述,但是deepseek-reasoner会返回的思维链内容,这点会前者稍微不同。
from openai import OpenAI
API_KEY='sk-65f******5a491' # 这里替换成自己设置的API KEY
API_URL='https://api.deepseek.com'
DC_MODEL='deepseek-chat'
DR_MODEL='deepseek-reasoner'
client = OpenAI(api_key=API_KEY, base_url=API_URL)
response = client.chat.completions.create(
model=DC_MODEL,
messages=[
{'role': 'system', 'content': '你是一名儿童心理学专家'},
{'role': 'user', 'content': f'''小明是初三学生,最近一次模拟考试成绩不理想,上课无法集中精神听课,不再与同学交流。请根据小明的情况给予心理疏导意见。'''}
],
stream=False
)
# deepseek-reasoner输出的思维链内容
# print(response.choices[0].message.reasoning_content)
print(response.choices[0].message.content)
下面是接口返回的内容

3、多轮对话需要将上一轮的发送信息和接收信息加入到当前发送的消息里。
messages = [{'role': 'user', 'content': f'''小明是初三学生,最近一次模拟考试成绩不理想,上课无法集中精神听课,不再与同学交流。请根据小明的情况给予心理疏导意见。'''}]
# 加上返回的内容
messages.append(response.choices[0].message)
# 再加入第二轮对话的信息
messages.append({'role': 'user', 'content': '现在学生普遍学习压力较大,针对小明这个例子写一篇1000字左右的文章,倡议家长一起陪同并关心孩子的成长。文字中体现的语气和段落顺序要适合视频制作。'})
# 调用API
response = client.chat.completions.create(
model=DC_MODEL,
messages=messages,
stream=False
)
print(response.choices[0].message.content)
这里需要留意API对上下文长度限制64K,而且API是输入+输出双向计费。
总结
从最早的chat-GPT到现在的Deepseek,AI大模型越来越多,相应的针对大模型开发的应用也越来越丰富,AI大模型研究门槛比较高,但应用门槛相对较低。在竞争日益激烈的环境里,IT人一定要及时适应变化,拥抱变化,改变不了环境就改变自己。
Jupyter虚拟环境创建和Deepseek API调用的更多相关文章
- Vue.js——使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST API,就能够很容易地构建一个增删查改应用.这个应用始终遗留了一个问题,Web App在访问REST AP ...
- 2.4使用属性在 ASP.NET Web API 2 路由创建一个 REST API
Web API 2 支持一种新型的路由,称为属性路由.属性路由的一般概述,请参阅属性路由 Web API 2 中.在本教程中,您将使用属性路由创建一个 REST API 集合的书.API 将支持以下操 ...
- Sphinx中文分词安装配置及API调用
这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...
- Sphinx中文分词详细安装配置及API调用实战
这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...
- jquery api调用
本框架内置组件以及部分插件都可以通过jquery选择器进行API调用,支持链式操作,如下示例. <script type="text/javascript"> $(&q ...
- 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】
Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...
- 五:用JAVA写一个阿里云VPC Open API调用程序
用JAVA写一个阿里云VPC Open API调用程序 摘要:用JAVA拼出来Open API的URL 引言 VPC提供了丰富的API接口,让网络工程是可以通过API调用的方式管理网络资源.用程序和软 ...
- novaclient的api调用流程与开发
novaclient的api调用流程与开发 2015年07月05日 19:27:17 qiushanjushi 阅读数:3915 http://blog.csdn.net/tpiperatgod/ ...
- 腾讯地图 API 调用入门
本文仅为腾讯地图 API 调用入门,如需进阶学习,请在腾讯位置服务网站上进行学习. 登陆网址 https://lbs.qq.com/ 点击右上角的登陆按钮,需要进行注册按照流程进行就好. 完成之后,选 ...
- 阿里云 API调用实践(python语言)
1.结论:阿里云的SDK开发,其实就是远程调用API,python的代码就是一个外壳,核心是封装成一个http报文,利用json格式,进行RPC调用. 2.SDK调用API的套路如下: # -*- c ...
随机推荐
- dbeaver导入sql脚本报错的排查—— ERROR 1366 (HY000) at line
描述 在使用dbeaver进行sql脚本导入的时候报了以下的错误. C:\Users\xxxx\AppData\Roaming\DBeaverData\drivers\clients\mysql_8\ ...
- 工具 | WExploit
0x00 简介 WExploit是一款基于java开发的漏洞检测工具. 下载地址 WExploit下载:WExploit下载 0x01 功能说明 Struts2 ThinkPHP 海康威视 泛微OA ...
- packer 学习笔记
前言 网上有一个老哥用 packer 制作镜像的博客里开篇就提到[1]. Failure is success in progress. -- Albert Einstein 不要害怕失败,在用 pa ...
- k8s资源清单创建pod
资源:对象 service pod deployment workload:pod,ReplicaSet,Deployment,statefulset,DaemonSet,Job,Crontabjob ...
- 浅谈log4j2 CVE-2021-44228
致谢:此问题由阿里云安全团队的 Chen Zhaojun 发现. 什么是Log4j2 Apache Log4j2 <=2.14.1 版本提供的 JNDI 特性用于配置.日志信息.参数位置时,无法 ...
- C# HttpListener 和 HttpServer区别
HttpListener 和 HttpServer 都是 C# 中用于创建 HTTP 服务器的类库,它们的作用都是监听 HTTP 请求,并向客户端发送 HTTP 响应.它们的主要区别在于实现方式和使用 ...
- 服务器接口附件限制【1M】解决办法
一.业务场景: 在后端与手机小程序端接口传附件时,发现经过云服务器的接口交互,附件超过1M就会有如下提示: <html> <head><title> ...
- Flume+Kafka获取MySQL数据
摘要 MySQL被广泛用于海量业务的存储数据库,在大数据时代,我们亟需对其中的海量数据进行分析,但在MySQL之上进行大数据分析显然是不现实的,这会影响业务系统的运行稳定.如果我们要实时地分析这些数据 ...
- Windows下配置pip指定下载源具体操作步骤
前言 pip官方源有时候较为不稳定,对于国内用户来说,一个好的镜像源能够提高生产力.再加上有的公司和行业较为严格,无法访问互联网,所以通过配置内网的源就变成了必需的技能,本文同样适用于公司内网源的搭建 ...
- 鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多
在移动应用中,各种列表页面离不开下拉刷新和上拉加载更多,我们的商城应用也是如此.今天介绍一下在仓颉开发语言中如何实现这一功能. 下拉刷新 仓颉开发语言直接提供了下拉刷新的组件,叫做Refresh,使用 ...