└── sentimental analysis └── sentimental analysis └── password_generator-project ├── db.sqlite3 ├── generator ├── __init__.py ├── migrations │ ├── __init__.py │ └── __pycache__ │ │ └── __init__.cpython-311.pyc ├── models.py ├── admin.py ├── tests.py ├── apps.py ├── __pycache__ │ ├── admin.cpython-311.pyc │ ├── apps.cpython-311.pyc │ ├── views.cpython-311.pyc │ ├── models.cpython-311.pyc │ └── __init__.cpython-311.pyc ├── templates │ └── generator │ │ ├── feedback.html │ │ ├── about.html │ │ └── home.html └── views.py ├── password_generator ├── __init__.py ├── __pycache__ │ ├── urls.cpython-311.pyc │ ├── wsgi.cpython-311.pyc │ ├── __init__.cpython-311.pyc │ └── settings.cpython-311.pyc ├── asgi.py ├── wsgi.py ├── urls.py └── settings.py └── manage.py /sentimental analysis/sentimental analysis/password_generator-project/db.sqlite3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class GeneratorConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'generator' 7 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/admin.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/admin.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/apps.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/apps.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/views.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/views.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/models.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/models.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/generator/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/urls.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/urls.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/wsgi.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/wsgi.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/settings.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/password_generator/__pycache__/settings.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/migrations/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Axshaya/sentimental-analysis/HEAD/sentimental analysis/sentimental analysis/password_generator-project/generator/migrations/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for password_generator project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'password_generator.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for password_generator project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'password_generator.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'password_generator.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/urls.py: -------------------------------------------------------------------------------- 1 | """ 2 | URL configuration for password_generator project. 3 | 4 | The `urlpatterns` list routes URLs to views. For more information please see: 5 | https://docs.djangoproject.com/en/4.2/topics/http/urls/ 6 | Examples: 7 | Function views 8 | 1. Add an import: from my_app import views 9 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 10 | Class-based views 11 | 1. Add an import: from other_app.views import Home 12 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 13 | Including another URLconf 14 | 1. Import the include() function: from django.urls import include, path 15 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 16 | """ 17 | from django.urls import path 18 | from generator import views 19 | urlpatterns = [ 20 | path('',views.home,name="home"), 21 | path('password/',views.give_feedback, name="password"), 22 | path('about/',views.generate_report,name="about"), 23 | ] 24 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/password_generator/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for password_generator project. 3 | 4 | Generated by 'django-admin startproject' using Django 4.2.1. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/4.2/ref/settings/ 11 | """ 12 | 13 | from pathlib import Path 14 | 15 | # Build paths inside the project like this: BASE_DIR / 'subdir'. 16 | BASE_DIR = Path(__file__).resolve().parent.parent 17 | 18 | 19 | # Quick-start development settings - unsuitable for production 20 | # See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ 21 | 22 | # SECURITY WARNING: keep the secret key used in production secret! 23 | SECRET_KEY = 'django-insecure-c5t+wqtyi#&ox!%lqy2y=wr@7ee25vcofkw&2k5#lbry5b-%u=' 24 | 25 | # SECURITY WARNING: don't run with debug turned on in production! 26 | DEBUG = True 27 | 28 | ALLOWED_HOSTS = [] 29 | 30 | 31 | # Application definition 32 | 33 | INSTALLED_APPS = [ 34 | 'django.contrib.admin', 35 | 'django.contrib.auth', 36 | 'django.contrib.contenttypes', 37 | 'django.contrib.sessions', 38 | 'django.contrib.messages', 39 | 'django.contrib.staticfiles', 40 | 'generator', 41 | ] 42 | 43 | MIDDLEWARE = [ 44 | 'django.middleware.security.SecurityMiddleware', 45 | 'django.contrib.sessions.middleware.SessionMiddleware', 46 | 'django.middleware.common.CommonMiddleware', 47 | 'django.middleware.csrf.CsrfViewMiddleware', 48 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 49 | 'django.contrib.messages.middleware.MessageMiddleware', 50 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 51 | ] 52 | 53 | ROOT_URLCONF = 'password_generator.urls' 54 | 55 | TEMPLATES = [ 56 | { 57 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 58 | 'DIRS': [], 59 | 'APP_DIRS': True, 60 | 'OPTIONS': { 61 | 'context_processors': [ 62 | 'django.template.context_processors.debug', 63 | 'django.template.context_processors.request', 64 | 'django.contrib.auth.context_processors.auth', 65 | 'django.contrib.messages.context_processors.messages', 66 | ], 67 | }, 68 | }, 69 | ] 70 | 71 | WSGI_APPLICATION = 'password_generator.wsgi.application' 72 | 73 | 74 | # Database 75 | # https://docs.djangoproject.com/en/4.2/ref/settings/#databases 76 | 77 | DATABASES = { 78 | 'default': { 79 | 'ENGINE': 'django.db.backends.sqlite3', 80 | 'NAME': BASE_DIR / 'db.sqlite3', 81 | } 82 | } 83 | 84 | 85 | # Password validation 86 | # https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators 87 | 88 | AUTH_PASSWORD_VALIDATORS = [ 89 | { 90 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 91 | }, 92 | { 93 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 94 | }, 95 | { 96 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 97 | }, 98 | { 99 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 100 | }, 101 | ] 102 | 103 | 104 | # Internationalization 105 | # https://docs.djangoproject.com/en/4.2/topics/i18n/ 106 | 107 | LANGUAGE_CODE = 'en-us' 108 | 109 | TIME_ZONE = 'UTC' 110 | 111 | USE_I18N = True 112 | 113 | USE_TZ = True 114 | 115 | 116 | # Static files (CSS, JavaScript, Images) 117 | # https://docs.djangoproject.com/en/4.2/howto/static-files/ 118 | 119 | STATIC_URL = 'static/' 120 | 121 | # Default primary key field type 122 | # https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field 123 | 124 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 125 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/templates/generator/feedback.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
80 |

Sentiment.ai

81 | 82 |
83 |
84 | 85 |

Feedback for your previous state

86 | 87 |
88 |
89 | {{password}} 90 |
91 |
92 | 93 |
94 | 95 |
96 | 97 | 98 | 99 |
100 | 101 | 102 | 103 | 104 | 105 | 106 | 143 | 144 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/templates/generator/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
80 |

Sentiment.ai

81 | 82 |
83 | 84 | 85 |

Overall report on your past sentiments

86 | 87 |
88 |
89 | {{password}} 90 |
91 |
92 | 93 |
94 | 95 |
96 | 97 | 98 | 99 |
100 | 101 | 102 | 103 | 104 | 105 | 106 | 143 | 144 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/templates/generator/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |
78 |

Sentiment.ai

79 | 80 |
81 | 82 | 83 |
84 |
85 |
86 | 87 |
88 | 89 |
90 |
91 | 92 |
93 |
94 | {{password}} 95 |
96 |
97 | 98 |
99 | 100 |
101 | 102 |
103 |
104 |
105 |
106 |
107 | 108 |
109 |
110 |
111 | 112 |
113 | 114 | 115 | 116 | 117 | 118 | 119 | 156 | 157 | -------------------------------------------------------------------------------- /sentimental analysis/sentimental analysis/password_generator-project/generator/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | import random; 4 | import openai 5 | import os 6 | import textwrap 7 | import google.generativeai as genai 8 | 9 | GOOGLE_API_KEY='' 10 | genai.configure(api_key=GOOGLE_API_KEY) 11 | model = genai.GenerativeModel('gemini-pro') 12 | 13 | x = [] 14 | 15 | sentiment = "" 16 | 17 | def to_markdown(text): 18 | text = text.replace('•', ' *') 19 | return textwrap.indent(text, '', predicate=lambda _: True) 20 | 21 | 22 | def home(request): 23 | global x 24 | length=request.GET.get('length') 25 | instructions = f""" You are given with a role of a psychiatrist. You will be provided with a sentence delimited within triple backticks or an paragraph and you should analyse the sentiment of the paragraph and tell the emotions of the writer of the paragraph. 26 | 27 | - If the sentence is about any context other than sentiment analysis, then you should return Iam designed for sentiment analysis only. This is very important. For example if the sentence is about coding a software, then tell Iam designed for sentiment analysis only. 28 | 29 | -sentence = ```{length}``` 30 | 31 | -You should not assist them in any other context other than sentiment analysis. you should say Iam designed for sentiment analysis only if the context is not about sentiment analysis. 32 | 33 | """ 34 | 35 | # thepassword = get_completion(instructions) 36 | 37 | response = model.generate_content(instructions) 38 | result = to_markdown(response.text) 39 | chatbot_response = result 40 | sentiment = result 41 | x.append(chatbot_response) 42 | return render(request, 'generator/home.html', {'password': chatbot_response }) 43 | 44 | 45 | 46 | def password(request): 47 | global x 48 | global sentiment 49 | length=request.GET.get('length') 50 | instructions = f""" You are given with a role of a psychiatrist. You will be provided with a sentence delimited within triple backticks or an paragraph and you should analyse the sentiment of the paragraph and tell the emotions of the writer of the paragraph. 51 | 52 | - If the sentence is about any context other than sentiment analysis, then you should return I dont know. This is very important. For example if the sentence is about coding a software, then tell I dont know. 53 | 54 | -sentence = ```{length}``` 55 | 56 | -You should not assist them in any other context other than sentiment analysis. you should say I dont know if the context is not about sentiment analysis. 57 | 58 | """ 59 | 60 | # thepassword = get_completion(instructions) 61 | 62 | response = model.generate_content(instructions) 63 | result = to_markdown(response.text) 64 | chatbot_response = result 65 | sentiment = result 66 | x.append(chatbot_response) 67 | 68 | return render(request, 'generator/home.html', {'password': chatbot_response }) 69 | 70 | def give_feedback(request): 71 | global x 72 | global sentiment 73 | 74 | instructions = f""" You are given with a role of a psychiatrist. You will be provided with a sentence delimited within triple backticks. The sentence sentiments of the user. 75 | 76 | - You have to give the feedback to the user and some suggestions for the user to be followed in the future so that he will get a happy mood. 77 | 78 | -paragraph = ```{sentiment}``` 79 | 80 | -please dont give the array as the response. 81 | 82 | -do not use bold texts. 83 | 84 | -Use only english. seperate lines with line breaks. this is important. 85 | 86 | - Give a single paragraph answer within 100 words. this is very very important. 87 | 88 | """ 89 | 90 | response = model.generate_content(instructions) 91 | result = to_markdown(response.text) 92 | chatbot_response = result 93 | 94 | return render(request, 'generator/feedback.html', {'password': chatbot_response }) 95 | 96 | 97 | def generate_report(request): 98 | global x 99 | global sentiment 100 | 101 | instructions = f""" You are given with a role of a psychiatrist. You will be provided with a array delimited within triple backticks. The array consists of the past sentiment analysis of the user. 102 | 103 | - You have to give the overall report to the user based on the past sentiments in the array. consider the array is sorted that is first element in the array is the first sentiment, and the last is the latest sentiment. 104 | 105 | -paragraph = ```{x}``` 106 | 107 | -please dont give the array as the response. 108 | 109 | -do not use bold texts. 110 | 111 | -Use only english. seperate lines with line breaks. this is important. 112 | 113 | - Give a single paragraph answer within 250 words. this is very very important. 114 | 115 | """ 116 | 117 | response = model.generate_content(instructions) 118 | result = to_markdown(response.text) 119 | chatbot_response = result 120 | return render(request, 'generator/about.html', {'password': chatbot_response }) 121 | 122 | 123 | 124 | def about(request): 125 | return render(request,'generator/about.html') 126 | 127 | # def get_completion(prompt, model="gpt-3.5-turbo"): # Andrew mentioned that the prompt/ completion paradigm is preferable for this class 128 | # messages = [{"role": "user", "content": prompt}] 129 | # response = openai.ChatCompletion.create( 130 | # model=model, 131 | # messages=messages, 132 | # temperature=0, # this is the degree of randomness of the model's output 133 | # ) 134 | # return response.choices[0].message["content"] 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | --------------------------------------------------------------------------------