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

Verwendung von Gemini mit der OpenAI-Bibliothek

Susan Sarandon
Freigeben: 2024-11-18 04:58:01
Original
988 Leute haben es durchsucht

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
Nach dem Login kopieren

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)
Nach dem Login kopieren

Die folgende Antwort wurde zurückgegeben.

AI mimics human intelligence by learning patterns from data, using algorithms to solve problems and make decisions. 
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

Die folgende Fehlerantwort wurde zurückgegeben.

openai.BadRequestError: Error code: 400 - [{'error': {'code': 400, 'message': 'Request contains an invalid argument.', 'status': 'INVALID_ARGUMENT'}}]
Nach dem Login kopieren

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
Nach dem Login kopieren

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);
Nach dem Login kopieren

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
Nach dem Login kopieren

Die folgende Antwort wurde zurückgegeben.

AI systems learn from data, identify patterns, and make predictions or decisions based on those patterns.
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage