Neste modelo eu criei uma interface AI básica com recursos de plugins externos; Uma interface AI_Contracts permite a interface com a IA; Implementar a Interface e colocar a DLL compilada na pasta APPPlugins permite que o AI_Interface descubra e chame o plugin obtendo uma resposta a ser retornada ao usuário; O projeto foi concebido em 4 etapas; Cada etapa ou marco permite que o desenvolvimento e extensão do Chatbot se torne um produto enriquecido e digno de lançamento público;
Aqui a interface recebe um design básico para entrada e saída via texto; Manter histórico do CHAT; esta interface permite o teste básico da interface; Um avatar não foi adicionado; isso também se deve ao fato de o avatar não ser essencial, mas sim cosmético; Na primeira etapa focamos principalmente na produção de uma interface funcional;
Este é o mecanismo onde permitiremos ao USUÁRIO desenhar scripts que possam ser executados pela IA; Na fase inicial; Fornecer o mecanismo é o foco principal. a interface inicial usada fornece apenas a estrutura da classe necessária a ser implementada; a função do usuário será chamada pelo script principal para todos os objetos deste tipo encontrados no local especificado. isso permite ampla extensibilidade. Aqui também está um ponto sobre quais extensões e funções internas ou uma estrutura de IA podem ser fornecidas ao usuário para uso como scripts auxiliares.
Na primeira versão do AI, um plugin de amostra também será criado para permitir o teste da interface. SAMPLE_PLUGIN isso também fornecerá um modelo para posterior criação de plugins; ###Nota: Pequeno BUG!!!!! AI_Contracts.Dll precisa ser implantado na pasta Plugins ao lado do plugin? Referência relativa para separação de plugins. Quando o plugin estava na mesma pasta do aplicativo, o aplicativo tentava continuar lendo e travando, então o foler separado era necessário; o MAN EXE também precisa acessar a DLL AI_Contacts SO...
Implantação dupla!
Nesta fase criamos uma função de memória interna, disponibilizando uma base de dados de perguntas e respostas. aqui, respostas simples no estilo de perguntas e respostas podem ser criadas, fornecendo um ponto de partida para os usuários do aplicativo. Embora existam implementações onde cada turno é salvo no banco de dados. nesta iteração opta-se por ser mais focado em um Método SUPERVISIONADO. Um editor de banco de dados precisará ser fornecido. No entanto, isto será fornecido numa fase posterior; A ordem de execução será PLUGINS primeiro e depois perguntas e respostas, permitindo a priorização da descoberta de respostas. Uma resposta alternativa também será necessária para lidar com qualquer momento em que a IA não tenha resposta;
Uma máquina de estados pode fornecer um mecanismo para manter estados emocionais; Nesta iteração foi utilizada uma interface para fornecer uma estrutura para objetos de estado emocional; Cada estado é carregado no Handler; As emoções são detectadas a cada volta do Script, ajustando as emoções atualmente mantidas de forma positiva e negativa, permitindo a intensificação das emoções. Aqui, uma resposta genérica é dada à medida que o estado emocional muda. outras formas de Estado também podem ser transportadas de um lado para o outro através da utilização de uma máquina estatal; Os métodos de programação anteriores frequentemente utilizavam "variáveis itinerantes", mas frequentemente substituíam estado a estado por valores de quociente finito para distorção emocional. Ou seja, feliz = 0,78, TAS 0,23; esta técnica não permite intensidade de emoção; a intensidade da emoção aumenta, ou seja: a felicidade aumenta se a felicidade for detectada no próximo turno; mas reduzido se a próxima emoção for simplesmente neutra. até que o nível de intensidade seja reduzido para o valor 0, que pode mudar o estado para Neutro.
A capacidade de codificar e compilar o plugin pode ser fornecida pela interface do chatbot; aqui forneci uma interface com guias para a criação de plug-ins. O modelo que implementamos no estágio 1 é usado para fornecer um exemplo de script inicial para o usuário editar e expandir. SALVAR SCRIPT E COMPILAR SCRIPT são fornecidos;
Um editor de dados para editar os arquivos de perguntas e respostas também é criado para cada tabela.
Aqui iremos refatorar o código, organizando e estendendo a funcionalidade para a estrutura UserScripting. O processo de refatoração e comentários permite posterior edição e refinamento da aplicação; bem como proporcionar compreensão ao usuário;
A fala também será necessária para fornecer uma interface de usuário rica, embora o reconhecimento de fala tenha melhorado com o tempo; Será adicionado principalmente para Speech out.
Algumas melhorias gráficas e temas serão adicionados ao APP: (Talvez LCARS _ Star trek Design!)
Para implantação e acesso centralizado do Componente AI_Contracts: Também foi decidido centralizar a Biblioteca com NUGET como SpydazWb.AI.Contracts ; Isso permite que atualizações adicionais sejam centralizadas para a criação de plugins e entrega ideal: Neste ponto, o AI_Contracts SourceCode também foi removido do Projeto e ADICIONADO como um conjunto de referência NUGET; O Projeto AI_Contracts agora pode ser desenvolvido separadamente da UI e dos Plugins; Os plug-ins também podem ser implantados como pacotes Nuget em uma fonte centralizada separada do Nuget; ou seja, site centralizado!