Giter Club home page Giter Club logo

generative-ai-swift's Introduction

Google AI SDK for Swift

Important

If you are using the PaLM SDK for Swift, please see Developers who use the PaLM SDK for Swift for instructions.

The Google AI SDK for Swift enables developers to use Google's state-of-the-art generative AI models (like Gemini) to build AI-powered features and applications. This SDK supports use cases like:

  • Generate text from text-only input
  • Generate text from text-and-images input (multimodal)
  • Build multi-turn conversations (chat)

For example, with just a few lines of code, you can access Gemini's multimodal capabilities to generate text from text-and-image input:

let model = GenerativeModel(name: "gemini-pro-vision", apiKey: "YOUR_API_KEY")
let cookieImage = UIImage(...)
let prompt = "Do these look store-bought or homemade?"

let response = try await model.generateContent(prompt, cookieImage)

Try out the sample Swift app

This repository contains a sample app demonstrating how the SDK can access and utilize the Gemini model for various use cases.

To try out the sample app, follow these steps:

  1. Check out this repository.
    git clone https://github.com/google/generative-ai-swift

  2. Obtain an API key to use with the Google AI SDKs.

  3. Open and build the sample app in the Examples folder of this repo.

  4. Run the app once to ensure the build script generates an empty GenerativeAI-Info.plist file

  5. Paste your API key into the API_KEY property in the GenerativeAI-Info.plist file.

  6. Run the app.

Use the SDK in your app

Add generative-ai-swift to your Xcode project using Swift Package Manager.

For detailed instructions, you can find a quickstart for the Google AI SDK for Swift in the Google documentation.

This quickstart describes how to add your API key and the Swift package to your app, initialize the model, and then call the API to access the model. It also describes some additional use cases and features, like streaming, counting tokens, and controlling responses.

Logging

To enable additional logging in the Xcode console, including a cURL command and raw stream response for each model request, add -GoogleGenerativeAIDebugLogEnabled as Arguments Passed On Launch in the Xcode scheme.

Command Line Tool

A command line tool is available to experiment with Gemini model requests via Xcode or the command line:

  1. open Examples/GenerativeAICLI/Package.swift
  2. Run in Xcode and examine the console to see the options.
  3. Edit the scheme's Arguments Passed On Launch with the desired options.

Documentation

Find complete documentation for the Google AI SDKs and the Gemini model in the Google documentation: https://ai.google.dev/docs

Contributing

See Contributing for more information on contributing to the Google AI SDK for Swift.

Developers who use the PaLM SDK for Swift

โ€‹โ€‹If you're using the PaLM SDK for Swift, review the information below to continue using the PaLM SDK until you've migrated to the new version that allows you to use Gemini.

  • To continue using PaLM models, make sure your app depends on version 0.3.0 up to the next minor version (0.4.0) of generative-ai-swift.

  • When you're ready to use Gemini models, migrate your code to the Gemini API and update your app's generative-ai-swift dependency to version 0.4.0 or higher.

To see the PaLM documentation and code, go to the palm branch.

generative-ai-swift's People

Contributors

peterfriese avatar andrewheard avatar keertk avatar paulb777 avatar ryanwilson avatar ymodak avatar aashishpatil-g avatar anupdsouza avatar commitcomplete avatar jsharp83 avatar juhwa-lee1023 avatar morganchen12 avatar treastrain avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.