Skip to content

Commit

Permalink
Moved Embedder class to under neo4j_graphrag.embeddings (neo4j#138)
Browse files Browse the repository at this point in the history
* Moved Embedder class to under neo4j_graphrag.embeddings

* Update documentation

* Rename to base and add await to run example in docs

* Update CHANGELOG
  • Loading branch information
willtai authored Sep 18, 2024
1 parent 1f5b8eb commit fc7d319
Show file tree
Hide file tree
Showing 26 changed files with 31 additions and 27 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# @neo4j/neo4j-graphrag-python

## Next

### Added
- Add `template` validation in `PromptTemplate` class upon construction.
- `custom_prompt` arg is now converted to `Text2CypherTemplate` class within the `Text2CypherRetriever.get_search_results` method.
Expand All @@ -9,6 +10,9 @@
- Add feature to include kwargs in `Text2CypherRetriever.search()` that will be injected into a custom prompt, if provided.
- Add validation to `custom_prompt` parameter of `Text2CypherRetriever` to ensure that `query_text` placeholder exists in prompt.

### Changed
- Moved the Embedder class to the neo4j_graphrag.embeddings directory for better organization alongside other custom embedders.

## 0.6.3
### Changed
- Updated documentation links in README.
Expand Down Expand Up @@ -128,4 +132,4 @@
### Fixed

- Updated documentation to include new custom exceptions.
- Improved the use of Pydantic for input data validation for retriever objects.
- Improved the use of Pydantic for input data validation for retriever objects.
6 changes: 3 additions & 3 deletions docs/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ PineconeNeo4jRetriever
Embedder
********

.. autoclass:: neo4j_graphrag.embedder.Embedder
.. autoclass:: neo4j_graphrag.embeddings.base.Embedder
:members:

SentenceTransformerEmbeddings
Expand All @@ -147,13 +147,13 @@ SentenceTransformerEmbeddings
OpenAIEmbeddings
================

.. autoclass:: neo4j_genai.embeddings.openai.OpenAIEmbeddings
.. autoclass:: neo4j_graphrag.embeddings.openai.OpenAIEmbeddings
:members:

VertexAIEmbeddings
==================

.. autoclass:: neo4j_genai.embeddings.vertexai.VertexAIEmbeddings
.. autoclass:: neo4j_graphrag.embeddings.vertexai.VertexAIEmbeddings
:members:

**********
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user_guide_kg_builder.rst
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ Here is a code block illustrating these concepts:
schema_builder = SchemaBuilder()
schema_builder.run(
await schema_builder.run(
entities=[
SchemaEntity(
label="Person",
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user_guide_rag.rst
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ the following implementation of an embedder that wraps the `OllamaEmbedding` mod
.. code:: python
from llama_index.embeddings.ollama import OllamaEmbedding
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
class OllamaEmbedder(Embedder):
def __init__(self, ollama_embedding):
Expand Down
2 changes: 1 addition & 1 deletion examples/hybrid_cypher_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from random import random

from neo4j import GraphDatabase
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.indexes import create_fulltext_index, create_vector_index
from neo4j_graphrag.retrievers import HybridCypherRetriever

Expand Down
2 changes: 1 addition & 1 deletion examples/hybrid_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from random import random

from neo4j import GraphDatabase
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.indexes import create_fulltext_index, create_vector_index
from neo4j_graphrag.retrievers import HybridRetriever

Expand Down
2 changes: 1 addition & 1 deletion examples/similarity_search_for_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from random import random

from neo4j import GraphDatabase
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.indexes import create_vector_index
from neo4j_graphrag.retrievers import VectorRetriever

Expand Down
2 changes: 1 addition & 1 deletion examples/vector_cypher_retrieval.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import string

from neo4j import GraphDatabase
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.indexes import create_vector_index
from neo4j_graphrag.retrievers import VectorCypherRetriever

Expand Down
2 changes: 1 addition & 1 deletion examples/vector_search_with_filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import string

from neo4j import GraphDatabase
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.indexes import create_vector_index
from neo4j_graphrag.retrievers import VectorRetriever

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/neo4j_graphrag/embeddings/openai.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

from typing import Any

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder


class OpenAIEmbeddings(Embedder):
Expand Down
2 changes: 1 addition & 1 deletion src/neo4j_graphrag/embeddings/sentence_transformers.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import numpy as np
import torch

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder


class SentenceTransformerEmbeddings(Embedder):
Expand Down
2 changes: 1 addition & 1 deletion src/neo4j_graphrag/embeddings/vertexai.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

from typing import Any

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder

try:
from vertexai.language_models import TextEmbeddingInput, TextEmbeddingModel
Expand Down
2 changes: 1 addition & 1 deletion src/neo4j_graphrag/experimental/components/embedder.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# limitations under the License.
from pydantic import validate_call

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.experimental.components.types import TextChunk, TextChunks
from neo4j_graphrag.experimental.pipeline.component import Component

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from pinecone import Pinecone
from pydantic import ValidationError

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.exceptions import (
EmbeddingRequiredError,
RetrieverInitializationError,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from pydantic import ValidationError
from weaviate.client import WeaviateClient

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.exceptions import (
RetrieverInitializationError,
SearchValidationError,
Expand Down
2 changes: 1 addition & 1 deletion src/neo4j_graphrag/retrievers/hybrid.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import neo4j
from pydantic import ValidationError

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.exceptions import (
EmbeddingRequiredError,
RetrieverInitializationError,
Expand Down
2 changes: 1 addition & 1 deletion src/neo4j_graphrag/retrievers/vector.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import neo4j
from pydantic import ValidationError

from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.exceptions import (
EmbeddingRequiredError,
RetrieverInitializationError,
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

import pytest
from neo4j import Driver, GraphDatabase
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.indexes import (
create_fulltext_index,
create_vector_index,
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/pinecone_e2e/test_pinecone_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import pytest
from langchain_huggingface.embeddings import HuggingFaceEmbeddings
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.retrievers import PineconeNeo4jRetriever
from neo4j_graphrag.types import RetrieverResult, RetrieverResultItem
from pinecone import Pinecone
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/test_hybrid_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import pytest
from neo4j import Driver
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.retrievers import (
HybridCypherRetriever,
HybridRetriever,
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/test_kg_builder_pipeline_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import neo4j
import pytest
from langchain_text_splitters import CharacterTextSplitter
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.exceptions import LLMGenerationError
from neo4j_graphrag.experimental.components.embedder import TextChunkEmbedder
from neo4j_graphrag.experimental.components.entity_relation_extractor import (
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/test_vector_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import pytest
from neo4j import Driver
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.retrievers import VectorCypherRetriever, VectorRetriever
from neo4j_graphrag.types import RetrieverResult, RetrieverResultItem

Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/weaviate_e2e/test_weaviate_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import pytest
from langchain_huggingface.embeddings import HuggingFaceEmbeddings
from neo4j import Driver
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.retrievers import WeaviateNeo4jRetriever
from neo4j_graphrag.types import RetrieverResult, RetrieverResultItem
from weaviate.client import WeaviateClient
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import neo4j
import pytest
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.llm import LLMInterface
from neo4j_graphrag.retrievers import (
HybridRetriever,
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/embeddings/test_sentence_transformers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import numpy as np
import pytest
from neo4j_graphrag.embedder import Embedder
from neo4j_graphrag.embeddings.base import Embedder
from neo4j_graphrag.embeddings.sentence_transformers import (
SentenceTransformerEmbeddings,
)
Expand Down

0 comments on commit fc7d319

Please sign in to comment.