Je vous remercie de l'intérêt que vous portez à ce projet. Veuillez noter qu'il ne s'agit que d'une preuve de concept et qu'elle peut contenir des bogues ou des fonctionnalités inachevées. En particulier, les prompts et les appels aux fonctions de la librairie LangChain sont appelées à évoluer.
🎲 Le premier cas d'utilisation de cette application est d'aider les utilisateurs à répondre à des questions sur les règles des jeux de société en se basant sur le manuel d'instructions. Bien que l'application puisse être utilisée pour d'autres tâches, aider les utilisateurs à répondre aux règles des jeux de société est particulièrement important pour moi, car je suis moi-même un fervent amateur de jeux de société. En outre, ce cas d'utilisation est relativement inoffensif, même dans les cas où le modèle peut avoir des hallucinations.
🌐 L'application est accessible sur le Cloud communautaire Streamlit en cliquant ici. Toutefois, pour utiliser l'application, vous devez disposer de votre propre OpenAI's API key.
📄 L'application met en œuvre les documents académiques suivants :
-
Precise Zero-Shot Dense Retrieval without Relevance Labels aka HyDE (Hypothetical Document Embeddings)
L'application va évoluer avec l'implémentation des fonctions de résumés de LangChain.
-
Cloner le repo:
git clone https://github.com/chrisagon/interroger-mon-pdf
-
Installer les dependencies:
pip install -r ask-my-pdf/requirements.txt
-
Lancer l'app:
cd interroger-mon-pdf/src
run.sh
orrun.bat
-
STORAGE_SALT - cryptograpic salt used when deriving user/folder name and encryption key from API key, hexadecimal notation, 2-16 characters
-
STORAGE_MODE - index storage mode: S3, LOCAL, DICT (default)
-
STATS_MODE - usage stats storage mode: REDIS, DICT (default)
-
FEEDBACK_MODE - user feedback storage mode: REDIS, NONE (default)
-
CACHE_MODE - embeddings cache mode: S3, DISK, NONE (default)
-
STORAGE_PATH - directory path for index storage
-
CACHE_PATH - directory path for embeddings cache
-
S3_REGION - region code
-
S3_BUCKET - bucket name (storage)
-
S3_SECRET - secret key
-
S3_KEY - access key
-
S3_URL - URL
-
S3_PREFIX - object name prefix
-
S3_CACHE_BUCKET - bucket name (cache)
-
S3_CACHE_PREFIX - object name prefix (cache)
- REDIS_URL - Redis DB URL (redis[s]://:password@host:port/[db])
- OPENAI_KEY - API key used for the default user
- COMMUNITY_DAILY_USD - default user's daily budget
- COMMUNITY_USER - default user's code