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.

37 lines (31 loc) 936 B
import {ChatAdapterOptions, StandardChatAdapter} from '@nlux/openai'; import {useEffect, useState} from 'react'; import {getAdapterBuilder} from './getAdapterBuilder'; export const useUnsafeChatAdapter = <AiMsg>( options: ChatAdapterOptions, ): StandardChatAdapter<AiMsg> => { const [isInitialized, setIsInitialized] = useState(false); const [adapter, setAdapter] = useState<StandardChatAdapter<AiMsg>>( getAdapterBuilder<AiMsg>(options).create(), ); const { apiKey, dataTransferMode, systemMessage, model, } = options || {}; useEffect(() => { if (!isInitialized) { setIsInitialized(true); return; } const newAdapter = getAdapterBuilder<AiMsg>(options).create(); setAdapter(newAdapter); }, [ apiKey, dataTransferMode, systemMessage, model, ]); return adapter; };