ProvidersMorePortkeyOn this pagePortkeyPortkey is a platform designed to streamline the deployment
and management of Generative AI applications.
It provides comprehensive features for monitoring, managing models,
and improving the performance of your AI applications.LLMOps for Langchain​Portkey brings production readiness to Langchain. With Portkey, you can  view detailed metrics & logs for all requests,  enable semantic cache to reduce latency & costs,  implement automatic retries & fallbacks for failed requests,  add custom tags to requests for better tracking and analysis and more.Using Portkey with Langchain​Using Portkey is as simple as just choosing which Portkey features you want, enabling them via headers=Portkey.Config and passing it in your LLM calls.To start, get your Portkey API key by signing up here. (Click the profile icon on the top left, then click on "Copy API Key")For OpenAI, a simple integration with logging feature would look like this:from langchain.llms import OpenAIfrom langchain.utilities import Portkey# Add the Portkey API Key from your accountheaders = Portkey.Config(    api_key = "<PORTKEY_API_KEY>")llm = OpenAI(temperature=0.9, headers=headers)llm.predict("What would be a good company name for a company that makes colorful socks?")Your logs will be captured on your Portkey dashboard.A common Portkey X Langchain use case is to trace a chain or an agent and view all the LLM calls originating from that request. Tracing Chains & Agents​from langchain.agents import AgentType, initialize_agent, load_tools  from langchain.llms import OpenAIfrom langchain.utilities import Portkey# Add the Portkey API Key from your accountheaders = Portkey.Config(    api_key = "<PORTKEY_API_KEY>",    trace_id = "fef659")llm = OpenAI(temperature=0, headers=headers)  tools = load_tools(["serpapi", "llm-math"], llm=llm)  agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)    # Let's test it out!  agent.run("What was the high temperature in SF yesterday in Fahrenheit? What is that number raised to the .023 power?")You can see the requests' logs along with the trace id on Portkey dashboard:Advanced Features​Logging: Log all your LLM requests automatically by sending them through Portkey. Each request log contains timestamp, model name, total cost, request time, request json, response json, and additional Portkey features.Tracing: Trace id can be passed along with each request and is visibe on the logs on Portkey dashboard. You can also set a distinct trace id for each request. You can append user feedback to a trace id as well.Caching: Respond to previously served customers queries from cache instead of sending them again to OpenAI. Match exact strings OR semantically similar strings. Cache can save costs and reduce latencies by 20x.Retries: Automatically reprocess any unsuccessful API requests upto 5 times. Uses an exponential backoff strategy, which spaces out retry attempts to prevent network overload.Tagging: Track and audit each user interaction in high detail with predefined tags.FeatureConfig KeyValue (Type)Required/OptionalAPI Keyapi_keyAPI Key (string)✅ RequiredTracing Requeststrace_idCustom string❔ OptionalAutomatic Retriesretry_countinteger [1,2,3,4,5]❔ OptionalEnabling Cachecachesimple OR semantic❔ OptionalCache Force Refreshcache_force_refreshTrue❔ OptionalSet Cache Expirycache_ageinteger (in seconds)❔ OptionalAdd Useruserstring❔ OptionalAdd Organisationorganisationstring❔ OptionalAdd Environmentenvironmentstring❔ OptionalAdd Prompt (version/id/string)promptstring❔ OptionalEnabling all Portkey Features:​headers = Portkey.Config(        # Mandatory    api_key="<PORTKEY_API_KEY>",          # Cache Options    cache="semantic",                     cache_force_refresh="True",                 cache_age=1729,      # Advanced    retry_count=5,                                               trace_id="langchain_agent",                              # Metadata    environment="production",            user="john",                          organisation="acme",                 prompt="Frost"    )For detailed information on each feature and how to use it, please refer to the Portkey docs. If you have any questions or need further assistance, reach out to us on Twitter..PreviousPipelineAINextLog, Trace, and MonitorLLMOps for LangchainUsing Portkey with LangchainTracing Chains & AgentsAdvanced FeaturesEnabling all Portkey Features: