Spaces:
Runtime error
Runtime error
File size: 1,505 Bytes
b457ce3 337404c b457ce3 2793b59 337404c c7aff61 b5c66fd 337404c b457ce3 b5c66fd 2793b59 2c13607 118bf2e 9f1fe74 bbb086e 56f1fe3 bbb086e 337404c c9a4e08 b5c66fd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #from llama_index.core import KnowledgeGraphIndex,StorageContext
from llama_index.core import StorageContext
#from llama_index.core.graph_stores import SimpleGraphStore
from llama_index.core import VectorStoreIndex
from llama_index.vector_stores.postgres import PGVectorStore
import psycopg2
import os
def build_graph_idx(docs,table_name):
#graph_store=SimpleGraphStore()
#storage_context=StorageContext.from_defaults(graph_store=graph_store)
#idx=KnowledgeGraphIndex.from_documents(docs,max_triplets_per_chunk=3,storage_context=storage_context,include_embeddings=True)
for doc in docs:
if doc.get_content():
clean_text=doc.get_content().replace("\x00","")
doc.set_content(clean_text)
user=os.getenv("DB_USER")
password=os.getenv("DB_PWD")
host=os.getenv("DB_HOST")
port=os.getenv("DB_PORT", "6543")
dbname=os.getenv("DB_NAME", "postgres")
conn_str=f"postgresql://{user}:{password}@{host}:{port}/{dbname}"
vector_store=PGVectorStore(
connection_string=conn_str,
async_connection_string=conn_str.replace("postgresql://", "postgresql+asyncpg://"),
table_name=table_name,
embed_dim=384,
create_engine_kwargs={"connect_args": {"sslmode": "require"}}
)
storage_context=StorageContext.from_defaults(vector_store=vector_store)
idx=VectorStoreIndex.from_documents(docs,storage_context=storage_context)
print(f"Successfully pushed {len(docs)} docs to {table_name}")
return idx |