Open xiaoqiang1999 opened 10 months ago
目前所有的 GPT 返回都是在 request 里面处理的
可以在 request 里面去吃掉这串逻辑?
感觉需要添加一个自定义的方法,让程序可以随时 push 一条数据进去,但是这个不应该触发请求。(不论是 用户还是 gpt 消息都可以随时push进去)
@arvinxx @chenshuai2144
现在有 dispatchMessage
的方法,可以自行创建一条新消息。我建议是可以加个 createMessage
方法,然后在 instance 层面透出来
目前所有的 GPT 返回都是在 request 里面处理的
可以在 request 里面去吃掉这串逻辑?
感觉需要添加一个自定义的方法,让程序可以随时 push 一条数据进去,但是这个不应该触发请求。(不论是 用户还是 gpt 消息都可以随时push进去)
@arvinxx @chenshuai2144
感觉这个”push一条数据进去但不触发请求“的方法不错,但是也得处理好Response Stream,还有这条Message的loading效果
🥰 需求描述
遇到一个需求:用户不主动对ChatGPT发送消息,需要程序去请求ChatGPT,然后将返回的消息显示到消息列表中; 也就是说,需要ChatGPT主动发送消息给用户,而不是用户发送消息给ChatGPT后ChatGPT再回复。
🧐 解决方案
所以我去翻了文档,没有找到添加ChatGPT的消息到消息列表的方法,只找到了用来给ChatGPT发送消息的Ref实例上的sendMessage方法。 或许可以添加一个与sendMessage类似的方法“GPTSendMessage”
参数可以和组件Props上的request一致,是一个async函数,内部拿到这个函数就可以像调用request函数的方法一样进行调用,最终渲染一条ChatGPT的消息,比如:
chatRef.current.GPTSendMessage(async () => { // 在这里发起请求 获取到ChatGPT的响应 // 然后把响应数据返回 const mockedData: string = `这是一段模拟的流式字符串数据。`; const mockResponse = new MockResponse(mockedData, 50); return mockResponse.getResponse(); });
调用后的效果图:
或者大家有什么更好的方法来解决这个问题? 抛砖引玉,感谢大佬们的开源!
🚑 其他信息
这个有场景吗 就第一次gpt主动发送?
🥰 需求描述
遇到一个需求:用户不主动对ChatGPT发送消息,需要程序去请求ChatGPT,然后将返回的消息显示到消息列表中; 也就是说,需要ChatGPT主动发送消息给用户,而不是用户发送消息给ChatGPT后ChatGPT再回复。
🧐 解决方案
所以我去翻了文档,没有找到添加ChatGPT的消息到消息列表的方法,只找到了用来给ChatGPT发送消息的Ref实例上的sendMessage方法。 或许可以添加一个与sendMessage类似的方法“GPTSendMessage” 参数可以和组件Props上的request一致,是一个async函数,内部拿到这个函数就可以像调用request函数的方法一样进行调用,最终渲染一条ChatGPT的消息,比如:
chatRef.current.GPTSendMessage(async () => { // 在这里发起请求 获取到ChatGPT的响应 // 然后把响应数据返回 const mockedData: string = `这是一段模拟的流式字符串数据。`; const mockResponse = new MockResponse(mockedData, 50); return mockResponse.getResponse(); });
调用后的效果图: 或者大家有什么更好的方法来解决这个问题? 抛砖引玉,感谢大佬们的开源!
🚑 其他信息
这个有场景吗 就第一次gpt主动发送?
有场景,这是我遇到的:摄像头检测到有人,就主动人脸识别,调用GPT询问、继续以前的对话;人走后清空聊天,再来一个人后再反复进行。 其实细想一下其它的场景也不少,比如在某网站系统中,用户进行了一些操作后,针对这些操作调用GPT主动推送关于这些操作的消息、注意事项给用户,等等,类似的场景。
我想要在对话时展示函数调用的中间步骤,所以可能用户发送了一条消息,但是我会返回三条消息,感觉跟这个issue的场景有些相似
现在直接通过受控的方式,setChats 进去消息即可。 @sivdead 但是 Response Stream 和 Loading 这种就暂时没有了
希望能有触发多个request的能力,类似这个网站的效果,发送一个请求同时有多种模型可以回答,https://openrouter.ai/playground?models=openai/gpt-3.5-turbo,gryphe/mythomax-l2-13b,mistralai/mistral-7b-instruct
🥰 需求描述
遇到一个需求:用户不主动对ChatGPT发送消息,需要程序去请求ChatGPT,然后将返回的消息显示到消息列表中; 也就是说,需要ChatGPT主动发送消息给用户,而不是用户发送消息给ChatGPT后ChatGPT再回复。
🧐 解决方案
所以我去翻了文档,没有找到添加ChatGPT的消息到消息列表的方法,只找到了用来给ChatGPT发送消息的Ref实例上的sendMessage方法。 或许可以添加一个与sendMessage类似的方法“GPTSendMessage”
参数可以和组件Props上的request一致,是一个async函数,内部拿到这个函数就可以像调用request函数的方法一样进行调用,最终渲染一条ChatGPT的消息,比如:
调用后的效果图:
或者大家有什么更好的方法来解决这个问题? 抛砖引玉,感谢大佬们的开源!
🚑 其他信息