Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oraclevs integration #21123

Merged
merged 72 commits into from May 4, 2024
Merged

Conversation

rohanaggarwal7997
Copy link
Contributor

Thank you for contributing to LangChain!

  • Oracle AI Vector Search
    Oracle AI Vector Search is designed for Artificial Intelligence (AI) workloads that allows you to query data based on semantics, rather than keywords. One of the biggest benefit of Oracle AI Vector Search is that semantic search on unstructured data can be combined with relational search on business data in one single system. This is not only powerful but also significantly more effective because you don't need to add a specialized vector database, eliminating the pain of data fragmentation between multiple systems.

  • Oracle AI Vector Search is designed for Artificial Intelligence (AI) workloads that allows you to query data based on semantics, rather than keywords. One of the biggest benefit of Oracle AI Vector Search is that semantic search on unstructured data can be combined with relational search on business data in one single system. This is not only powerful but also significantly more effective because you don't need to add a specialized vector database, eliminating the pain of data fragmentation between multiple systems.
    This Pull Requests Adds the following functionalities
    Oracle AI Vector Search : Vector Store
    Oracle AI Vector Search : Document Loader
    Oracle AI Vector Search : Document Splitter
    Oracle AI Vector Search : Summary
    Oracle AI Vector Search : Oracle Embeddings

  • We have added unit tests and have our own local unit test suite which verifies all the code is correct. We have made sure to add guides for each of the components and one end to end guide that shows how the entire thing runs.

  • We have made sure that make format and make lint run clean.

Additional guidelines:

  • Make sure optional dependencies are imported within a function.
  • Please do not add dependencies to pyproject.toml files (even optional ones) unless they are required for unit tests.
  • Most PRs should not touch more than one package.
  • Changes should be backwards compatible.
  • If you are adding something to community, do not re-import it in langchain.

If no one reviews your PR within a few days, please @-mention one of baskaryan, efriis, eyurtsev, hwchase17.

@rohanaggarwal7997
Copy link
Contributor Author

@hwchase17

@skmishraoracle
Copy link
Contributor

Hi @hwchase17: (Escalating this to you would greatly appreciate any response)

We are a group in Oracle responsible for integration of langchain with OracleDBAI (the latest release of Oracle Database). The code is in a branch of langchain-ai/langchain. We requested that after reviews our branch be allowed to merge to main. @baskaryan is our reviewer. We have sent a no. of notes requesting status of the reviews & if we can help him reviewing the code. It appears that he is busy with some other errands. Hence escalating this to you. The following is a note that we send to him:

Hi @baskaryan:
My name is shailendra mishra. I am working with @rohanaggarwal7997 on the langchain integration project. I hope you're doing well. Could you please provide an update on the review process for the feature we are planning to merge to main? Let me know if you have any questions or need further clarifications. Thanks!
CCing: @efriis @eyurtsev - if you have some insight into the status of the merge to main.

baskaryan
baskaryan previously approved these changes May 3, 2024
@dosubot dosubot bot added the lgtm PR looks good. Use to confirm that a PR is ready for merging. label May 3, 2024
@baskaryan baskaryan enabled auto-merge (squash) May 3, 2024 20:11
@baskaryan
Copy link
Collaborator

baskaryan commented May 3, 2024

please make sure all imports of optional dependencies like oracledb are conditional (happen inside a function). see updated OracleVS implementation for an example

auto-merge was automatically disabled May 3, 2024 21:53

Head branch was pushed to by a user without write access

@rohanaggarwal7997
Copy link
Contributor Author

address comments

@baskaryan I have addressed your comments - now the make test on my machine runs fine the way it runs in the langchain CI/CD environment. I think now this PR is good to merge. Can you please take a look. @efriis can you please approve the workflow.

@baskaryan baskaryan enabled auto-merge (squash) May 4, 2024 03:00
@baskaryan
Copy link
Collaborator

Thank you for the contribution @rohanaggarwal7997 @shailendrah @skmishraoracle! Will be included in the next langchain-community release.

@baskaryan baskaryan merged commit 8021d2a into langchain-ai:master May 4, 2024
62 checks passed
@shahn33
Copy link

shahn33 commented May 6, 2024

from langchain.vectorstores import OracleVS
ImportError: cannot import name 'OracleVS' from 'langchain.vectorstores'

@skmishraoracle
Copy link
Contributor

@shahn33: Use from langchain_community.vectorstores import OracleVS

dglogo pushed a commit to dglogo/langchain that referenced this pull request May 8, 2024
Thank you for contributing to LangChain!

- Oracle AI Vector Search 
Oracle AI Vector Search is designed for Artificial Intelligence (AI)
workloads that allows you to query data based on semantics, rather than
keywords. One of the biggest benefit of Oracle AI Vector Search is that
semantic search on unstructured data can be combined with relational
search on business data in one single system. This is not only powerful
but also significantly more effective because you don't need to add a
specialized vector database, eliminating the pain of data fragmentation
between multiple systems.


- Oracle AI Vector Search is designed for Artificial Intelligence (AI)
workloads that allows you to query data based on semantics, rather than
keywords. One of the biggest benefit of Oracle AI Vector Search is that
semantic search on unstructured data can be combined with relational
search on business data in one single system. This is not only powerful
but also significantly more effective because you don't need to add a
specialized vector database, eliminating the pain of data fragmentation
between multiple systems.
This Pull Requests Adds the following functionalities
Oracle AI Vector Search : Vector Store
Oracle AI Vector Search : Document Loader
Oracle AI Vector Search : Document Splitter
Oracle AI Vector Search : Summary
Oracle AI Vector Search : Oracle Embeddings


- We have added unit tests and have our own local unit test suite which
verifies all the code is correct. We have made sure to add guides for
each of the components and one end to end guide that shows how the
entire thing runs.


- We have made sure that make format and make lint run clean.

Additional guidelines:
- Make sure optional dependencies are imported within a function.
- Please do not add dependencies to pyproject.toml files (even optional
ones) unless they are required for unit tests.
- Most PRs should not touch more than one package.
- Changes should be backwards compatible.
- If you are adding something to community, do not re-import it in
langchain.

If no one reviews your PR within a few days, please @-mention one of
baskaryan, efriis, eyurtsev, hwchase17.

---------

Co-authored-by: skmishraoracle <[email protected]>
Co-authored-by: hroyofc <[email protected]>
Co-authored-by: Bagatur <[email protected]>
Co-authored-by: Bagatur <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ɑ: doc loader Related to document loader module (not documentation) Ɑ: embeddings Related to text embedding models module 🤖:enhancement A large net-new component, integration, or chain. Use sparingly. The largest features lgtm PR looks good. Use to confirm that a PR is ready for merging. size:XXL This PR changes 1000+ lines, ignoring generated files. Ɑ: vector store Related to vector store module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants