Feat: implemented vector store service
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
from langchain_core.embeddings import Embeddings
|
||||
|
||||
class FakeEmbeddings(Embeddings):
|
||||
"""Deterministic embeddings generator used for testing."""
|
||||
|
||||
def __init__(self, *, size: int = ...) -> None: ...
|
||||
def embed_documents(self, texts: Sequence[str]) -> list[list[float]]: ...
|
||||
def embed_query(self, text: str) -> list[float]: ...
|
||||
|
||||
__all__ = ["FakeEmbeddings"]
|
||||
@@ -0,0 +1,44 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Sequence
|
||||
from typing import Any, Protocol
|
||||
|
||||
from langchain_core.embeddings import Embeddings
|
||||
|
||||
class _VectorDocument(Protocol):
|
||||
metadata: dict[str, Any]
|
||||
page_content: str
|
||||
|
||||
class FAISS:
|
||||
"""Subset of the FAISS vector store methods used in CleverAgents."""
|
||||
|
||||
@classmethod
|
||||
def from_texts(
|
||||
cls,
|
||||
texts: Sequence[str],
|
||||
embedding: Embeddings,
|
||||
metadatas: Sequence[dict[str, Any]] | None = ...,
|
||||
ids: Sequence[str] | None = ...,
|
||||
**kwargs: Any,
|
||||
) -> FAISS: ...
|
||||
def save_local(self, folder_path: str) -> None: ...
|
||||
@classmethod
|
||||
def load_local(
|
||||
cls,
|
||||
folder_path: str,
|
||||
embeddings: Embeddings,
|
||||
*,
|
||||
allow_dangerous_deserialization: bool = ...,
|
||||
**kwargs: Any,
|
||||
) -> FAISS: ...
|
||||
def similarity_search_with_score(
|
||||
self,
|
||||
query: str,
|
||||
*,
|
||||
k: int = ...,
|
||||
filter: Any = ...,
|
||||
fetch_k: int = ...,
|
||||
**kwargs: Any,
|
||||
) -> list[tuple[_VectorDocument, float]]: ...
|
||||
|
||||
__all__ = ["FAISS"]
|
||||
@@ -0,0 +1,9 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
class Embeddings:
|
||||
"""Minimal embeddings protocol used for typing."""
|
||||
|
||||
def embed_documents(self, texts: Sequence[str]) -> list[list[float]]: ...
|
||||
def embed_query(self, text: str) -> list[float]: ...
|
||||
@@ -1,7 +1,9 @@
|
||||
"""Type stubs for langchain_openai package."""
|
||||
|
||||
from collections.abc import Sequence
|
||||
from typing import Any
|
||||
|
||||
from langchain_core.embeddings import Embeddings as _Embeddings
|
||||
from langchain_core.language_models import BaseLanguageModel
|
||||
|
||||
class ChatOpenAI(BaseLanguageModel):
|
||||
@@ -43,4 +45,18 @@ class AzureChatOpenAI(BaseLanguageModel):
|
||||
**kwargs: Any,
|
||||
) -> None: ...
|
||||
|
||||
__all__ = ["ChatOpenAI", "AzureChatOpenAI"]
|
||||
class OpenAIEmbeddings(_Embeddings):
|
||||
"""OpenAI embeddings wrapper used for vector stores."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
model: str = ...,
|
||||
dimensions: int | None = None,
|
||||
api_key: Any = None,
|
||||
**kwargs: Any,
|
||||
) -> None: ...
|
||||
def embed_documents(self, texts: Sequence[str]) -> list[list[float]]: ...
|
||||
def embed_query(self, text: str) -> list[float]: ...
|
||||
|
||||
__all__ = ["AzureChatOpenAI", "ChatOpenAI", "OpenAIEmbeddings"]
|
||||
|
||||
Reference in New Issue
Block a user