---
# System prepended metadata

title: 20240711 OpenAI
tags: [OpenAI]

---

# 20240711 OpenAI

## OpenAI

* 模型
    1. 語音 -> 文字
    2. 文字 -> 語音
    3. 聊天
    4. 文生圖
    5. 圖形辨識
* 學習目的
    1. 調教 : 可以餵自己資料做訓練
    2. 自動化 : 可做個模型間溝通


* 註冊
    > 儲值
    ![image](https://hackmd.io/_uploads/HyVmxeawC.png)
    > 儲值金額
    ![image](https://hackmd.io/_uploads/SyiWWg6D0.png)
    > 關閉自動儲值 與 每月最大上限值
    ![image](https://hackmd.io/_uploads/BktY-l6P0.png)
* 收費 : input 與 output 都要收費
    > 有價目表可參考
    > 有計算機可計算 : 大約文字數 /3 *4 
* 建立金鑰 : Dashboard -> API Keys
    > 新增金鑰
    ![image](https://hackmd.io/_uploads/BystdeTPA.png)
    > 取金鑰名字，底下專案可以先不做選擇
    ![image](https://hackmd.io/_uploads/HJUhueav0.png)
    > api Key 需要保管好，關閉後無法重新複製
    ![image](https://hackmd.io/_uploads/S1EJYx6PC.png)

* 初始化 : 有三種方式
    * 打API
    ```bash=
    #使用環境變數
    curl https://api.openai.com/v1/models -H "Authorization: Bearer %OPENAI_API_KEY%"
    ```
    ```bash=
    #直接給key
    curl https://api.openai.com/v1/models -H "Authorization: Bearer xxxxxxxx"
    ```
    * python
    ```python=
    #使用環境變數
    from openai import OpenAI

    client = OpenAI()
    ```
    ```python=
    #直接給
    from openai import OpenAI

    key='xxxxxxxxx'
    client = OpenAI(api_key=key)
    ```

    > 設定電腦環境變數
    ![image](https://hackmd.io/_uploads/Hy16Cl6PA.png)
* 角色(role)
    1. system : 角色扮演、任務指令、背景資料等提示放在系統訊息裡
    2. user : 使用者的問題或發表的言論
    3. asistant: 機器人的回應
* 第一支範例程式
    ```python=

    from openai import OpenAI #引用套件
    ### 初始化
    client = OpenAI() #建立open物件

    ### 以下為標準格式
    completion = client.chat.completions.create(
      model="gpt-3.5-turbo", ### 使用模組
      messages=[
        ### 標準格式 角色 + 內容 (system可多行，或寫在一起)
        {"role": "system", "content": "請以繁體中文回覆"},
        {"role": "system", "content": "請以兇狠的口氣回答"},
        {"role": "user", "content": "Hello!"}
      ]
    )
    ### content 是單純回應內容
    print(f'ChatGPT : {completion.choices[0].message.content}')
    ```
    
    
> 範例
> https://platform.openai.com/docs/examples
> ![image](https://hackmd.io/_uploads/SkM3F-pvR.png)
    
> 價目表 (包含模型名稱)
> https://openai.com/api/pricing/    