AnalyticDB for PostgreSQL은 대용량 데이터를 온라인으로 분석하도록 설계된 대규모 병렬 처리(MPP) 데이터 웨어하우징 서비스입니다.
AnalyticDB for PostgreSQL은 오픈소스 Greenplum Database 프로젝트를 기반으로 개발되었으며 Alibaba Cloud의 심층 확장으로 강화되었습니다. AnalyticDB for PostgreSQL은 ANSI SQL 2003 구문과 PostgreSQL 및 Oracle 데이터베이스 생태계와 호환됩니다. 또한 AnalyticDB for PostgreSQL은 행 저장소와 열 저장소를 모두 지원합니다. AnalyticDB for PostgreSQL은 페타바이트 규모의 데이터를 높은 성능 수준으로 오프라인 처리하며 높은 동시성의 온라인 쿼리를 지원합니다.
이 integration을 사용하려면 pip install -qU langchain-communitylangchain-community를 설치해야 합니다 이 노트북은 AnalyticDB vector database와 관련된 기능을 사용하는 방법을 보여줍니다. 실행하려면 AnalyticDB 인스턴스가 실행 중이어야 합니다:
from langchain_community.vectorstores import AnalyticDB
from langchain_openai import OpenAIEmbeddings
from langchain_text_splitters import CharacterTextSplitter
문서를 분할하고 OpenAI API를 호출하여 embedding을 가져옵니다
from langchain_community.document_loaders import TextLoader

loader = TextLoader("../../how_to/state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

embeddings = OpenAIEmbeddings()
관련 환경 변수를 설정하여 AnalyticDB에 연결합니다.
export PG_HOST={your_analyticdb_hostname}
export PG_PORT={your_analyticdb_port} # Optional, default is 5432
export PG_DATABASE={your_database} # Optional, default is postgres
export PG_USER={database_username}
export PG_PASSWORD={database_password}
그런 다음 embedding과 문서를 AnalyticDB에 저장합니다
import os

connection_string = AnalyticDB.connection_string_from_db_params(
    driver=os.environ.get("PG_DRIVER", "psycopg2cffi"),
    host=os.environ.get("PG_HOST", "localhost"),
    port=int(os.environ.get("PG_PORT", "5432")),
    database=os.environ.get("PG_DATABASE", "postgres"),
    user=os.environ.get("PG_USER", "postgres"),
    password=os.environ.get("PG_PASSWORD", "postgres"),
)

vector_db = AnalyticDB.from_documents(
    docs,
    embeddings,
    connection_string=connection_string,
)
데이터 쿼리 및 검색
query = "What did the president say about Ketanji Brown Jackson"
docs = vector_db.similarity_search(query)
print(docs[0].page_content)
Tonight. I call on the Senate to: Pass the Freedom to Vote Act. Pass the John Lewis Voting Rights Act. And while you’re at it, pass the Disclose Act so Americans can know who is funding our elections.

Tonight, I’d like to honor someone who has dedicated his life to serve this country: Justice Stephen Breyer—an Army veteran, Constitutional scholar, and retiring Justice of the United States Supreme Court. Justice Breyer, thank you for your service.

One of the most serious constitutional responsibilities a President has is nominating someone to serve on the United States Supreme Court.

And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation’s top legal minds, who will continue Justice Breyer’s legacy of excellence.

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I