GuidedCapture
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
Release files for guided-capture 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| guided_capture-0.1.0.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| guided_capture-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.0 kB
Release files / guided_capture-0.1.0.tar.gz
| Download URL | guided_capture-0.1.0.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db67dc0f23d0886a171069aa15ad716f65e3120b2f85be9e8c5e800b886f9709
|
|
BLAKE2b-256 checksum How to use checksums |
5303df6bc50b43e8928ec5cbfbfcfab59aa9c7c2df9ca86cf86ca7b57a703d0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.1
|
Release files / guided_capture-0.1.0-py3-none-any.whl
| Download URL | guided_capture-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74bb26f77e2811695df539f509b81fd0b2c0aa09f561ba1f7659ce0e0c95abb6
|
|
BLAKE2b-256 checksum How to use checksums |
a2a37ffcf0d0f6c23fc624a16e0edf26e562f08a30ae59a3584f412bf607be63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.1
|