https://github.com/pottava/gemini-go-sample
https://github.com/pottava/gemini-go-sample
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/pottava/gemini-go-sample
- Owner: pottava
- Created: 2025-01-03T01:57:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-02T01:27:25.000Z (over 1 year ago)
- Last Synced: 2025-03-11T10:59:57.336Z (over 1 year ago)
- Language: Go
- Size: 468 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go 言語による Gemini アプリケーション
## あいさつ
```sh
export GOOGLE_CLOUD_PROJECT=$( gcloud config get-value project )
gcloud auth application-default login
go run cmd/main.go
```
## プロンプト
```sh
go run cmd/main.go prompt "令和元年元旦生まれの子どもはいま何歳?"
```
## 画像、動画、音声、PDF
URI が拡張子で終わっているものは URI のみで OK、拡張子がないものは `--file-type` も指定が必要です。
```sh
go run cmd/main.go prompt \
-f "https://storage.googleapis.com/cloud-samples-data/generative-ai/image/scones.jpg" \
"この写真を説明してください"
```
## REST API
もし .proto の変更が必要なら、編集しつつコードを生成して実装
```sh
vi proto/gemini/v2/text.proto
buf lint proto
buf generate proto
```
API サーバを起動して
```sh
go run api/main.go
```
リクエストを送信
```sh
curl -iXPOST -H "Content-Type: application/json" \
-d '{"prompt": "この写真を説明してください", "file-uri": "https://storage.googleapis.com/cloud-samples-data/generative-ai/image/scones.jpg"}' \
http://localhost:8080/api/gemini.v2.GeminiService/Generate
```
もしくは Web UI からチャットを開始
```sh
open http://localhost:8080
```