Uma biblioteca NestJS para construir soluções eficientes, escaláveis e rápidas usando a API OpenAI Assistant (chatbots).
Comece o desenvolvimento do seu AI Assistant em menos de 15 minutos
Apresentando a biblioteca NestJS. Esteja você criando um assistente virtual ou um chatbot interativo para experiências envolventes do usuário, nossa biblioteca permite que você aproveite recursos de IA de ponta com o mínimo de esforço.
A biblioteca fornece terminais de API prontos para uso que gerenciam seu assistente e servidor WebSocket para comunicação em tempo real entre o cliente e o assistente. Instale a biblioteca e cole a configuração para executá-la.
Vídeo - Assistente de IA em 15 minutos
O repositório contém uma biblioteca, mas também fornece recursos adicionais. Você pode simplesmente clonar o repositório e usá-lo instantaneamente para obter todos os recursos:
Nesta seção, você aprenderá como integrar a biblioteca AI Assistant ao seu aplicativo NestJS. As etapas a seguir irão guiá-lo através do processo de configuração da biblioteca e criação de funcionalidades simples.
^20.0.0
)^10.0.0
)^10.0.0
)^4.51.0
)Abra ou crie seu aplicativo NestJS onde você gostaria de integrar o AI Assistant. Para criar um novo aplicativo NestJS, use o seguinte comando:
nest new project-name
Agora você tem que instalar os pacotes. Vá para a próxima etapa.
Certifique-se de estar no diretório raiz do seu projeto. Instale a biblioteca e o pacote openai
usando npm:
npm i @boldare/openai-assistant openai --save
A biblioteca está instalada mas temos que configurá-la. Vá para a próxima etapa.
Configure suas variáveis de ambiente, crie variáveis de ambiente no arquivo .env
no diretório raiz do projeto e preencha-o com os segredos necessários. O ID do assistente é opcional e serve como um identificador exclusivo para o seu assistente. Quando a variável de ambiente não estiver definida, o assistente será criado automaticamente. Você pode usar o ID do assistente para se conectar a um assistente existente, que pode ser encontrado na plataforma OpenAI após a criação de um assistente.
Crie um arquivo .env
no diretório raiz do seu projeto e preencha-o com os segredos necessários:
touch .env
Adicione o seguinte conteúdo ao arquivo .env
:
# OpenAI API Key
OPENAI_API_KEY =
# Assistant ID - leave it empty if you don't have an assistant to reuse
ASSISTANT_ID =
Observe que o arquivo .env
não deve ser enviado ao repositório. Adicione o arquivo .env
ao arquivo .gitignore
para evitar que ele seja confirmado.
Este foi o primeiro passo necessário para rodar a biblioteca. A próxima etapa é configurar o assistente.
A biblioteca fornece uma maneira de configurar o assistente com o método AssistantModule.forRoot
. O método usa um objeto de configuração como argumento. Crie um novo arquivo de configuração como em um arquivo de configuração de amostra (chat.config.ts) e preencha-o com a configuração necessária.
// chat.config.ts file
import { AssistantConfigParams } from '@boldare/openai-assistant' ;
import { AssistantCreateParams } from 'openai/resources/beta' ;
// Default OpenAI configuration
export const assistantParams : AssistantCreateParams = {
name : 'Your assistant name' ,
instructions : `You are a chatbot assistant. Speak briefly and clearly.` ,
tools : [ { type : 'file_search' } ] ,
model : 'gpt-4-turbo' ,
temperature : 0.05 ,
} ;
// Additional configuration for our assistant
export const assistantConfig : AssistantConfigParams = {
id : process . env [ 'ASSISTANT_ID' ] ,
params : assistantParams ,
filesDir : './apps/api/src/app/knowledge' ,
toolResources : {
file_search : {
// Provide files if you use file_search tool
fileNames : [ 'example1.txt' , 'example2.txt' ] ,
} ,
} ,
} ;
Mais detalhes sobre a configuração podem ser encontrados no wiki.
A partir de agora você pode executar seu aplicativo e ligar para o assistente.
A chamada de função permite estender os recursos do assistente com lógica personalizada. Se você não for usar chamada de função, você pode pular para: Etapa 5: Teste.
Crie um novo serviço que estenda a classe AgentBase
, preencha a definição e implemente o método output
.
output
é o método principal que será chamado quando a função for invocada pelo assistente.definition
é um objeto que descreve a função e seus parâmetros para que o assistente possa entender como chamá-la.Para obter mais informações sobre chamada de função, você pode consultar a documentação do OpenAI.
As instruções para criar uma função podem ser encontradas no wiki, enquanto exemplos podem ser encontrados no diretório de agentes.
Se você definiu uma função e o método de saída, agora você pode chamá-la do assistente apenas pedindo a ele para executar a ação descrita na definição da função.
Execute seu aplicativo e isso permitirá que você teste o assistente.
# use this if you are using the repository:
npm run start:dev
# if you are using your own NestJS application, please check the npm scripts in the package.json file
# defualt command for NestJS is:
npm run start
Então você pode testar o assistente.
/assistant/threads
com o objeto vazio no body ./assistant/chat
com o seguinte corpo: {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
com o mesmo corpo da etapa 2.Parabéns! Você integrou com sucesso a biblioteca AI Assistant ao seu aplicativo NestJS. ?
A documentação completa sobre como executar a demonstração com todos os aplicativos e bibliotecas do repositório pode ser encontrada no wiki.
Os engenheiros da Boldare estão aqui para ajudá-lo. Se você tiver alguma dúvida ou precisar de ajuda com a implementação, fique à vontade para agendar uma ligação com um de nossos engenheiros.
Saiba mais como a Boldare pode ajudá-lo no desenvolvimento de IA .
Você também pode fazer perguntas na seção Discussões do GitHub.
Gostaria de ver novos recursos na biblioteca?
@boldare/openai-assistant
e este repositório é licenciado pelo MIT