Page d'accueil>Lié à la programmation>Autre code source

Superplatform vise à redonner le pouvoir aux développeurs à l’ère de l’IA : hébergez vous-même votre propre plateforme d’IA !

Départ

Le moyen le plus simple d’exécuter Superplatform est d’utiliser Docker. Installez Docker si vous ne l'avez pas. Entrez dans la racine du dépôt et :

docker compose up

pour exécuter la plateforme au premier plan. Il s'arrête de fonctionner si vous faites Ctrl+C. Si vous souhaitez l'exécuter en arrière-plan :

docker compose up -d

En utilisant

Maintenant que la Superplatform est en cours d'exécution, vous disposez de quelques options pour interagir avec elle.

Interface utilisateur

Vous pouvez accéder à http://127.0.0.1:3901 et vous connecter avec singulatron du nom d'utilisateur et changeme de mot de passe et commencer à l'utiliser comme vous utiliseriez ChatGPT.

Cliquez sur le gros bouton "AI" et téléchargez d'abord un modèle. Ne vous inquiétez pas, ce modèle sera conservé lors des redémarrages (voir les volumes dans docker-compose.yaml).

Clientèle

Par souci de concision, l'exemple ci-dessous suppose que vous êtes allé dans l'interface utilisateur et que vous avez déjà téléchargé un modèle. (Cela pourrait aussi être fait avec les clients mais ce serait plus long).

Faisons une invite de synchronisation dans JS. Dans l'exécution de votre projet

npm i -s @superplatform/client

Assurez-vous que votre package.json contient "type": "module" , mettez l'extrait suivant dans index.js

 import { UserSvcApi , PromptSvcApi , Configuration } from "@superplatform/client" ;

async function testDrive ( ) {
  let userService = new UserSvcApi ( ) ;
  let loginResponse = await userService . login ( {
    request : {
      slug : "singulatron" ,
      password : "changeme" ,
    } ,
  } ) ;

  const promptSvc = new PromptSvcApi (
    new Configuration ( {
      apiKey : loginResponse . token ?. token ,
    } )
  ) ;

  let promptRsp = await promptSvc . addPrompt ( {
    request : {
      sync : true ,
      prompt : "Is a cat an animal? Just answer with yes or no please." ,
    } ,
  } ) ;

  console . log ( promptRsp ) ;
}

testDrive ( ) ;

et courir

$ node index.js 
{
  answer: ' Yes, a cat is an animal.n ' +
    ' n ' +
    ' But if you meant to ask whether cats are domesticated animals or pets, then the answer is also yes. Cats belong to the Felidae family and are common household pets around the world. They are often kept for companionship and to control rodent populations. ' ,
  prompt: undefined
}

En fonction de votre système, la réponse de l'IA peut prendre un certain temps. Si cela prend du temps, vérifiez les journaux du backend si le traitement est en cours, vous devriez voir quelque chose comme ceci :

superplatform-backend-1   | { " time " : " 2024-11-27T17:27:14.602762664Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :1, " totalResponses " :1}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:15.602328634Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :4, " totalResponses " :9}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:16.602428481Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :5, " totalResponses " :17}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:17.602586968Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :6, " totalResponses " :24}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:18.602583176Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :6, " totalResponses " :31}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:19.602576641Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :6, " totalResponses " :38}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:20.602284446Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :6, " totalResponses " :46}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:21.602178149Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :6, " totalResponses " :53}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:22.602470024Z " , " level " : " DEBUG " , " msg " : " LLM is streaming " , " promptId " : " prom_e3SA9bJV5u " , " responsesPerSecond " :6, " totalResponses " :61}
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:23.174054316Z " , " level " : " INFO " , " msg " : " Saving chat message " , " messageId " : " msg_e3SARBJAZe " }
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:23.175854857Z " , " level " : " DEBUG " , " msg " : " Event published " , " eventName " : " chatMessageAdded " }
superplatform-backend-1   | { " time " : " 2024-11-27T17:27:23.176260122Z " , " level " : " DEBUG " , " msg " : " Finished streaming LLM " , " error " : " <nil> " }

Contexte

Superplatform est une plate-forme de microservices qui m'est venue à l'esprit pour la première fois en 2013, alors que je travaillais pour un concurrent d'Uber appelé Hailo. J'ai mis l'idée de côté, pensant que quelqu'un d'autre finirait par la construire. Maintenant, avec le boom de l'IA et toutes les applications d'IA que nous sommes sur le point de déployer, j'ai réalisé que je devrais le construire moi-même puisque personne d'autre ne l'a fait.

Il s'agit d'un serveur et d'un écosystème qui vous permettent d'auto-héberger des modèles d'IA, de créer des applications qui exploitent ces modèles dans n'importe quelle langue et d'utiliser un backend commun basé sur des microservices conçu pour prendre en charge un large éventail de projets.

Cas d'utilisation principaux

Exécutez sur vos serveurs

Consultez cette page pour vous aider à démarrer.

Services

Voir https://superplatform.ai/docs/category/superplatform-api/

Exécutez sur votre ordinateur portable/PC

Nous avons temporairement interrompu la distribution de la version de bureau. Veuillez vous référer à cette page pour connaître les méthodes alternatives pour exécuter le logiciel.

Licence

Superplatform est sous licence AGPL-3.0.

Développer
Informations supplémentaires