feat: ai基础更新

share-code
xjs 2026-05-29 10:23:20 +08:00
parent a4249f95c3
commit 95ad03bdf1
4 changed files with 33 additions and 18 deletions

View File

@ -3,7 +3,7 @@ import type { AgentConfig, ModelConfig } from '../components/agent-config'
import type { AiMessage } from '@/store/ai' import type { AiMessage } from '@/store/ai'
import { useAiStore } from '@/store' import { useAiStore } from '@/store'
import { import {
defaultAgentConfig, defaultModelAgentConfig,
defaultModelConfig, defaultModelConfig,
generateMessageId, generateMessageId,
} from '../components/agent-config' } from '../components/agent-config'
@ -17,7 +17,10 @@ definePage({
}, },
}) })
const agentConfig = reactive<AgentConfig>({ ...defaultAgentConfig }) const agentConfig = reactive<AgentConfig>({
// bot ...defaultAgentConfig
...defaultModelAgentConfig,
})
const modelConfig = reactive<ModelConfig>({ ...defaultModelConfig }) const modelConfig = reactive<ModelConfig>({ ...defaultModelConfig })
const aiStore = useAiStore() const aiStore = useAiStore()
@ -41,14 +44,6 @@ onLoad(() => {
aiStore.ensureThreadId() aiStore.ensureThreadId()
wx.cloud.extend.AI.bot.getRecommendQuestions({
data: {
botId: 'agent-wxai-4gl75um61026324f',
msg: '你是谁',
},
}).then((resp) => {
console.log(resp)
})
}) })
// z-paging store // z-paging store
@ -124,9 +119,9 @@ async function handleSend(text: string) {
// V2 agent getRecommendQuestions 404 // V2 agent getRecommendQuestions 404
// bot-xxx agent // bot-xxx agent
// if (!cancelFlag) { if (!cancelFlag) {
// void loadRecommendQuestions(aiMsg.id, text) void loadRecommendQuestions(aiMsg.id, text)
// } }
} }
catch (err) { catch (err) {
aiStore.updateMessage(aiMsg.id, { aiStore.updateMessage(aiMsg.id, {

View File

@ -21,7 +21,7 @@ export interface AgentConfig {
} }
export interface ModelConfig { export interface ModelConfig {
/** 模型 provider如 'cloudbase' / 'youtu' / 'hunyuan' */ /** createModel 的 provider / GroupName如 'cloudbase' / 'hunyuan-exp' / 'custom-xxx' */
modelProvider: string modelProvider: string
/** 具体的模型 ID */ /** 具体的模型 ID */
quickResponseModel: string quickResponseModel: string
@ -43,12 +43,30 @@ export const defaultAgentConfig: AgentConfig = {
], ],
} }
/**
* model
* 1. defaultAgentConfig.chatMode 'model'
* 2. createModel provider / GroupName quickResponseModel
*
*
* wx.cloud.extend.AI.createModel('cloudbase').streamText({
* data: { model: 'hy3-preview', messages: [...] },
* })
*/
export const defaultModelConfig: ModelConfig = { export const defaultModelConfig: ModelConfig = {
modelProvider: 'youtu-intent-pro', modelProvider: 'hunyuan-v3',
quickResponseModel: '', quickResponseModel: 'hy3-preview',
logo: '', logo: '',
} }
/** 切换到 model 模式时可直接复用的示例 */
export const defaultModelAgentConfig: AgentConfig = {
...defaultAgentConfig,
chatMode: 'bot',
botName: 'AI 模型助手',
welcomeMsg: '你好,我是 AI 模型助手,可以直接用大模型和你对话。',
}
export function generateMessageId() { export function generateMessageId() {
const timestamp = Date.now().toString().slice(-8) const timestamp = Date.now().toString().slice(-8)
const random = Math.floor(Math.random() * 10000).toString().padStart(4, '0') const random = Math.floor(Math.random() * 10000).toString().padStart(4, '0')

View File

@ -51,9 +51,10 @@ export interface SendMessageOptions {
export async function streamMessage(options: SendMessageOptions): Promise<string> { export async function streamMessage(options: SendMessageOptions): Promise<string> {
if (options.chatMode === 'model') { if (options.chatMode === 'model') {
return streamModel(options) return streamModel(options)
} }else{
return streamBot(options) return streamBot(options)
} }
}
// ---------- bot 模式wx.cloud.extend.AI.bot.sendMessage ---------- // ---------- bot 模式wx.cloud.extend.AI.bot.sendMessage ----------
@ -140,6 +141,8 @@ async function streamModel(options: SendMessageOptions): Promise<string> {
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
const ai = wx.cloud.extend.AI const ai = wx.cloud.extend.AI
const aiModel = ai.createModel(modelProvider) const aiModel = ai.createModel(modelProvider)
console.log("aimodel创建",aiModel);
const res = await aiModel.streamText({ const res = await aiModel.streamText({
data: { data: {
model: quickResponseModel, model: quickResponseModel,

View File

@ -29,7 +29,6 @@ definePage({
// #endif // #endif
const tokenStore = useTokenStore() const tokenStore = useTokenStore()
console.log(systemInfo);
onShareAppMessage(() => { onShareAppMessage(() => {
return { return {