【deepseek android App】android kotlin 在app中接入deepseek api,实现对话

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

参考了一些下面这个,JAVA版本的接入方式:
https://blog.youkuaiyun.com/mng123/article/details/145568328

代码

换成自己申请的deepseek api key,直接调用sendMessage方法传入内容,改写responseCallback 即可与自己的app适配
代码如下:
首先引入okhttp 库

    implementation (libs.okhttp)//网络连接
okhttp = { module = "com.squareup.okhttp3:okhttp", version = "4.12.0" }

然后新建一个类

import android.util.Log
import okhttp3.*
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import java.io.IOException

class DeepSeekApiHelper {
    val API_URL = "https://api.deepseek.com/chat/completions"
    val API_KEY = 自己的key


    fun sendMessage(message: String) {
        val client = OkHttpClient()
        // 创建请求体
        val mediaType = "application/json".toMediaTypeOrNull()
        val jsonBody = "{\n" +
                "        \"model\": \"deepseek-chat\",\n" +
                "        \"messages\": [\n" +
                "          {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n" +
                "          {\"role\": \"user\", \"content\": \"$message\"}\n" +
                "        ],\n" +
                "        \"stream\": false\n" +
                "      }" // 根据API要求构造请求体
        val body: RequestBody = RequestBody.create(mediaType,jsonBody )

        // 创建请求
        val request: Request = Request.Builder()
            .url(API_URL)
            .post(body)
            .addHeader("Authorization", "Bearer $API_KEY")
            .addHeader("Content-Type", "application/json")
            .build() // 发送请求

        val response = client.newCall(request).enqueue(
            responseCallback = object : Callback {
                override fun onFailure(call: Call, e: IOException) {
                    // 处理失败逻辑
                }

                @Throws(IOException::class)
                override fun onResponse(call: Call, response: Response) {
                    response.body.use { responseBody ->
                        if (!response.isSuccessful) {
                            // 处理请求失败
                            throw IOException("DeepSeekApiHelper Unexpected code: $response")
                        }
                        // 处理成功响应
                        
                        checkNotNull(responseBody)
                        val responseData = responseBody.string()
                        Log.d("DeepSeekApiHelper", "uploadLog onResponse: $responseData")
                    }
                }
            }
        )
        Log.e("DeepSeekApiHelper",response.toString())
    }



}





总结

这个jsonBody 的配置比较迷,没有达到一个比较简洁的境界,一开始是准备创建一个Message的数据类,方便不同业务的适配,但是转化为jsonString之后服务器一直回报格式错误,格式这方面的限制比较死,最后还是用字符串拼接的方式来做了,如果有人知道怎么优化,欢迎评论指点下

<think>好的,用户想了解如何将DeepSeek接入手机。首先,我需要明确DeepSeek是什么。根据之前的知识,DeepSeek是一个AI服务,可能提供API或者有官方应用。用户可能是指将类似ChatGPT的AI功能集成到手机中使用。 接下来,用户可能的场景是什么?他们可能想方便地在手机上使用DeepSeek,比如通过APP、快捷指令或者与其他应用整合。需要区分用户是开发者还是普通用户。如果是普通用户,可能需要直接使用现有应用或通过网页访问;如果是开发者,可能需要集成API到自己的手机应用中。 然后,用户的需求可能有几种情况:1. 使用官方提供的手机应用;2. 通过浏览器访问网页版;3. 将API接入到自己的手机应用中;4. 使用第三方工具如快捷指令或自动化流程。需要逐一分析这些可能性,并给出步骤。 还需要考虑DeepSeek是否提供移动端SDK或API文档。假设用户是普通用户,可能更倾向于简单的方法,比如网页版或现有应用。如果是技术用户,可能对API接入感兴趣。因此回答时需要涵盖不同情况,并提供相应的步骤。 另外,可能存在的误区是用户可能不知道DeepSeek是否有官方应用,或者如何找到API文档。需要指导用户检查官方网站,或者建议通过浏览器访问。如果官方没有APP,可能需要使用第三方工具或自行开发,但要注意安全风险。 最后,要确保回答清晰,分步骤说明,并提醒用户注意API密钥的安全,以及推荐官方渠道避免风险。</think>要将DeepSeekAI能力接入手机,通常有几种方式(需根据DeepSeek官方提供的具体服务选择)。以下是通用方案: --- ### **一、通过手机浏览器访问** 1. **直接访问网页端** 若DeepSeek提供网页版服务(如类似ChatGPT的界面),直接用手机浏览器访问官网(如 `https://www.deepseek.com`)即可使用。 --- ### **二、通过API接入开发** **适用场景**:想将DeepSeek集成到自研App中 1. **获取API密钥** - 登录DeepSeek官网,注册开发者账号并获取API Key。 2. **调用API接口** - 使用HTTP请求(如POST)调用DeepSeekAPI,参考官方文档实现对话、图像生成等功能。 - 示例代码(需嵌入手机App中): ```python import requests api_key = "your_api_key" headers = {"Authorization": f"Bearer {api_key}"} data = {"prompt": "你好", "max_tokens": 50} response = requests.post("https://api.deepseek.com/v1/chat", headers=headers, json=data) print(response.json()) ``` 3. **封装为手机应用** - 使用AndroidKotlin/Java)或iOS(Swift)开发App,集成API调用逻辑。 --- ### **三、通过快捷指令/自动化工具** 1. **iOS快捷指令(Shortcuts)** - 创建快捷指令,通过「获取网页内容」或调用API实现快速访问。 2. **Android自动化工具(如Tasker)** - 配置Tasker脚本,发送HTTP请求到DeepSeek API并返回结果。 --- ### **四、第三方应用整合** 1. **支持API的聊天应用** - 在支持自定义AI集成的App(如「BotMate」)中配置DeepSeekAPI密钥。 2. **即时通讯工具** - 通过Zapier等平台将DeepSeek API与微信/Telegram绑定,实现自动回复。 --- ### **注意事项** 1. **安全性**:API密钥需妥善保管,避免泄露。 2. **官方限制**:遵守DeepSeek的使用条款,注意调用频率和内容规范。 3. **网络要求**:确保手机网络可稳定访问DeepSeek服务器。 建议优先查看DeepSeek官方文档或联系技术支持,获取最新的接入指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值