- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过实现异步任务在 android (java) 中流式传输 chatgpt api 的响应(逐字),但我收到错误。我正在将 java 的 HTTPurlconnection 库与输入和输出流一起使用,以便我可以像在其原始界面中一样流式传输 chatgpt 的响应,但我收到一个错误:虽然 api key 是正确的,但您还没有提供 API key ,因为它与 android kotlin volley 库一起使用。我哪里错了?请帮助此代码
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.facebook.ads.AdView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
public class gpt extends AppCompatActivity {
EditText queryt;
TextView question;
TextView response1;
AdView mAdview;
Button queryb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gpt);
response1 = findViewById(R.id.idTVResponse2);
question = findViewById(R.id.idTVQuestion2);
queryt = findViewById(R.id.edit_query2);
queryb = findViewById(R.id.buttonPanel2);
//ChatGPTTask GPT = new ChatGPTTask();
queryb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ChatGPTTask GPT = new ChatGPTTask();
GPT.execute(queryt.getText().toString());
queryt.setText("");
}
});
}
public class ChatGPTTask extends AsyncTask<String, String, Void> {
private final String TAG = ChatGPTTask.class.getSimpleName();
private final String API_URL = "https://api.openai.com/v1/completions";
//private final String API_KEY =API_KEY
@Override
protected void onPostExecute(Void unused) {
super.onPostExecute(unused);
}
@Override
protected Void doInBackground(String... strings) {
try {
String prompt = strings[0];
URL url = new URL(API_URL);
Log.d(TAG, "Authorization Header: " +url);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Log.d(TAG, "Authorization Header: " +conn);
conn.setRequestMethod("POST");
String authHeader = "Bearer API_KEY";
conn.setConnectTimeout(5000);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", authHeader);
conn.setDoOutput(true);
Log.d(TAG, "Authorization Header: " + authHeader);
String requestBody = "{\n" +
" \"model\": \"text-davinci-003\",\n" +
" \"prompt\": \"" + prompt + "\",\n" +
" \"max_tokens\": 1000,\n" +
" \"temperature\": 0.0,\n" +
" \"top_p\": 1,\n" +
" \"frequency_penalty\": 0.0,\n" +
//" \"n\": 1,\n" +
//" \"stop\": \"\\n\"\n" +
" \"presence_penalty\": 0.0,\n" +
"}";
conn.getOutputStream().write(requestBody.getBytes(StandardCharsets.UTF_8));
InputStream inputStream = conn.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = bufferedReader.readLine()) != null) {
publishProgress(line);
}
bufferedReader.close();
inputStream.close();
conn.disconnect();
} catch (IOException e) {
Log.e(TAG, "Error: " + e.getMessage());
}
return null;
}
@Override
protected void onProgressUpdate(String... values) {
String response = values[0];
response1.append(response);
// TODO: handle ChatGPT's response here
Log.d(TAG, "Response: " + response);
}
}
}type here
我试图获取响应并将其逐行附加到 TextView ,就像在 chatgpt 界面中一样,它如何实现服务器发送的事件,但实际上在初步的基础上它返回一个错误,指出我没有提供 API key ,尽管API key 条目的格式是正确的,并且 key 本身是有效的,因为我已经在不同的应用程序中测试了该 key 并且它在那里工作。
我从 url 获取的错误:
{
"error": {
"message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null,
"code": null
}
}
最佳答案
关于错误消息,首先仔细检查您是否从 https://platform.openai.com/account/api-keys 获得了 OpenAI API key .
关于使用的型号,根据https://platform.openai.com/docs/api-reference/chat/create要使用“ChatGPT API”(聊天完成),要使用的模型是
gpt-3.5-turbo
或gpt-3.5-turbo-0301
,不是 text-davinci-003
,因为此模型用于文本补全。
在您决定使用的模型的任何情况下,您可能首先使用正确的端点和参数验证对 OpenAI API 的 http 请求是否正常工作,即通过使用 curl。一旦你让它工作,那么可能会专注于在你的 Java 代码中实现这个调用。
引用资料
关于java - 我正在尝试通过实现异步任务在 android (java) 中流式传输 chatgpt api 的响应(逐字),但我收到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75579492/
ChatGPT 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人的能力。这么强大的工具我们都想体验一下,那么 ChatGPT 怎么用呢?本文将给你逐步详细介绍。 Chat GPT
我有一个想法创建一个应用程序,可以通过chatgpt api绘制chatgpt讨论的思维导图。但是,如何编写一个提示来控制chatgpt写出固定格式的思维导图以便于解析呢? 最佳答案 这可以使用 Me
我有一个想法创建一个应用程序,可以通过chatgpt api绘制chatgpt讨论的思维导图。但是,如何编写一个提示来控制chatgpt写出固定格式的思维导图以便于解析呢? 最佳答案 这可以使用 Me
openAI/chatGPT也支持docx/pdf文件上传吗? 我想上传多个文件到 openAI/chatGPT。我尝试了 https://platform.openai.com/docs/api-r
openAI/chatGPT也支持docx/pdf文件上传吗? 我想上传多个文件到 openAI/chatGPT。我尝试了 https://platform.openai.com/docs/api-r
OpenAI/chat GPT也支持docx/pdf文件上传吗?。我想上传多个文件到openAI/chatGPT。我在https://platform.openai.com/docs/api-refe
1.概述 OpenAI 持续突破人工智能的边界,推出了其最新模型 ChatGPT-4o,作为 ChatGPT-4 的继承者,该模型有望带来显著的提升和创新功能。本文将深入解析 ChatGPT-4 与
ChatGPT 是OpenAI 发布的一个全新的聊天机器人模型。它到底有多厉害呢?我注册后体验了一下,你会感觉背后有个真人跟你在聊天。例如: 代码不仅可以运行,还特么有每行带有中文注释,这完全是降维打
ChatGPT+Mermaid语言实现技术概念可视化 本文旨在介绍如何使用ChatGPT和Mermaid语言生成流程图的技术。在现代软件开发中,流程图是一种重要的工具,用于可视化和呈现各种流程
当谈到人工智能技术的时候,我们会经常听到GPT这个术语。它代表“Generative Pre-trained Transformer”,是一种机器学习模型,采用了神经网络来模拟人类语言的理解
作者:京东科技 赵龙波 “贾维斯,你在吗?” “随时待命,先生。” 类似《钢铁侠》里的人工智能助理贾维斯,ChatGPT或许是你的随时待命的助手。ChatGPT在大量文本数据上进行
ChatGPT 火爆出圈,但是 OpenAI(开发 ChatGPT 的公司)却不对国内用户正式开放使用。但是,我们仍然有办法可以在第一时间体验到这个超强 AI。下面我来教你如何
最近的热门话题,OpenAI 推出的ChatGPT绝对榜上有名!但是不说注册难度,只说每次需要一些不可抗力的原因才能访问使用就很麻烦,大部分人无法体验到,本文介绍的方式直接对接个人微信(不是公众号)非
我正在从 ChatGPT API 中提取与单词列表相对应的单词嵌入。我想知道是否有一种类似于Gensimmost_similar方法的方法来提取整个模型中与我想要的术语最相似的n个单词。 最佳答案 是
有谁知道我是否可以使用 streamlit_chat 消息在 Streamlit 中显示类似 chatgpt 的流响应? 我需要类似 message(streaming=True) 或任何其他替代方案
我正在构建一个平台,用户可以在其中上传自定义数据并构建聊天机器人。 我正在考虑使用 lanchain + open ai embeddings + chat gpt api + pinecone 来管
我正在尝试设置函数来调用我最近一直在从事的一个项目,但我似乎无法让它工作 我查找了文档,但只找到了无法很好地解释它的 YouTube 视频。我尝试过运行各种示例,但没有任何效果对我有用。这就是我所拥有
我正在研究将 html 页面从一种语言翻译成另一种语言的想法——翻译可见文本(如果更具体的话)。我已经将 html 拆分为标记和文本 block ,现在我需要通过 ChatGPT 翻译文本。但对于我的
我正在研究将 html 页面从一种语言翻译成另一种语言的想法——翻译可见文本(如果更具体的话)。我已经将 html 拆分为标记和文本 block ,现在我需要通过 ChatGPT 翻译文本。但对于我的
我正在从 ChatGPT API 中提取与单词列表相对应的单词嵌入。我想知道是否有一种类似于Gensimmost_similar方法的方法来提取整个模型中与我想要的术语最相似的n个单词。 最佳答案 是
我是一名优秀的程序员,十分优秀!