Le couteau Swiss Army propulsé par Chatgpt pour le développeur moderne! Nous fournissons un wrapper CLI git propulsé par AI, un générateur de code de chaudron, un moteur de recherche de code, un gestionnaire d'historique de conversation et bien plus encore!

Condition préalable:
chat with documents . brew tap mindflowai/homebrew-mindflow && brew install mindflow
pip install mindflow
pip install -e path/to/mindflow
mf login : Configurez le modèle utilisé pour générer des réponses en exécutant mf config et en sélectionnant GPT 3.5 Turbo (par défaut) ou GPT 4. Afin d'utiliser GPT 4, vous devrez avoir un accès spécial à l'API. Si vous avez accès, vous pouvez exécuter mf config et sélectionner GPT 4. Si vous n'en avez pas accès, vous obtiendrez un message d'erreur.
Il y a plusieurs niveaux à utiliser la fonction de chat de Mindflow.
mf chat "explain what a programming language is"mf chat path/to/code.py "please summarize what this code does"mf chat . Pour des fichiers suffisamment petits (voir: limites de jetons Chatgpt), cela fonctionnera et maintiendra également l'historique du chat.mf chat path/to/submodule1/ path/to/submodule2/ "what are these submodules responsible for?"mf index path/to/subdir/file1.txt path/to/file2.txtmf chat -s ./ "How do all of my classes relate to one another?"-s sautera l'indexation automatique et sera à la place à l'indice existant existant. Cet index est généré dans l' mf index de première étape où seuls ces fichiers / sous-didures seront inclus. Vous pouvez utiliser Mindflow pour générer du code de chauffeur en un instant en utilisant mf gen ! Il ne devrait générer du code et des commentaires et enregistrera le fichier dans le chemin donné.
Voici quelques exemples:
mf gen setup.py "write me a setup.py file for my python package 'foobar'"mf gen main.py "write me a python script with a main if block that prints the first 10 fibonacci numbers"Par défaut, les messages de chat simples (lors de la référence aucun fichier ou de très petits fichiers) seront stockés localement afin que vous puissiez conserver la persistance du chat.
Pour voir les statistiques sur votre historique de chat, vous pouvez exécuter mf history stats .
Si vous souhaitez effacer l'historique de votre chat, vous pouvez exécuter mf history clear et cela oubliera tous les messages précédents que vous avez envoyés.
Si vous essayez d'ajouter des répertoires à vos messages de chat, la persistance du chat sera désactivée et aucun contexte précédent ne sera utilisé. Cela changera à mesure que Mindflow mûra, et l'API OpenAI prend en charge plus de niveaux de jeton / histoires de conversation nativement.
Remarque: les résumés GIT Diff ne soutiennent pas encore la persistance du chat.
Apportez quelques modifications à votre dépôt git sans les stadifier / les engager. Ensuite, exécutez mf diff ! Vous devriez obtenir une réponse qui ressemble à ceci:
`mindflow/commands/diff.py` changes:
- Added import statement for `List` and `Tuple` from the `typing` module.
- Added a function `parse_git_diff` that takes in the output of a `git diff` command and returns a list of tuples containing the file name and the diff content.
- Added a function `batch_git_diffs` that takes in the list of tuples returned by `parse_git_diff` and batches them into smaller chunks of diffs that are less than 3000 characters long.
- Modified the `diff` function to use the new `parse_git_diff` and `batch_git_diffs` functions to batch the diffs and send them to the GPT model for processing.
`mindflow/commands/inspect.py` changes:
- Removed the `print` statement used to output the result of a database query. The git diff shows changes in two files: `mindflow/commands/diff.py` and `mindflow/commands/inspect.py`.
`mindflow/commands/diff.py` changes:
- Added import statement for `List` and `Tuple` from the `typing` module.
- Added a function `parse_git_diff` that takes in the output of a `git diff` command and returns a list of tuples containing the file name and the diff content.
- Added a function `batch_git_diffs` that takes in the list of tuples returned by `parse_git_diff` and batches them into smaller chunks of diffs that are less than 3000 characters long.
- Modified the `diff` function to use the new `parse_git_diff` and `batch_git_diffs` functions to batch the diffs and send them to the GPT model for processing.
`mindflow/commands/inspect.py` changes:
- Removed the `print` statement used to output the result of a database query.
Apportez quelques modifications à votre répension GIT et mettez-les en scène. Ensuite, exécutez mf commit ! Vous devriez obtenir une réponse qui ressemble à ceci:
[formatting 7770179] Add needs_push() function and check in run_pr() function.
1 file changed, 14 insertions(+)
Apportez des modifications à votre branche et à votre scène, puis commettez-les. Ensuite, exécutez mf pr pour GitHub ou mf mr pour GitLab! Une demande de demande / fusion doit être créée avec un titre et un corps généré par GPT, et un lien vers le PR doit être imprimé à la console.



Mindflow utilise des méthodes de pointe pour la segmentation, le traitement, le stockage et la récupération des documents à l'aide d'un résumé hiérarchique récursif et une technique d'intégration pour stocker des vecteurs d'intégration pour des morceaux de documents, puis d'obtenir des réponses rapides et de haute qualité aux questions et aux tâches par apprentissage des documents similaires basés sur le texte effrayé par le texte et de l'utilisation du contexte. De plus, l'historique du chat persistera s'il peut s'adapter au contexte des requêtes sur des documents indexés ou pour un chat régulier.
À l'avenir, Mindflow prévoit de devenir une partie encore plus intégrale de la boîte à outils du développeur moderne. Nous prévoyons d'ajouter la possibilité d'abandonner la documentation traditionnelle et de nous intégrer directement à vos documents privés et canaux de communication, permettant une expérience plus transparente et intuitive. Avec Mindflow, vous pouvez avoir un véritable "flux de conscience" avec votre code, votre documentation et vos canaux de communication, ce qui facilite le fait de rester au courant de vos projets et de collaborer avec votre équipe. Nous sommes ravis de continuer à repousser les limites de ce qui est possible avec les modèles de langue et de révolutionner le fonctionnement des développeurs.