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](https://platform.openai.com/), 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:

```python
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:

```sql
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:

```python
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.