Basierend auf diesem Artikel können wir Gemini jetzt mit der OpenAI-Bibliothek verwenden. Deshalb habe ich beschlossen, es in diesem Artikel auszuprobieren
Derzeit sind nur die Chat Completion API und die Embedding API verfügbar.
In diesem Artikel habe ich versucht, sowohl Python als auch JavaScript zu verwenden.
Zuerst richten wir die Umgebung ein.
pip install openai python-dotenv
Als nächstes führen wir den folgenden Code aus.
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") client = OpenAI( api_key=GOOGLE_API_KEY, base_url="https://generativelanguage.googleapis.com/v1beta/" ) response = client.chat.completions.create( model="gemini-1.5-flash", n=1, messages=[ {"role": "system", "content": "You are a helpful assistant."}, { "role": "user", "content": "Explain briefly(less than 30 words) to me how AI works." } ] ) print(response.choices[0].message.content)
Die folgende Antwort wurde zurückgegeben.
AI mimics human intelligence by learning patterns from data, using algorithms to solve problems and make decisions.
Im Inhaltsfeld können Sie entweder eine Zeichenfolge oder „Typ“ angeben: „Text“.
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") client = OpenAI( api_key=GOOGLE_API_KEY, base_url="https://generativelanguage.googleapis.com/v1beta/" ) response = client.chat.completions.create( model="gemini-1.5-flash", n=1, messages=[ {"role": "system", "content": "You are a helpful assistant."}, { "role": "user", "content": [ { "type": "text", "text": "Explain briefly(less than 30 words) to me how AI works.", }, ] } ] ) print(response.choices[0].message.content)
Allerdings sind bei der Bild- und Audioeingabe Fehler aufgetreten.
Beispielcode für die Bildeingabe
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") client = OpenAI( api_key=GOOGLE_API_KEY, base_url="https://generativelanguage.googleapis.com/v1beta/" ) # png to base64 text import base64 with open("test.png", "rb") as image: b64str = base64.b64encode(image.read()).decode("utf-8") response = client.chat.completions.create( model="gemini-1.5-flash", # model="gpt-4o", n=1, messages=[ {"role": "system", "content": "You are a helpful assistant."}, { "role": "user", "content": [ { "type": "text", "text": "Describe the image in the image below.", }, { "type": "image_url", "image_url": { "url": f"data:image/png;base64,{b64str}" } } ] } ] ) print(response.choices[0].message.content)
Beispielcode für die Audioeingabe
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") client = OpenAI( api_key=GOOGLE_API_KEY, base_url="https://generativelanguage.googleapis.com/v1beta/" ) # png to base64 text import base64 with open("test.wav", "rb") as audio: b64str = base64.b64encode(audio.read()).decode("utf-8") response = client.chat.completions.create( model="gemini-1.5-flash", # model="gpt-4o-audio-preview", n=1, modalities=["text"], messages=[ {"role": "system", "content": "You are a helpful assistant."}, { "role": "user", "content": [ { "type": "text", "text": "What does he say?", }, { "type": "input_audio", "input_audio": { "data": b64str, "format": "wav", } } ] } ] ) print(response.choices[0].message.content)
Die folgende Fehlerantwort wurde zurückgegeben.
openai.BadRequestError: Error code: 400 - [{'error': {'code': 400, 'message': 'Request contains an invalid argument.', 'status': 'INVALID_ARGUMENT'}}]
Derzeit wird nur die Texteingabe unterstützt, aber es scheint, dass Bild- und Audioeingaben in Zukunft verfügbar sein werden.
Werfen wir einen Blick auf den JavaScript-Beispielcode.
Zuerst richten wir die Umgebung ein.
npm init -y npm install openai npm pkg set type=module
Als nächstes führen wir den folgenden Code aus.
import OpenAI from "openai"; const GOOGLE_API_KEY = process.env.GOOGLE_API_KEY; const openai = new OpenAI({ apiKey: GOOGLE_API_KEY, baseURL: "https://generativelanguage.googleapis.com/v1beta/" }); const response = await openai.chat.completions.create({ model: "gemini-1.5-flash", messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: "Explain briefly(less than 30 words) to me how AI works", }, ], }); console.log(response.choices[0].message.content);
Stellen Sie beim Ausführen des Codes sicher, dass der API-Schlüssel in der .env-Datei enthalten ist. Die .env-Datei wird zur Laufzeit geladen.
node --env-file=.env run.js
Die folgende Antwort wurde zurückgegeben.
AI systems learn from data, identify patterns, and make predictions or decisions based on those patterns.
Es ist großartig, dass wir andere Modelle innerhalb derselben Bibliothek verwenden können.
Ich persönlich freue mich darüber, denn OpenAI macht es einfacher, den Gesprächsverlauf zu bearbeiten.
Das obige ist der detaillierte Inhalt vonVerwendung von Gemini mit der OpenAI-Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!