Skip to main content

An AI-powered library for conducting structured interviews

Project description

GuidedCapture

GuidedCapture Bot

An AI-powered library for conducting structured interviews and synthesizing responses into desired output formats.

Overview

GuidedCapture is a flexible library that helps you conduct goal-oriented interviews using Large Language Models (LLMs). It generates relevant questions based on your objectives and synthesizes responses into your desired output format.

Key Features

  • Goal-Oriented Interviewing: Start with a clear topic and desired output format
  • LLM-Powered Question Generation: Automatically generates relevant, probing questions
  • UI-Agnostic Design: Works with any interface (CLI, web, mobile, etc.)
  • Flexible Answer Collection: Submit answers progressively or in bulk
  • Intelligent Synthesis: Processes Q&A pairs into your desired output format
  • State Management: Save and resume interview sessions
  • Multiple LLM Support: Works with various LLM providers (OpenAI, Anthropic, etc.)

Installation

pip install guided-capture

Quick Start

from openai import OpenAI
from guided_capture import GuidedCapture

# Initialize your LLM client
client = OpenAI(api_key="your-api-key")

# Create a new interview session
capture = GuidedCapture(
    topic="Company Vision",
    output_format_description="A concise company mission statement",
    llm_client=client
)

# Get questions
questions = capture.get_questions()

# Collect answers (example with CLI)
for question in questions:
    print(f"\n{question}")
    answer = input("Your answer: ")
    capture.submit_answer(question, answer)

# Get final output
result = capture.process_answers()
print("\nFinal Output:", result)

Advanced Usage

Bulk Answer Submission

# Submit multiple answers at once
answers = {
    "What is your company's main goal?": "To revolutionize AI accessibility",
    "Who is your target audience?": "Small businesses and startups",
    # ... more answers
}
capture.submit_answers_bulk(answers)

State Management

# Save session state
state = capture.get_state()
import json
with open("session.json", "w") as f:
    json.dump(state, f)

# Load session state
with open("session.json", "r") as f:
    state = json.load(f)
capture = GuidedCapture.load_state(state, llm_client)

Custom Prompts

capture = GuidedCapture(
    topic="Product Features",
    output_format_description="A list of key features",
    llm_client=client,
    question_generation_prompt_template="Custom prompt for questions...",
    synthesis_prompt_template="Custom prompt for synthesis..."
)

Requirements

  • Python 3.7+
  • OpenAI API key (or other LLM provider credentials)
  • Required packages:
    • openai (or other LLM client libraries)
    • typing (included in Python 3.5+)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guided_capture-0.1.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guided_capture-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file guided_capture-0.1.0.tar.gz.

File metadata

  • Download URL: guided_capture-0.1.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for guided_capture-0.1.0.tar.gz
Algorithm Hash digest
SHA256 db67dc0f23d0886a171069aa15ad716f65e3120b2f85be9e8c5e800b886f9709
MD5 b7aa378eb08dcc80e7f9f631b3d9f6f3
BLAKE2b-256 5303df6bc50b43e8928ec5cbfbfcfab59aa9c7c2df9ca86cf86ca7b57a703d0a

See more details on using hashes here.

File details

Details for the file guided_capture-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: guided_capture-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for guided_capture-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74bb26f77e2811695df539f509b81fd0b2c0aa09f561ba1f7659ce0e0c95abb6
MD5 f1acceb96a4dc69c05481369640a8d89
BLAKE2b-256 a2a37ffcf0d0f6c23fc624a16e0edf26e562f08a30ae59a3584f412bf607be63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page