Skip to content

useXChat 使用方式 #409

@zpc7

Description

@zpc7

需求动机

使用 useXChat 时发现有些地方对个人有点反直觉, 想一块探讨一下?

不传 agent 参数时候的使用

观察到给出的3个 demo 中都使用到了useXAgent 产生的agent, 但是看 API 文档这个参数不是必须的, 能够给一个不使用 agent 的demo?
如果不搭配agent使用的话, 跟自己使用useState管理的话有哪些差别呢?

使用 agent 参数时候, 调用 onRequest传递给agent的参数format

interface YourMessageType {
  role: string;
  content: string;
}

const [agent] = useXAgent<YourMessageType>({
    baseURL: BASE_URL,
    model: MODEL,
    dangerouslyApiKey: API_KEY,
  });
  const { onRequest, messages } = useXChat({
    agent,
  });

  function request(message) {
    onRequest({
      role: 'user',
      content: message,
    });
  }

我想要最大程度的简化使用方式, 但是这里实际发出的请求的payload其实是:

image

参见源码位置:https://github.com/ant-design/x/blob/main/components/useXChat/index.ts#L197-L198

是否能在某些地方提供 tramsform的口子呢, 而不是采用默认的message和messages的方式(不想完全再自定义useXAgenet的request方法)?

BTW: 我从discussion转成issue, 是否需要删除discussion..

提议的 API 是什么样的?

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions