Menggunakan Gemini dengan Perpustakaan OpenAI

Susan Sarandon
Lepaskan: 2024-11-18 04:58:01
asal
925 orang telah melayarinya

Using Gemini with the OpenAI Library

Berdasarkan artikel ini, kami kini boleh menggunakan Gemini dengan Perpustakaan OpenAI. Jadi, saya memutuskan untuk mencubanya dalam artikel ini

Pada masa ini, hanya API Penyiapan Sembang dan API Pembenaman tersedia.

Dalam artikel ini, saya cuba menggunakan Python dan JavaScript.

Ular sawa

Pertama, mari kita sediakan persekitaran.

pip install openai python-dotenv
Salin selepas log masuk

Seterusnya, mari jalankan kod berikut.

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)
Salin selepas log masuk

Respons berikut telah dikembalikan.

AI mimics human intelligence by learning patterns from data, using algorithms to solve problems and make decisions. 
Salin selepas log masuk

Dalam medan kandungan, anda boleh menentukan sama ada rentetan atau 'jenis': 'teks'.

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)
Salin selepas log masuk

Walau bagaimanapun, ralat berlaku dengan input imej dan audio.

Kod contoh untuk input imej

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)
Salin selepas log masuk

Kod contoh untuk input audio

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)
Salin selepas log masuk

Respons ralat berikut telah dikembalikan.

openai.BadRequestError: Error code: 400 - [{'error': {'code': 400, 'message': 'Request contains an invalid argument.', 'status': 'INVALID_ARGUMENT'}}]
Salin selepas log masuk

Pada masa ini, hanya input teks yang disokong, tetapi nampaknya input imej dan audio akan tersedia pada masa hadapan.

JavaScript

Mari kita lihat contoh kod JavaScript.

Pertama, mari kita sediakan persekitaran.

npm init -y
npm install openai
npm pkg set type=module
Salin selepas log masuk

Seterusnya, mari jalankan kod berikut.

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);
Salin selepas log masuk

Apabila menjalankan kod, pastikan anda memasukkan kunci API dalam fail .env. Fail .env akan dimuatkan pada masa jalan.

node --env-file=.env run.js
Salin selepas log masuk

Respons berikut telah dikembalikan.

AI systems learn from data, identify patterns, and make predictions or decisions based on those patterns.
Salin selepas log masuk

Sangat bagus kerana kami boleh menggunakan model lain dalam perpustakaan yang sama.

Secara peribadi, saya gembira tentang perkara ini kerana OpenAI memudahkan untuk mengedit sejarah perbualan.

Atas ialah kandungan terperinci Menggunakan Gemini dengan Perpustakaan OpenAI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan