AI Personal Learning
und praktische Anleitung

Ist die Gemini-Modell-API mit dem OpenAI-Format kompatibel?

ausnutzen Zwillinge Serienmodelle können die API schnell testen, indem sie den Befehl cURL ausführen:

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{"text": "Erkläre, wie KI funktioniert"}]
}]
}'

 

Zwillings-API Nicht das gleiche Format wie OpenAI, aber Gemini hat das OpenAI-kompatible Formate.


Sie können auf Gemini-Modelle sowohl über die OpenAI-Bibliotheken (Python und TypeScript/JavaScript) als auch über die REST-API zugreifen, indem Sie drei Codezeilen aktualisieren und den Gemini-API-Schlüssel verwenden.

Python

von openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY", base_url="
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-1.5-flash",
model="gemini-1.5-flash", n=1,
messages=[
{"role": "system", "content": "Sie sind ein hilfsbereiter Assistent."}, {"role": "system", "content": "Sie sind ein hilfsbereiter Assistent."}, }
{
"role": "user", "content": "Sie sind ein hilfreicher Assistent."}, {
"content": "Erklären Sie mir, wie KI funktioniert."
}
]
)
print(antwort.auswahlen[0].nachricht)

 

Gemini-API-Unterstützung für Streaming-Antworten

von openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY", base_url="
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-1.5-flash",
messages=[
{"role": "system", "content": "Sie sind ein hilfreicher Assistent."}, {"role": "user", "content": "Hallo": "Sie sind ein hilfreicher Assistent.
{"role": "user", "content": "Hallo!"}, {"role": "user", "content": "Hallo!
}, {"Rolle": "Benutzer", "Inhalt": "Hallo!
stream=True
)
for chunk in response.
print(chunk.choices[0].delta)

 

Ruffunktion

Mit Funktionsaufrufen können Sie leichter eine strukturierte Datenausgabe von generativen Modellen erhalten, undDie Gemini-API unterstützt Funktionsaufrufe.

von openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY", base_url="
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
tools = [
{
"type": "function", "function": {
"function": {
"name": "get_weather", "description": "Ermittelt das Wetter an einem bestimmten Ort", "function": {

"parameters": {

"properties": {
"location": {
"type": "string", "description": "Die Stadt und der Staat, z.B.
"description": "Die Stadt und der Bundesstaat, z. B. Chicago, IL", }
}, "unit": { "type": { "string", "description": "Die Stadt und der Bundesstaat, z. B. Chicago, IL", }
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}, }
}, "required": ["location": ["celsius", "fahrenheit"]}, }

}, }
}
}
]
messages = [{"role": "user", "content": "Wie ist das Wetter in Chicago heute?"}]
response = client.chat.completions.create(
model="gemini-1.5-flash",
messages=messages,
tools=tools, tool_choice="auto", "auto", "auto", "auto")
tool_choice="auto"
)
print(Antwort)

 

Bildverstehen

Das Gemini-Modell ist das native multimodale Modell in derViele allgemeine visuelle AufgabenSie alle bieten eine hervorragende Leistung.

base64 importieren
von openai importieren OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY", base_url="
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
# Funktion zur Kodierung des Bildes
def encode_image(image_path): with open(image_path, "image_path").
with open(bild_pfad, "rb") as bild_datei: return base64.
return base64.b64encode(image_file.read()).decode('utf-8')
# Ermitteln der base64-Zeichenkette
base64_image = encode_image("Pfad/zu/agi/image.jpeg")
response = client.chat.completions.create(
model="gemini-1.5-flash",
messages=[
{
"Rolle": "Benutzer", "Inhalt": [
"content": [
{
"type": "text", "text": "Was ist in diesem Bild?
"text": "Was ist in diesem Bild?
}, { "content".
{
"type": "image_url", "image_url": {
"image_url": {
"url": f "data:image/jpeg;base64,{base64_image}"
},
}
], }
}
], )
)
print(antwort.auswahlen[0])

 

Strukturierte Ausgabe

Gemini-Modelle können wie folgt modelliert werdenJede von Ihnen definierte StrukturJSON-Objekt ausgeben.

von pydantic importieren BaseModel
von openai importieren OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY", base_url="
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
class CalendarEvent(BaseModel).
name: str
Datum: str
Teilnehmer: list[str]
completion = client.beta.chat.completions.parse(
model="gemini-1.5-flash",
messages=[
{"role": "system", "content": "Extrahiere die Ereignisinformationen."}, {"role": "user", "content": "Extrahiere die Ereignisinformationen.
{"role": "user", "content": "John und Susan gehen am Freitag zu einer AI-Konferenz."}, ], {"role": "user", "content": "John und Susan gehen am Freitag zu einer AI-Konferenz."}, }
],, response_format=Calendar
response_format=CalendarEvent.
)
print(completion.choices[0].message.parsed)

 

Einbettungen

Die Texteinbettung misst die Relevanz einer Textzeichenfolge und kann mit dem Zwillings-API Erzeugen.

von openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY", base_url="
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.embeddings.create(
input="Hier kommt Ihr Text rein", model="text-embedding.create(
model="text-embedding-004"
)
print(antwort.daten[0].einbettung)
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Ist die Gemini-Modell-API mit dem OpenAI-Format kompatibel?

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)