Metadata-Version: 2.1
Name: youtube-qa
Version: 0.1.3
Summary: Question answering over YouTube videos with embeddings and LLMs.
Author: Jake Cyr
Author-email: cyrjake@gmail.com
Requires-Python: >=3.9,<3.12
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: llama-index (>=0.10.20,<0.11.0)
Requires-Dist: sentence-transformers (>=2.5.1,<3.0.0)
Requires-Dist: youtube-search (>=2.1.2,<3.0.0)
Requires-Dist: youtube-transcript-api (>=0.6.2,<0.7.0)
Description-Content-Type: text/markdown

# YouTube Question Answer

Simple experiment for question answering on YouTube videos using embeddings and
the top n YouTube search result transcripts.

The function will take a question and optionally a YouTube search query (otherwise an LLM will auto-generate one),
will compile transcripts for each video result, generate an embedding index using the transcripts and then answer the
question using the relevant embeddings.

The function will return both a string response and a list of sources that were used for the answer.

## Installation

The package can be installed from PyPI with `pip install youtube-qa`. Make sure to set your `OPENAI_API_KEY`
environment variable before using.

## Example

```python
from youtube_qa.answer_question import answer_question_using_youtube

response, sources = answer_question_using_youtube(
    search_term="peter attia running endurance",
    question="how to train for endurance",
)

print(response)
```

Or to let the LLM auto-generate a relevant search query:

```python
from youtube_qa.answer_question import answer_question_using_youtube

response, sources = answer_question_using_youtube(
    question="how to train for endurance",
)

print(response)
```

