Skip to content

Commit

Permalink
Readme update
Browse files Browse the repository at this point in the history
  • Loading branch information
paulb777 committed Dec 13, 2023
1 parent ee08a3c commit 8e5fce6
Showing 1 changed file with 73 additions and 4 deletions.
77 changes: 73 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,86 @@
# Google AI Swift SDK

[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fgoogle%2Fgenerative-ai-swift%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/google/generative-ai-swift)
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fgoogle%2Fgenerative-ai-swift%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/google/generative-ai-swift)

> [!IMPORTANT]
> Thanks for your interest in the Google AI SDKs! **You can start using this SDK and its samples on December 13, 2023.** Until then, check out our [blog post](https://blog.google/technology/ai/google-gemini-ai/) to learn more about Google's Gemini multimodal model.
> [!IMPORTANT]
> If you are using the PaLM SDK for Swift, please see [Developers who use the PaLM SDK for Swift](#developers-who-use-the-palm-sdk-for-swift) for instructions.
The Google AI Swift SDK 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:

```swift
let model = GenerativeModel(name: "gemini-pro-vision", apiKey: "YOUR_API_KEY")
let cookieImage = UIImage(...)
let prompt = "Give me a recipe for this:"

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`

1. [Obtain an API key](https://makersuite.google.com/app/apikey) to use with the Google AI SDKs.

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

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

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

1. Run the app.

## 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`
1. Run in Xcode and examine the console to see the options.
1. Edit the scheme's `Arguments Passed On Launch` with the desired options.

## Contributing

See [Contributing](https://github.com/google/generative-ai-swift/blob/main/docs/CONTRIBUTING.md)
for more information on
contributing to the Google AI Swift SDK.


## 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.
​​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`](https://github.com/google/generative-ai-swift/releases/tag/0.3.0) _up to_ the next minor version ([`0.4.0`](https://github.com/google/generative-ai-swift/releases/tag/0.4.0)) of `generative-ai-swift`.
- To continue using PaLM models, make sure your app depends on version
[`0.3.0`](https://github.com/google/generative-ai-swift/releases/tag/0.3.0)
_up to_ the next minor version
([`0.4.0`](https://github.com/google/generative-ai-swift/releases/tag/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.
- 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](https://github.com/google/generative-ai-swift/tree/palm).
To see the PaLM documentation and code, go to the
[`palm` branch](https://github.com/google/generative-ai-swift/tree/palm).

0 comments on commit 8e5fce6

Please sign in to comment.