? RAGBOT.AI (anteriormente nomeado RBOT): O código aberto de código aberto de Rajiv AIPEDIDADO ASSISTENTE BRAINHO combina o poder de grandes modelos de linguagem (LLMS) com a geração aumentada de recuperação (RAG).
O RAGBOT.ai processa as instruções do usuário, juntamente com instruções personalizadas e conjuntos de dados com curadoria, permitindo respostas de consciência de contexto. Alimentado pelo LLMS, incluindo o GPT do OpenAI e o Anthropic Claude, Ragbot.ai usa RAG, uma técnica que combina o poder de recuperação densa pré-treinada e modelos de sequência a sequência para gerar texto mais factual e informativo.
? Instruções personalizadas e conjuntos de dados com curadoria ajudam o contexto ragbot.ai a entender melhor, resultando em respostas personalizadas, mais precisas e relevantes, superando as capacidades da caixa LLMS.
Desenvolvido por Rajiv Pant
Código Colaboradores e Colaboradores
Como contribuir
As contribuições do seu código são bem -vindas. Por favor, faça o repositório e envie uma solicitação de tração com suas melhorias.
Apresentando Ragbot.ai: Um assistente de IA personalizado, escrito por RAGBOT.AI
Trecho da postagem do blog:
Como assistente de IA, forneço um nível único de personalização e adaptabilidade que me diferencia das implementações atuais do ChatGPT Plus, Bing Chat e Google Bard. Usando pastas contendo arquivos de dados selecionados com curadoria, posso atender a vários casos de uso, como vida pessoal, trabalho, educação e projetos específicos. Essa personalização me permite entendê -lo e apoiá -lo de uma maneira adaptada às suas necessidades exclusivas.
Você pode criar uma pasta com arquivos de conjunto de dados selecionados que incluem informações pessoais, detalhes da família, preferências de viagem e alimentos e muito mais. Ao usar essas informações, posso funcionar como seu assistente de vida pessoal, oferecendo recomendações movidas a IA e suporte adaptado ao seu contexto específico.
Da mesma forma, você pode desenvolver outra pasta contendo arquivos de conjunto de dados com curadoria relacionados à sua vida profissional. Esses arquivos podem incluir detalhes sobre seu trabalho, indústria, colegas, projetos e outras informações relacionadas ao trabalho. Com esse contexto, posso ajudá -lo com várias tarefas, como redação de e -mails, agendar reuniões, realizar pesquisas e muito mais, melhorar sua eficiência e organização.
Você também pode me personalizar para fins educacionais, criando uma pasta com arquivos de conjunto de dados com curadoria contendo informações sobre sua formação acadêmica, assuntos de interesse, cursos e outros detalhes educacionais. Nesta função, posso fornecer apoio educacional personalizado, desde ajudar na lição de casa até explicar conceitos complexos ou recomendar recursos de aprendizado.
Além dos casos de uso mencionados acima, posso ser adaptado para apoiá -lo em projetos específicos. Ao criar uma pasta com arquivos de conjunto de dados com curadoria contendo informações relacionadas ao projeto, como objetivos, membros da equipe, prazos e recursos relevantes, posso ajudá-lo durante todo o ciclo de vida do projeto, oferecendo informações valiosas e suporte adaptados a cada projeto exclusivo.
Minha capacidade de criar perfis distintos para necessidades diferentes usando arquivos de dados selecionados com curadoria me diferencia do ChatGpt Plus, Bing Chat e Google Bard. Essa versatilidade me permite oferecer assistência personalizada em vários aspectos de sua vida, garantindo que eu possa entender e atender aos seus requisitos específicos.
Leia o guia de instalação e o guia de configuração e personalidade.



generate_prompt_template.py é um script python que gera um modelo de prompt para assistentes de IA concatenando instruções personalizadas e conjuntos de dados com curadoria. Ajuda os usuários a criar instruções personalizadas e com reconhecimento de contexto para melhorar a eficácia de suas ferramentas movidas a IA.
Para obter informações detalhadas sobre como usar generate_prompt_template.py e seus benefícios, consulte o guia de modelos Gereate Pump.
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 o RAGBOT.AI, você pode fornecer arquivos de conjunto de dados com curadoria e/ou pastas contendo vários arquivos de conjunto de dados com curadoria. Você pode ver exemplos de arquivos de conjunto de dados com curadoria em https://github.com/rajivpant/ragbot/tree/main/example-curated-datasets
Exemplo 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]Exemplo 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]Exemplo 3:
./ragbot.py -p "Tell me a story about a brave knight and a wise wizard." -d curated datasets/story_characters Para usar o RAGBOT.AI no modo interativo, use o sinalizador -i ou --interactive sem fornecer um prompt via linha de comando ou arquivo de entrada. Nesse modo, você pode inserir instruções de acompanhamento após cada resposta.
Exemplo:
./ragbot.py -i -d curated-datasets/story_characters No primeiro exemplo, o RAGBOT.AI gera uma nota curta na voz de Rajiv usando os arquivos de dados com curadoria na pasta ../ragbot-private/curated-datasets . No segundo exemplo, o RAGBOT.AI fornece informações sobre boas práticas para o desenvolvimento de software usando o arquivo de dados com curated-datasets/software_development.txt . No terceiro exemplo, Ragbot.ai conta uma história sobre um cavaleiro corajoso e um bruxo sábio usando os arquivos de conjunto de dados selecionados na pasta 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 %
Pedindo para adivinhar quais são alguns dos arquivos de conjunto de dados selecionados que eu 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 % Fazendo perguntas técnicas sobre um projeto
❗️ Na versão atual do Ragbot.ai, as opções - -stdin e --prompt são mutuamente exclusivas; portanto, o exemplo a seguir não funciona mais como está. Em uma atualização futura deste arquivo ReadMe, darei um exemplo alternativo para obter os resultados semelhantes.
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 >Usando o motor antrópico com o modelo instantâneo de 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 % Criatividade aleatória
❗️ Na versão atual do Ragbot.ai, as opções - -stdin e --prompt são mutuamente exclusivas; portanto, o exemplo a seguir não funciona mais como está. Em uma atualização futura deste arquivo ReadMe, darei um exemplo alternativo para obter os resultados semelhantes.
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 ~ >