? Ragbot.ai (anteriormente llamado RBOT): el asistente de cerebro aumentado de código abierto de Rajiv AI Aummented combina el poder de los modelos de idiomas grandes (LLM) con la generación aumentada de recuperación (RAG).
Ragbot.ai procesa las indicaciones del usuario junto con instrucciones personalizadas y conjuntos de datos seleccionados, lo que permite respuestas conscientes del contexto. Impulsado por LLMS, incluidos los GPT de OpenAI y Claude de Anthrope, Ragbot.ai usa Rag, una técnica que combina el poder de la recuperación densa previamente capacitada y los modelos de secuencia a secuencia para generar un texto más factual e informativo.
? Las instrucciones personalizadas y los conjuntos de datos seleccionados ayudan a Ragbot.ai a comprender mejor el contexto, lo que resulta en respuestas personalizadas, más precisas y relevantes, superando las capacidades de LLMS fuera del cuadro.
Desarrollado por Rajiv Pant
Colaboradores y colaboradores de código
Cómo contribuir
Las contribuciones de su código son bienvenidas. Bifurque el repositorio y envíe una solicitud de extracción con sus mejoras.
Presentación de Ragbot.ai: un asistente de IA personalizado, escrito por Ragbot.ai
Extracto de la publicación del blog:
Como asistente de IA, proporciono un nivel único de personalización y adaptabilidad que me distingue de las implementaciones actuales de ChatGPT Plus, Bing Chat y Google Bard. Al usar carpetas que contienen archivos de conjunto de datos curados personalizados, puedo atender a múltiples casos de uso, como vida personal, trabajo, educación y proyectos específicos. Esta personalización me permite comprenderlo y apoyarlo de una manera que se adapte a sus necesidades únicas.
Puede crear una carpeta con archivos de conjunto de datos curados que incluyan información personal, detalles familiares, preferencias de viajes y alimentos, y más. Al utilizar esta información, puedo funcionar como su asistente de vida personal, ofreciendo recomendaciones y soporte con alimentación de IA adaptada a su contexto específico.
Del mismo modo, puede desarrollar otra carpeta que contenga archivos de conjunto de datos curados relacionados con su vida laboral. Estos archivos pueden incluir detalles sobre su trabajo, industria, colegas, proyectos y otra información relacionada con el trabajo. Con este contexto, puedo ayudarlo con varias tareas, como redactar correos electrónicos, programas de reuniones, realizar investigaciones y más, mejorar su eficiencia y organización.
También puede personalizarme con fines educativos creando una carpeta con archivos de conjunto de datos curados que contienen información sobre sus antecedentes académicos, temas de interés, cursos y otros detalles educativos. En este rol, puedo proporcionar apoyo educativo personalizado, desde ayudar con la tarea hasta explicar conceptos complejos o recomendar recursos de aprendizaje.
Además de los casos de uso mencionados anteriormente, se me puede adaptar para apoyarlo en proyectos específicos. Al crear una carpeta con archivos de conjunto de datos curados que contienen información relacionada con el proyecto, como objetivos, miembros del equipo, plazos y recursos relevantes, puedo ayudarlo durante todo el ciclo de vida del proyecto, ofreciendo información valiosa y soporte adaptado a cada proyecto único.
Mi capacidad de crear perfiles distintos para diferentes necesidades utilizando archivos de conjunto de datos curados personalizados me distingue de Chatgpt Plus, Bing Chat y Google Bard. Esta versatilidad me permite ofrecer asistencia personalizada en múltiples aspectos de su vida, asegurando que pueda entender y satisfacer sus requisitos específicos.
Lea la guía de instalación y la guía de configuración y personalización.



generate_prompt_template.py es un script de Python que genera una plantilla de inmediato para asistentes de IA mediante la concatenación de instrucciones personalizadas y conjuntos de datos seleccionados. Ayuda a los usuarios a crear indicaciones personalizadas y conscientes del contexto para mejorar la efectividad de sus herramientas con IA.
Para obtener información detallada sobre cómo usar generate_prompt_template.py y sus beneficios, consulte la Guía de plantilla Generación de solicitudes.
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 % Para usar RagBot.ai, puede proporcionar archivos de conjunto de datos curados y/o carpetas que contienen múltiples archivos de conjunto de datos curados. Puede ver ejemplos de archivos de conjunto de datos curados en https://github.com/rajivpant/ragbot/tree/main/example-datasetsets
Ejemplo 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]Ejemplo 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]Ejemplo 3:
./ragbot.py -p "Tell me a story about a brave knight and a wise wizard." -d curated datasets/story_characters Para usar ragbot.ai en modo interactivo, use el indicador -i o --interactive sin proporcionar una solicitud a través de la línea de comando o el archivo de entrada. En este modo, puede ingresar las indicaciones de seguimiento después de cada respuesta.
Ejemplo:
./ragbot.py -i -d curated-datasets/story_characters En el primer ejemplo, RagBot.ai genera una nota breve en la voz de Rajiv utilizando los archivos de conjunto de datos curados en la carpeta ../ragbot-private/curated-datasets . En el segundo ejemplo, RagBot.ai proporciona información sobre buenas prácticas para el desarrollo de software utilizando el archivo de conjunto de datos curado de curated-datasets/software_development.txt . En el tercer ejemplo, Ragbot.ai cuenta una historia sobre un caballero valiente y un mago sabio que usa los archivos de conjunto de datos curados en la carpeta 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 %
Pidiéndole adivinar para qué son algunos de los archivos de conjunto de datos curados que uso
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 % Hacer preguntas técnicas sobre un proyecto
❗️ En la versión actual de Ragbot.ai, las opciones --stdin y -Prompt son mutuamente excluyentes, por lo que el siguiente ejemplo ya no funciona como está. En una actualización futura de este archivo ReadMe, daré un ejemplo alternativo para obtener los resultados similares.
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 >Uso del motor antrópico con el modelo instantáneo 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 % Creatividad aleatoria
❗️ En la versión actual de Ragbot.ai, las opciones --stdin y -Prompt son mutuamente excluyentes, por lo que el siguiente ejemplo ya no funciona como está. En una actualización futura de este archivo ReadMe, daré un ejemplo alternativo para obtener los resultados similares.
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 ~ >