from langchain_openai import ChatOpenAI, OpenAIEmbeddings from langchain_qdrant import QdrantVectorStore from qdrant_client import QdrantClient from qdrant_client.http.models import ( Distance, VectorParams, ) from config import ( COLLECTION_NAME, OPENAI_API_KEY, OPENAI_BASE_URL, QDRANT_API_KEY, QDRANT_URL, ) EMBEDDING = OpenAIEmbeddings( openai_api_key=OPENAI_API_KEY, openai_api_base=OPENAI_BASE_URL, model="Qwen/Qwen3-Embedding-8B", check_embedding_ctx_length=False, ) QDRANT_CLIENT = QdrantClient( url=QDRANT_URL, api_key=QDRANT_API_KEY, port=443, https=True, ) if not QDRANT_CLIENT.collection_exists(COLLECTION_NAME): QDRANT_CLIENT.create_collection( collection_name=COLLECTION_NAME, vectors_config=VectorParams( size=4096, distance=Distance.COSINE, ), ) VECTOR_STORE = QdrantVectorStore( client=QDRANT_CLIENT, collection_name=COLLECTION_NAME, embedding=EMBEDDING, ) LLM = ChatOpenAI( openai_api_key=OPENAI_API_KEY, openai_api_base=OPENAI_BASE_URL, model="openai/gpt-oss-120b", temperature=0.3, streaming=True, )