deepseek 调用方法


1. seqtember

1.1. deepseek 调用方法

1.1.1. API_KEY设置

  1. 设置URL = "https://deepseek.com/chat/completions/"

  2. 导入系统变量,借助os

    os.getenv("变量名称", default = 默认值)

1.1.2. 请求头

  1. authorization : Bearer API_KEY, 认证信息
  2. Content-Type: application/json, 请求内容格式,post 仅能使用Json
header = {
    "authorization": f"Bearer {API_KEY}"
    "Content-Type": "application/json",
}

1.1.3. 请求内容payload

  1. model: 选择模型
  2. messages: 发送的内容数组
    1. role:角色
    2. content: 内容
  3. temperature: 设置为 0 ,模型输出更加稳定, 1,模型输出更发散
payload = {
    "model": deepseek-chat,
    "messages":[
        {"role": "system", "content":"命令要求" },
        {"role": "User", "content": "用户输入"},
        {"role": ""}
    ]
}

1.1.4. 发送请求

发送内容,使用post请求

resp = requests.post(url, header = header, payload = payload, timeout =timeout)

1.1.5. response 返回内容

返回内容在resp.json()['choices'][0]['message']['content'], 提取出结果并返回

image-20250902102742498

1.2. 翻译

  1. 将文本块切分成小段,指定分块大小,存放在数组中

  2. 对分段后每一段进行翻译

    1.2.1. for 遍历

    1. for i in 迭代器

      迭代器: 列表等

    2. for idx, ck in enumerate(n):

    3. for i in range(1, n) :

      范围是[1,n)

1.3. day3

  1. 输入错误: EOFerror

  2. requests.post 发送请求时,需要包裹在try

  3. requests发送数据,解析数据检查

    1. 检查requests是否接收

      except requests.exception.RequestException as e

    2. 检查网络是否

      resp.ok

    3. 数据转换是否成json

      except ValueError

    4. 是否可以从数据中提取出值

      `except {KeyError, IndexError, TypeError}

1.3.1. 使用超时重传发送

如果遇到rest请求错误,或者返回的resq状态码有问题,使用退避算法,进行规避n次,超过则返回

  1. 重复遍历n
  2. 如果遇到请求错误,查看是否超过重复次数,没有,time.sleep一段时间后,再次运行重传
  3. 超过重复请求后,返回错误

1.4. day4

1.4.1. markdown 渲染

使用rich

from rich.console import Console
from rich.markdown import Markdown

console = Console()
markdown_string = """"""
markdown = Markdown(markdown_string)
console

1.4.2. 输出markdown 到word 文件中

  1. 首先检查文件目录存在

import os
output_dir = os.path.dirname(output_file)
if output_dir and not os.path.exist(output_dir):
   	os.makedirs(output_dir)

  1. 使用pypandoc输出

import pypandoc
"""
	to: "目标格式"
	format:"当前格式"
	outputfile: "输出文件"
"""
pypandoc.convert_text(makedown_string, to= 'docx', format = 'markdown', outputfile = output_filepath)

  1. 同时可以尝试检查ImportError , Exception等错误

1.4.2.1. 直接调用pandoc 命令行工具

  1. 创建临时文件.md存储markdown内容

    temp_md_file = "temp.md"
    with open(temp_md_file, 'w', encoding= 'utf-8') as f:
        f.write(m_str)
  2. 使用subprocess.run执行命令

    import subprocess
    command = ['pandoc', '-f', 'markdown', 't','doc', 'o', output_filename, temp_md_file]
    result = subprocess.run(command, capture_output = True, text = True, encoding = 'utf-8')
    if result.returncode == 0:
        return "转换正确"
  3. 最后删除临时文件

    if os.path.exist(temp_md_file):
        os.remove(temp_md_file)

1.5. 9.8

win11 主要文件夹路径

任务栏:C:\Users\用户名\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

开始菜单:C:\ProgramData\Microsoft\Windows\Start Menu\Programs

IE开始菜单C:\Users\用户名\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu

1.6. 9.10

1.6.1. path类

from pathlib import Path
p_path = Path(路径)
## 组合路径
config_path = p_path / "config.txt" 
.name ## 文件名
.suffix ## 文件后缀
.stem ## 无后缀的文件名
.parent ## 父目录
.is_absolute ## 是否为祖先路径
.revolve() ## 转换为相对路径


## 创建文件
## parents=True 会创建所有不存在的父目录
## exist_ok=True 避免目录已存在时报错
Path(路径).mkdir(exist_ok = True, parents = True)
Path(路径).touch()  ## 创建空文件

p_path.write_text(str) ## 写入文件
content = file.read_text() ## 读取文件内容

1.7. 9.11 vscode 代码补全设置

开启/关闭VSCode代码提示(补全)_vscode自动提示功能怎么开-CSDN博客

1.8. 9.21 规划

1.8.1. 运筹学

运筹学Ⅰ - NJU IE学习指南

  1. 运筹学的发展与主要内容
  2. 线性规划初步
  3. 线性规划初步
  4. 单纯形法Ⅱ
  5. LP的应用
  6. 对偶理论
  7. 对偶单纯形法、目标规划
  8. 修正单纯形法、列生成算法
  9. 运输问题
  10. 整数规划
  11. 非线性规划
  12. 图与网络Ⅰ
  13. 图与网络Ⅱ

1.8.2. 日常实习

1.8.3. 论文复现

1.9. 9.23 面试准备

1.9.1. 项目1

1.9.1.1. 子图匹配在地理位置算法中台的潜在应用场景有哪些?

  1. 路径规划与导航优化
  2. POI(兴趣点)推荐与关联
  3. 地理数据质量与一致性检查

1.9.1.2. 子图匹配NP问题”你是如何理解的

  1. 组合爆炸
  2. 内存消耗

解决方法:

  1. 优化顶点识别顺序
  2. 优化节点存储

1.9.1.3. 目标与衡量方面

  1. 剪枝效果
  2. 候选空间大小
  3. 回溯数量

1.9.1.4. 基于最小生成树(MST)的顶点匹配顺序优化方法

image-20250923202903172

1.9.1.5. 为什么MST能够帮助尽早过滤假阳性匹配

  1. 构建最小生成树(MST)是为了得到一个“最优”的匹配顺序;匹配错误节点尽可能少,之后优化的结构更加精确
  2. 减少回溯,优先匹配那些“关键”或“脆弱”的边和顶点

具体使用的剪枝技术:

  1. 度数剪枝
  2. 标签剪枝
  3. 连接性剪枝

DFS匹配阶段(MS更新与剪枝)

  1. 连接性剪枝
  2. 动态更新剩余度数
  3. 候选集精炼

1.9.2. 项目2

1.9.2.1. 串联重复识别

一段短的DNA序列基元(称为重复单元,Repeat Unit)以头尾相连的方式重复多次,并紧密排列在一起的结构

  • 疾病研究

1.9.2.2. “效率低、易漏检”,具体是什么原因导致了这些问题?

  1. 算法复杂度过高(效率低),字符串匹配算法限制要求精度高
  2. 对变异容忍度不高

1.9.2.3. 这种“周期性重复模式的高效定位”的思维方式

  1. 轨迹模式识别与预测
  2. POI周期性访问行为分析:

1.9.2.4. 评估指标

  1. 精确度 (Precision): TP / (TP + FP)。TP为真阳性(正确识别的TRs),FP为假阳性(误报的非TRs)。
  2. 召回率 (Recall): TP / (TP + FN)。FN为假阴性(漏报的真实TRs)。
  3. F1-score: 2 * (Precision * Recall) / (Precision + Recall)。综合衡量Precision和Recall。

1.9.2.5. MiniDBG

  • MiniDBG的压缩: MiniDBG通过合并非分支节点和边来压缩图。它将任何不分叉(入度为1,出度为1)的节点序列合并成一个更长的节点(称为UnitigContig)。只有在序列出现分叉(入度或出度大于1)时,才创建新的节点。
  • 带环边 (Cycle/Loop Edge) 的处理
    • 传统DBG与循环: 传统DBG中,重复序列会形成循环(Cycles)。
    • MiniDBG的压缩特性使得它能更清晰地识别出代表重复单元的“简单循环”或“自环”
    • 变异的容忍:迁移使用拥塞控制算法,在[0,2]之间TRS窗口指数型增长,[2,5]之间具有增长缓慢,10为上线,超出10后判定错误

1.9.3. 总结生成自我介绍


文章作者: 小白菜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小白菜 !
评论
  目录