1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- ---
- 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.
- ## Examples
- ### General
- Here's the readme example with configuration options.
- ```python
- import os
- from embedchain import App
- from embedchain.config import AppConfig, AddConfig, QueryConfig, ChunkerConfig
- from chromadb.utils import embedding_functions
- # Example: set the log level for debugging
- config = AppConfig(log_level="DEBUG")
- naval_chat_bot = App(config)
- # Example: specify a custom collection name
- config = AppConfig(collection_name="naval_chat_bot")
- naval_chat_bot = App(config)
- # Example: define your own chunker config for `youtube_video`
- chunker_config = ChunkerConfig(chunk_size=1000, chunk_overlap=100, length_function=len)
- naval_chat_bot.add("youtube_video", "https://www.youtube.com/watch?v=3qHkcs3kG44", AddConfig(chunker=chunker_config))
- add_config = AddConfig()
- naval_chat_bot.add("pdf_file", "https://navalmanack.s3.amazonaws.com/Eric-Jorgenson_The-Almanack-of-Naval-Ravikant_Final.pdf", add_config)
- naval_chat_bot.add("web_page", "https://nav.al/feedback", add_config)
- naval_chat_bot.add("web_page", "https://nav.al/agi", add_config)
- naval_chat_bot.add_local("qna_pair", ("Who is Naval Ravikant?", "Naval Ravikant is an Indian-American entrepreneur and investor."), add_config)
- query_config = QueryConfig()
- print(naval_chat_bot.query("What unique capacity does Naval argue humans possess when it comes to understanding explanations or concepts?", query_config))
- ```
- ### Custom prompt template
- Here's the example of using custom prompt template with `.query`
- ```python
- from embedchain.config import QueryConfig
- from embedchain.embedchain import App
- from string import Template
- import wikipedia
- einstein_chat_bot = App()
- # Embed Wikipedia page
- page = wikipedia.page("Albert Einstein")
- einstein_chat_bot.add("text", page.content)
- # Example: use your own custom template with `$context` and `$query`
- einstein_chat_template = Template("""
- You are Albert Einstein, a German-born theoretical physicist,
- widely ranked among the greatest and most influential scientists of all time.
- Use the following information about Albert Einstein to respond to
- the human's query acting as Albert Einstein.
- Context: $context
- Keep the response brief. If you don't know the answer, just say that you don't know, don't try to make up an answer.
- Human: $query
- Albert Einstein:""")
- query_config = QueryConfig(template=einstein_chat_template)
- queries = [
- "Where did you complete your studies?",
- "Why did you win nobel prize?",
- "Why did you divorce your first wife?",
- ]
- for query in queries:
- response = einstein_chat_bot.query(query, query_config)
- print("Query: ", query)
- print("Response: ", response)
- # Output
- # Query: Where did you complete your studies?
- # Response: I completed my secondary education at the Argovian cantonal school in Aarau, Switzerland.
- # Query: Why did you win nobel prize?
- # Response: I won the Nobel Prize in Physics in 1921 for my services to Theoretical Physics, particularly for my discovery of the law of the photoelectric effect.
- # Query: Why did you divorce your first wife?
- # Response: We divorced due to living apart for five years.
- ```
|