Compréhension des modèles linguistiques à grande échelle de Baidu Qianfan

Wenxin Yiyan : Produit central de la série de grands modèles de Baidu Qianfan, il s'agit d'un modèle de langage ultra-grand échelle développé indépendamment par Baidu.

ERNIE Bot : Une série d'applications et de services d'IA basés sur Wenxin Yiyan.

Caractéristiques techniques

  • Grande quantité de paramètres : Capacité solide de compréhension et de génération de langage.
  • Support multimodal : Traite diverses modalités telles que texte, image et audio.
  • Optimisation continue : Amélioration continue des performances grâce à l'entraînement et l'optimisation.

Applications

  • Service client intelligent : Capacité de dialogue naturel.
  • Création de contenu : Assistance à la rédaction d'articles et de textes publicitaires.
  • Questions-réponses : Répondre à des questions dans divers domaines.
  • Génération de code : Création de code à partir de descriptions en langage naturel.

Avantages techniques

  • Forte capacité de traitement du chinois : Optimisé spécifiquement pour le contexte chinois.
  • Intégration industrielle : Intégration profonde avec les produits comme Baidu Recherche et Baidu Carte.
  • Plateforme ouverte : Fournit des interfaces API pour les développeurs.

Description des modèles

Modèle Description
ERNIE-4.0-8K Modèle de langage ultra-grand échelle développé indépendamment par Baidu, amélioré par rapport à ERNIE 3.5, adapté à divers scénarios complexes ; supporte l'intégration automatique avec les plugins de recherche Baidu pour garantir la pertinence des informations.
ERNIE-4.0-8K-Preview Version préliminaire du modèle ERNIE-4.0-8K, identique aux caractéristiques du modèle principal.
ERNIE-4.0-8K-Latest Améliorations globales par rapport à ERNIE-4.0-8K, notamment dans les capacités de rôle et de suivi des instructions ; supporte 5K tokens d'entrée + 2K tokens de sortie.
ERNIE-4.0-8K-0613 Version publiée le 13 juin 2024, incluant les améliorations en traitement d'informations, capacité de codage, questions-réponses et conversations multi-tours.
ERNIE-4.0-Turbo-8K Modèle ultra-grand échelle de Baidu, performant dans divers scénarios complexes ; supérieur à ERNIE 4.0 en termes de performance.
ERNIE-4.0-Turbo-8K-Preview Version préliminaire du modèle ERNIE-4.0-Turbo-8K.
ERNIE-4.0-Turbo-8K-Latest Améliorations par rapport à ERNIE-4.0-Turbo-8K, version finale.
ERNIE-4.0-Turbo-8K-0628 Version publiée le 28 juin 2024, optimisée pour la performence.
ERNIE-4.0-Turbo-128K Version avec une fenêtre contextuelle de 128K tokens, améliorée par rapport au modèle ERNIE-4.0.
ERNIE-3.5-8K Modèle de grande échelle de Baidu, couvrant un vaste corpus anglais et chinois, avec une forte capacité générale, adapté à la plupart des scénarios de dialogue, de génération de contenu et d'utilisation de plugins.
ERNIE-3.5-8K-Preview Version préliminaire du modèle ERNIE-3.5-8K.
ERNIE-3.5-128K Version avec une fenêtre contextuelle de 128K tokens, publiée le 16 mai 2024.
ERNIE-3.5-128K-Preview Version préliminaire du modèle ERNIE-3.5-128K.
ERNIE-3.5-8K-0613 Version publiée le 13 juin 2024, améliorée dans le traitement des informations, la génération de code, les questions-réponses et les conversations.
ERNIE-3.5-8K-0701 Version publiée le 1er juillet 2024, avec des améliorations significatives en calcul mathématique et raisonnement logique.
ERNIE-Speed-Pro-128K Nouveau modèle de grande échelle développé par Baidu en 2024, optimisé pour les tâches spécifiques, supporte une longueur contextuelle de 128K.
ERNIE-Speed-8K Modèle de grande échelle publié en février 2024, supporte une longueur contextuelle de 8K.
ERNIE-Speed-128K Version publiée le 14 mars 2024, supporte une longueur contextuelle de 128K.
ERNIE-Character-8K Modèle spécialisé pour des scénarios spécifiques, idéal pour les personnages de jeu, les dialogues clients et les rôles.
ERNIE-Character-Fiction-8K Version adaptée pour les scénarios fictifs.
ERNIE-Character-Fiction-8K-Preview Version préliminaire publiée le 28 octobre 2024, améliorée en capacité de rôle et en créativité narrative.
ERNIE-Lite-8K Modèle léger, équilibrant qualité et performance, adapté aux cartes d'accélération IA à faible puissance.
ERNIE-Lite-8K-0725 Version publiée le 25 juillet 2023, supporte une longueur contextuelle de 8K.
ERNIE-Lite-4K-0704 Version publiée le 4 juillet 2023, supporte une longueur contextuelle de 4K.
ERNIE-Lite-4K-0516 Version enitiale publiée le 16 mai 2023, supporte une longueur contextuelle de 4K.
ERNIE-Lite-128K-0419 Version publiée le 19 avril 2024, supporte une longueur contextuelle de 128K.
ERNIE-Lite-128K-0722 Version publiée le 22 juillet 2024, supporte une longueur contextuelle de 128K.
ERNIE-Lite-Pro-128K Version améliorée de ERNIE-Lite, optimisée pour une meilleure performance.
ERNIE-Functions-8K-0321 Modèle spécialisé pour les scénarios de dialogue nécessitant l'utilisation d'outils externes.
ERNIE-Tiny-8K Modèle ultra-performant de Baidu, avec le coût de déploiement et d'ajustement le plus faible de la série Wenxin.
ERNIE-Tiny-128K-0929 Version publiée le 29 septembre 2024, supporte une longueur contextuelle de 128K.
ERNIE-Novel-8K Modèle général de Baidu, excellent dans la génération de romans, aussi applicable à des scénarios de courtes séries ou films.
Qianfan-Agent-Speed-8K Modèle dédié pour les agents, optimisé pour les applications d'entreprise, supporte une longueur contextuelle de 8K.
Qianfan-Agent-Speed-32K Version supportant une longueur contextuelle de 32K.
Qianfan-Agent-Lite-8K Version légère pour les agents, supporte une longueur contextuelle de 8K.
Gemma-2B-it Modèle léger open source développé par Google, adapté aux tâches de génération de texte sur des dispositifs à ressources limitées.
Mistral-7B-Instruct Modèle de 7 milliards de paramètres développé par Mistral AI, performant en raisonnement et moins exigeant en ressources matérielles.
Meta-Llama-3-8B-Instruct Modèle de 8 milliards de paramètres de la série Meta Llama 3, performant dans les tâches complexes de langage et de traduction.
Meta-Llama-3-70B-Instruct Modèle de 70 milliards de paramètres, excellent en compréhension de langage et en exécution de tâches complexes.
Qianfan-Chinese-Llama-2-7B-32K Version améliorée du modèle Qianfan-Chinese-Llama-2-7B, supporte une longueur contextuelle de 32K.
Qianfan-Chinese-Llama-2-13B-v2 Modèle pré-entraîné de 13 milliards de paramètres, supporte le chinois et l'anglais, avec une fenêtre contextuelle de 4K.
Qianfan-Chinese-Llama-2-13B-v1 Version améliorée en chinois basée sur Llama-2-13b.
Qianfan-Llama-2-70B-compressed Version compressée du modèle Llama-2-70B, utilisant des techniques de quantification et de compression.
Linly-Chinese-LLaMA-2-7B Version chinoise améliorée du Llama-2 7b.
Linly-Chinese-LLaMA-2-13B Version chinoise améliorée du Llama-2 13b.
Qianfan-Chinese-Llama-2-1.3B Modèle pré-entraîné de 1,3 milliard de paramètres, supporte le chinois et l'anglais, avec une fenêtre contextuelle de 4K.
ChatGLM3-6B-32K Modèle de dialogue bilingue chinois/anglais, amélioré pour la compréhension des textes longs, supporte jusqu'à 32K de contexte.
ChatGLM3-6B Modèle de dialogue bilingue chinois/anglais, supporte l'appel de fonctions et l'exécution de code.
ChatGLM2-6B Modèle de dialogue bilingue chinois/anglais, avec une excellente performance de raisonnement et une longueur contextuelle étendue.
ChatGLM2-6B-INT4 Version quantifiée à 4 bits, supporte une longueur de dialogue de 8K avec 6Go de VRAM.
Baichuan2-7B-Chat Modèle de grande échelle open source de Baichuan Intelligence, entraîné sur 2,6 trillions de tokens.
Baichuan2-13B-Chat Version de 13 milliards de paramètres du modèle Baichuan2.
XVERSE-13B-Chat Modèle multilingue de 13 milliards de paramètres, supporte 8K de contexte et plus de 40 langues.
DISC-MedLLM Modèle médical spécialisé conçu pour les scénarios de conversation dans le domaine de la santé, développé par le laboratoire Fudan-DISC.
Falcon-7B Modèle de 1500 milliards de tokens, optimisé pour les tâches de dialogue complexes.
Falcon-40B-Instruct Modèle optimisé pour les tâches de raisonnement complexe.
RWKV-4-World Modèle hybride combinant Transformer et RNN, entraîné sur plus de 100 langues.
RWKV-4-pile-14B Modèle causal entraîné sur le dataset Pile.
RWKV-Raven-14B Version optimisée pour les dialogues, entraînée sur Alpaca et CodeAlpaca.
OpenLLaMA-7B Modèle basé sur Llama, optimisé pour un large éventail de vocabulaire et de tokens.
Dolly-12B Modèle de grande échelle suivant des instructions, entraîné sur environ 15k paires instruction/réponse.
MPT-7B-Instruct Modèle court de suivi d'instructions, optimisé sur des jeux de données spécifiques.
MPT-30B-instruct Version améliorée de MPT-7B-Instruct.
OA-Pythia-12B-SFT-4 Modèle de la quatrième itération SFT de Open-Assistant, entraîné sur des données de feedback humain.

Utilisation du SDK Java

Installation du SDK Java

Prérequis : Java 8 ou version ultérieure.

Maven :

<dependency>
    <groupId>com.openai</groupId>
    <artifactId>openai-java</artifactId>
    <version>0.22.0</version>
</dependency>

Exemple d'appel

Non-flux

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatCompletion;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatCompletionUserMessageParam;

public class Main {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                .apiKey("votre_cle_api")
                .baseUrl("https://qianfan.baidubce.com/v2/")
                .build();

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                .addUserMessage("Bonjour")
                .model("ernie-tiny-8k")
                .build();

        ChatCompletion chatCompletion = client.chat().completions().create(params);
        System.out.println(chatCompletion.choices().get(0).message().content());
    }
}

Flux

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.http.StreamResponse;
import com.openai.models.ChatCompletionChunk;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatCompletionUserMessageParam;

import java.util.function.Consumer;

public class Main {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                .apiKey("votre_cle_api")
                .baseUrl("https://qianfan.baidubce.com/v2/")
                .build();

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                .addUserMessage("Bonjour")
                .model("ernie-tiny-8k")
                .build();

        StreamResponse<ChatCompletionChunk> chatCompletion = client.chat().completions().createStreaming(params);
        Consumer<ChatCompletionChunk> consumer = s -> System.out.println(s.choices().get(0).delta().content());
        chatCompletion.stream().forEach(consumer);
    }
}

Paramètres personnalisés

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.JsonValue;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatCompletion;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                .apiKey("votre_cle_api")
                .baseUrl("https://qianfan.baidubce.com/v2/")
                .build();

        Map<String, String> safetyMap = new HashMap<>();
        safetyMap.put("input_level", "standard");

        Map<String, Boolean> websearchMap = new HashMap<>();
        websearchMap.put("enable", true);
        websearchMap.put("enable_trace", true);

        Map<String, Map<String, String>> extraDataMap = new HashMap<>();
        extraDataMap.put("safety", safetyMap);

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                .addUserMessage("Quel temps fait-il à Shanghai aujourd'hui?")
                .model("ernie-3.5-8k")
                .putAdditionalBodyProperty("safety", JsonValue.from(safetyMap))
                .putAdditionalBodyProperty("web_search", JsonValue.from(websearchMap))
                .putAdditionalHeader("appid", "app-xxxxxxxx")
                .build();

        ChatCompletion chatCompletion = client.chat().completions().create(params);
        System.out.println(chatCompletion.choices().get(0).message().content());
    }
}

Étiquettes: modèle de langage Baidu Qianfan ERNIE Java SDK API

Publié le 4 septembre à 02h30