Skip to main content

Open Interview PyPI

Looking to practice mock interviews tailored to your resume and job description? Seeking an technical interview simulation? Dive in with the Python open-source package open-interview.

pip download Code style: black Downloads

https://github.com/dsdanielpark/open-interview/assets/81407603/22f9b991-33e8-40d2-a4f2-b80199415767

Transform your job interview preparation into an unparalleled journey with Open Interview, where the avant-garde artificial intelligence of OpenAI, Anthropic, and Google is meticulously tailored to forge your path to success. Here, every interaction is designed to sculpt your technical and personal narrative into perfection, mirroring the exigencies of your dream job.


Stellar Features ✨

  • 🌍 Universal Language Support: Emphasize the ability to accommodate all languages across the following features:
  • 🖋️ Dynamic Q&A Alchemy: Craft your arsenal with precision—generate nuanced technical interview Q&As distilled from the essence of your resume and the job description.
  • 📖 Document Genesis: Automate the creation of elegant Word documents (.docx), encapsulating your personalized interview Q&As for study and reflection.
  • 🎧 Sonic Refinement: Convert your Q&As into audio files, enabling auditory mastery and convenience for your preparatory rituals.
  • 🌐 Cosmos Customization: Navigate your preparation through customizable orbits—fine-tune preferences for job designation, interview cadence, lingua franca, and narrative complexity.

Commencing Voyage

Welcome to the nexus of your interview preparation odyssey.

[!IMPORTANT] Token usage for experimental projects can be high, possibly exhausting paid API tokens quickly. A long-response prompt is now active. Please see the document below to adjust system and user prompts accordingly.

Prerequisites

  • Python >= 3.7: Ensure your command module is updated to version 3.7 or beyond.
  • 🔑 API Keys - OpenAI, Anthropic, Google: Secure your access to the galaxies of OpenAI, Anthropic, and Google, embarking with the keys to unlock the full spectrum of your potential.

Installation 📦

pip install open-interview
git clone https://github.com/dsdanielpark/open-interview.git
pip install -r requirements.txt

Quick Start

Open In Colab

Generate interview content using Claude or GPT models with minimal setup:

Using Claude

[!IMPORTANT] Increasing the iteration argument can generate more QAs but may lead to duplicates and excessive token usage, as it's an experimental feature.

from openinterview import InterviewManager

claudeToken = "<your_claude_token>"
claude_interview_manager = InterviewManager(api_key=claudeToken, engine="Claude")

jd = """
The 'jd', 'resume', and other arguments
can accommodate extensive text.
"""

claude_interview_manager.generate_interview(
    jd=jd,
    resume="path/resume.pdf or path/resume.txt or long text.",
    position= "AI Researcher",
    interview_type="techQAsFromResume",
    language="English", # Any language you want
    max_sentence=5,
    output_dir="save/dirs",
    iteration=1, # [Caution] You can make more QAs, But it cost token very fastly.
)

Using GPT

import openai
from openinterview import InterviewManager

openai.api_key = "<your_openai_token>"
gpt_interview_manager = InterviewManager(api_key=openai.api_key, engine="GPT")

gpt_interview_manager.generate_interview(
    jd="This role demands a deep enthusiasm for AI development.", # Feasible for long text
    resume="path/resume.pdf or path/resume.txt or long text.",
    position= "AI Researcher",
    interview_type="techQAsFromResume",
    language="English", # Any language you want
    max_sentence=5,
    output_dir="save/dirs",
    iteration=1, # [Caution] You can make more QAs, But it cost token very fastly.
)

The interview_type arguments as follow:

  • generalQAs: Ask about technical and personal skills in-depth.
  • generalTechQAs: Ask basic professional questions related to the job.
  • techQAsFromResume: Focus on technical skills listed on the resume.
  • techQAsFromExperts: Questions based on interviewer's expertise.
  • techQAs: Questions based on both parties' experiences.
  • personalityQAs: Inquire about personal qualities.
  • reviewResume: Identify and suggest improvements for the resume.

Playing Random Question Audio

To randomly play question.mp3 files from a specified folder, create an instance of the RandomPlayer class with the folder path, and then invoke play_random_mp3:

from openinterview import RandomPlayer

p = RandomPlayer(directory="path/to/output", interval=120)  # Directory containing question.mp3 files
p.play_random_mp3()

Default plays randomly for 2 minutes. Press 'n' for next question, 'q' to quit.


Usage

For detailed examples, refer to the 📋Usage document for example code and prompting engineering or the 💻tutorial script.

  • OpenAI GPT: Use GptGenerator for GPT-based content generation.
  • Anthropic Claude: Use ClaudeGenerator for Claude-based interviews.

You can use LangChain, LangSmith, LangServe, and LangGraph for faster and more efficient coding and services. You can check few-shot prompt template in LangChain. Also, you can try faster RAG with Llama Index. However, this project is used for general and efficient search for other my private projects.


Contribution

For detailed guidance on contributions, please refer to the contribution guide. We appreciate your interest in contributing and look forward to your valuable input.

Thank you for supporting our project.

FAQ & Support

For questions and support, visit our FAQ and Issues pages. Contributors are welcome! Submit issues, feature suggestions, or pull requests. Reach out to the core maintainer, Daniel Park, for direct contributions or queries.

License ©️

Apache 2.0 license, 2024.

The initial version of this project took roughly two days for a single person, including documentation for all processes.

Metadata

Release files for open-interview 1.0.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-interview 1.0.13
File Size Uploaded Provenance Actions
open-interview-1.0.13.tar.gz 21.6 kB Without provenance Details for open-interview-1.0.13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for open-interview 1.0.13
File Interpreter ABI Platform Actions
open_interview-1.0.13-py3-none-any.whl Python 3 none any Details for open_interview-1.0.13-py3-none-any.whl

Total release size: 49.0 kB

Release files / open-interview-1.0.13.tar.gz

Download URL open-interview-1.0.13.tar.gz
Size 21.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d12756a1c505b1b78b88d8d3e95aad02903f496c4e0a083372cafea3e5ce5499
BLAKE2b-256 checksum
How to use checksums
d05cfc518ce074f224bc9035385678f83e223d88fd731db9dfa16b9c7ec17419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.12

Release files / open_interview-1.0.13-py3-none-any.whl

Download URL open_interview-1.0.13-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7f9c959a3171be940a53a65522ef27092f406eb5afbec1173fe22ca2e67c165
BLAKE2b-256 checksum
How to use checksums
6be86d9c540b80735baa0524c1447c37c7c3f281a932c343e23dc57fefb20003
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.12

Security for open-interview 1.0.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page