前瞻功能
以下功能为实验性或规划中特性,可能在后续版本完善。
多模态支持
支持图像、音频、视频输入输出。
typescript
import { createImageContent, createAudioContent, createMultiModalMessage } from '@yh-ui/ai-sdk'
// 图像输入
const imageContent = createImageContent({
url: 'https://example.com/image.jpg',
detail: 'high' // 'low' | 'high' | 'auto'
})
// 多模态消息
const message = createMultiModalMessage({
role: 'user',
content: [imageContent, { type: 'text', text: '描述这张图片' }]
})思维链 CoT
typescript
import { createChainOfThought } from '@yh-ui/ai-sdk'
const cot = createChainOfThought({
mode: 'chain', // standard | chain | tree | tabular
maxDepth: 5,
showConfidence: true
})
const result = await cot.run('分析这个问题的解决方案', llmCall)
console.log(result.steps) // 推理步骤
console.log(result.answer) // 最终答案成本控制
typescript
import { createCostTracker } from '@yh-ui/ai-sdk'
const costTracker = createCostTracker({
monthlyBudget: 100, // 100美元/月
maxTokensPerRequest: 4000, // 单次请求上限
warningThreshold: 0.8, // 80%时警告
onBudgetExceeded: (budget) => {
console.warn('预算即将用尽:', budget)
}
})
// 记录使用量
costTracker.recordUsage({
prompt: 100,
completion: 200,
model: 'gpt-4'
})
// 获取追踪状态
const tracking = costTracker.getTracking()
console.log(`本月已使用: $${tracking.totalCost}`)
console.log(`剩余预算: $${tracking.remaining}`)安全护栏
typescript
import { createSafetyFilter } from '@yh-ui/ai-sdk'
const filter = createSafetyFilter({
rules: [
// 内容过滤:禁止个人信息
{
id: 'no-personal-info',
name: '禁止个人信息',
type: 'content_filter',
pattern: /\b\d{3}-\d{4}-\d{4}\b/, // 手机号
action: 'block'
},
// 输出过滤:自定义检查
{
id: 'custom-check',
name: '自定义检查',
type: 'output_filter',
customCheck: (content) => !content.includes('敏感词'),
action: 'warn'
}
]
})
// 检查输入
const inputResult = await filter.check('用户输入内容')
if (!inputResult.passed) {
console.log('违规:', inputResult.violations)
}
// 检查输出
const outputResult = await filter.check(modelOutput)文档加载器
typescript
import { createDocumentLoader } from '@yh-ui/ai-sdk'
// 支持多种格式
const loader = createDocumentLoader({
type: 'pdf', // pdf | markdown | txt | docx | html
extractImages: true,
maxPages: 100
})
const docs = await loader.load('https://example.com/document.pdf')TIP
这些功能正在积极开发中,API 可能会有调整。生产环境请谨慎使用。