【DeepSeek】官方最新提供【文件上传提示词】实践总结【Windows】【Python】

引言

近日DeepSeek官方更新了关于DeepSeek-R1模型文件上传的建议操作方式,本文我们将按照官方的提示进行一下实践。

准备工作

  • 通过本地Ollama运行DeepSeek-R1模型,具体是运行7B14B还是32B的模型,依据自己电脑的配置来选择模型的参数体量,当然是参数体量越大效果越好,但是无论使用什么参数体量的模型对本次实践不产生影响。
  • Anaconda安装,提供Python代码运行所需的虚拟环境。
  • PyCharm安装,代码编写和运行工具,方便。

开始实践

第一步:安装Anaconda工具。

第二步:在Anaconda中创建一个新的虚拟环境,示例如下:

首先打开AnacondaPowershell窗口:

输入以下命令,创建虚拟环境:

lua 复制代码
conda create -n ollama_demo

输入以下命令,切换到新创建的虚拟环境中:

复制代码
conda activate ollama_demo

输入以下命令,建议安装python3.10

ini 复制代码
conda install python=3.10

输入以下命令,安装Ollama

arduino 复制代码
pip install ollama -i https://pypi.tuna.tsinghua.edu.cn/simple

打开PyCharm工具新建一个项目工程,如下图所示:

注意运行环境要选择刚刚新建好的虚拟环境,如下图所示:

这是创建好的工程目录,如下图所示:

可以运行一下main.py文件,测试一下环境配置是否正确,运行后控制台打印输出Hi, PyCharm,代表正常,如下图所示:

接下来在工程根目录下新建一个python文件,如下图所示:

输入文件名称deepseek_r1_pormpts,如下图所示:

然后点击回车键,创建成功,如下图所示:

在新建的文件中输入以下代码,来测试本地DeepSeek-R1模型运行是否正常:

ini 复制代码
from ollama import chat

stream = chat(
    model='deepseek-r1:32b',
    messages=[{
        'role': 'user',
        'content': '你是谁?'
    }],
    stream=True,
)
for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

写完代码效果如下图所示:

文件空白区域鼠标右键运行此文件,控制台输出如下图所示内容代表本地DeepSeek-R1模型运行运行正常:

下一步参考DeepSeek官方提供的上传文件的提示词继续编写代码:

这是官方链接地址:github.com/deepseek-ai...

文档内容翻译如下:

python 复制代码
官方提示
在官方的DeepSeek网络/应用程序中,我们不使用系统提示,而是为文件上传和网络搜索设计了两个特定的提示,以获得更好的用户体验。此外,web/app中的温度为0.6。
对于文件上传,请按照模板创建提示,其中{file_name}、{file_content}和{question}是参数。
file_template = \
"""[file name]: {file_name}
[file content begin]
{file_content}
[file content end]
{question}"""

接下来开始改造代码,将content内容进行替换,如下图所示:

arduino 复制代码
'content': '[file name]: 测试.txt' 
'[file content begin]' 
'deepseek上传文件提示词测试!' 
'[file content end]' '文档中写了什么?'

运行结果,如下图所示:

至此在Windows系统下Python代码方式DeepSeek-R1文件上传提示词实践到此结束,如有问题或建议欢迎大家评论区交流,最后还是要passion

实际应用扩展

在实际应用中发现如果上传文件的内容较大,代码中的content内容也会非常庞大,这导致代码看上去不是很美观,所以又进行如下升级改造。

原理:自动读取文件内容并将读取出来的文件内容转换成字符串。

目前选取了txtxlsx类型的文件进行了测试,代码及效果如下所示:

txt类型文件

代码改造:

新增txt测试文件,如下图所示:

修改代码,内容如下图所示:

ini 复制代码
from ollama import chat

file = open('测试.txt', 'r')
content = file.read()
content_str = str(content)
print(content_str)

stream = chat(
    model='deepseek-r1:32b',
    messages=[{
        'role': 'user',
        # 'content': '你是谁?'
        'content': '[file name]: 测试.txt'
                   '[file content begin]'
                   + content_str +
                   '[file content end]'
                   '文档中写了什么?'

    }],
    stream=True,
)
for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

运行效果:

xlsx类型文件

代码改造:

新增xlsx测试文件,如下图所示:

修改代码,内容如下图所示:

ini 复制代码
from ollama import chat
import openpyxl

workbook = openpyxl.load_workbook('测试.xlsx')
sheet = workbook['Sheet1']

content = []
for row in sheet.iter_rows():
    row_data = []
    for cell in row:
        row_data.append(cell.value)
    content.append(row_data)

content_string = ''
for row in content:
    row_string = '\t'.join([str(cell) for cell in row])
    content_string += row_string + '\n'
print(content_string)

stream = chat(
    model='deepseek-r1:32b',
    messages=[{
        'role': 'user',
        # 'content': '你是谁?'
        'content': '[file name]: 测试.xlsx'
                   '[file content begin]'
                   + content_string +
                   '[file content end]'
                   '文档中写了什么?'

    }],
    stream=True,
)
for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

注意:读取excel文件时需要引用单独的包,安装一下openpyxl就可以了!

注意:文件名称和sheet页名称一定要对应好,很重要!

运行效果:

相关推荐
Bruce_Liuxiaowei4 小时前
DeepSeek API集成开发指南——Flask示例实践
后端·python·flask·deepseek
龙萱坤诺9 小时前
DeepSeek-V3-250324: AI模型新突破,性能超越GPT-4.5
人工智能·deepseek
用户661977345857511 小时前
DeepSeek+RAGFlow搭建本地知识库
deepseek
百锦再1 天前
DeepSeek与GPT的全方位对比及其为编程工作带来的巨大变革
人工智能·python·gpt·nlp·deepseek
腾讯云开发者1 天前
DeepSeek 从热潮到应用,腾讯云携手行业专家共探 AI 下一步
deepseek
_按键伤人_1 天前
DeepSeek识图生成组件最佳前端提示词实战
前端·ai编程·deepseek
未来智慧谷1 天前
DeepSeek-V3-0324 模型发布:开源 AI 性能再攀高峰,推理与编码能力逼近顶级闭源模型
人工智能·开源·deepseek·deepseek-v3
青花瓷1 天前
office_word中使用宏以及DeepSeek
人工智能·大模型·word·deepseek
阿里云大数据AI技术1 天前
一招教你轻松调用大模型来处理海量数据
大数据·deepseek
bin91531 天前
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例4,TableView16_04 跨表格拖拽示例
前端·javascript·vue.js·ecmascript·deepseek