chat fix
This commit is contained in:
parent
fa3f2cd0b6
commit
bb2ef2166f
|
|
@ -210,19 +210,23 @@ public class ChatCompletionProvider : IChatCompletion
|
|||
{
|
||||
var client = ProviderHelper.GetClient(Provider, _model, _services);
|
||||
var chatClient = client.GetChatClient(_model);
|
||||
var (prompt, messages, options) = PrepareOptions(agent, conversations);
|
||||
|
||||
var hub = _services.GetRequiredService<MessageHub<HubObserveData<RoleDialogModel>>>();
|
||||
var conv = _services.GetRequiredService<IConversationService>();
|
||||
var messageId = conversations.LastOrDefault()?.MessageId ?? string.Empty;
|
||||
|
||||
// Before chat completion hooks MUST run before the provider builds its message list:
|
||||
// a hook that mutates `conversations` (mid-turn user injection, the request-size budget)
|
||||
// would otherwise only take effect on the NEXT call, so the very request it is meant to
|
||||
// shrink would still be sent oversized.
|
||||
var contentHooks = _services.GetHooks<IContentGeneratingHook>(agent.Id);
|
||||
// Before chat completion hook
|
||||
foreach (var hook in contentHooks)
|
||||
{
|
||||
await hook.BeforeGenerating(agent, conversations);
|
||||
}
|
||||
|
||||
var (prompt, messages, options) = PrepareOptions(agent, conversations);
|
||||
|
||||
hub.Push(new()
|
||||
{
|
||||
EventName = ChatEvent.BeforeReceiveLlmStreamMessage,
|
||||
|
|
|
|||
|
|
@ -203,19 +203,23 @@ public class ChatCompletionProvider : IChatCompletion
|
|||
{
|
||||
var client = ProviderHelper.GetClient(Provider, _model, _services);
|
||||
var chatClient = client.GetChatClient(_model);
|
||||
var (prompt, messages, options) = PrepareOptions(agent, conversations);
|
||||
|
||||
var hub = _services.GetRequiredService<MessageHub<HubObserveData<RoleDialogModel>>>();
|
||||
var conv = _services.GetRequiredService<IConversationService>();
|
||||
var messageId = conversations.LastOrDefault()?.MessageId ?? string.Empty;
|
||||
|
||||
// Before chat completion hooks MUST run before the provider builds its message list: a hook
|
||||
// that mutates `conversations` (mid-turn user injection, the request-size budget) would
|
||||
// otherwise only take effect on the NEXT call, so the very request it is meant to shrink
|
||||
// would still be sent oversized.
|
||||
var contentHooks = _services.GetHooks<IContentGeneratingHook>(agent.Id);
|
||||
// Before chat completion hook
|
||||
foreach (var hook in contentHooks)
|
||||
{
|
||||
await hook.BeforeGenerating(agent, conversations);
|
||||
}
|
||||
|
||||
var (prompt, messages, options) = PrepareOptions(agent, conversations);
|
||||
|
||||
hub.Push(new()
|
||||
{
|
||||
EventName = ChatEvent.BeforeReceiveLlmStreamMessage,
|
||||
|
|
|
|||
Loading…
Reference in a new issue