在自己电脑部署deepseek 最简单的方式
第一步、下载安装 Ollama 官网:ollama.com
我自己的电脑是windows 所以下载安装Windows 版本的Ollama
第二步、下载 模型 我选择的是DeepSeek-R1
- 进入Ollama官网,找到Models
- 选择对应的模型来下载,1.5b、7b、8b、14b、32b、70b或671b,这里有很多版本可选,模型越大,要求电脑内存、显卡等的配置越高。我选择8b的模型
- 然后win+r 输入cmd
- 复制下边8b的代码
如果你也安装C盘就这样回车就行,如果不想安装C盘 在复制粘贴之前 d: 回车 切换到d盘或者你想安装到的盘符
- 等待下载完成
- 部署完成,send a message,输入内容即可开始对话
- 如果你不想在这里对话 可以下载Chatbox 官网:chatboxai.app/zh
下载安装就可以了
- 打开软件 点击设置,选择Ollama API
- 选择安装好的deepseek r1模型,保存
- 这就好了,可以对话了
- 如果你还需要给其他端使用例如安卓app
- 继续在刚才的cmd命令窗输入
set OLLAMA_HOST=0.0.0.0
- 然后启动 Ollama
- 在你的手机浏览器打开http://<你的本机IP>:11434/api/tags 如果不是404 就是成功了 如果404 检查防火墙 和刚才设置的
set OLLAMA_HOST=0.0.0.0 手动设置环境变量
- 通过系统属性设置
- 按
Win + R
,输入sysdm.cpl
,回车打开系统属性 - 切换到 高级 选项卡 → 环境变量
- 在 系统变量 中点击 新建:
- OLLAMA_HOST
- 0.0.0.0
- 按
-
保存后重启 CMD 窗口。
Android 代码实现
Android 代码实现
步骤 1:添加网络权限
在 AndroidManifest.xml
中添加:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
步骤 2:添加 Retrofit 依赖
在 build.gradle (Module)
中:
dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' }
步骤 3:定义 Ollama API 接口
创建 OllamaApi.kt
:
import retrofit2.Call import retrofit2.http.Body import retrofit2.http.POST interface OllamaApi { @POST("/api/generate") fun generateText(@Body request: GenerateRequest): Call<GenerateResponse> } // 请求体(对应 Ollama 的 API 格式) data class GenerateRequest( val model: String = "deepseek-ai/deepseek-llm:7b", val prompt: String, val stream: Boolean = false ) // 响应体 data class GenerateResponse( val response: String )
步骤 4:创建 Retrofit 实例
步骤 5:调用 API 并获取响应
在 Activity/Fragment 中:
import retrofit2.Callback import retrofit2.Response fun askDeepSeek(prompt: String) { val request = GenerateRequest(prompt = prompt) OllamaClient.api.generateText(request).enqueue(object : Callback<GenerateResponse> { override fun onResponse( call: Call<GenerateResponse>, response: Response<GenerateResponse> ) { if (response.isSuccessful) { val answer = response.body()?.response Log.d("DeepSeek", "回答: $answer") // 更新 UI(如 TextView.text = answer) } else { Log.e("DeepSeek", "请求失败: ${response.code()}") } } override fun onFailure(call: Call<GenerateResponse>, t: Throwable) { Log.e("DeepSeek", "网络错误: ${t.message}") } }) }
// 调用示例 askDeepSeek("你好,DeepSeek!")