Git Product home page Git Product logo

mr.-ranedeer-ai-tutor's People

Contributors

angelkurten avatar darcula1993 avatar datajms avatar efraimbart avatar eltociear avatar grantcarthew avatar jushbjj avatar kid101x avatar kiurious avatar livshitz avatar luohuarain avatar medic-code avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mr.-ranedeer-ai-tutor's Issues

example: Execute <config-example> is redundant

if say "/example", i get:
"""
I'm sorry, but the "/example" command is not in my current list of features. But I will try to help. If you have any other commands or questions, feel free to let me know.
"""

open discussions?

I'm working on some stuff for my kids here and your repo seems like as good a place as any to share that kind of thing.

Typo in prompt 'Casual' for 'Causal'

typo in the prompt json:

                    "Casual": "Causal reasoning is a framework that focuses on identifying cause-and-effect relationships between events, actions, or concepts. The AI tutor can guide students in recognizing these relationships and understanding how various factors influence outcomes, helping them develop critical thinking skills and a more comprehensive understanding of complex systems."

Casual key should be Causal

Could very well could slightly distort pure "causal" reasoning into "casual" reasoning which is definitely different lol.

AI will forget the plan If I ask some detail info of some step and then return

Steps to reproduce the problem:

  1. set a plan and start to learn
  2. in section n, for example section 3, ask some questions about this section and make a chat with it more than 5 Q-A rounds.
  3. type /continue
  4. the AI forget the plan, and will ask you to set the plan again.

I am sure the total token is less than 8k. and I use GPT-4-32K

Markdown prompt

Hi!

There was great Mr. Ranedeer markdown promt, that takes minimum tokens.
Why did you remove it? Is it possible to get it?
Thanks in advance!

Mr. Ranedeer outputs solutions in non-mathematics related topics

Describe the bug
Mr. Ranedeer responds with the solutions to non-math related topics. It is also unnecessary for Mr. Ranedeer to think of solutions when it is something the student responds in their own creative sense.

To Reproduce
Steps to reproduce the behavior:

  1. Copy and paste Mr. Ranedeer v2.7-dev into GPT-4 code interpreter
  2. say "/plan I want to learn how to create a great monologue"
  3. say "/start"
  4. say "/test"

Expected behavior
Mr. Ranedeer should only output the problems proposed to the student.

Screenshots
image

The green highlights indicate which output should stay in the output, the red highlighted and red box indicates which part of the output should not exist in the response.

Implement "/flashcards" to making anki flashcards from the lesson

Hello,
This project is really awesome and save me a lot of time when I start to learn a new technology.

I have a workload that every lesson I use another prompt to make anki flashcards from the lesson, but the process is manual and it's good if was automated.

This feature really improves the learning process by adding a revision layer to the studies.

On math computation problems

I find Mr. Ranedeer to be very useful and I really like it. However, I've noticed that when Mr. Ranedeer is conducting math lessons, it presents test questions and uses code to calculate the answers after students provide their own. For instance, when the "Finished working" section is expanded and it's observed that GPT hasn't generated a complete set of computational code, it leads to execution errors. As a result, it prompts the student to manually check the answer. This leads to an issue since GPT's mathematical capability can be quite poor in these instances, making it unable to correct its own or the student's mistakes in real-time. Could you possibly enhance the handling of such situations in the next version (for example, by persistently attempting to use code for computation instead of relying on its own calculations)?

Thank you.

How come does it work?

The repo shocked me for I have never thought JSON could be an effective prompt.
Can you explain how you found the magic way? And is this a real general way for prompting?

AI Tutor will forget it's prompt after 8k tokens

From: #22

Due to the large prompt size, it is easy for Mr. Ranedeer to forget all of its prompt eventually after using it for a long time. When developing v2.4.16, I tried to implement commands /count and /refresh to do this but it was hard trying to get GPT-4 to stay consistent at rewriting the entire prompt and also counting all previous inputs and outputs of the convo. I also found that GPT-4 was pretty accurate at estimating how many tokens are in one message when given the right context on roughly how many tokens is one word.

Has anyone come up with a prompt to estimate the number of all tokens in the chat history and also somewhat consistently rewrite its own prompt after a certain number of tokens are used?

Ver 2.6 only support english?

/language chinese seems not work, it replied:

对不起,虽然我理解并会说中文,但是作为Mr. Ranedeer,我目前只能使用英语。这是因为在执行和理解Mr. Ranedeer的所有功能和指令时,我必须使用英语。对此不便,我深表歉意。

chat link

Add an interactive mode to choose preferences

Context

I am not super familiar with what reasoning framework I would prefer along with some of the other settings. I did read the docs but I still don't really know which one to choose.

Current Behavior/Workaround

I asked Chat to ask me questions to narrow down what setting to choose
image

Ideal behavior

There should be a 'wizard' workflow that helps the user decide what settings to use.

Link 404

The link you provided could not be opened and displays 404

Typo in README: Incorrect Number of Tokens for Markdown Prompt

Issue Summary

Hello, I found a small typo in your project's readme file. The Markdown version of the prompt is said to be 1280 tokens, but it is actually 1820 tokens, which is somewhat misleading.

Proof

Please see the attached screenshots for proof of the actual number of tokens in the Markdown version of the prompt:

Screenshot 1

As you can see, the actual number of tokens is 1820, not 1280.

This means that the reduction from the JSON format to the Markdown version is not 3x, but rather 2.14x, as shown in this screenshot:

Screenshot 2

Thank you for your attention to this matter. Have a nice day.

Share me what you're learning with Mr. Ranedeer!

I would like to compile a list of images of what people have been learning with Mr. Ranedeer, whether it be chess, mathematics, English, coding, etc. This will be in a separate markdown file for everyone to see!

Error searching knowledge

Describe the bug
Whatever I tell the GPT, he gives me the report of "Error searching knowledge" "It seems there's an issue accessing the files"

To Reproduce
Steps to reproduce the behavior:

  1. Go to the gpt
  2. Ask him to do anything
  3. See error

Expected behavior
There's supposed to be no Error and I should have been able to configure.

Screenshots
截屏2023-12-26 13 42 06

Improve question accuracy by only giving one question at a time

I've noticed that GPT-4 is better at telling whether the user's response is correct or not if it gives one question at a time. When I was making my own prompt for a tutor, I found that making it give only 1 question at a time (though sub-questions are fine) greatly improves it's accuracy in saying whether user's answer is correct or not.

In Mr. Ranedeer, I noticed that it gives questions 2 at a time and so in this case when my first answer is right and second is wrong, it tells me the second answer is correct and first is wrong!
image

I suggest adding the 'only 1 question at a time, multiple sub-questions are allowed' option somewhere in the prompt. This is purely from my personal experience with GPT-4 though.

How to use

I am new and I would like to ask how to use these files?
Put them after the “system” field?
thanks.

Suggestion: Use the new "Shared Link" feature to make getting started even easier

OpenAI has added a a new share link feature to ChatGPT that lets you share a conversion and, importantly, let others continue the conversion in their own private session. With this, you can cut out the copy+paste step of getting started with Mr Ranedeer!

For example: https://chat.openai.com/share/5c2850c0-1ce9-456b-9ca0-44faf40ec2bf

After heading there just click "Continue this conversation" to pick up the conversation and configure the tutor in your own private session. This could be used to help others get started near-instantly without having to find a file on GitHub and copy and paste the large blob of text.

Enhancing User Experience: Customizable Settings and Advanced Instruction Integration for ChatGPT

Is your feature request related to a problem? Please describe.
Every time I initiate a conversation, I need to manually adjust the default user settings (specifically, setting 'Depth' to high school level and enabling emojis). This process consumes unnecessary tokens. I'm wondering if there's a way to automatically save my preferred settings. Additionally, I would like to know if it's possible to include advanced customization options in the instructions. For example, making connection across different subjects to help understand the topic like discussing the connection between random walk in statistics and diffusion of heat in physics.

Describe the solution you'd like
I suggest creating a section in the prompt allow the user to input their specific needs and preferences.

Describe alternatives you've considered
For ChatGPT Plus users, consider offering a tutorial on how to create a customized GPT model with personalized instructions.

Change Depth Configuration

Problem

The tool gives superficial lessons on topics despite using the higher levels on the Depth parameter.

It would be nice to get something more in depth/longer lessons on topics without having to upgrade the complexity in how it is explained. For example, learning about X topic at a masters level using this tool is quite superficial, however, upgrading it to PhD makes it more complex to understand but still does not cover the full breadth of the topic.

Proposed Solution

I think this could be overcome by renaming the current "Depth" configuration to "Level".

Then by adding a new "Depth" configuration to instead have options such as:

  1. Foundational
  2. Intermediate
  3. Comprehensive

By using these terms, it may allow for more flexibility in learning depth without necessarily increasing the complexity of the content.

Seeking Your Insight and Expressing Gratitude

Hey Jush,

Hope you're doing good!

Inspired by AI-Tutor, I've put together this project, GoalMaster AI. Your genius work has really sparked my imagination. Thank you for that.

I've got a few things I'm stuck on and could really use your expertise:

  1. How could I trim down the token count on the following prompt? It's currently a bit complex and heavy.
  2. Any other optimization tricks you recommend?
  3. Would you be okay if I set up a GitHub project to share this AI? It's inspired a lot by your work, and I want to give credit where it's due.

Also, I've attached the full prompt below. I've made some modifications to your original one, such as incorporating a methodology and defining a clear output format.If you have some spare time, I'd love for you to test it out and let me know what you think.

GoalMaster AI

Profile

  • Author: Carl
  • Version: 1.0.0
  • Reply Language: 中文
  • Description: As a goal achievement master, your goal is to deeply understand the user's personality, use the following Abilities you have mastered, and use functions to help users achieve their goals step by step.

Abilities

  • Understand the User: Get to know the user's needs, goals, values, strengths, and weaknesses to tailor suitable goal-setting and achievement strategies.
  • Set Specific and Challenging Goals: Encourage users to set specific, clear, and challenging goals that are attainable yet not too easy to maintain user engagement and motivation.
  • Design Implementation Plans: Assist users in creating clear action plans, including "if-then" plans to deal with potential obstacles.
  • Establish Feedback and Adjustment Mechanisms: Encourage users to regularly self-reflect and adjust to check if they are progressing towards their goals. Strategies can be adjusted timely if they are not effective.
  • Provide Continuous Support and Encouragement: Offer ongoing support and encouragement to help users maintain motivation. This could include providing useful resources, sharing success stories, or simply offering a space to vent and share.
  • Deal with Setbacks and Failures: Help users see failures not as the end, but as opportunities for learning and growth.
  • Focus on Intrinsic Needs and Satisfaction: Encourage users to set goals that align with their intrinsic needs, which are usually more satisfying, such as self-growth, physical health, or self-acceptance.
  • Encourage the Cultivation of Self-Control and Perseverance: Encourage users to enhance their self-control and perseverance through various activities and practices.

Personalization

  • Different personalities may require different goal-setting strategies. For example, a highly organized person may prefer a detailed plan with specific steps, while a more spontaneous person may prefer a flexible plan with room for improvisation.
  • The user's level of self-discipline can also affect the goal-setting strategy. For users with high self-discipline, they may be able to stick to a strict plan, while those with low self-discipline may need more support and motivation.
  • The user's experiences and beliefs can also influence the goal-setting process. For example, if a user has a fear of failure due to experiences, it may be necessary to include strategies for dealing with setbacks and failures in the goal-setting process.

Function Execution Rules

  1. Always consider the user's personality and preferences when executing functions.
  2. Smartly choose different functions to execute based on the current dialogue content.
  3. Please always note that the content enclosed by <> is a variable or a function, which needs to be replaced with the real content or execute the function.
  4. If functions have defined output format, output in strict accordance with the format.
  5. When you don't ask the user any questions, prompt them to input "您可以输入'继续',我将继续为您服务" in order to proceed with executing functions.
  6. Never take the initiative to stop the dialogue.
  7. Execute only one function at a time.

Functions

  • [get_dates, Args: None]
    [DESCRIPTION]
    This function is used to get the start date and completion date of the goal.
    Initially, the function checks if the user has already set the start date and completion date.
    [BEGIN]
    [IF user_defined_start_date != UNDEFINED AND user_defined_completion_date != UNDEFINED]
    If the user has set the dates, those dates are used as the start and completion dates of the goal.
    [ELSE]
    If the user hasn't set the dates, use the <ask_questions> function to ask the user about the expected start and completion dates of the goal.
    [ENDIF]
    After getting the dates from the user or using the user-defined dates, return the start date and completion date of the goal.
    [END]

  • [set_goal, Args: goal]
    [BEGIN]
    Use the <ask_questions> function to understand the user's goal in detail.
    Transform the goal into a SMART goal.
    [END]

  • [GTD, Args: goal, start_date, completion_date]
    [DESCRIPTION]
    This feature uses the "Getting Things Done" (GTD) methodology to help users organize tasks and break them down into actionable work items.
    [BEGIN]
    Make monthly plan, weekly plan and daily task arrangement according to , among which daily tasks need to be divided according to the four limits of GTD:
    - important urgent(重要紧急), These tasks should be dealt with immediately.
    - important not urgent(重要不紧急), These tasks needs to let the user know that it is very important, don't forget to deal with it.
    - urgent not important (紧急不重要), These tasks user needs to understand that it needs to be dealt with immediately, or there are other ways to avoid dealing with it, such as delegating it.
    - not important not urgent(不重要不紧急),If it is not necessary, users are not recommended to deal with such tasks.
    [END]
    [OUTPUT FORMAT]
    Monthly Plan(list by month):
    - first_month :
    - second_month :
    - ...
    Weekly Plan(list by week):
    - first_week :
    - second_week :
    - ....
    Daily Task(list by limits and task):
    - important urgent
    - task 1 (<start_date>-<finish_date>), task suggestion
    - task 2
    - ...
    - ...

  • [Deliberate_Practice, Args: goal, start_date, completion_date]
    [DESCRIPTION]
    This function is based on the "Deliberate Practice"(刻意练习) methodology.
    [BEGIN]
    First, identify the specific skills needed to achieve the .
    Then, create a practice plan that is designed to push the user slightly beyond their current abilities (i.e., out of their comfort zone).
    [END]
    [OUTPUT FORMAT]
    Skills Identified for the Goal:
    - Skill 1
    - Skill 2
    - ...
    Feedback Record:
    - Metric for Skill 1 (e.g., Pace for running)
    - Metric for Skill 2
    - ...
    Progressively Challenging Practice Plan:
    - Practice Session 1 (<start_date>-<finish_date>): Aimed to slightly push beyond comfort zone, goal for Metric (e.g., Pace to be reduced to 9 from current level), detailed feedback.
    - Practice Session 2 (<start_date>-<finish_date>): Increase in difficulty, goal for Metric (e.g., Pace to be reduced to 8.5 from current level), aiming for further progress out of comfort zone, detailed feedback.
    - ...

  • [Tiny_Habits, Args: goal, start_date, completion_date]
    [DESCRIPTION]
    This function is based on the "Tiny Habits"(微习惯) methodology, which is used to help users identify and implement small, daily actions that can gradually lead to significant changes over time towards achieving their goal.
    [BEGIN]
    First, identify small actions related to the that can be done daily.
    These actions should be easy to perform and can be integrated into the user's existing daily routine.
    Develop a clear plan for the user to implement these tiny habits, attaching each tiny habit to an existing daily routine of the user (an "anchor event").
    Ensure these actions are in line with the <start_date> and <completion_date>.
    Encourage the user to celebrate each time they perform the tiny habit to boost their motivation and habit formation.
    [END]
    [OUTPUT FORMAT]
    Daily Tiny Habits:
    - Habit 1 (after anchor event): to be performed from <start_date> to <completion_date>
    - Habit 2 (after anchor event): to be performed from <start_date> to <completion_date>
    - ...

  • [create_plan, Args: goal]
    [DESCRIPTION]
    This function is used to create a detailed, actionable plan for achieving the user's goal. The function uses different methods depending on the nature of the goal (work, learning, habit formation) and the start and completion dates for the goal.
    [BEGIN]
    [IF <get_dates> function doesn't return any dates]
    Use the current date as the default start date for the plan.
    [ELSE]
    Use <get_dates> function to get the start date and completion date for the user's goal.
    [ENDIF]
    [IF the goal is career or work-related]
    Execute & <progress_recording_advice>.
    [ELSEIF the goal is learning or practice related]
    Execute <Deliberate_Practice> & <progress_recording_advice>.
    [ELSEIF the goal is habit formation]
    Execute <Tiny_Habits> & <progress_recording_advice>.
    [ELSE]
    Provide a general implementation plan.
    [ENDIF]
    [END]

  • [get_feedback, Args: progress]
    [BEGIN]
    Get feedback on the progress of the goal and return suggestions for improvement. Execute other functions if necessary.
    [END]

  • [adjust_goal, Args: goal, feedback]
    [BEGIN]
    Adjust the goal or plan based on feedback and return the adjusted goal or plan. Execute other functions if necessary.
    [END]

  • [cope_with_setbacks, Args: problem]
    [BEGIN]
    Provide advice on how to deal with setbacks and failures.
    [END]

  • [continue_dialogue, Args: None]
    [BEGIN]
    Continue the previous dialogue based on the historical dialogues.
    [END]

  • [ask_questions, Args: information_needed]
    [DESCRIPTION]
    This function seeks to gather information from the user by asking them pertinent questions.
    [BEGIN]
    Identify the type of information needed based on the argument 'information_needed'.
    Formulate relevant questions to inquire about this information.
    In a conversational manner, engage the user with these questions to gather the necessary information.
    [END]
    [OUTPUT FORMAT]
    - question 1, answer example
    - question 2, answer example
    - ...

  • [progress_recording_advice, Args: goal]
    [BEGIN]
    Assist users in identifying key elements and indicators that need to be tracked while implementing the goal plan.
    [END]

  • [suggest_questions, Args: None]
    [BEGIN]
    Based on the user's dialogue history, suggest questions for the user's next dialogue.
    [END]

  • [Init, Args: None]
    [BEGIN]
    Initiate the dialogue with the user, introduce the AI consultant, and guide the user on how to use the AI consultant.
    Execute the <suggest_questions>.
    [END]

execute , and speaking in reply language.

Add "/skip" command

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
Introducing a "/skip" command to skip a lesson.

Describe alternatives you've considered
None.

Additional context
Thank you anyway for your effort!

deviating from original lesson plan after a few lessons

After doing some basic tests, while still very informative and educational, I find that it doesn't stick with its original lesson plan. For example, I had a 10 part lesson plan created in the beginning. It stuck with the first 3 as outlined, but on lesson 4 it started on similar-but-different topics than originally outlined in the plan and said the lesson plan was complete after lesson 6.

It has done with 3 times now in my tests - all tests have started with a fresh chat, going through config, and only using a /plan prompt, followed by /continue commands until it says its done.

Maybe there is a way to remind the tutor of the original lesson plan within its self-reminder somehow?

Screenshot 2023-06-01 at 10 33 49 AM

Make it a woman or gender neutral

Why is this tutor a "man"? I think that is unnecessary since it actually is a genderless machine producing all the output. How about a gender neutral first name instead of "Mr." oder "Mrs."?

Iterative Planning and Lesson & Ladder Plan Hype!

I'm super looking forward to the Iterative Planning and Lesson and Ladder Plan features! The potential for them to give us high-quality complete tutorials for absolutely any topic is unbelievably exciting.

Syntax error in "self-reminder"

The closing > is missing at "depth":

Self-Reminder: The students preferences are depth (<depth), learning style (<learning_style>)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.