iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
生成式 AI

AI的雲上漫遊系列 第 21

Day21 FastAPI調整雲端元件實作 - Cloud SQL

  • 分享至 

  • xImage
  •  

首先我們先啟用一個CLoud SQL,並且選擇PostgreSQL,選擇其他的收費標準可能不一樣這一點要注意!

https://ithelp.ithome.com.tw/upload/images/20240922/20106094ASoVjxRJFV.png

選擇要什麼SQL版本,並且配置好instance名字及密碼,還有把價格壓到最低(你也可以選擇自己需要的配置不用理我XD)

https://ithelp.ithome.com.tw/upload/images/20240922/20106094MmzmMFTlxf.png

0.28*30應該是最低配置了約莫272台幣/一個月,這個也是錢啊,啟用後需要一段時間才可以使用唷!

再來就是測試是否可以連線成功,都完成ok的話,接下來就根據FastAPI文件換成標準的DB配置及GCP針對python給的連線方式做修正,

建立一個database.py ,env輸入cloud sql上的資訊!

import os
import sqlalchemy

db_user = os.environ["DB_USER"]
db_pass = os.environ["DB_PASS"]
db_name = os.environ["DB_NAME"]
db_port = os.environ["DB_PORT"]
db_ip = os.environ["DB_IP"]

unix_socket_path = f"/cloudsql/benson-service:asia-east1:benson-db"

engine = sqlalchemy.create_engine(
    sqlalchemy.engine.url.URL.create(
        drivername="postgresql+psycopg2",
        username=db_user,
        password=db_pass,
        database=db_name,
        port=db_port,
        host=db_ip
    )
)

接下來就把原本url換成engine,

vectorstore = PGVector(    
        embeddings=embeddings,
        collection_name="programers",
        connection=engine,
        use_jsonb=True)

接著我們再把一份PDF丟到inxding api試試看!

看來也可以順利執行了!

https://ithelp.ithome.com.tw/upload/images/20240922/20106094LKnp5SSEVb.png

參考資料:

  1. https://fastapi.tiangolo.com/tutorial/sql-databases/#install-sqlalchemy
  2. https://cloud.google.com/sql/docs/postgres/samples/cloud-sql-postgres-sqlalchemy-connect-connector

上一篇
Day20 Cloud SQL介紹
下一篇
Day22 Cloud Run介紹
系列文
AI的雲上漫遊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言