Skip to main content

Connect langchain to SAP's AI proxy.

Project description

SAP Langchain Proxy to work with AI models at SAP

OpenAI SAP BTP Proxy

The OpenAI SAP BTP Proxy is a Python library that provides a proxy to connect to OpenAI services through SAP Business Technology Platform (BTP) with OAuth2 authentication. It abstracts interactions with various OpenAI models for tasks such as generating completions, working with embeddings, and using chat-based language models.

Features

  • Completions: Interact with OpenAI models for text completions.
  • Embeddings: Work with text embeddings using OpenAI models.
  • Chat Completions: Utilize chat-based language models for conversational applications.

Usage

To use the library, you need to provide the necessary configuration for OAuth2 authentication and OpenAI endpoints. Below is an example of how to set up and use the library:

# Configure OAuth2 and OpenAI endpoints
oauth_config = {
    "openai_api_client_id": "YOUR_CLIENT_ID",
    "openai_api_client_secret": "YOUR_CLIENT_SECRET",
    "openai_api_tokenurl": "OPENAI_TOKEN_URL",
    "openai_api_url": "OPENAI_API_URL"
}

It's recommended, though to provide the parameters as environment variables

OPENAI_CLIENTID
OPENAI_CLIENTSECRET
OPENAI_APIURL
OPENAI_TOKENURL

Example code

Use below examples for LLM or Chat models in langchain

from saplangchainproxy.chat import SAPChatOpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
chat = SAPChatOpenAI(model='gpt-4', temperature=0.0)
conversation = ConversationChain(
    llm=chat,
    memory=ConversationBufferMemory()
)
test_string = "Hello I'm an AI."
test_reply = conversation.run(f"Just answer with '{test_string}'. Nothing else.")
print(f"AI response is: {test_reply}")

from saplangchainproxy.llm import SAPAzureOpenAI
llm = SAPAzureOpenAI(temperature=0.0)
test_string = "Hello I'm an AI."
test_reply = llm(f"Just answer with '{test_string}'. Nothing else.")
print(f"AI response is: {test_reply}")

License

This library is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sapapj-langchain-proxy-0.0.2.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sapapj_langchain_proxy-0.0.2-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file sapapj-langchain-proxy-0.0.2.tar.gz.

File metadata

  • Download URL: sapapj-langchain-proxy-0.0.2.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for sapapj-langchain-proxy-0.0.2.tar.gz
Algorithm Hash digest
SHA256 647bef7c6075ddf509d9de15531775227b943d83441f8b86f9c7dd297610bb3f
MD5 ba21026f2c27878483e04d98e1eb6a00
BLAKE2b-256 a1c7345f777b8cbaa6c17ab6e482c20de2ac252f8c8a564f7bebeb7d0d072030

See more details on using hashes here.

File details

Details for the file sapapj_langchain_proxy-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sapapj_langchain_proxy-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 31354901362227d9256224519895023d3552a6dd6959175f4647e0bc98a8ee77
MD5 fed5eaceff4219c0400e3600ee1cf7d1
BLAKE2b-256 ab41ab4b72bfa20ee246592a46586e4e5df7a8540463768e24af76989edc5030

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page