Heim >Backend-Entwicklung >Python-Tutorial >Verwendung von Gemini mit der OpenAI-Bibliothek

Verwendung von Gemini mit der OpenAI-Bibliothek

Susan Sarandon
Susan SarandonOriginal
2024-11-18 04:58:01998Durchsuche

Using Gemini with the OpenAI Library

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.

Python

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.

JavaScript

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn