Teadusartiklite salvestamine andmebaasi.md 4.0 KB

Selleks, et kasutada OpenAI API-t (mis võimaldab ligipääsu ChatGPT mudelitele) ja salvestada saadud andmed PostgreSQL andmebaasi, pead tegema järgmised sammud:

  1. Registreeru OpenAI platvormil: Kui sul pole veel API võtmet, registreeri end OpenAI platvormil ja loo API võti.
  2. OpenAI API kasutamine: Loome päringu ChatGPT-le, et saada soovitud andmed (pealkiri, lühikokkuvõte, artikli link ja autorid).
  3. Andmete struktuuri loomine PostgreSQL andmebaasis: Loo tabel, kus andmed salvestatakse.
  4. Andmete salvestamine PostgreSQL andmebaasi: Päringu tulemusena saadud andmete salvestamine PostgreSQL tabelisse.

    1. OpenAI API võtme saamine

    Kui sa ei ole seda veel teinud, registreeru OpenAI platvormil siin, loo API võti ja hoia see turvaliselt.

    2. OpenAI API kasutamine

    Eeldame, et kasutad Pythonit. OpenAI API päringu tegemiseks ja vastuste saamiseks saad kasutada järgmist koodi:

    import openai
    
    # Sisesta siia oma OpenAI API võti
    openai.api_key = 'sinu_api_voti'
    
    def get_article_info(prompt):
    response = openai.ChatCompletion.create(
        model="gpt-4.0",
        messages=[
            {"role": "system", "content": "Sa oled abivalmis teadusartiklite assistent."},
            {"role": "user", "content": prompt}
        ],
        max_tokens=500
    )
        
    # Eeldame, et vastus on JSON formaadis (struktureeritud väljund)
    return response['choices'][0]['message']['content']
    
    prompt = "Too mulle teadusartikli pealkiri, lühikokkuvõte, artikli link ja autorid teemal 'tehisintellekti mõju tervishoiule'."
    article_info = get_article_info(prompt)
    
    print(article_info)
    

Selle päringu puhul peab ChatGPT tagastama struktureeritud väljundi, mille saaks otse andmebaasi salvestada.

3. Andmete Struktuuri Loomine PostgreSQL Andmebaasis

Loo PostgreSQL andmebaasi tabel, kuhu soovid salvestada artikli andmed:

CREATE DATABASE teadusartiklid_db;

\c teadusartiklid_db

CREATE TABLE artiklid (
    id SERIAL PRIMARY KEY,
    pealkiri TEXT NOT NULL,
    luhikokkuvote TEXT NOT NULL,
    artikkel_link TEXT,
    autorid TEXT,
    kuupaev TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4. Andmete Salvestamine PostgreSQL Andmebaasi

Järgnevalt on näide, kuidas saadud andmeid salvestada PostgreSQL andmebaasi:

import psycopg2
import json

# Näide vastusest, mille sa said OpenAI API-st (eeldame, et see on JSON-formaadis string)
response_content = '''{
    "pealkiri": "Tehisintellekti mõju tervishoiule",
    "luhikokkuvote": "See artikkel käsitleb tehisintellekti mõju tervishoiusüsteemidele ja patsientide hooldusele.",
    "artikkel_link": "https://example.com/tehisintellekti-tervishoid",
    "autorid": "John Doe, Jane Smith"
}'''

# Vii sisu sõnastikku
article_data = json.loads(response_content)

# Loo ühendus PostgreSQL andmebaasiga
conn = psycopg2.connect(
    dbname="teadusartiklid_db",
    user="postgres",  # Kasutajanimi
    password="salasõna",  # Parool
    host="localhost"
)
cur = conn.cursor()

# SQL päring andmete sisestamiseks
insert_query = """
INSERT INTO artiklid (pealkiri, luhikokkuvote, artikkel_link, autorid)
VALUES (%s, %s, %s, %s);
"""

# Sisesta andmed
cur.execute(insert_query, (
    article_data['pealkiri'],
    article_data['luhikokkuvote'],
    article_data['artikkel_link'],
    article_data['autorid']
))

# Salvesta muudatused ja sulge ühendus
conn.commit()
cur.close()
conn.close()

print("Andmed on edukalt salvestatud PostgreSQL andmebaasi.")

Kokkuvõte

  1. OpenAI API päring: Kasutades openai.ChatCompletion.create, teed päringu, mille tulemuseks on struktureeritud andmed (pealkiri, lühikokkuvõte, link, autorid).
  2. Andmebaasi struktuur: Lood PostgreSQL-s tabeli, mis sisaldab vastavaid välju.
  3. Andmete salvestamine: Saadud JSON-andmed teisendad sõnastikuks ja salvestad need PostgreSQL andmebaasi, kasutades psycopg2 teeki.

Selle protsessi kaudu saad sujuvalt integreerida OpenAI API vastused oma andmebaasiga ja struktureeritud andmed salvestada.