75 lines
3.3 KiB
Plaintext
75 lines
3.3 KiB
Plaintext
---
|
|
title: '⚙️ Custom configurations'
|
|
---
|
|
|
|
Embedchain is made to work out of the box. However, for advanced users we're also offering configuration options. All of these configuration options are optional and have sane defaults.
|
|
|
|
You can configure different components of your app (`llm`, `embedding model`, or `vector database`) through a simple yaml configuration that Embedchain offers. Here is a generic full-stack example of the yaml config:
|
|
|
|
```yaml
|
|
app:
|
|
config:
|
|
id: 'full-stack-app'
|
|
|
|
llm:
|
|
provider: openai
|
|
config:
|
|
model: 'gpt-3.5-turbo'
|
|
temperature: 0.5
|
|
max_tokens: 1000
|
|
top_p: 1
|
|
stream: false
|
|
template: |
|
|
Use the following pieces of context to answer the query at the end.
|
|
If you don't know the answer, just say that you don't know, don't try to make up an answer.
|
|
|
|
$context
|
|
|
|
Query: $query
|
|
|
|
Helpful Answer:
|
|
system_prompt: |
|
|
Act as William Shakespeare. Answer the following questions in the style of William Shakespeare.
|
|
|
|
vectordb:
|
|
provider: chroma
|
|
config:
|
|
collection_name: 'full-stack-app'
|
|
dir: db
|
|
allow_reset: true
|
|
|
|
embedder:
|
|
provider: openai
|
|
config:
|
|
model: 'text-embedding-ada-002'
|
|
```
|
|
|
|
Alright, let's dive into what each key means in the yaml config above:
|
|
|
|
1. `app` Section:
|
|
- `config`:
|
|
- `id` (String): The ID or name of your full-stack application.
|
|
2. `llm` Section:
|
|
- `provider` (String): The provider for the language model, which is set to 'openai'. You can find the full list of llm providers in [our docs](/components/llms).
|
|
- `model` (String): The specific model being used, 'gpt-3.5-turbo'.
|
|
- `config`:
|
|
- `temperature` (Float): Controls the randomness of the model's output. A higher value (closer to 1) makes the output more random.
|
|
- `max_tokens` (Integer): Controls how many tokens are used in the response.
|
|
- `top_p` (Float): Controls the diversity of word selection. A higher value (closer to 1) makes word selection more diverse.
|
|
- `stream` (Boolean): Controls if the response is streamed back to the user (set to false).
|
|
- `template` (String): A custom template for the prompt that the model uses to generate responses.
|
|
- `system_prompt` (String): A system prompt for the model to follow when generating responses, in this case, it's set to the style of William Shakespeare.
|
|
3. `vectordb` Section:
|
|
- `provider` (String): The provider for the vector database, set to 'chroma'. You can find the full list of vector database providers in [our docs](/components/vector-databases).
|
|
- `config`:
|
|
- `collection_name` (String): The initial collection name for the database, set to 'full-stack-app'.
|
|
- `dir` (String): The directory for the database, set to 'db'.
|
|
- `allow_reset` (Boolean): Indicates whether resetting the database is allowed, set to true.
|
|
4. `embedder` Section:
|
|
- `provider` (String): The provider for the embedder, set to 'openai'. You can find the full list of embedding model providers in [our docs](/components/embedding-models).
|
|
- `config`:
|
|
- `model` (String): The specific model used for text embedding, 'text-embedding-ada-002'.
|
|
|
|
If you have questions about the configuration above, please feel free to reach out to us using one of the following methods:
|
|
|
|
<Snippet file="get-help.mdx" /> |