pass roles + debugging
This commit is contained in:
@@ -25,4 +25,4 @@ EXPOSE 8021
|
||||
ENV PORT=8021
|
||||
ENV HOST="0.0.0.0"
|
||||
|
||||
CMD ["uv", "run", "uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8021"]
|
||||
CMD ["uv", "run", "--frozen", "uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8021"]
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
from pgvector.psycopg import register_vector, Bit
|
||||
from psycopg.rows import dict_row
|
||||
from urllib.parse import unquote
|
||||
import anthropic
|
||||
import cohere
|
||||
import dotenv
|
||||
import datetime
|
||||
import json
|
||||
import minio
|
||||
import numpy as np
|
||||
import os
|
||||
import psycopg
|
||||
import time
|
||||
|
||||
dotenv.load_dotenv('/home/paul/scripts-private/lech/cavepedia-v2/poller.env')
|
||||
|
||||
COHERE_API_KEY = os.getenv('COHERE_API_KEY')
|
||||
|
||||
co = cohere.ClientV2(COHERE_API_KEY)
|
||||
conn = psycopg.connect(
|
||||
host='127.0.0.1',
|
||||
port=4010,
|
||||
dbname='cavepediav2_db',
|
||||
user='cavepediav2_user',
|
||||
password='cavepediav2_pw',
|
||||
row_factory=dict_row,
|
||||
)
|
||||
|
||||
def embed(text, input_type):
|
||||
resp = co.embed(
|
||||
texts=[text],
|
||||
model='embed-v4.0',
|
||||
input_type=input_type,
|
||||
embedding_types=['float'],
|
||||
)
|
||||
return resp.embeddings.float[0]
|
||||
|
||||
def search():
|
||||
query = 'links trip with not more than 2 people'
|
||||
query_embedding = embed(query, 'search_query')
|
||||
|
||||
rows = conn.execute('SELECT * FROM embeddings ORDER BY embedding <=> %s::vector LIMIT 5', (query_embedding,)).fetchall()
|
||||
for row in rows:
|
||||
print(row['bucket'])
|
||||
print(row['key'])
|
||||
|
||||
if __name__ == '__main__':
|
||||
search()
|
||||
@@ -35,12 +35,18 @@ mcp = FastMCP("Cavepedia MCP")
|
||||
def get_user_roles() -> list[str]:
|
||||
"""Extract user roles from the X-User-Roles header."""
|
||||
headers = get_http_headers()
|
||||
print(f"DEBUG: All headers received: {dict(headers)}")
|
||||
roles_header = headers.get("x-user-roles", "")
|
||||
print(f"DEBUG: x-user-roles header value: '{roles_header}'")
|
||||
if roles_header:
|
||||
try:
|
||||
return json.loads(roles_header)
|
||||
except json.JSONDecodeError:
|
||||
roles = json.loads(roles_header)
|
||||
print(f"DEBUG: Parsed roles: {roles}")
|
||||
return roles
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"DEBUG: JSON decode error: {e}")
|
||||
return []
|
||||
print("DEBUG: No roles header found, returning empty list")
|
||||
return []
|
||||
|
||||
def embed(text, input_type):
|
||||
|
||||
Reference in New Issue
Block a user