Metadata-Version: 2.3
Name: langchain-agensgraph
Version: 0.1.0
Summary: AgensGraph integration for LangChain graph and vector stores
Keywords: langchain,agensgraph,graph store,vector store,integration
Author: Muhammad Taha Naveed
Author-email: skaisw@skaiworldwide.com
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: langchain (>=0.3.18,<1.0.0)
Requires-Dist: langchain-community (>=0.3.0)
Requires-Dist: langchain-core (>=0.3.34,<1.0.0)
Requires-Dist: psycopg (>=3.2.9,<4.0.0)
Requires-Dist: psycopg-binary (>=3.2.9,<4.0.0)
Project-URL: Homepage, https://github.com/skaiworldwide-oss/agensgraph-ai/tree/main/langchain
Project-URL: Repository, https://github.com/skaiworldwide-oss/agensgraph-ai/tree/main/langchain
Description-Content-Type: text/markdown

# 🦜️🔗 LangChain AgensGraph

This plugin provides support for GraphStore and VectorStore integration in [langchain](https://www.langchain.com/), for persisting graphs directly in [AgensGraph](https://github.com/skaiworldwide-oss/agensgraph).

See the associated guide below:

- [Agens Graph Store](./examples/agensgraph.ipynb)

## 📦 Installation

```bash
pip install -U langchain-agensgraph
```

## 💻 Usage

### AgensGraph
The AgensGraph class provides functionality to interact with agensgraph as
a graphstore in langchain.

```python
from langchain_agensgraph.graphs.agensgraph import AgensGraph

conf = {
    "dbname": "",
    "user": "",
    "password": "",
    "host": "",
    "port": ,
}

graph = AgensGraph(graph_name="", conf=conf)
graph.query("MATCH (n) RETURN n LIMIT 1;")
```

### AgensgraphVector

The `AgensgraphVector` class provides functionality for managing an AgensGraph vector store.
It enables you to create new vector indexes, add vectors to existing indexes, and perform queries using vector indexes.

```python
from langchain.docstore.document import Document
from langchain_openai import OpenAIEmbeddings

from langchain_agensgraph.vectorstores.agensgraph_vector import AgensgraphVector

# Create a vector store from some documents and embeddings
docs = [
    Document(
        page_content=(
            "LangChain is a framework to build "
            "with LLMs by chaining interoperable components."
        ),
    )
]
embeddings = OpenAIEmbeddings(
    model="text-embedding-3-large",
    api_key="sk-...",  # Replace with your OpenAI API key
)
db = AgensgraphVector.from_documents(
    docs,
    embeddings,
    url="postgresql://username:password@host:port/dbname"
)
# Query the vector store for similar documents
docs_with_score = db.similarity_search_with_score("What is LangChain?", k=1)
```

