Lex / utils.py
taaha3244's picture
Create utils.py
319392e verified
raw
history blame
1.37 kB
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from qdrant_client import QdrantClient
def setup_openai_embeddings(api_key):
"""Set up OpenAI embeddings."""
return OpenAIEmbeddings(model='text-embedding-3-small', openai_api_key=api_key)
def setup_qdrant_client(url, api_key):
"""Set up Qdrant client."""
return QdrantClient(location=url, api_key=api_key)
def format_document_metadata(docs):
"""Format metadata for each document."""
formatted_docs = []
for doc in docs:
metadata_str = ', '.join(f"{key}: {value}" for key, value in doc.metadata.items())
doc_str = f"{doc.page_content}\nMetadata: {metadata_str}"
formatted_docs.append(doc_str)
return "\n\n".join(formatted_docs)
def openai_llm(api_key: str):
"""Get a configured OpenAI language model."""
return ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0, openai_api_key=api_key)
def delete_collection(collection_name, qdrant_url, qdrant_api_key):
"""Delete a Qdrant collection."""
client = setup_qdrant_client(qdrant_url, qdrant_api_key)
try:
client.delete_collection(collection_name=collection_name)
except Exception as e:
print("Failed to delete collection:", e)
def is_document_embedded(filename):
"""Check if a document is already embedded. Actual implementation needed."""
return False