123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- ---
- 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" />
|