PaLM API, modelleri kendi verilerinizde ayarlamanıza olanak tanır. Bu, verileriniz ve hassas hale getirilmiş modelleriniz olduğu için API Anahtarlarından daha sıkı erişim denetimleri gerektirir.
Bu hızlı başlangıç kılavuzu, test ortamı için uygun olan basitleştirilmiş bir kimlik doğrulama yaklaşımı kullanır. Üretim ortamında uygulamanız için uygun olan erişim kimlik bilgilerini seçmeden önce kimlik doğrulama ve yetkilendirme hakkında bilgi edinin.
Hedefler
- OAuth için bulut projenizi ayarlama
- application-default-credentials ayarlarını yapma
gcloud auth
kullanmak yerine programınızdaki kimlik bilgilerini yönetin
Ön koşullar
Bu hızlı başlangıç kılavuzunu çalıştırmak için şunlara ihtiyacınız vardır:
Bulut projenizi oluşturun
Bu hızlı başlangıç kılavuzunu tamamlamak için önce bulut projenizi ayarlamanız gerekir.
1. API'yi etkinleştirme
Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir.
Google Cloud Console'da Google Generative Language API'yi etkinleştirin.
2. OAuth kullanıcı rızası ekranını yapılandırın
Ardından, projenin OAuth izin ekranını yapılandırın ve kendinizi test kullanıcısı olarak ekleyin. Cloud projeniz için bu adımı zaten tamamladıysanız sonraki bölüme geçin.
Google Cloud konsolunda Menü > API'ler ve Hizmetler > OAuth izin ekranı'na gidin.
Uygulamanız için Harici kullanıcı türünü seçin, ardından Oluştur'u tıklayın.
Uygulama kayıt formunu doldurun (çoğu alanı boş bırakabilirsiniz) ardından Kaydet ve Devam Et'i tıklayın.
Şimdilik kapsam eklemeyi atlayıp Kaydet ve Devam Et'i tıklayabilirsiniz. İleride Google Workspace kuruluşunuzun dışında kullanmak üzere bir uygulama oluşturduğunuzda, uygulamanızın gerektirdiği yetkilendirme kapsamlarını eklemeniz ve doğrulamanız gerekir.
Test kullanıcısı ekleyin:
- Test kullanıcıları'nın altında Kullanıcı ekle'yi tıklayın.
- E-posta adresinizi ve diğer yetkili test kullanıcılarınızı girip Kaydet ve Devam Et'i tıklayın.
Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama kaydı işlemi sorunsuz görünüyorsa Kontrol Paneline Dön'ü tıklayın.
3. Masaüstü uygulaması için kimlik bilgilerini yetkilendirme
Son kullanıcı olarak kimlik doğrulaması yapmak ve uygulamanızda kullanıcı verilerine erişmek için bir veya daha fazla OAuth 2.0 İstemci Kimliği oluşturmanız gerekir. İstemci kimliği, tek bir uygulamayı Google'ın OAuth sunucularına tanımlamak için kullanılır. Uygulamanız birden fazla platformda çalışıyorsa her platform için ayrı bir istemci kimliği oluşturmanız gerekir.
Google Cloud konsolunda Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.
Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
Uygulama türü > Masaüstü uygulaması'nı tıklayın.
Ad alanına, kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud konsolunda gösterilir.
Oluştur'u tıklayın. Yeni İstemci Kimliğinizi ve İstemci gizli anahtarınızı gösteren OAuth istemcisi oluşturma ekranı görünür.
Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi, OAuth 2.0 İstemci Kimlikleri altında görünür.
JSON dosyasını kaydetmek için indir düğmesini tıklayın. Dosya
client_secret_<identifier>.json
olarak kaydedilecek veclient_secret.json
olarak yeniden adlandırılıp çalışma dizininize taşınacak.
Uygulama varsayılan kimlik bilgilerini ayarlayın
client_secret.json
dosyasını kullanılabilir kimlik bilgilerine dönüştürmek için konumunu gcloud auth application-default login
komutunun --client-id-file
bağımsız değişkenine iletin.
gcloud auth application-default login \
--client-id-file=client_secret.json \
--scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.tuning'
Bu eğitimdeki basitleştirilmiş proje kurulumu, "Google bu uygulamayı doğrulamadı" iletişim kutusunu tetikler. Bu normal bir durumdur. "Devam"ı seçin.
Bu işlem, oluşturulan jetonu iyi bilinen bir konuma yerleştirir, böylece gcloud
veya istemci kitaplıkları tarafından erişilebilir.
gcloud auth application-default login
--no-browser
--client-id-file=client_secret.json
--scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.tuning'
Uygulama varsayılan kimlik bilgilerini (ACD) ayarladıktan sonra, çoğu dildeki istemci kitaplıklarının bulunması için çok az yardım gerekir veya yardım gerekmez.
Kıvırcık
Bunun işe yarayıp yaramadığını test etmenin en hızlı yolu, curl kullanarak geri kalan API'ye erişmek için API'yi kullanmaktır:
access_token=$(gcloud auth application-default print-access-token) project_id=<MY PROJECT ID>
curl -X GET https://generativelanguage.googleapis.com/v1beta3/models \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ${access_token}" \ -H "x-goog-user-project: ${project_id}" | grep '"name"'
"name": "models/chat-bison-001",
"name": "models/text-bison-001",
"name": "models/embedding-gecko-001",
Python
Python'da istemci kitaplıkları, bunları otomatik olarak bulur:
pip install google-generativeai
Test etmek için kullanabileceğiniz basit bir komut dosyası:
import google.generativeai as genai
print('Available base models:', [m.name for m in genai.list_models()])
print('My tuned models:', [m.name for m in genai.list_tuned_models()])
Beklenen çıkış:
Available base models: ['models/chat-bison-001', 'models/text-bison-001', 'models/embedding-gecko-001']
My tuned models: []
Node.js
Bu kimlik bilgilerini Node.js istemci kitaplığıyla kullanmak için GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini ayarlayın.
export GOOGLE_APPLICATION_CREDENTIALS='<PATH_TO>/application_default_credentials.json'
İstemci kitaplığını yükleyin:
npm install @google-ai/generativelanguage
Minimal bir komut dosyası oluşturun:
const { ModelServiceClient } =
require("@google-ai/generativelanguage").v1beta3;
const MODEL_NAME = "models/text-bison-001";
const client = new ModelServiceClient({});
client
.listModels({})
.then((result) => {
result = result[0]
for (let i = 0; i < result.length; i++) {
console.log(result[i].name);
}
});
Çıktısı şöyle olmalıdır:
models/chat-bison-001
models/text-bison-001
models/embedding-gecko-001
Sonraki adımlar
Bu işe yararsa modeli kendiniz üzerinde ayarlamalar yapmaya hazırsınız demektir. İnce ayarları yapmaya başlama'yı deneyin.
Kimlik bilgilerini kendiniz yönetme [Python]
Çoğu durumda, erişim jetonunu istemci kimliğinden (client_secret.json
) oluşturmak için gcloud
komutunu kullanamazsınız. Google, bu işlemi uygulamanızda yönetebilmeniz için birçok dilde kitaplık sağlar. Bu bölümde python'daki süreç gösterilmektedir. Bu tür prosedürün diğer diller için eşdeğer örneklerini drive api dokümanlarında bulabilirsiniz.
1. Gerekli kitaplıkları yükleyin
Python için Google istemci kitaplığını ve PaLM istemci kitaplığını yükleyin.
pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai
2. Kimlik bilgisi yöneticisini yazma
Çalışma dizininizde load_creds.py
adlı bir dosya oluşturun. client_secret.json
kodunu genai.configure
ile kullanılabilen bir jetona dönüştürmek için aşağıdaki kodla başlayın:
import os.path
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
SCOPES = ['https://www.googleapis.com/auth/generative-language.tuning']
def load_creds():
"""Converts `oauth-client-id.json` to a credential object.
This function caches the generated tokens to minimize the use of the
consent screen.
"""
creds = None
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.json'):
creds = Credentials.from_authorized_user_file('token.json', SCOPES)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file(
'oauth-client-id.json', SCOPES)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open('token.json', 'w') as token:
token.write(creds.to_json())
return creds
Daha sonra yeniden kullanabileceği bir token.json
dosyasını önbelleğe alırsa veya süresi dolduysa sayfayı yenileyerek yetkilendirme ekranlarını kaç kez tıklamanız gerektiğini en aza indirmek için.
3. Programınızı yazma
Şimdi script.py
oluşturun:
import pprint
import google.generativeai as genai
from load_creds import load_creds
creds = load_creds()
genai.configure(credentials=creds)
print()
print('Available base models:', [m.name for m in genai.list_tuned_models()])
print('My tuned models:', [m.name for m in genai.list_tuned_models()])
4. Programınızı çalıştırma
Çalışma dizininizde örneği çalıştırın:
python script.py
Komut dosyası ilk kez çalıştırıldığında bir tarayıcı penceresi açılır ve erişimi yetkilendirmeniz istenir.
Google Hesabınızda henüz oturum açmadıysanız oturum açmanız istenir. Birden fazla hesapta oturum açtıysanız projenizi yapılandırırken "Test Hesabı" olarak belirlediğiniz hesabı seçtiğinizden emin olun.
Yetkilendirme bilgileri dosya sisteminde depolanır. Böylece, örnek kodu bir sonraki çalıştırmanızda yetkilendirme istenmez.
Kimlik doğrulamayı başarıyla kurdunuz.