- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Android 应用程序,目前正在使用 chat gpt 3.0 进行补全,并且工作正常。现在,在他们发布 chat gpt 3.5 Turbo 后,我根据他们的请求示例做了一些更改,但抛出了 400 错误,我感谢任何帮助,谢谢
public static void getResponse(Context context, String URL, String Token, TextView mQuestionText, TextInputEditText queryEdt, TextView mResponseText, String query) throws JSONException {
mQuestionText.setText(query);
queryEdt.setText("");
mResponseText.setText("Please wait..");
RequestQueue requestQueue = Volley.newRequestQueue(context);
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "text-davinci-003");
jsonObject.put("prompt", query);
jsonObject.put("temperature", 0);
jsonObject.put("max_tokens", 100);
jsonObject.put("top_p", 1);
jsonObject.put("frequency_penalty", 0.0);
jsonObject.put("presence_penalty", 0.0);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, URL ,jsonObject, response -> {
try {
String responseMsg = response.getJSONArray("choices").getJSONObject(0).getString("text");
mResponseText.setText(responseMsg);
// SHUT DOWN TEXT TO SPEECH IN CASE OF QUERY CHANGE
if(textToSpeech != null){
textToSpeech.stop();
textToSpeech.shutdown();
textToSpeech = null;
}
// SPEAK THE RESPONSE FETCHED FROM SERVER
textToSpeech(context,responseMsg);
}catch (Exception e){
// error
Log.d("TAG","Error is " + e.getMessage());
}
}, error -> {
Log.d("TAG","Error " + error.getMessage());
}){
@Override
public Map<String, String> getHeaders() {
Map<String,String> params = new HashMap<>();
params.put("Content-Type","application/json");
params.put("Authorization","Bearer " + Token);
return params;
}
};
requestQueue.add(jsonObjectRequest);
}
public static void getResponse(Context context, String URL, String Token, TextView mQuestionText, TextInputEditText queryEdt, TextView mResponseText, String query) throws JSONException {
mQuestionText.setText(query);
queryEdt.setText("");
mResponseText.setText("Please wait..");
RequestQueue requestQueue = Volley.newRequestQueue(context);
ArrayList<ChatModel> arrayList = new ArrayList<>();
arrayList.add(new ChatModel("user",query));
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "gpt-3.5-turbo");
jsonObject.put("messages",arrayList);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, URL ,jsonObject, response -> {
try {
String responseMsg = response.getJSONArray("choices").getJSONObject(0).getString("text");
mResponseText.setText(responseMsg);
// SHUT DOWN TEXT TO SPEECH IN CASE OF QUERY CHANGE
if(textToSpeech != null){
textToSpeech.stop();
textToSpeech.shutdown();
textToSpeech = null;
}
// SPEAK THE RESPONSE FETCHED FROM SERVER
textToSpeech(context,responseMsg);
}catch (Exception e){
// error
Log.d("TAG","Error is " + e.getMessage());
}
}, error -> {
Log.d("TAG","Error " + error.getMessage());
}){
@Override
public Map<String, String> getHeaders() {
Map<String,String> params = new HashMap<>();
params.put("Content-Type","application/json");
params.put("Authorization","Bearer " + Token);
return params;
}
};
requestQueue.add(jsonObjectRequest);
}
E/Volley: [1922] NetworkUtility.shouldRetryException: Unexpected response code 400 for
https://api.openai.com/v1/completions
最佳答案
您使用的是 gpt-3.5-turbo
型号。
Chat Completions API 之间存在三个主要区别(即 GPT-3.5 API)和 Completions API (即 GPT-3 API):
https://api.openai.com/v1/completions
https://api.openai.com/v1/chat/completions
prompt
参数(Completions API)已替换为 messages
参数(Chat Completions API)response.getJSONArray("choices").getJSONObject(0).getString("text")
response.getJSONArray("choices").getJSONObject(0).getString("message")
问题 1:您使用了错误的 API 端点
改变这个...
https://api.openai.com/v1/completions
...对此。
https://api.openai.com/v1/chat/completions
问题 2:确保 messages
参数的 JSON 有效
像这样:
JSONObject jsonObject = new JSONObject();
JSONArray messages = new JSONArray();
JSONObject message = new JSONObject();
message.put("role", "user");
message.put("content", "What are your functionalities?");
messages.put(message);
jsonObject.put("messages", messages);
此代码将创建以下 JSON 对象:
{
"messages": [
{
"role": "user",
"content": "What are your functionalities?"
}
]
}
问题 3:您访问响应的方式不正确
改变这个...
response.getJSONArray("choices").getJSONObject(0).getString("text")
...对此。
response.getJSONArray("choices").getJSONObject(0).getString("message")
注意:如果您仍然收到 API 错误 400
,请确保您已将 Content-Type
header 设置为 application/json
。请注意,application/json、UTF-8
不起作用。
关于java - OpenAI ChatGPT (GPT-3.5) API 错误 400 : "Unexpected response code 400 for https://api.openai.com/v1/completions" (migrating GPT-3 to GPT-3. 5 API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75616048/
一旦在 qconsole Marklogic 中运行以下代码,我就会遇到以下错误 XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax err
我已经在我的包中编写了这个函数。 def partitionIntoDays(ls, number, lookupKey=None): ''' Partitions the location
我只是一个 android 初学者,我已经安装了 Android Studio(版本是 1.0.2),并创建了一个新的空白应用程序,按照名为“构建你的第一个应用程序”的官方教程,我学习到这个页面' h
这只是前几天工作,但我刚刚将我的代码更新到运行乘客 2.2.4 的审查服务器,而我的 2.3.4 rails 应用程序现在无法在那个盒子上启动。 乘客报告: Passenger encountered
我正在尝试使用带有 Angular 2的整页, 将其导入我的 app.module.ts 时出现以下错误。 "(SystemJS) Unexpected token ) at Obje
TFS2015 vNext 构建失败并出现记录器错误(下面附有错误消息)。根据我的调查,这看起来与 CentralLogger - "Microsoft.TeamFoundation.Distribu
计算机科学学校项目。我需要编写一个程序,其中用户声明数组的大小,然后以数字、非递减顺序填充数组,然后声明一个值 x。然后将 X 分配到适当的位置,以便整个数组按数字、非递减顺序排列。然后输出该数组。
在这 2 个方法中,inspect1 显示编译错误“Unexpected bound”而 inspect2 工作正常,为什么? public void inspect1(List u){ S
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我正在尝试运行以下代码,但遇到了“此时意外”错误。 (echo COPY (SELECT ta.colA as name, ta.colB as user_e, ta.colC as user_n,
我有以下查询: select u.UserName, count(*) as total from Voting v join User u using (UserID) where unique (
我们有以下查询在 MSSQL 中完美运行但在 MySQL 中无法运行: select CONVERT(datetime, dateVal) as DateOccurred, itemID, COUNT
我的代码中存在缩进错误问题。它看起来是正确的...有人能指出我做错了什么吗?我的查询行不断收到错误。 def invoice_details(myDeliveryID): conn = pym
我有以下代码: int a , b , sum; cin>>a>>b; sum=a+b; cout>a>>b>>c; cout<
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我在一个批处理文件上运行这个命令: for %I in (*.txt *.doc) do copy %I c:\test2 ...它不断返回: I was unexpected at this tim
创建查询时出现错误: 'from' unexpected 我的代码如下: @Override public Admin findByAdmin(Admin admin) {
我正在尝试运行此 python 代码,但我不断收到错误消息“意外缩进”。我不确定怎么了。间距似乎很好。有什么想法吗? services = ['Service1'] for service in
我在名为“circular_dependency”的目录中有一些 python 文件: 导入文件_1.py: from circular_dependency.import_file_2 import
我正在尝试使用 gcc 编译代码并运行可执行文件,但它抛出错误: gcc somefile.c -o somefile 编译成功。但是,当我尝试执行它时: $sh somefile 它导致:语法错误:
我是一名优秀的程序员,十分优秀!