VBMAN.AI - AI 对话客户端
概述
VBMAN.AI 提供了通用 AI 对话功能,兼容任何 OpenAI API 格式的服务(豆包、DeepSeek、OpenAI、通义千问等),支持链式调用和流式响应。
核心特性
- 链式调用: 流畅的 API 设计
- 多服务商: 内置豆包/DeepSeek/OpenAI/通义千问预设
- 流式响应: 支持 SSE 实时流式输出
- 多轮对话: 自动维护对话上下文
快速使用
最简单的调用
vb
Dim Response As String
Response = VBMAN.AI.ApiKey("sk-xxx").Chat("你好")使用预设
vb
' DeepSeek
Response = VBMAN.AI.DeepSeek("your-key").Chat("你好")
' 豆包
Response = VBMAN.AI.Doubao("your-key").Model("ep-xxx").Chat("你好")
' OpenAI
Response = VBMAN.AI.OpenAI("your-key").Model("gpt-4").Chat("你好")
' 通义千问
Response = VBMAN.AI.Qwen("your-key").Model("qwen-turbo").Chat("你好")完整配置
vb
Response = VBMAN.AI.ApiKey("sk-xxx") _
.Model("gpt-4") _
.Temperature(0.7) _
.MaxTokens(1000) _
.System("你是一个专业的编程助手") _
.Chat("如何实现单例模式?")流式响应(回调方式)
vb
VBMAN.AI.ApiKey("sk-xxx") _
.Stream(True) _
.Chat("写一首诗", Me, "OnStreamChunk")
Private Sub OnStreamChunk(Chunk As String, IsComplete As Boolean)
If IsComplete Then
Debug.Print "完成"
Else
Debug.Print Chunk;
End If
End Sub多轮对话
vb
VBMAN.AI.ApiKey("sk-xxx")
VBMAN.AI.User("我喜欢编程").Chat()
VBMAN.AI.User("推荐学习资源").Chat()
VBMAN.AI.ClearMessages().User("新话题").Chat()方法
基础配置
| 方法 | 说明 |
|---|---|
ApiKey(Key) | 设置 API 密钥 |
BaseUrl(Url) | 设置 API 基础 URL |
ApiPath(Path) | 设置 API 路径 |
Model(Name) | 设置模型名称 |
Timeout(Seconds) | 设置超时时间(秒) |
参数配置
| 方法 | 说明 | 默认值 |
|---|---|---|
Temperature(Value) | 温度 (0-2) | 1.0 |
MaxTokens(Value) | 最大 token 数 | 自动 |
TopP(Value) | Top-P 采样 | 1.0 |
FrequencyPenalty(Value) | 频率惩罚 | 0 |
PresencePenalty(Value) | 存在惩罚 | 0 |
Stream(Enable) | 启用流式响应 | False |
Stop(Value) | 停止序列 | 无 |
消息管理
| 方法 | 说明 |
|---|---|
System(Prompt) | 设置系统提示词 |
User(Content) | 添加用户消息 |
Assistant(Content) | 添加助手消息 |
ClearMessages() | 清空消息历史 |
Messages(MsgList) | 设置消息列表 |
预设配置
| 方法 | 服务商 |
|---|---|
Doubao(Key) | 豆包 |
DeepSeek(Key) | DeepSeek |
OpenAI(Key) | OpenAI |
Qwen(Key) | 通义千问 |
高级配置
| 方法 | 说明 |
|---|---|
Header(Name, Value) | 自定义请求头 |
Proxy(Url) | 代理地址 |
Organization(Id) | OpenAI 组织 ID |
执行
| 方法 | 说明 |
|---|---|
Chat([Msg], [Callback], [Method]) | 发送请求,返回完整响应 |
ChatJson([Msg]) | 发送请求,返回 cJson 对象 |
Reset() | 重置所有配置 |
属性
| 属性 | 类型 | 说明 |
|---|---|---|
LastError | String (只读) | 最后错误信息 |
IsStreaming | Boolean (只读) | 是否在流式请求中 |
事件
| 事件 | 说明 |
|---|---|
OnStreamChunk(Chunk, IsComplete) | 流式数据块(需 WithEvents 声明) |
OnComplete(Response) | 请求完成 |
OnError(ErrorMsg, ErrorCode) | 错误事件 |