您的位置:首页 > 教育 > 锐评 > 湖北省自然资源厅原副厅长被双开_交互设计网站推荐_建立网站的详细步骤_东莞整站优化推广公司找火速

湖北省自然资源厅原副厅长被双开_交互设计网站推荐_建立网站的详细步骤_东莞整站优化推广公司找火速

2025/5/9 20:13:11 来源:https://blog.csdn.net/billy145533/article/details/146014976  浏览:    关键词:湖北省自然资源厅原副厅长被双开_交互设计网站推荐_建立网站的详细步骤_东莞整站优化推广公司找火速
湖北省自然资源厅原副厅长被双开_交互设计网站推荐_建立网站的详细步骤_东莞整站优化推广公司找火速

文章目录

    • 背景
    • 参考文档
    • 申请DeepSeek API KEY(略)
    • 代码
    • 运行结果
    • 小结

背景

想用Android整一个聊天机器人,测试一下功能。

参考文档

在这里插入图片描述

申请DeepSeek API KEY(略)

代码

参考文档中的代码已经基本满足要求,主要是返回结果为JSON格式没有解析,内容比较乱,加一些简单的解析即可。

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;import java.io.IOException;import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;public class MainActivity extends AppCompatActivity {private static final String API_KEY = "KEY"; // 替换为你的 DeepSeek API 密钥private DeepSeekApiService apiService;/*Input: msg 发送给AI的信息*//*返回AI的对话结果。注意:DeepSEEK 服务经常没有相应*/String DeepSeekApi(String msg){String strBody = "{\n  \"messages\": [\n    {\n      \"content\": \""+msg+"\",\n      \"role\": \"system\"\n    },\n    {\n      \"content\": \""+msg+"\",\n      \"role\": \"user\"\n    }\n  ],\n  \"model\": \"deepseek-chat\",\n  \"frequency_penalty\": 0,\n  \"max_tokens\": 2048,\n  \"presence_penalty\": 0,\n  \"response_format\": {\n    \"type\": \"text\"\n  },\n  \"stop\": null,\n  \"stream\": false,\n  \"stream_options\": null,\n  \"temperature\": 1,\n  \"top_p\": 1,\n  \"tools\": null,\n  \"tool_choice\": \"none\",\n  \"logprobs\": false,\n  \"top_logprobs\": null\n}";OkHttpClient client = new OkHttpClient();MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, strBody);Request request = new Request.Builder().url("https://api.deepseek.com/chat/completions").post(body).addHeader("Authorization", "Bearer " + API_KEY).addHeader("Content-Type", "application/json").build();try (Response response = client.newCall(request).execute()) {if (response.isSuccessful() && response.body() != null) {String responseBody = response.body().string();JSONObject jsonResponse = new JSONObject(responseBody);// System.out.println(response.body().string());JSONArray messages = jsonResponse.getJSONArray("choices");int len = messages.length();JSONObject message = messages.getJSONObject(0);String fieldValue = message.getString("message");JSONObject jsonResponse1 = new JSONObject(fieldValue);fieldValue = jsonResponse1.getString("content");return fieldValue;}else{Log.i("DeepSeek","服务器忙碌");}} catch (IOException | JSONException e) {e.printStackTrace();}return "Failed!";}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy);String res =  DeepSeekApi("你是谁?简要回答");Log.i("DeepSeek",res);}
}

运行结果

在这里插入图片描述

小结

没什么难度,时间主要寻找一个Android下可用的连接代码。好些代码测试过发现已经过期,最后在DS的API文档里面找到了可用的代码。JSON不熟悉,花了点时间找错误。因为网上没有找到现成的,所以把结果记录一下。代码很简单,不多解释,这部分应该放在线程了,偷懒就直接用了。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com