ChatGPT API : drôles de réponses

a marqué ce sujet comme résolu.

Bonjour,

Y a-t-il des personnes qui ont testé l’API de ChatGPT ? J’essaie depuis plusieurs jours de lui envoyer des requêtes (en JAVA, via Http3) et j’ai finalement trouvé comment obtenir une réponse. Par contre, je suis désappointé car ce qu’il renvoie est très différent des réponses qu’il donne via le chat sur la page web.

Voici le code :

public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
            .url("https://api.openai.com/v1/engines/davinci/completions")
            .addHeader("Authorization", "Bearer <MY KEY>")
            .addHeader("Content-Type", "application/json")
            .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
            "{\"prompt\":\"What is the capital of France ?\",\"max_tokens\":100,\"temperature\":0.5}"))
            .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println(response.body().string());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Par exemple ici, quand je lui pose quelle est la capitale de la France, parfois il me donne la bonne réponse et parfois je reçois

"choices":[{"text":"\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n\nWhat is the capital of France ?\n","index":0,"logprobs":null,"finish_reason":"length"}

Bref il se contente de répéter la question.

Autres exemples : J’ai demandé "If 2x+1=0, how much is x ?" avec température 0 et il n’a pas trouvé J’ai demandé "how much is 12 + 3 ?" -> en température basse il se contente de répéter la question, par contre avec température = 0.8 ça donne "Three plus twelve is fifteen"

Ceci n’est qu’un échantillon des nombreux tests que j’ai réalisés.

En conclusion, parfois il répond bien, parfois mal, parfois à côté de la plaque, parfois il répète la question. Parfois augmenter le facteur température permet d’atteindre la bonne réponse, parfois c’est le contraire.

Moi j’aurais juste aimé qu’il réponde avec la même pertinence que sur le chat de la page web, avec la possibilité grâce à l’API de pouvoir lui passer des données plus volumineuses, ou d’automatiser certaines questions.

Quelqu’un a-t-il une idée de comment améliorer les résultats des réponses via l’API ?

Cordialement

Ecu

Essaye de rajouter "model": "text-davinci-003", au JSON que tu envoies.

Edit: Je n’avais pas vu, surtout utilise le point d’entré: https://api.openai.com/v1/completions plutôt que https://api.openai.com/v1/engines/davinci/completions

Ça suit la dépréciation du point d’entré que tu utilises: https://help.openai.com/en/articles/6283125-what-happened-to-engines

Ça donne ça en code:

public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
            .url("https://api.openai.com/v1/completions")
            .addHeader("Authorization", "Bearer <MY KEY>")
            .addHeader("Content-Type", "application/json")
            .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
            "{\"prompt\":\"What is the capital of France ?\",\"max_tokens\":100,\"temperature\":0.5, \"model\": \"text-davinci-003\"}"))
            .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println(response.body().string());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
+1 -0

@ache

Ecoute, merci beaucoup, ta réponse était à la fois rapide et pertinente. J’ai posé quelques questions sur base de ton code et les réponses me semblent correspondre avec celles fournies par le chat sur la page web.

Es-tu d’une manière ou d’une autre impliqué dans ce projet openAI ? Moi ça m’intéresse de creuser le sujet et toute information à ce propos est la bienvenue.

Remarque : j’avais demandé à chatGPT lui-même le code de l’API, mais vu qu’il est sorti en novembre, ça paraît logique qu’il ne connaisse pas les mises à jours ultérieures à cette date.

Ecu

Es-tu d’une manière ou d’une autre impliqué dans ce projet openAI ? Moi ça m’intéresse de creuser le sujet et toute information à ce propos est la bienvenue.

Désolé, absolument pas. J’ai juste vérifié dans la documentation, la signification du terme “temperature”.

La documentation est facilement accessible et c’est simple comme bonjour à utiliser alors j’ai fais un test rapidement. J’ai du coup remarqué que tu ne spécifiais pas model alors qu’il est sensé être obligatoire. Et j’ai essayé de comprendre pourquoi, puis j’ai remarqué que tu n’avais pas le même point d’entré.

API Reference ChatGPT: https://platform.openai.com/docs/api-reference/introduction

+2 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte