Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -4,6 +4,8 @@ from openai import OpenAI
|
|
| 4 |
import json
|
| 5 |
import os
|
| 6 |
from typing import List, Dict
|
|
|
|
|
|
|
| 7 |
|
| 8 |
# DB 연결 설정
|
| 9 |
def get_db_conn():
|
|
@@ -38,14 +40,15 @@ def search_similar_chats(query: str, maxResults: int = 10) -> List[Dict]:
|
|
| 38 |
Returns:
|
| 39 |
List[Dict]: 검색 결과 목록
|
| 40 |
"""
|
| 41 |
-
embedding = get_embedding(query)
|
| 42 |
conn = get_db_conn()
|
|
|
|
| 43 |
with conn.cursor() as cur:
|
| 44 |
cur.execute("""
|
| 45 |
-
SELECT id, metadata, content, embedding <#> %s
|
| 46 |
FROM vector_store
|
| 47 |
WHERE metadata->>'documentType' = 'chatAnalysis'
|
| 48 |
-
ORDER BY embedding <#> %s
|
| 49 |
LIMIT %s
|
| 50 |
""", (embedding, embedding, maxResults))
|
| 51 |
rows = cur.fetchall()
|
|
|
|
| 4 |
import json
|
| 5 |
import os
|
| 6 |
from typing import List, Dict
|
| 7 |
+
from pgvector.psycopg2 import register_vector
|
| 8 |
+
import numpy as np
|
| 9 |
|
| 10 |
# DB 연결 설정
|
| 11 |
def get_db_conn():
|
|
|
|
| 40 |
Returns:
|
| 41 |
List[Dict]: 검색 결과 목록
|
| 42 |
"""
|
| 43 |
+
embedding = np.array(get_embedding(query)) # numpy array로 변환
|
| 44 |
conn = get_db_conn()
|
| 45 |
+
register_vector(conn) # 벡터 타입 자동 변환 지원
|
| 46 |
with conn.cursor() as cur:
|
| 47 |
cur.execute("""
|
| 48 |
+
SELECT id, metadata, content, embedding <#> %s AS distance
|
| 49 |
FROM vector_store
|
| 50 |
WHERE metadata->>'documentType' = 'chatAnalysis'
|
| 51 |
+
ORDER BY embedding <#> %s
|
| 52 |
LIMIT %s
|
| 53 |
""", (embedding, embedding, maxResults))
|
| 54 |
rows = cur.fetchall()
|