Je n'ai pas le temps de le maintenir et il a besoin d'un certain nombre de mises à niveau pour être prêts pour la production. Faites-moi savoir si vous êtes intéressé à prendre le contrôle de l'entretien.
Un cadre simple pour utiliser Llamaindex pour créer et déployer des agents LLM qui peuvent être utilisés pour analyser et manipuler les données texte à partir de documents.
Licence: MIT
La version initiale de Delphic est basée uniquement sur l'API d'OpenAI. Nous prévoyons pleinement de prendre en charge d'autres modèles de grande langue (LLM), qu'ils soient auto-hébergés ou alimentés par l'API tierce. À l'heure actuelle, cependant, en avril 2023, l'API de l'AI ouverte reste peut-être la plus compétente et la plus facile à déployer. Étant donné que ce cadre est basé sur Llamaindex et est entièrement compatible avec Langchain, il sera assez facile d'utiliser d'autres LLM. Pour le moment, cependant, votre texte sera traité avec OpenAI, même si vous hébergez cet outil. Si les conditions d'utilisation d'OpenAI vous présentent un problème, nous vous laissons cela pour résoudre. Nous ne sommes pas responsables de tout problème qui s'arrête à partir de votre utilisation de cet outil et de l'API OpenAI.
Le moyen le plus rapide de se présenter est de cloner ce dépôt, puis de déployer l'application localement.
Vous aurez besoin de Docker et Docker Compose pour suivre ces instructions. DigitalOcean, en plus d'être un excellent hôte cloud, a certaines des instructions les plus faciles à suivre pour les mettre en place. Veuillez les consulter ici ou aller aux instructions officielles de Docker.
git clone
cd delphic
mkdir -p ./.envs/.local/
cp -a ./docs/sample_envs/local/.frontend ./frontend
cp -a ./docs/sample_envs/local/.django ./.envs/.local
cp -a ./docs/sample_envs/local/.postgres ./.envs/.local
Et, mettez ensuite à jour votre configuration .django (vous voudrez probablement également modifier .postgres
pour donner à votre utilisateur de la base de données un mot de passe unique) pour inclure votre touche API OpenAI
Ensuite, construisez les images Docker:
sudo docker-compose --profile fullstack -f local.yml build
sudo docker-compose --profile fullstack -f local.yml up
Allez à localhost:3000
pour voir le frontend.
Si vous souhaitez développer activement le frontend, nous vous suggérons de ne pas utiliser le drapeau --profile=fullstack
car chaque changement nécessitera une reconstruction complète de conteneurs. Au lieu de cela, voyez l'environnement de développement au lieu de l'étape # 5 ci-dessus,
Cela suppose que vous souhaitez mettre l'application à la disposition d'Internet dans une sorte de domaine entièrement qualifié comme Delphic.OpenSource.legal. Pour ce faire, vous devez mettre à jour quelques configurations.
TODO - INSERT DOCUMENT
Afin d'utiliser réellement l'application (pour le moment, nous avons l'intention de permettre de partager certains modèles avec des utilisateurs non authentifiés), vous avez besoin d'une connexion. Vous pouvez utiliser un superutilisateur ou un non-superuser. Dans les deux cas, quelqu'un doit d'abord créer un superutilisateur à l'aide de la console:
Pourquoi configurer un superutilisateur Django? Un superutilisateur Django a toutes les autorisations de l'application et peut gérer tous les aspects du système, y compris la création, la modification et la suppression des utilisateurs, des collections et d'autres données. La configuration d'un superutilisateur vous permet de contrôler et de gérer entièrement l'application.
** Pour le moment, tout utilisateur connecté aura des autorisations complètes. Nous prévoyons de mettre en œuvre le module de contrôle d'accès plus précis et basé sur les rôles que nous avons développé pour OpenContracts, mais, pour l'instant, sachez que toute personne ayant un type d'identification de connexion peut créer et supprimer des collections. La création de collections utilise des crédits Openai / coûte de l'argent
sudo docker-compose -f local.yml run django python manage.py createsuperuser
Démarrez votre application Delphic localement en suivant les instructions de déploiement.
AVERTISSEMENT - Si vous utilisez OpenAI comme moteur LLM, toute interaction de collecte utilisera les crédits API / coût de l'argent. Si vous utilisez votre propre clé API OpenAI, vous avez également accepté leurs conditions d'utilisation qui peuvent ne pas convenir à votre cas d'utilisation. Veuillez faire votre propre diligence.
Pour accéder à l'interface de réponse aux questions, affichez le Fullstack et allez sur http://localhost:3000
Si vous souhaitez contribuer à Delphic ou laver votre propre version, vous voudrez vous assurer de configurer l'environnement de développement.
Sur le backend, vous devrez avoir un environnement Python fonctionnel pour exécuter les vérifications de formatage pré-engagement. Vous pouvez utiliser votre interprète System Python, mais nous vous recommandons d'utiliser PYENV et de créer un Env virtuel basé sur Python> = 3.10.
Ensuite, à la racine de votre référentiel local, exécutez ces commandes:
pip install -r ./requirements/local.txt
pre-commit install
Maintenant, lorsque vous mettez en scène vos commits, le formatage du code OU AR et les vérifications de style s'exécuteront automatiquement.
Nous avons une suite de test de base en ./tests
. Vous pouvez exécuter les tests en tapant:
sudo docker-compose -f local.yml run django python manage.py test
Sur le frontend, nous utilisons le nœud v18.15.0. Nous supposons que vous utilisez NVM. Nous n'avons pas encore de tests de frontend (désolé).
CD dans le répertoire Frontend, installez vos dépendances Frontend et démarrez un serveur de développement ( Remarque, nous supposons que NVM est installé. Si vous ne l'installez pas maintenant ):
cd frontend
nvm use
npm install yarn
yarn install
yarn start
Taping affichera votre serveur de développement Frontend sur http://localhost:3000
. Vous devez toujours lancer le backend pour qu'il fonctionne correctement.
fullstack
Lancez le backend sans le drapeau de Fullstack:
sudo docker-compose -f local.yml up