我正在向完成端点发出请求。我的提示是 1360 个令牌,经 Playground 和 Tokenizer 验证。我不会显示提示,因为对于这个问题来说有点太长了。
这是我使用 openai npm 包在 Nodejs 中对 openai 的请求。
const response = await openai.createCompletion({
model: 'text-davinci-003',
prompt,
max_tokens: 4000,
temperature: 0.2
})
Run Code Online (Sandbox Code Playgroud)
在 Playground 中进行测试时,响应后我的总代币数为 1374。
通过完成 API 提交提示时,我收到以下错误:
error: {
message: "This model's maximum context length is 4097 tokens, however you requested 5360 tokens (1360 in your prompt; 4000 for the completion). Please reduce your prompt; or completion length.",
type: 'invalid_request_error',
param: null,
code: null
}
Run Code Online (Sandbox Code Playgroud)
如果您能够解决这个问题,我很想听听您是如何做到的。
在大多数使用 Express JS 的教程中, app.listen 函数总是添加在文件的末尾。我想了解这是否必不可少,因为所有中间件都是按顺序运行的。
大多数例子显示:
const express = require('express)
const app = express()
app.get('/', (req, res) => {
res.send('Test')
}
app.listen(3000, () => {
console.log('Server running on port 3000')
}
Run Code Online (Sandbox Code Playgroud)
有什么理由不应该这样做:
const express = require('express)
const app = express()
app.listen(3000, () => {
console.log('Server running on port 3000')
}
app.get('/', (req, res) => {
res.send('Test')
}
Run Code Online (Sandbox Code Playgroud) 快速框架带有快速表达函数express.json()和express.urlencoded()。
我们有body-parser库,它似乎具有相同的功能。
我的问题是,正文解析器是否可以替换express.json()和express.urlencoded()?
它会处理req.body与内置Express函数不同的创建吗?