[AI] Extract Gemini-specific logic into GeminiModelSession#16109
[AI] Extract Gemini-specific logic into GeminiModelSession#16109andrewheard merged 7 commits intomainfirebase/firebase-ios-sdk:mainfrom ah/ai-gemini-model-sessionfirebase/firebase-ios-sdk:ah/ai-gemini-model-sessionCopy head branch name to clipboard
GeminiModelSession#16109Conversation
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. |
Generated by 🚫 Danger |
Pull Request SummaryThis pull request refactors the Gemini-specific logic within the
Code ReviewI have reviewed the changes. The refactoring successfully decouples the Gemini-specific implementation from the session management, which is a positive step for maintainability and extensibility. Observations
Minor Suggestions
Overall, the changes are well-structured and align with the stated objectives. |
GenerativeModelSessioninto a newGeminiModelSessionclass, which conforms to a_ModelSessionprotocol.GeminiModelandGeminiModelProvidertypes which conform to new protocolsLanguageModelandLanguageModelProvider.The existing
GenerativeModelSessionnow acts on opaqueLanguageModeland_ModelSessiontypes in preparation for adding support for usingSystemLanguageModelandLanguageModelSessionfrom the Foundation Models framework, as well as aHybridModeltype that supports a fallback model if the primary one is unavailable.Public types that are not intended for external use have been prefixed with underscores to hide them from autocomplete and DocC generation.
#no-changelog