-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.Net: Microsoft.SemanticKernel.Connectors.Google,not implementing the ITextGenerationService interface #6373
Comments
@LinzhouWang I think this is by design. Initial version of Google connector had |
Firstly, thank you for your reply, The API interfaces provided by the Gemini big model are indeed the same, but as a standard for the application layer, I think we should implement the ITextGenerationService interface, such as Connectors OpenAI, Connectors. HuggingFace, and more |
Kernel-memory has functionality to re-use semantic-kernel's ITextGenerationService connectors to broaden the available LLMs (example). This is very useful and currently works fine for Huggingface, but the google connector needs a custom ITextGenerationService wrapper to be used in this scenario. It would be great if the google connectors (and any future connectors) expose an ITextGenerationService and IChatCompletionService. |
ITextGenerationService should only be specific to models that perform text generation (not chat completion). Do we know if Google provides a text generation model (like how OpenAI has gpt-3.5-turbo-instruct). If there isn't a text generation model, it might not make sense. @dluc, Is there a reason why Kernel-memory doesn't support chat completion? |
@matthewbolanos, what's the downside to also implementing ITextGenerationService? (Genuine question) |
Is not necessary, as we have Chat Completion extensions where you can pass the prompt as string instead of I also agree with @matthewbolanos on letting a clear message that our interfaces should be used against an AI Model for that modality. |
Where? There are some for Kernel... where are those for IChatCompletionService?
That's a reasonable position. To play devil's advocate, though, if someone is using AddXxTextGeneration for one service and wants to switch to a different one, it's an extra hurdle to switch to (and know you can switch to) AddXxChatCompletion, and then also update any code that was using |
I remember my comment in initial Gemini text generation client implementation: My main concern was that text generation client relies on chat completion client and works as adapter only without any additional logic, so I was wondering if we need it at all. But if users want to use chat completion service as text generation service, it's always possible to create that adapter on user side, correct? I'm just not sure if we need to provide that out-of-the-box. |
@dmytrostruk As a business process coordination program and an application layer, I believe that the ITextGenerationService interface should be implemented to achieve out of the box use |
Describe the bug
Microsoft.SemanticKernel.Connectors.Google,not implementing the ITextGenerationService interface
Screenshots
![image](https://private-user-images.githubusercontent.com/30407694/333030163-899fcea5-e7fc-4823-bdf1-618340d72dc2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg4MjcyMTcsIm5iZiI6MTcxODgyNjkxNywicGF0aCI6Ii8zMDQwNzY5NC8zMzMwMzAxNjMtODk5ZmNlYTUtZTdmYy00ODIzLWJkZjEtNjE4MzQwZDcyZGMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE5VDE5NTUxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ4N2I0YmFiODY0M2U1N2ExNTA2YmFlYzZjOGNjZDNkZGViMjJmZmIxZjg2ODk2MzRiODljN2ZlZGNiNzNiZjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.IUONfSAndcN38VgnisYMn-9rSPFvuR7CaR9iCSu7hQo)
Platform
The text was updated successfully, but these errors were encountered: