Skip to content

OpenAI Integration

André da Silva Freitas edited this page Jun 5, 2023 · 1 revision

Prompt

O endpoint /prompt permite enviar uma consulta para o BugSearchBot, que usará o serviço OpenAI para gerar uma resposta adequada com base na consulta fornecida.

URL

GET /prompt

Parâmetros de consulta

Parâmetro Tipo Descrição
q string A consulta para o BugSearchBot.

Resposta

A resposta será uma string contendo a resposta gerada pelo BugSearchBot com base na consulta fornecida.

Exemplos

Requisição

GET /prompt?q=Como posso pesquisar bugs no sistema?

Resposta

200 OK
Content-Type: text/plain

A resposta do BugSearchBot para a consulta "Como posso pesquisar bugs no sistema?".

Integração com o serviço OpenAI

O serviço OpenAI é usado pelo BugSearchBot para gerar respostas com base nas consultas enviadas. O serviço é acessado através da URL https://api.openai.com/v1/chat/completions e requer uma chave de autenticação fornecida como um cabeçalho Authorization.

A classe OpenAI no namespace BugSearch.Api.Services é responsável por interagir com o serviço OpenAI. Ela possui um método estático PromptSearch que envia a consulta para o serviço e retorna a resposta gerada.

Para usar o serviço OpenAI, você precisa definir a variável de ambiente OPENAI_KEY com a chave de autenticação. Certifique-se de que essa variável de ambiente esteja configurada corretamente no ambiente em que o aplicativo está sendo executado.

Além disso, a classe PromptController no namespace BugSearch.Api.Controllers é responsável por lidar com as requisições HTTP para o endpoint /prompt. Ela chama o método PromptSearch da classe OpenAI para obter a resposta e retorna a resposta para o cliente.

Exemplo de código

Aqui está um exemplo de código que mostra como chamar o endpoint /prompt e obter a resposta usando o serviço OpenAI:

using System;
using System.Net.Http;
using System.Threading.Tasks;

public class BugSearchClient
{
    private static readonly HttpClient client = new HttpClient();

    public async Task<string> GetPromptResponse(string query)
    {
        try
        {
            string url = $"https://your-bugsearch-api.com/prompt?q={query}";
            var response = await client.GetAsync(url);
            var responseContent = await response.Content.ReadAsStringAsync();

            if (!response.IsSuccessStatusCode)
            {
                // Tratar erros de resposta aqui, se necessário
                return string.Empty;
            }

            return responseContent;
        }
        catch (Exception ex)
        {
            // Tratar exceções aqui, se necessário
            return string.Empty;
        }
    }
}

Neste exemplo, substitua https://your-bugsearch-api.com pela URL do seu próprio serviço BugSearch.

Certifique-se de tratar adequadamente erros e exceções no seu código, além de realizar validações e verificações necessárias para garantir a segurança e o bom funcionamento do seu serviço.

BugSearch drawio

BugSearch V2

Repo UI

Interface gráfica feita em flutter https://github.com/1mrschneider/bug_search_ui

Repo V1

Projeto depreciado desenvolvido com typescript https://github.com/andrrff/ifma-webcrawler

Clone this wiki locally