UNPKG

remix-nlux

Version:

Remix IDE NLUX integration. Remix IDE is the leading IDE for building and deploying smart contracts on Ethereum. NLUX is a JavaScript and React library for building conversational AI experiences.

63 lines (44 loc) 2.98 kB
--- sidebar_label: 'Overview' --- import {CodeEditor} from '@site/src/components/CodeEditor/CodeEditor'; import exampleUrlFileAiChatBot from './examples/aiChatBot-default'; # LangChain Adapter `NLUX` offers integration with LangChain through LangServe. ## About LangChain and LangServe [LangChain](https://www.langchain.com/) is a popular framework for building backend services powered by large language models. It enables applications that are context-aware. It allows connecting a language model to sources of context such as databases, APIs, and other services. It also relies on language models to reason about the context. [LangServe](https://www.langchain.com/langserve) is a library that comes with LangChain, and that allows developers to build Restful APIs that can be used to interact with language models. A LangServe API provides a set of pre-defined endpoints and an input/out schema that can be used to interact with the language model. :::note LangServe vs Custom APIs The `NLUX` LangChain adapter supports the **[standard LangServe endpoints](https://python.langchain.com/docs/langserve#endpoints)**.<br /> If you have created custom APIs powered by LangChain, *that do not use LangServe*, we recommend using `NLUX`'s [Custom Adapters](/learn/adapters/custom-adapters) feature to create adapters specific to your APIs. ::: ## Supported Features The `NLUX` LangServe adapter can do the following: * Offers a way to **send a user prompt to a LangServe API** via `/invoke` or `/stream` endpoints. * **Handles the API responses** and displays them in the AI chat UI (single responses and streamed text). * Offers a way for developers to **customize the payload sent and received** to/from the LangServe API. * Reads the LangServe API **input schema** and attempts to construct a request payload that matches it. It's also important to note what `NLUX` LangServe adapter does not do: * Does not handle `/batch` or `/stream_log` endpoints. * The generation of request payload based on input schema is limited to schemas with simple types (string, or object with a single string property). Of complex schemas, `inputPreProcessor` should be used to construct the payload. If you have specific requirements that are not covered by the adapter, please submit a feature request [here](https://github.com/nluxai/nlux/discussions) and we will consider adding it to the roadmap if enough users request it. ## Example: LangServe Adapter With Default Settings The example below shows how to use the `NLUX` LangServe adapter to connect to a LangServe API. * LangServe Runnable URL used: `https://pynlux.api.nlux.ai/pirate-speak` * Data transfor used: `stream` (default) ― Response is streamed to the UI as it's being generated. <CodeEditor files={{ 'App.tsx': exampleUrlFileAiChatBot, }} editorHeight={380} simulatedPrompt={'What\'s the best human food treats to feed a pirate parrot to keep him happy during long voyages at sea?'} />