Skip to content
Snippets Groups Projects
Commit da8e5002 authored by echicken's avatar echicken :chicken:
Browse files

Notes re: configuration and use and generally what this is.

parent 2e49b555
No related branches found
No related tags found
No related merge requests found
# binary-bob
Binary Bob knows everything about Synchronet.
This is a RAG app that handles indexing of Synchronet support content and querying an LLM with relevant context.
## Configuration
The following environment variable *must* be set, and can optionally be in a `.env` file at the root of the project.
```sh
OPENAI_API_KEY=your-api-key-goes-here
```
The following optional environment variables are available, with defaults shown below:
```sh
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
EMBEDDING_DIMENSION=1536
HTTP_PORT=3000
LLM=gpt-3.5-turbo-0125
QDRANT_COLLECTION=synchronet
QDRANT_HOST=qdrant
QDRANT_PORT=6333
```
## Use
```sh
docker compose up --build --force-recreate
```
## Notes
I only intend to run this locally as a backend for the Chad Jipiti bot. Security of any kind has not been taken into account.
Some work yet to be done on content ingestion, the current method is pretty sucky. I also need to add some more sources such as the Synchronet JS Object Model page and the legacy docs (Baja et al). Ultimately there will be some kind of task scheduler in the app or the host will kick off ingestion via cron and `docker exec`.
`gpt-3.5-turbo-0125` isn't doing the best job, but it is at least very cheap. `gpt-4o` was producing pretty good responses, but is way too expensive for this project at the moment.
...@@ -6,7 +6,7 @@ export default { ...@@ -6,7 +6,7 @@ export default {
embeddingModel: process.env.OPENAI_EMBEDDING_MODEL ?? 'text-embedding-3-small', embeddingModel: process.env.OPENAI_EMBEDDING_MODEL ?? 'text-embedding-3-small',
embeddingDimension: parseInt(process.env.EMBEDDING_DIMENSION ?? '1536', 10), embeddingDimension: parseInt(process.env.EMBEDDING_DIMENSION ?? '1536', 10),
httpPort: process.env.HTTP_PORT ?? 3000, httpPort: process.env.HTTP_PORT ?? 3000,
llm: 'gpt-3.5-turbo-0125', llm: process.env.LLM ?? 'gpt-3.5-turbo-0125',
qdrantCollection: 'synchronet', qdrantCollection: process.env.QDRANT_COLLECTION ?? 'synchronet',
qdrantUrl: `http://${process.env.QDRANT_HOST ?? 'qdrant'}:${process.env.QDRANT_PORT ?? '6333'}`, qdrantUrl: `http://${process.env.QDRANT_HOST ?? 'qdrant'}:${process.env.QDRANT_PORT ?? '6333'}`,
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment