cAI 方法参考
基础配置方法
ApiKey
设置 API 密钥。
vb
Public Function ApiKey(Key As String) As cAI示例:
vb
AI.ApiKey("sk-xxx")BaseUrl
设置 API 基础 URL(用于适配不同服务商)。
vb
Public Function BaseUrl(Url As String) As cAI示例:
vb
AI.BaseUrl("https://api.deepseek.com/v1")ApiPath
设置 API 路径(用于适配不同 API 版本)。
vb
Public Function ApiPath(Path As String) As cAI默认值: /chat/completions
示例:
vb
AI.ApiPath("/v1/chat/completions")Model
设置模型名称。
vb
Public Function Model(ModelName As String) As cAI默认值: gpt-3.5-turbo
示例:
vb
AI.Model("gpt-4")
AI.Model("deepseek-chat")
AI.Model("ep-xxx") ' 豆包端点IDTimeout
设置请求超时时间(秒)。
vb
Public Function Timeout(Seconds As Long) As cAI默认值: 60
示例:
vb
AI.Timeout(120)参数配置方法
Temperature
设置温度参数(0-2),值越低输出越确定性。
vb
Public Function Temperature(Value As Double) As cAI默认值: 1.0
示例:
vb
AI.Temperature(0.7) ' 更确定的输出
AI.Temperature(1.5) ' 更随机的输出MaxTokens
设置最大生成 token 数。
vb
Public Function MaxTokens(Value As Long) As cAI默认值: 0(自动,由模型决定)
示例:
vb
AI.MaxTokens(1000)TopP
设置 Top-P 核采样参数。
vb
Public Function TopP(Value As Double) As cAI默认值: 1.0
FrequencyPenalty
设置频率惩罚(-2 到 2),降低重复用词。
vb
Public Function FrequencyPenalty(Value As Double) As cAI默认值: 0
PresencePenalty
设置存在惩罚(-2 到 2),鼓励谈论新话题。
vb
Public Function PresencePenalty(Value As Double) As cAI默认值: 0
Stream
启用/禁用流式响应。
vb
Public Function Stream(Enable As Boolean) As cAI默认值: False
说明:
Stream(False)— 同步请求,Chat 返回完整结果Stream(True)— 流式请求,通过 SSE 实时接收,Chat 阻塞等待直到完成后返回完整结果
示例:
vb
AI.Stream(True).Chat("写一首诗", Me, "OnChunk")Stop
设置停止序列。
vb
Public Function Stop(Value As Variant) As cAI参数: String 或 Array
示例:
vb
AI.Stop("。")
AI.Stop(Array("\n", "。"))消息管理方法
System
设置系统提示词。
vb
Public Function System(Prompt As String) As cAI说明: 系统提示词不会在多轮对话中重复添加,每次请求时自动构建到消息列表开头。
示例:
vb
AI.System("你是一个专业的翻译助手,只翻译不解释")User
添加用户消息。
vb
Public Function User(Content As String) As cAI示例:
vb
AI.User("帮我翻译这句话")Assistant
添加助手消息(用于预设对话历史)。
vb
Public Function Assistant(Content As String) As cAI示例:
vb
AI.User("什么是OOP?").Assistant("OOP是面向对象编程...").User("举例说明")ClearMessages
清空消息历史和系统提示词。
vb
Public Function ClearMessages() As cAI示例:
vb
AI.ClearMessages().User("新话题").Chat()Messages
设置消息列表(高级用法,直接替换内部消息集合)。
vb
Public Function Messages(MsgList As Collection) As cAI高级配置方法
Header
添加自定义请求头。
vb
Public Function Header(Name As String, Value As String) As cAI示例:
vb
AI.Header("X-Custom-Header", "custom-value")Proxy
设置代理地址。
vb
Public Function Proxy(ProxyUrl As String) As cAIOrganization
设置 OpenAI 组织 ID。
vb
Public Function Organization(OrgId As String) As cAI示例:
vb
AI.Organization("org-xxx")预设配置方法
Doubao
快速配置为豆包 API。
vb
Public Function Doubao(ApiKey As String) As cAI| 配置项 | 值 |
|---|---|
| BaseUrl | https://ark.cn-beijing.volces.com/api/v3 |
| ApiPath | /chat/completions |
示例:
vb
AI.Doubao("your-key").Model("ep-xxx").Chat("你好")DeepSeek
快速配置为 DeepSeek API。
vb
Public Function DeepSeek(ApiKey As String) As cAI| 配置项 | 值 |
|---|---|
| BaseUrl | https://api.deepseek.com/v1 |
| ApiPath | /chat/completions |
示例:
vb
AI.DeepSeek("your-key").Model("deepseek-chat").Chat("你好")OpenAI
快速配置为 OpenAI API。
vb
Public Function OpenAI(ApiKey As String) As cAI| 配置项 | 值 |
|---|---|
| BaseUrl | https://api.openai.com/v1 |
| ApiPath | /chat/completions |
Qwen
快速配置为通义千问 API。
vb
Public Function Qwen(ApiKey As String) As cAI| 配置项 | 值 |
|---|---|
| BaseUrl | https://dashscope.aliyuncs.com/api/v1 |
| ApiPath | /chat/completions |
执行方法
Chat
发送聊天请求。
vb
Public Function Chat(Optional UserMessage As String, Optional Callback As Object, Optional CallbackMethod As String) As String参数:
UserMessage— 可选,用户消息(等同于先调用.User()再 Chat)Callback— 可选,流式响应回调对象CallbackMethod— 可选,回调方法名,签名为Sub MethodName(Chunk As String, IsComplete As Boolean)
返回: 完整响应文本
说明:
Stream=False(默认)— 同步请求,直接返回Stream=True— 通过 SSE 流式接收,阻塞等待直到完成后返回完整结果- 流式模式下,如果提供了
Callback,优先使用回调;否则触发OnStreamChunk事件 - 已有流式请求在执行时会抛出错误(防重入)
示例:
vb
' 同步
Response = AI.ApiKey("sk-xxx").Chat("你好")
' 流式 + 回调
AI.ApiKey("sk-xxx").Stream(True).Chat("写一首诗", Me, "OnChunk")
' 流式 + 事件
Dim WithEvents AI As cAI
AI.Stream(True).Chat("写一首诗")ChatJson
发送聊天请求并返回 JSON 对象。
vb
Public Function ChatJson(Optional UserMessage As String) As cJson返回: cJson 对象,可直接访问 choices、usage 等字段
示例:
vb
Dim Json As cJson
Set Json = AI.ApiKey("sk-xxx").ChatJson("你好")
Debug.Print Json.Item("choices")(1)("message")("content")
Debug.Print Json.Item("usage")("total_tokens")Reset
重置所有配置为默认值,清空消息和自定义头。
vb
Public Sub Reset()最后更新: 2025-05-25