tryAGI / LangChain

C# implementation of LangChain. We try to be as close to the original as possible in terms of abstractions, but are open to new entities.
https://tryagi.github.io/LangChain/
MIT License
532 stars 82 forks source link

CompletedResponseGenerated occurs twice #375

Closed PankajRawat333 closed 2 months ago

PankajRawat333 commented 2 months ago

Describe the bug

I want to perform some operations on the CompletedResponseGenerated events, but I noticed that this event occurs twice. When I was examining the source code, I couldn't understand why the OnCompletedResponseGenerated method is being called twice.

image

Help me understand if this behavior is expected?

Steps to reproduce the bug

static async Task Main(string[] args)
{
    Console.WriteLine("Welcome to LangChain .NET");
    var provider = new BedrockProvider(RegionEndpoint.USEast1);
    var llm = new Claude3SonnetModel(provider)
    {
        Settings = new BedrockChatSettings
        {
            UseStreaming = true
        }
    };

    llm.PromptSent += (_, prompt) => Console.WriteLine($"Prompt: {prompt}");
    llm.PartialResponseGenerated += (_, delta) => Console.Write(delta);
    llm.CompletedResponseGenerated += (_, prompt) => Console.WriteLine($"Completed response: {prompt}");

    var prompt = @"
    Who was the President of the United States in the year 2000? Just give me answer, no explaination";

    var response = await llm.GenerateAsync(prompt);

    Console.Read();
}

Expected behavior

No response

Screenshots

image

NuGet package version

0.15.0

Additional context

No response

HavenDV commented 2 months ago

Thank you, this is indeed a mistake. Fixed in latest preview.