Estou trabalhando em um ambiente corporativo e usamos o Discourse como um quadro de discussões para dar suporte a uma plataforma de nuvem.
Queremos usar o plugin Discourse AI para vários casos de uso e até mesmo ter endpoints de IA internos compatíveis com o OpenAI.
O problema é que as requisições de saída para esses endpoints precisam incluir um cabeçalho de autenticação com um token oauth2 vindo de um endpoint de autenticação m2m interno que precisa ser recuperado antecipadamente.
Pensei em várias abordagens, como um proxy local na instância ec2 que hospeda o Discourse, que poderia enriquecer a requisição com essas informações de autenticação.
Outra abordagem é um gateway de API com uma função lambda de autorização obtendo o token.
O que não entendi até agora são as ferramentas que você pode adicionar dentro do próprio plugin Discourse AI.
Isso poderia ser usado para alcançar o que eu tenho em mente?
Muito obrigado pelo seu apoio e tenha um ótimo dia!
Geralmente não gostamos de adicionar muitas opções porque isso confunde as pessoas, mas entendo que isso é difícil de resolver agora, podemos precisar de outra opção.
Uma opção seria permitir que o compatível com a OpenAI tivesse uma seção de “cabeçalhos personalizados”.
As ferramentas não poderiam resolver isso facilmente porque isso criaria um fluxo de trabalho incrivelmente complexo e não temos a capacidade de passar facilmente todas as informações de que a ferramenta precisa.
obrigado pela sua resposta e pelas suas opiniões sobre isso.
Um campo para cabeçalhos personalizados não seria suficiente, pois o token precisa ser recuperado dinamicamente antes de cada chamada de API.
Talvez, em vez disso, um tipo de pipeline/middleware, onde alguém possa transmutar toda a chamada de saída com código próprio antes que ela seja enviada?
Imagino que se as ferramentas personalizadas viessem com riqueza suficiente, elas poderiam realizar isso… parece um pouco uma máquina de Rube Goldberg, mas imagine.
SE uma configuração com uma persona:
Forçar chamadas de ferramentas
Tiver uma ferramenta personalizada forçada e ela NÃO tiver parâmetros
ENTÃO não invocamos nenhum LLM e simplesmente passamos o controle para a ferramenta
ENTÃO damos à ferramenta infraestrutura suficiente para transmitir resultados de volta para o aplicativo por meio de inversão de controle de alguma forma
É uma quantidade de mudança bastante impressionante e acabaria sendo um urso absoluto para manter.
Imagino que uma alternativa seja você definir um novo plugin personalizado que dependa do Discourse-AI e defina seu próprio Dialeto e Endpoint - é certamente a maneira mais simples de fazer isso.
É muiiiiiito mais fácil resolver essa necessidade específica através de um proxy leve, como Nginx com scripting LUA, que acho que @Wurzelseppi ficará melhor servido seguindo esse caminho.
vocês são incríveis discutindo a necessidade de um usuário pequeno como eu com seriedade. Sempre fico impressionado com a dedicação de vocês, e falo sério (sem brincadeira )
Sim, como tudo roda em uma instância ec2 e eu já decidi seguir o caminho AWS API Gateway → Lambda → endpoint LLM …
Seria mais legal se fosse integrado ao Discourse, mas entendo a complexidade que isso traria, é claro …
Muito obrigado pelo seu tempo e pelo tempo que vocês dedicam para ajudar todos os usuários aqui!
Não consigo pensar em um software de fórum melhor, não apenas pela maturidade do software, mas também pelas pessoas que oferecem suporte.