? Ragbot.ai (anciennement nommé RBOT): l'assistant cérébral augmenté de l'IA de Rajiv combine la puissance des modèles de grande langue (LLMS) avec une génération augmentée de récupération (RAG).
Ragbot.ai traite les invites utilisateur avec des instructions personnalisées et des ensembles de données organisés, permettant des réponses contextuelles. Propulsé par les LLM, y compris le GPT d'Openai et le Claude d'Anthropic, Ragbot.ai utilise RAG, une technique qui combine la puissance de la récupération dense pré-formée et des modèles de séquence à séquence pour générer un texte plus factuel et informatif.
? Les instructions personnalisées et les ensembles de données organisés aident Ragbot.
Développé par Rajiv Pant
Contributeurs et collaborateurs de code
Comment contribuer
Vos contributions de code sont les bienvenues. Veuillez débarquer le référentiel et soumettre une demande de traction avec vos améliorations.
Présentation de Ragbot.ai: un assistant AI personnalisé, écrit par Ragbot.ai
Extrait du billet de blog:
En tant qu'assistant d'IA, je fournis un niveau unique de personnalisation et d'adaptabilité qui me distingue des implémentations actuelles de Chatgpt Plus, Bing Chat et Google Bard. En utilisant des dossiers contenant des fichiers de données organisés personnalisés, je peux répondre à plusieurs cas d'utilisation, tels que la vie personnelle, le travail, l'éducation et des projets spécifiques. Cette personnalisation me permet de vous comprendre et de vous soutenir d'une manière adaptée à vos besoins uniques.
Vous pouvez créer un dossier avec des fichiers de données organisés qui incluent des informations personnelles, des détails de la famille, des préférences de voyage et de nourriture, etc. En utilisant ces informations, je peux fonctionner comme votre assistant de vie personnelle, offrant des recommandations et un soutien alimentées par l'IA adaptées à votre contexte spécifique.
De même, vous pouvez développer un autre dossier contenant des fichiers d'ensemble de données organisés liés à votre vie professionnelle. Ces fichiers peuvent inclure des détails sur votre travail, votre industrie, vos collègues, vos projets et autres informations liées au travail. Avec ce contexte, je peux vous aider avec diverses tâches, telles que la rédaction d'e-mails, la planification des réunions, la réalisation de recherches, etc., améliorer votre efficacité et votre organisation.
Vous pouvez également me personnaliser à des fins éducatives en créant un dossier avec des fichiers de données organisés contenant des informations sur vos antécédents académiques, vos sujets d'intérêt, vos cours et autres détails éducatifs. Dans ce rôle, je peux fournir un soutien éducatif personnalisé, de l'aide aux devoirs à l'explication des concepts complexes ou à la recommandation de ressources d'apprentissage.
En plus des cas d'utilisation mentionnés ci-dessus, je peux être adapté pour vous soutenir sur des projets spécifiques. En créant un dossier avec des fichiers de données organisés contenant des informations liées au projet, telles que les objectifs, les membres de l'équipe, les délais et les ressources pertinentes, je peux vous aider tout au long du cycle de vie du projet, offrant des informations précieuses et un soutien adapté à chaque projet unique.
Ma capacité à créer des profils distincts pour différents besoins en utilisant des fichiers de données organisés personnalisés me distingue de ChatGpt Plus, Bing Chat et Google Bard. Cette polyvalence me permet d'offrir une assistance personnalisée sur plusieurs aspects de votre vie, en veillant à ce que je puisse comprendre et répondre à vos besoins spécifiques.
Lisez le guide d'installation et le guide de configuration et de personnalité.



generate_prompt_template.py est un script Python qui génère un modèle d'invite pour les assistants AI en concaténant les instructions personnalisées et les ensembles de données organisés. Il aide les utilisateurs à créer des invites personnalisées et respectueuses de contextes pour améliorer l'efficacité de leurs outils alimentés par l'IA.
Pour des informations détaillées sur la façon d'utiliser generate_prompt_template.py et ses avantages, veuillez vous référer au Generat Invite Template Guide.
rajivpant@rp-2023-mac-mini ragbot % ./ragbot --help
usage: ragbot.py [-h] [-ls] [-p PROMPT | -f PROMPT_FILE | -i | --stdin]
[-profile PROFILE] [-c [CUSTOM_INSTRUCTIONS ...]] [-nc]
[-d [CURATED_DATASET ...]] [-nd]
[-e {openai,anthropic,google}] [-m MODEL] [-t TEMPERATURE]
[-mt MAX_TOKENS] [-l LOAD]
Ragbot.AI is an augmented brain and asistant. Learn more at https://ragbot.ai
options:
-h, --help show this help message and exit
-ls, --list-saved List all the currently saved JSON files.
-p PROMPT, --prompt PROMPT
The user's input to generate a response for.
-f PROMPT_FILE, --prompt_file PROMPT_FILE
The file containing the user's input to generate a
response for.
-i, --interactive Enable interactive assistant chatbot mode.
--stdin Read the user's input from stdin.
-profile PROFILE, --profile PROFILE
Name of the profile to use.
-c [CUSTOM_INSTRUCTIONS ...], --custom_instructions [CUSTOM_INSTRUCTIONS ...]
Path to the prompt custom instructions file or folder.
Can accept multiple values.
-nc, --nocusom_instructions
Ignore all prompt custom instructions even if they are
specified.
-d [CURATED_DATASET ...], --curated_dataset [CURATED_DATASET ...]
Path to the prompt context curated dataset file or
folder. Can accept multiple values.
-nd, --nocurated_dataset
Ignore all prompt context curated dataset even if they
are specified.
-e {openai,anthropic,google}, --engine {openai,anthropic,google}
The engine to use for the chat.
-m MODEL, --model MODEL
The model to use for the chat. Defaults to engine's
default model.
-t TEMPERATURE, --temperature TEMPERATURE
The creativity of the response, with higher values
being more creative.
-mt MAX_TOKENS, --max_tokens MAX_TOKENS
The maximum number of tokens to generate in the
response.
-l LOAD, --load LOAD Load a previous interactive session from a file.
rajivpant@rp-2023-mac-mini ragbot % Pour utiliser Ragbot.ai, vous pouvez fournir des fichiers de données et / ou des dossiers organisés contenant plusieurs fichiers de données organisés. Vous pouvez afficher des exemples de fichiers de données organisés sur https://github.com/rajivpant/ragbot/tree/main/example-curated-datasets
Exemple 1:
rajivpant@RP-2021-MacBook-Pro ragbot % ./ragbot.py -d custom-instructions/ curated-datasets/public/ ../ragbot-private/curated-datasets/personal/ ../ragbot-private/curated-datasets/hearst -p " Write a short note in Rajiv's voice about Rajiv's job, coworkers, family members, and travel and food preferences for the person temporarily backfilling for his EA. "
curated datasets being used:
- custom-instructions/
- curated-datasets/public/travel-food.md
- curated-datasets/public/employment-history.md
- curated-datasets/public/about.md
- curated-datasets/public/biography.md
- ../ragbot-private/curated-datasets/personal/accounts.md
- ../ragbot-private/curated-datasets/personal/contact-info.md
- ../ragbot-private/curated-datasets/personal/personal-family.md
- ../ragbot-private/curated-datasets/hearst/hearst.md
Using AI engine openai with model gpt-4
[redacted in this example]Exemple 2:
rajivpant@RP-2021-MacBook-Pro ragbot % ./ragbot.py -d custom-instructions/ curated-datasets/public/ -p " Write a short resume of Rajiv "
curated datasets being used:
- custom-instructions/
- curated-datasets/public/travel-food.md
- curated-datasets/public/employment-history.md
- curated-datasets/public/about.md
- curated-datasets/public/biography.md
Using AI engine openai with model gpt-4
[truncated in this example]Exemple 3:
./ragbot.py -p "Tell me a story about a brave knight and a wise wizard." -d curated datasets/story_characters Pour utiliser Ragbot.ai en mode interactif, utilisez l'indicateur -i ou --interactive sans fournir une invite via une ligne de commande ou un fichier d'entrée. Dans ce mode, vous pouvez saisir des invites de suivi après chaque réponse.
Exemple:
./ragbot.py -i -d curated-datasets/story_characters Dans le premier exemple, Ragbot.ai génère une courte note dans la voix de Rajiv à l'aide des fichiers de jeu de données organisés dans le dossier ../ragbot-private/curated-datasets . Dans le deuxième exemple, Ragbot.ai fournit des informations sur les bonnes pratiques pour le développement de logiciels à l'aide du fichier de données organisé curated-datasets/software_development.txt . Dans le troisième exemple, Ragbot.ai raconte une histoire sur un brave chevalier et un sorcier sage utilisant les fichiers de données organisés dans le dossier curated-datasets/story_characters .
rajivpant@RP-2021-MacBook-Pro ragbot % ./ragbot.py -d ragbot.py -p " if no curated dataset files are being used, then I want the code to show that. "
curated datasets being used:
- ragbot.py
Using AI engine openai with model gpt-4
To modify the code to show a message when no curated dataset files are being used, you can add an else statement after checking for the curated dataset files. Update the code in the `main()` function as follows:
```python
if curated_dataset_files:
print("curated datasets being used:")
for file in curated_dataset_files:
print(f" - {file}")
else:
print("No curated dataset files are being used.")
```
This will print "No curated dataset files are being used." when there are no curated dataset files detected.
rajivpant@RP-2021-MacBook-Pro ragbot %
Lui demandant de deviner à quoi sert certains des fichiers de données organisés que j'utilise
rajivpant@RP-2021-MacBook-Pro ragbot % find curated-datasets ../ragbot-private/curated-datasets -print | ./ragbot.py -d custom-instructions/ curated-datasets/public/ ../ragbot-private/curated-datasets/personal/ ../ragbot-private/curated-datasets/hearst/ -p " What do you guess these files are for? "
curated datasets being used:
- custom-instructions/
- curated-datasets/public/travel-food.md
- curated-datasets/public/employment-history.md
- curated-datasets/public/about.md
- curated-datasets/public/biography.md
- ../ragbot-private/curated-datasets/personal/accounts.md
- ../ragbot-private/curated-datasets/personal/contact-info.md
- ../ragbot-private/curated-datasets/personal/personal-family.md
- ../ragbot-private/curated-datasets/hearst/hearst.md
Using AI engine openai with model gpt-4
These files appear to be related to the curated-datasets of an AI system, likely for generating text or providing assistance based on the provided information. The files seem to be divided into two categories: public and private.
Public files:
- curated-datasets/public/travel-food.md: Rajiv's travel and food preferences
- curated-datasets/public/employment-history.md: Rajiv's employment history
- curated-datasets/public/about.md: General information about Rajiv
- curated-datasets/public/biography.md: Biography of Rajiv
Private files (stored in a separate private folder):
- curated-datasets/personal/accounts.md: Semi-private personal account information, such as frequent flyer numbers or loyalty programs. Does not contain any confidential or sensitive information.
- curated-datasets/personal/contact-info.md: Personal contact information, such as phone numbers and email addresses. Does not contain any confidential or sensitive information.
- curated-datasets/personal/personal-family.md: Personal and family information, such as family members and relationships. Does not contain any confidential or sensitive information.
Hearst-specific files:
- curated-datasets/hearst/hearst.md: Non-confidential, publicly available information related to the Hearst corporation, including Rajiv's role there
Overall, these files seem to contain various information about a person, their preferences, and professional background, likely used to tailor the AI system's responses and assistance.
rajivpant@RP-2021-MacBook-Pro ragbot % Poser des questions techniques sur un projet
❗️ Dans la version actuelle de Ragbot.ai, les options --stdin et --proprit s'excluent mutuellement, donc l'exemple suivant ne fonctionne plus tel quel. Dans une future mise à jour de ce fichier ReadMe, je donnerai un autre exemple pour obtenir les résultats similaires.
alexredmon@ar-macbook ~/s/scribe > cat docker-compose.yml | ragbot --stdin -p " which services will be exposed on which ports by running all services in the following docker-compose.yml file? "
In the given docker-compose.yml file, the following services are exposed on their respective ports:
1. "scribe" service: - Exposed on port 80 - Exposed on port 9009 (mapped to internal port 9009)
2. "scribe-feature" service: - Exposed on port 80
3. "scribe-redis" service: - Exposed on port 6379 (mapped to internal port 6379)
alexredmon@ar-macbook ~/s/scribe >Utilisation du moteur anthropique avec le modèle instantané Claude
rajivpant@RP-2021-MacBook-Pro ragbot % ./ragbot.py -e anthropic -m " claude-instant-v1 " -p " Tell me 5 fun things to do in NYC. "
No curated dataset files are being used.
Using AI engine anthropic with model claude-instant-v1
Here are 5 fun things to do in NYC:
1. Visit Central Park. Walk the paths, rent a paddle boat, visit the zoo, catch a Shakespeare in the Park performance.
2. Catch a Broadway show. New York is the center of the theater world with some of the greatest plays and musicals on Broadway and off Broadway.
3. Go to the top of the Empire State Building. Take in the panoramic views of all of NYC from one of its most famous landmarks.
4. Shop and dine in SoHo and the West Village. Explore trendy boutique shops and dig into meals at charming sidewalk cafes.
5. Take a free walking tour. There are numerous companies that offer guided walking tours of various NYC neighborhoods, covering history, culture, architecture and more.
rajivpant@RP-2021-MacBook-Pro ragbot % Créativité aléatoire
❗️ Dans la version actuelle de Ragbot.ai, les options --stdin et --proprit s'excluent mutuellement, donc l'exemple suivant ne fonctionne plus tel quel. Dans une future mise à jour de ce fichier ReadMe, je donnerai un autre exemple pour obtenir les résultats similaires.
alexredmon@ar-macbook ~ > cat names.csv
rajiv,
jim,
dennis,
alexandria
alexredmon@ar-macbook ~ > catnames.csv | ragbot.py --stdin -p "Generate a creative nickname for each of the following people"
rajiv, Rajiv Razzle-Dazzle
jim, Jolly JimJam
dennis, Daring Denmaster
alexandria, All-Star Alexi
alexredmon@ar-macbook ~ >