前言 DeepSeek的能力有目共睹,但是最近对话服务由于一些外部原因经常出现无法响应的情况,用起来不是很顺畅。作为一个工程师,今天我们尝试通过一些免费资源快速搭建一个自用的DeepSeek。
开发软件毋庸置疑是Cursor,只有不断使用,我们才能更加准确的把握它的能力范围。
模型的话直接采用Gitee AI提供的Serverless API,重要的是,每个账号每天有100次免费使用机会。
前置知识 Gitee AI “Gitee AI 的 Serverless API 为您提供开箱即用的企业级的大模型 API 服务。”
Gitee AI 提供模型体验、推理、微调、部署和应用的一站式服务,支持便捷的Serverless API方式,也支持模型部署方式,同时,还支持很多国产硬件平台,大家有需要可以上去看看。
其中Serverless API每个模型可以在线体验,也有demo代码直接使用。
Streamlit Streamlit是一个开源的Python框架,工程师只需几行代码即可用它构建交互式数据应用,支持实时交互,无需前端知识。
实操 初始化 个人喜欢使用python的虚拟环境隔离各个应用的python环境,Ctrl+Shift+P创建虚拟环境。 整理需求(提示词) 需要注意以下几点:
Gitee AI接口Cursor不一定了解,可以通过demo告知 DeepSeek和普通对话模型不同的地方是需要显示思考过程 使用Streamlit帮我实现一个类似ChatGPT的智能对话助手。 前端需要注意响应内容应该区分思考过程和最终结果。 后端模型采用GiteeAI的Serverless API,示例代码如下: --- from openai import OpenAI client = OpenAI( base_url="https://ai.gitee.com/v1", api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", default_headers={"X-Failover-Enabled":"true","X-Package":"1910"}, ) response = client.chat.completions.create( model="DeepSeek-R1-Distill-Qwen-7B", stream=True, max_tokens=2048, temperature=0.6, top_p=0.8, extra_body={ "top_k": 20, }, frequency_penalty=1.1, messages=[ { "role":"system", "content":"You are a helpful and harmless assistant. You should think step-by-step." }, { "role":"user", "content":"Can you please let us know more details about your " } ], ) --- 依赖: streamlit==1.41.1 openai==1.61.0Gitee AI 的Serverless API demo:
Cursor生成 该章节所有内容都是与Cursor协同完成。
初步生成 在Cursor Composer模式下,使用以上提示词进行生成。
上图中可以看到,已经按照我们要求进行生成了,下图则是总结生成代码并给出后续建议。
按照Cursor给出的后续步骤进行执行。
初版运行效果 运行后的界面如下:
拿一个问题测试下。
问题 :
作为小学生家长,应该如何培养孩子学习的习惯。
结果 :
界面优化 思考过程有明显标识,优化显示效果。
提示词 :
响应结果中思考过程通过<think></think>进行分隔,请针对思考过程设置背景颜色进行明显区分。
生成结果 :
修改效果 :
总结 借助Cursor和Gitee AI,整个过程非常顺利。
强调几个地方:
不要期望Cursor自己完成全部任务,比如创建虚拟环境、设置依赖版本,还是手动比较高效,可以指定自己熟悉的版本。尤其是python依赖版本,我碰到过几次Cursor给出的版本都不是最新的,建议提前设置好。 提示词中如果需要调用特有的接口,可以提供demo代码,或者文档链接进行校正。