Skip to content

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")  ' 豆包端点ID

Timeout

设置请求超时时间(秒)。

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

高级配置方法

添加自定义请求头。

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 cAI

Organization

设置 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
配置项
BaseUrlhttps://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
配置项
BaseUrlhttps://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
配置项
BaseUrlhttps://api.openai.com/v1
ApiPath/chat/completions

Qwen

快速配置为通义千问 API。

vb
Public Function Qwen(ApiKey As String) As cAI
配置项
BaseUrlhttps://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 对象,可直接访问 choicesusage 等字段

示例:

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

VB6及其LOGO版权为微软公司所有