diff --git a/libs/oracledb/README.md b/libs/oracledb/README.md index 3b2a817..e3c12ae 100644 --- a/libs/oracledb/README.md +++ b/libs/oracledb/README.md @@ -8,6 +8,13 @@ This package contains the LangChain integrations with [Oracle AI Vector Search]( python -m pip install -U langchain-oracledb ``` +## Documentation + +- [Oracle AI Vector Search: Vector Store](https://python.langchain.com/docs/integrations/vectorstores/oracle/) +- [Oracle AI Vector Search: Generate Summary](https://python.langchain.com/docs/integrations/tools/oracleai/) +- [Oracle AI Vector Search: Document Processing](https://python.langchain.com/docs/integrations/document_loaders/oracleai/) +- [Oracle AI Vector Search: Generate Embeddings](https://python.langchain.com/docs/integrations/text_embedding/oracleai/) + ## Examples The following examples showcase basic usage of the components provided by `langchain-oracledb`. @@ -16,23 +23,20 @@ Please refer to our complete demo guide [Oracle AI Vector Search End-to-End Demo ### Connect to Oracle Database -Some examples below require a connection with Oracle Database through `python-oracledb`. The following sample code will show how to connect to Oracle Database. By default, `python-oracledb` runs in a ‘Thin’ mode which connects directly to Oracle Database. This mode does not need Oracle Client libraries. However, some additional functionality is available when python-oracledb uses them. Python-oracledb is said to be in ‘Thick’ mode when Oracle Client libraries are used. Both modes have comprehensive functionality supporting the Python Database API v2.0 Specification. See the following [guide](https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_a.html#featuresummary) that talks about features supported in each mode. You might want to switch to thick-mode if you are unable to use thin-mode. +Some examples below require a connection with Oracle Database through [`python-oracledb`](https://pypi.org/project/oracledb/). The following sample code will show how to connect to Oracle Database. By default, `python-oracledb` runs in a ‘Thin’ mode which connects directly to Oracle Database. This mode does not need Oracle Client libraries. However, some additional functionality is available when python-oracledb uses them. Python-oracledb is said to be in ‘Thick’ mode when Oracle Client libraries are used. Both modes have comprehensive functionality supporting the Python Database API v2.0 Specification. See the following [guide](https://python-oracledb.readthedocs.io/en/latest/user_guide/appendix_a.html#featuresummary) that talks about features supported in each mode. You might want to switch to Thick mode if you are unable to use Thin mode. For python-oracledb installation help, see [Installing python-oracledb](https://python-oracledb.readthedocs.io/en/latest/user_guide/installation.html). + +Check your database connectivity: ```python -import sys import oracledb -# please update with your username, password, hostname and service_name +# Please update with your username, password, hostname, port and service_name username = "" password = "" -dsn = "/" - -try: - conn = oracledb.connect(user=username, password=password, dsn=dsn) - print("Connection successful!") -except Exception as e: - print("Connection failed!") - sys.exit(1) +dsn = ":/" + +connection = oracledb.connect(user=username, password=password, dsn=dsn) +print("Connection successful!") ``` ### Vector Stores @@ -196,10 +200,10 @@ embedder_params = { # using huggingface embedder_params = { - "provider": "huggingface", - "credential_name": "HF_CRED", - "url": "https://api-inference.huggingface.co/pipeline/feature-extraction/", - "model": "sentence-transformers/all-MiniLM-L6-v2", + "provider": "huggingface", + "credential_name": "HF_CRED", + "url": "https://api-inference.huggingface.co/pipeline/feature-extraction/", + "model": "sentence-transformers/all-MiniLM-L6-v2", "wait_for_model": "true" } """ @@ -215,9 +219,9 @@ embed = embedder.embed_query("Hello World!") print(f"Embedding generated by OracleEmbeddings: {embed}") ``` -### Utilities +### Utilities -#### OracleSummary +#### OracleSummary Generate summary for your documents using `OracleSummary`. More information can be found in [Oracle AI Vector Search: Generate Summary](https://python.langchain.com/docs/integrations/tools/oracleai/) documentation.