Superplatform vise à redonner le pouvoir aux développeurs à l’ère de l’IA : hébergez vous-même votre propre plateforme d’IA !
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
Maintenant que la Superplatform est en cours d'exécution, vous disposez de quelques options pour interagir avec elle.
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).
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> " }
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.
Consultez cette page pour vous aider à démarrer.
Voir https://superplatform.ai/docs/category/superplatform-api/
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.
Superplatform est sous licence AGPL-3.0.