Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
597e3622
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3200
Star
106
Fork
813
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
597e3622
编写于
6月 08, 2023
作者:
DCloud_Heavensoft
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update uni-ai.md
上级
805938a7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
12 deletion
+27
-12
docs/uniCloud/uni-ai.md
docs/uniCloud/uni-ai.md
+27
-12
未找到文件。
docs/uniCloud/uni-ai.md
浏览文件 @
597e3622
...
@@ -50,7 +50,7 @@ ai能力非常常见的应用场景,有智能客服和自动生成文稿。
...
@@ -50,7 +50,7 @@ ai能力非常常见的应用场景,有智能客服和自动生成文稿。
`uni-ai`
把这些常见场景对应的应用均已做好,并且开源。开发者可以直接拿走使用。
`uni-ai`
把这些常见场景对应的应用均已做好,并且开源。开发者可以直接拿走使用。
-
uni-ai-chat,独立的ai聊天模板。
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/uni-ai-chat.html
)
-
uni-ai-chat,独立的ai聊天模板。
[
详见
](
uni-ai-chat.md
)
-
uni-cms,内置了智能内容生成。
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/uni-cms.html
)
-
uni-cms,内置了智能内容生成。
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/uni-cms.html
)
-
uni-im,内置了智能客服。
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/uni-im.html
)
-
uni-im,内置了智能客服。
[
详见
](
https://uniapp.dcloud.net.cn/uniCloud/uni-im.html
)
...
@@ -101,13 +101,13 @@ ai作为一种云能力,相关调用被整合到uniCloud中。
...
@@ -101,13 +101,13 @@ ai作为一种云能力,相关调用被整合到uniCloud中。
如您的服务器业务不在uniCloud上,可以把
[
云函数URL化
](
http.md
)
,把
`uni-ai`
当做http接口调用。
如您的服务器业务不在uniCloud上,可以把
[
云函数URL化
](
http.md
)
,把
`uni-ai`
当做http接口调用。
在实际应用中,大多数场景是直接使用
`uni-ai-chat`
、
`uni-im`
和
`uni-cms`
的ai功能,这些开源项目已经把完整逻辑都实现,无需自己研究API。
在实际应用中,大多数场景是直接使用
[
uni-ai-chat
](
uni-ai-chat.md
)
、
[
uni-im
](
uni-im.md
)
和
[
uni-cms
](
uni-cms.md
)
的ai功能,这些开源项目已经把完整逻辑都实现,无需自己研究API。
ai能力由
`uni-cloud-ai`
扩展库提供,在云函数或云对象中,对右键配置
`uni-cloud-ai`
扩展库。如何使用扩展库请参考:
[
使用扩展库
](
cf-functions.md#extension
)
ai能力由
`uni-cloud-ai`
扩展库提供,在云函数或云对象中,对右键配置
`uni-cloud-ai`
扩展库。如何使用扩展库请参考:
[
使用扩展库
](
cf-functions.md#extension
)
如果HBuilderX版本过低,在云函数的扩展库界面里找不到
`uni-ai`
。
如果HBuilderX版本过低,在云函数的扩展库界面里找不到
`uni-ai`
。
注意
`uni-ai`
是云函数扩展库,其api是
`uniCloud.ai`
,不是需要下载的三方插件。而
`uni-ai-chat`
、
`uni-cms`
、
`uni-im`
等开源项目,是需要在插件市场下载的。
注意
`uni-ai`
是云函数扩展库,其api是
`uniCloud.ai`
,不是需要下载的三方插件。而
[
uni-ai-chat
](
uni-ai-chat.md
)
、
[
uni-im
](
uni-im.md
)
和
[
uni-cms
](
uni-cms.md
)
等开源项目,是需要在插件市场下载的。
### 获取LLM实例@get-llm-manager
### 获取LLM实例@get-llm-manager
...
@@ -125,8 +125,8 @@ LLM不等于ai的全部,除了LLM,还有ai生成图片等其他模型。
...
@@ -125,8 +125,8 @@ LLM不等于ai的全部,除了LLM,还有ai生成图片等其他模型。
|参数 |类型 |必填 |默认值 |说明 |
|参数 |类型 |必填 |默认值 |说明 |
|--- |--- |--- |--- |--- |
|--- |--- |--- |--- |--- |
|provider |string |否 |- |llm服务商,目前支持
`openai`
、
`baidu`
、
`minimax`
、
`azure`
(
新增于HBuilderX 3.8.3)。不指定时由uni-ai自动分配
|
|provider |string |否 |- |llm服务商,目前支持
`openai`
、
`baidu`
、
`minimax`
、
`azure`
(
azure新增于HBuilderX 3.8.3)。
|
|apiKey |string |否 |- |llm服务商的apiKey
,如不填则使用uni-ai的key。如
指定openai、azure或baidu作为服务商则必填 |
|apiKey |string |否 |- |llm服务商的apiKey
。
指定openai、azure或baidu作为服务商则必填 |
|accessToken|string |否 |- |llm服务商的accessToken。目前百度文心一言是必填,如何获取请参考:
[
百度AI鉴权认证机制
](
https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
)
,需确保已开通相关接口的调用权限 |
|accessToken|string |否 |- |llm服务商的accessToken。目前百度文心一言是必填,如何获取请参考:
[
百度AI鉴权认证机制
](
https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu
)
,需确保已开通相关接口的调用权限 |
|proxy |string |否 |- |可有效连接openai服务器的、可被uniCloud云函数连接的代理服务器地址。格式为IP或域名,域名不包含http前缀,协议层面仅支持https。配置为
`openai`
时必填 |
|proxy |string |否 |- |可有效连接openai服务器的、可被uniCloud云函数连接的代理服务器地址。格式为IP或域名,域名不包含http前缀,协议层面仅支持https。配置为
`openai`
时必填 |
...
@@ -139,9 +139,6 @@ LLM不等于ai的全部,除了LLM,还有ai生成图片等其他模型。
...
@@ -139,9 +139,6 @@ LLM不等于ai的全部,除了LLM,还有ai生成图片等其他模型。
在云函数或云对象中编写如下代码:
在云函数或云对象中编写如下代码:
```
js
```
js
// 不指定provider
const
llm
=
uniCloud
.
ai
.
getLLMManager
()
// 指定openai,需自行配置相关key,以及中转代理服务器
// 指定openai,需自行配置相关key,以及中转代理服务器
const
openai
=
uniCloud
.
ai
.
getLLMManager
({
const
openai
=
uniCloud
.
ai
.
getLLMManager
({
provider
:
'
openai
'
,
provider
:
'
openai
'
,
...
@@ -150,7 +147,13 @@ const openai = uniCloud.ai.getLLMManager({
...
@@ -150,7 +147,13 @@ const openai = uniCloud.ai.getLLMManager({
})
})
```
```
现阶段,不指定provider时,uni-ai分配的ai引擎无需开发者支付费用。同时也不会自动分配到gpt-4等比较昂贵但精准的模型上。如有变化会提前公告。
**免费时限注意:**
之前uni-ai不指定provider时会使用minimax提供给DCloud的免费测试key,后minimax决定计费商用。
从2023年6月9日起上午10点起,该key无法使用。
也就意味着如果开发者未填provider或没有配置自己的key时,将
**无法再调用llm**
。
解决方案是开发者需要在云函数中配置自己的key,可以自行向openai、baidu、minimax等支持的llm服务商申请key。
开发者使用openai等已经商用的ai时,需自行向相关服务商支付费用。
开发者使用openai等已经商用的ai时,需自行向相关服务商支付费用。
...
@@ -296,7 +299,11 @@ tokensToGenerate指生成的token数量限制,即返回的文本对应的token
...
@@ -296,7 +299,11 @@ tokensToGenerate指生成的token数量限制,即返回的文本对应的token
在你的云函数中加载
`uni-cloud-ai`
扩展库,写下如下代码,ctrl+r运行,即可调用ai返回结果。
在你的云函数中加载
`uni-cloud-ai`
扩展库,写下如下代码,ctrl+r运行,即可调用ai返回结果。
```
js
```
js
const
llmManager
=
uniCloud
.
ai
.
getLLMManager
()
const
llmManager
=
uniCloud
.
ai
.
getLLMManager
({
provider
:
'
openai
'
,
apiKey
:
'
your key
'
,
proxy
:
'
www.yourdomain.com
'
//也可以是ip
})
const
res
=
await
llmManager
.
chatCompletion
({
const
res
=
await
llmManager
.
chatCompletion
({
messages
:
[{
messages
:
[{
role
:
'
user
'
,
role
:
'
user
'
,
...
@@ -342,7 +349,11 @@ stream对象有四个事件:
...
@@ -342,7 +349,11 @@ stream对象有四个事件:
```
js
```
js
'
use strict
'
;
'
use strict
'
;
exports
.
main
=
async
(
event
,
context
)
=>
{
exports
.
main
=
async
(
event
,
context
)
=>
{
const
llmManager
=
uniCloud
.
ai
.
getLLMManager
({})
const
llmManager
=
uniCloud
.
ai
.
getLLMManager
({
provider
:
'
openai
'
,
apiKey
:
'
your key
'
,
proxy
:
'
www.yourdomain.com
'
//也可以是ip
})
let
streamRes
let
streamRes
try
{
try
{
streamRes
=
await
llmManager
.
chatCompletion
({
streamRes
=
await
llmManager
.
chatCompletion
({
...
@@ -659,7 +670,11 @@ gpt-4是目前准确性最高的ai,也是最贵的ai。开发者需根据需
...
@@ -659,7 +670,11 @@ gpt-4是目前准确性最高的ai,也是最贵的ai。开发者需根据需
}
}
}
}
const
LLMManager
=
uniCloud
.
ai
.
getLLMManager
()
//创建llm对象
const
LLMManager
=
uniCloud
.
ai
.
getLLMManager
({
provider
:
'
openai
'
,
apiKey
:
'
your key
'
,
proxy
:
'
www.yourdomain.com
'
//也可以是ip
})
//创建llm对象
return
await
LLMManager
.
chatCompletion
({
return
await
LLMManager
.
chatCompletion
({
messages
// 初次调试时,可注掉本行代码,不从客户端获取数据,直接使用下面写死在云函数里的数据
messages
// 初次调试时,可注掉本行代码,不从客户端获取数据,直接使用下面写死在云函数里的数据
// messages: [{
// messages: [{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录