Skip to content

stanbar/objectivepersonality.ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Objective Personality AI

Objective Personality AI (OPAI) is project aimed at developing AI models to classify personality types based on video transcripts. This project utilizes datasets gathered from various sources, including YouTube, and incorporates machine learning techniques to achieve its goal.

System Requirements

To run the scripts effectively, especially those involving computing embeddings like GritLM/GritLM-7B, ensure your system meets the following requirements:

  • GPU Memory: At least 27 GB of GPU memory is required to compute embeddings with the GritLM/GritLM-7B model.
  • Processing Time: It takes approximately 5 seconds to compute embeddings per dataset entry.

Note: These requirements are crucial for performance and avoiding runtime errors due to insufficient resources.

For alternative models see MTEB leaderboard

Dataset

The success of AI typing relies heavily on the quality and variety of data it can access. Currently, there are two methods for gathering data:

The repository assumes the dataset is provided in the following CSV format specified in the .env file under the TRANSCRIPTS_CSV=<path_to_dataset.csv>:

name,ops_type,ModalitySensory,ModalityDe,ObserverDecider,DiDe,OiOe,SN,TF,SleepPlay,BlastConsume,InfoEnergy,IntroExtro,FlexFriends,GeneralisationSpecialisation,transcript_tokens_length,transcript

Field descriptions:

  • name Normalized person's name using utils#normalise_name(name)
  • ops_type Full ops type (e.g. MF-Ni/Fi-SB/P(C) [2])
  • ModalitySensory: 'F' | 'M' | None Sexual modality of the sensory function
  • ModalityDe: 'F' | 'M' | None Sexual modality of the extroverted decider function
  • ObserverDecider: 'Observer' | 'Decider' | None
  • DiDe: 'Di' | 'De' | None
  • OiOe: 'Oi' | 'Oe' | None
  • ...
  • transcript_tokens_length number of tokens computed with tiktoken.get_encoding("cl100k_base")
  • transcript transcript of a person

Installation

Clone the repository and navigate to the project directory:

git clone https://github.com/stanbar/objectivepersonality.ai.git
cd objectivepersonality.ai

Install dependencies:

poetry install

Usage

Compute embeddings

To compute embeddings based on the transcripts from TRANSCRIPTS_CSV and outputs to TRANSCRIPTS_WITH_EMBEDDINGS_CSV

poetry run append_embeddings.py

Run benchmark for all classifiers

To run benchmarks for all classifiers:

./benchmark.sh

License

This project is licensed under the PolyForm Perimeter License 1.0.1 - see the LICENSE file for details.

Support

For support, raise an issue in the GitHub issue tracker or contact the maintainers via [email protected]

Compute values

To compute a values of the people in the interviews

ollama serve
python3 run values.py

Compute saviours and demons

To compute peoples' demons and saviours

ollama serve
python3 run saviours_demons.py