必须先提取清洗文档文本并分段,再通过/chat/completions接口构造system-user对话请求,设置低temperature和非流式响应,最后解析content字段获取答案。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要用DeepSeek API实现文档问答,必须先将原始文档内容送入模型上下文,再构造带问题的对话请求——不能直接上传PDF或Word文件,所有文本需提前提取、清洗并控制长度,否则会因超长截断或报错400。
第一步:准备文档文本
从PDF/Word/Excel中提取纯文本,推荐用python-pdfplumber(PDF)或python-docx(Word)库,避免复制粘贴引入乱码或隐藏字符。提取后检查是否含大量空行、页眉页脚、表格乱码,这些会挤占有效token额度。
把文档切分成段落,每段≤800字符。DeepSeek-V4支持128K上下文,但单次请求仍受限于API服务端实际接收上限(通常默认8K~32K token),过长文本直接提交会触发413 Payload Too Large错误。
【关键前提】文档文本必须UTF-8编码,且不含控制字符(如\x00、\u200b)。可用open(file, "r", encoding="utf-8", errors="ignore")读取,但errors="ignore"会静默丢字——建议改用errors="replace"并人工核对替换符号是否出现在关键句中。
第二步:构造问答请求体
使用/chat/completions接口,而非/text/generate。前者专为多轮对话设计,天然支持system+user+assistant角色分隔,能更稳定地绑定文档语境。
system消息写明任务指令,例如:“你是一个专业文档分析助手。请严格依据以下提供的文档内容回答问题,不编造、不推测、不引用外部知识。”
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
user消息拼接两部分:先放精简后的文档段落(可加标题如【合同第3条】),换行后接具体问题,例如:“甲方付款周期是多久?”
务必设置temperature=0.1、top_p=0.9,并开启stream=false。temperature过高会导致答案飘忽,而流式响应(stream=true)在文档问答中易出现截断,尤其当答案含表格或编号列表时。
第三步:处理响应与容错
检查HTTP状态码:200才继续;429说明超出QPM配额,需sleep(1)后重试;401是密钥失效,应立即停用并重新生成;400最常见于JSON格式错误或message数组为空——此时要打印request payload逐字段比对。
解析response.json()["choices"][0]["message"]["content"]获取答案。若返回“根据提供的信息无法确定”,不是模型能力问题,而是文档段落里确实没提该问题对应的内容,需回溯检查文本提取环节是否漏掉了关键页。
对长文档,采用滑动窗口策略:将文档按512字符步长切片,每个切片单独发请求,再用关键词匹配筛选出最相关3个响应,最后交由模型做聚合摘要——这比一次性塞入10万字更可靠。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!









