• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
计艺回忆路
工作到现在,一路从网络管理、系统维护、BI开发最后到大数据开发,学过的知识比较杂博,回忆某个技术要点总似喝多了短片一样只能想起零零碎碎的片段。
博客园    首页    新随笔    联系   管理    订阅  订阅
Jupyter虚拟环境创建和Deepseek API调用
如果改变不了环境,那就改变自己去适应环境!

目录
  • 创建运行环境
  • 启动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个月),注册后赶紧用不然过期后就只能充值,具体价格跟选择的模型相关,官方说明的很详细了。

创建APIKEY

创建APIKEY

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)

下面是接口返回的内容
img

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人一定要及时适应变化,拥抱变化,改变不了环境就改变自己。

本文来自博客园,作者:计艺回忆路,转载请注明原文链接:https://www.cnblogs.com/ckmemory/p/18953581

posted on 2025-06-29 00:05  计艺回忆路  阅读(159)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3