Skip to content

Conversation

@paulb777
Copy link
Member

Make the sample easier for developers to experiment with generateContent API

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @paulb777, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request changes the Summarize sample to a Generate Content sample. This involves renaming files and updating the UI to reflect the new functionality. The goal is to make the sample easier for developers to experiment with the generateContent API.

Highlights

  • Rename files: The SummarizeScreen.swift and SummarizeViewModel.swift files have been renamed to GenerateContentScreen.swift and GenerateContentViewModel.swift, respectively.
  • Update UI: The UI has been updated to reflect the new Generate Content functionality. This includes changing the text in the ContentView.swift and GenerateContentScreen.swift files.
  • Update function names: The function summarize was renamed to generateContent in GenerateContentViewModel.swift and GenerateContentScreen.swift.

Changelog

Click here to see the changelog
  • firebaseai/FirebaseAIExample.xcodeproj/project.pbxproj
    • Renamed SummarizeScreen.swift to GenerateContentScreen.swift in the project file.
    • Renamed SummarizeViewModel.swift to GenerateContentViewModel.swift in the project file.
    • Updated file references to reflect the new names.
  • firebaseai/FirebaseAISample/ContentView.swift
    • Updated the navigation link label from "Text" to "Generate Content".
    • Updated the navigation link destination from SummarizeScreen to GenerateContentScreen.
  • firebaseai/GenerativeAITextSample/Screens/GenerateContentScreen.swift
    • Renamed the struct from SummarizeScreen to GenerateContentScreen.
    • Renamed the @StateObject from SummarizeViewModel to GenerateContentViewModel.
    • Updated the text field placeholder text from "Enter text summarize" to "Enter generate content input".
    • Updated the text to instruct the user to tap on Go to run generateContent.
    • Renamed onSummarizeTapped to onGenerateContentTapped.
    • Updated the call to viewModel.summarize to viewModel.generateContent.
  • firebaseai/GenerativeAITextSample/ViewModels/GenerateContentViewModel.swift
    • Renamed the class from SummarizeViewModel to GenerateContentViewModel.
    • Renamed the function summarize to generateContent.
    • Updated the prompt to "Generate content for:".
Using Gemini Code Assist

The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and 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 to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


From summarize to generate,
A new content we create.
With text as our guide,
Creativity applied,
A better sample to relate.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request switches the Summarize sample to a Generate Content sample, making it easier for developers to experiment with the generateContent API. The changes involve renaming files and updating UI elements to reflect the new functionality. Overall, the changes seem straightforward and well-executed.

Merge Readiness

The pull request appears to be in good shape for merging. The changes are focused and address the stated objective of making the sample easier to use. I am unable to directly approve the pull request, and recommend that others review and approve this code before merging.

@paulb777 paulb777 requested a review from andrewheard April 29, 2025 01:03
@andrewheard
Copy link
Contributor

@paulb777 Is this working for you? Unfortunately I always see "Result accumulator timeout: 0.250000, exceeded." in the console when tapping "Go" and it doesn't produce output.

@paulb777
Copy link
Member Author

Screenshot 2025-04-29 at 8 08 16 AM

@andrewheard
Copy link
Contributor

@paulb777 Turns out there are tons of bugs with multi-line text fields and I was erroneously pressing the enter key expecting onSubmit would be triggered.

@paulb777 paulb777 merged commit 5f9784f into main Apr 29, 2025
6 checks passed
@paulb777 paulb777 deleted the pb-gen-content branch April 29, 2025 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants