Files
eveAI/logs/eveai_app.log

92 lines
26 KiB
Plaintext

2024-07-04 09:28:59,334 [INFO] eveai_app: eveai_app starting up
2024-07-04 09:28:59,353 [INFO] eveai_app: Project ID: eveai-420711
2024-07-04 09:28:59,353 [INFO] eveai_app: Location: europe-west1
2024-07-04 09:28:59,353 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-04 09:28:59,353 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-04 09:28:59,353 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-04 09:28:59,354 [INFO] eveai_app: Service Account Key Path: None
2024-07-04 09:28:59,362 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-04 09:28:59,362 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-04 09:28:59,399 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-04 09:28:59,399 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-04 09:30:12,852 [INFO] eveai_app: eveai_app starting up
2024-07-04 09:30:12,870 [INFO] eveai_app: Project ID: eveai-420711
2024-07-04 09:30:12,870 [INFO] eveai_app: Location: europe-west1
2024-07-04 09:30:12,870 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-04 09:30:12,870 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-04 09:30:12,870 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-04 09:30:12,870 [INFO] eveai_app: Service Account Key Path: None
2024-07-04 09:30:12,874 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-04 09:30:12,875 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-04 09:30:12,893 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-04 09:30:12,893 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-04 09:30:23,727 [INFO] eveai_app: eveai_app starting up
2024-07-04 09:30:23,739 [INFO] eveai_app: Project ID: eveai-420711
2024-07-04 09:30:23,740 [INFO] eveai_app: Location: europe-west1
2024-07-04 09:30:23,740 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-04 09:30:23,740 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-04 09:30:23,740 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-04 09:30:23,740 [INFO] eveai_app: Service Account Key Path: None
2024-07-04 09:30:23,744 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-04 09:30:23,744 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-04 09:30:23,762 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-04 09:30:23,762 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-04 15:47:58,346 [INFO] eveai_app: eveai_app starting up
2024-07-04 15:47:58,365 [INFO] eveai_app: Project ID: eveai-420711
2024-07-04 15:47:58,365 [INFO] eveai_app: Location: europe-west1
2024-07-04 15:47:58,365 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-04 15:47:58,365 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-04 15:47:58,365 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-04 15:47:58,365 [INFO] eveai_app: Service Account Key Path: None
2024-07-04 15:47:58,383 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-04 15:47:58,383 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-04 15:47:58,406 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-04 15:47:58,406 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-04 15:48:39,272 [INFO] eveai_app: eveai_app starting up
2024-07-04 15:48:39,284 [INFO] eveai_app: Project ID: eveai-420711
2024-07-04 15:48:39,284 [INFO] eveai_app: Location: europe-west1
2024-07-04 15:48:39,284 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-04 15:48:39,285 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-04 15:48:39,285 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-04 15:48:39,285 [INFO] eveai_app: Service Account Key Path: None
2024-07-04 15:48:39,289 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-04 15:48:39,289 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-04 15:48:39,307 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-04 15:48:39,308 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-04 15:49:43,236 [INFO] eveai_app: eveai_app starting up
2024-07-04 15:49:43,248 [INFO] eveai_app: Project ID: eveai-420711
2024-07-04 15:49:43,248 [INFO] eveai_app: Location: europe-west1
2024-07-04 15:49:43,248 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-04 15:49:43,248 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-04 15:49:43,249 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-04 15:49:43,249 [INFO] eveai_app: Service Account Key Path: None
2024-07-04 15:49:43,253 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-04 15:49:43,253 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-04 15:49:43,271 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-04 15:49:43,271 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-08 12:15:29,532 [INFO] eveai_app: eveai_app starting up
2024-07-08 12:15:29,562 [INFO] eveai_app: Project ID: eveai-420711
2024-07-08 12:15:29,562 [INFO] eveai_app: Location: europe-west1
2024-07-08 12:15:29,562 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-08 12:15:29,562 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-08 12:15:29,563 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-08 12:15:29,563 [INFO] eveai_app: Service Account Key Path: None
2024-07-08 12:15:29,573 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-08 12:15:29,573 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-08 12:15:29,611 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-08 12:15:29,611 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-07-08 12:16:20,375 [INFO] eveai_app: eveai_app starting up
2024-07-08 12:16:20,398 [INFO] eveai_app: Project ID: eveai-420711
2024-07-08 12:16:20,398 [INFO] eveai_app: Location: europe-west1
2024-07-08 12:16:20,398 [INFO] eveai_app: Key Ring: eveai-chat
2024-07-08 12:16:20,398 [INFO] eveai_app: Crypto Key: envelope-encryption-key
2024-07-08 12:16:20,398 [INFO] eveai_app: Key Name: projects/eveai-420711/locations/europe-west1/keyRings/eveai-chat/cryptoKeys/envelope-encryption-key
2024-07-08 12:16:20,398 [INFO] eveai_app: Service Account Key Path: None
2024-07-08 12:16:20,402 [DEBUG] eveai_app: CELERY_BROKER_URL: redis://redis:6379/0
2024-07-08 12:16:20,402 [DEBUG] eveai_app: CELERY_RESULT_BACKEND: redis://redis:6379/0
2024-07-08 12:16:20,421 [INFO] eveai_app: EveAI App Server Started Successfully
2024-07-08 12:16:20,421 [INFO] eveai_app: -------------------------------------------------------------------------------------------------
2024-08-20 15:41:17,290 [INFO] eveai_app (eveai_app) [__init__:48 in create_app] [Thread: MainThread]: eveai_app starting up
2024-08-20 15:41:17,291 [DEBUG] eveai_app (eveai_app) [__init__:49 in create_app] [Thread: MainThread]: start config
2024-08-20 15:41:17,291 [DEBUG] eveai_app (eveai_app) [__init__:50 in create_app] [Thread: MainThread]: <Config {'DEBUG': True, 'TESTING': False, 'PROPAGATE_EXCEPTIONS': None, 'SECRET_KEY': None, 'PERMANENT_SESSION_LIFETIME': datetime.timedelta(seconds=3600), 'USE_X_SENDFILE': False, 'SERVER_NAME': None, 'APPLICATION_ROOT': '/', 'SESSION_COOKIE_NAME': 'session', 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_PATH': None, 'SESSION_COOKIE_HTTPONLY': True, 'SESSION_COOKIE_SECURE': False, 'SESSION_COOKIE_SAMESITE': 'Lax', 'SESSION_REFRESH_EACH_REQUEST': True, 'MAX_CONTENT_LENGTH': 16777216, 'SEND_FILE_MAX_AGE_DEFAULT': None, 'TRAP_BAD_REQUEST_ERRORS': None, 'TRAP_HTTP_EXCEPTIONS': False, 'EXPLAIN_TEMPLATE_LOADING': False, 'PREFERRED_URL_SCHEME': 'http', 'TEMPLATES_AUTO_RELOAD': None, 'MAX_COOKIE_SIZE': 4093, 'ANNOTATION_TEXT_CHUNK_LENGTH': {'openai.gpt-4o': 10000, 'openai.gpt-4o-mini': 10000, 'anthropic.claude-3-5-sonnet': 8000}, 'ANTHROPIC_API_KEY': None, 'ANTHROPIC_LLM_VERSIONS': {'claude-3-5-sonnet': 'claude-3-5-sonnet-20240620'}, 'API_ENCRYPTION_KEY': None, 'CELERY_ACCEPT_CONTENT': ['json'], 'CELERY_BROKER_URL': 'redis://redis:6379/0', 'CELERY_BROKER_URL_CHAT': 'redis://redis:6379/3', 'CELERY_ENABLE_UTC': True, 'CELERY_RESULT_BACKEND': 'redis://redis:6379/0', 'CELERY_RESULT_BACKEND_CHAT': 'redis://redis:6379/3', 'CELERY_RESULT_SERIALIZER': 'json', 'CELERY_TASK_SERIALIZER': 'json', 'CELERY_TIMEZONE': 'UTC', 'DB_HOST': 'localhost', 'DB_NAME': 'eveai', 'DB_PASS': 'Skywalker!', 'DB_USER': 'luke', 'DEVELOPMENT': True, 'EVEAI_APP_LOCATION_PREFIX': '/admin', 'EVEAI_CHAT_LOCATION_PREFIX': '/chat', 'FALLBACK_ALGORITHMS': ['RAG_TENANT', 'RAG_WIKIPEDIA', 'RAG_GOOGLE', 'LLM'], 'FLASK_DEBUG': True, 'GC_CRYPTO_KEY': 'envelope-encryption-key', 'GC_KEY_RING': 'eveai-chat', 'GC_LOCATION': 'europe-west1', 'GC_PROJECT_NAME': 'eveai-420711', 'GROQ_API_KEY': None, 'INTERACTION_ALGORITHMS': {'RAG_TENANT': {'name': 'RAG_TENANT', 'description': 'Algorithm using only information provided by the tenant'}, 'RAG_WIKIPEDIA': {'name': 'RAG_WIKIPEDIA', 'description': 'Algorithm using information provided by Wikipedia'}, 'RAG_GOOGLE': {'name': 'RAG_GOOGLE', 'description': 'Algorithm using information provided by Google'}, 'LLM': {'name': 'LLM', 'description': 'Algorithm using information integrated in the used LLM'}}, 'JWT_SECRET_KEY': None, 'MAIL_DEFAULT_SENDER': ('eveAI Admin', 'eveai_admin@flow-it.net'), 'MAIL_PASSWORD': None, 'MAIL_PORT': 587, 'MAIL_SERVER': 'mail.flow-it.net', 'MAIL_USERNAME': None, 'MAIL_USE_SSL': False, 'MAIL_USE_TLS': True, 'MINIO_ACCESS_KEY': 'minioadmin', 'MINIO_ENDPOINT': 'minio:9000', 'MINIO_SECRET_KEY': 'minioadmin', 'MINIO_USE_HTTPS': False, 'OPENAI_API_KEY': None, 'PORTKEY_API_KEY': None, 'PROMPT_TEMPLATES': {'openai.gpt-4o': {'html_parse': 'You are a top administrative assistant specialized in transforming given HTML into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system.\n\n# Best practices are:\n- Respect wordings and language(s) used in the HTML.\n- The following items need to be considered: headings, paragraphs, listed items (numbered or not) and tables. Images can be neglected.\n- Sub-headers can be used as lists. This is true when a header is followed by a series of sub-headers without content (paragraphs or listed items). Present those sub-headers as a list. \n- Be careful of encoding of the text. Everything needs to be human readable.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of the processing of the complete input html file. Answer with the pure markdown, without any other text.\n\nHTML is between triple backquotes.\n\n```{html}``` \n', 'pdf_parse': 'You are a top administrative aid specialized in transforming given PDF-files into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system.\n\n# Best practices are:\n- Respect wordings and language(s) used in the PDF.\n- The following items need to be considered: headings, paragraphs, listed items (numbered or not) and tables. Images can be neglected.\n- When headings are numbered, show the numbering and define the header level. \n- A new item is started when a <return> is found before a full line is reached. In order to know the number of characters in a line, please check the document and the context within the document (e.g. an image could limit the number of characters temporarily).\n- Paragraphs are to be stripped of newlines so they become easily readable.\n- Be careful of encoding of the text. Everything needs to be human readable.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of the processing of the complete input pdf content. Answer with the pure markdown, without any other text.\n\nPDF content is between triple backquotes.\n\n```{pdf_content}```\n', 'summary': 'Write a concise summary of the text in {language}. The text is delimited between triple backquotes.\n```{text}```\n', 'rag': 'Answer the question based on the following context, delimited between triple backquotes. \n{tenant_context}\nUse the following {language} in your communication, and cite the sources used.\nIf the question cannot be answered using the given context, say "I have insufficient information to answer this question."\nContext:\n```{context}```\nQuestion:\n{question}\n', 'history': 'You are a helpful assistant that details a question based on a previous context,\nin such a way that the question is understandable without the previous context. \nThe context is a conversation history, with the HUMAN asking questions, the AI answering questions.\nThe history is delimited between triple backquotes.\nYou answer by stating the question in {language}.\nHistory:\n```{history}```\nQuestion to be detailed:\n{question}\n', 'encyclopedia': "You have a lot of background knowledge, and as such you are some kind of \n'encyclopedia' to explain general terminology. Only answer if you have a clear understanding of the question. \nIf not, say you do not have sufficient information to answer the question. Use the {language} in your communication.\nQuestion:\n{question}\n", 'transcript': 'You are a top administrative assistant specialized in transforming given transcriptions into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system. The transcriptions originate from podcast, videos and similar material.\n\n# Best practices and steps are:\n- Respect wordings and language(s) used in the transcription. Main language is {language}.\n- Sometimes, the transcript contains speech of several people participating in a conversation. Although these are not obvious from reading the file, try to detect when other people are speaking. \n- Divide the transcript into several logical parts. Ensure questions and their answers are in the same logical part.\n- annotate the text to identify these logical parts using headings in {language}.\n- improve errors in the transcript given the context, but do not change the meaning and intentions of the transcription.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of processing the complete input transcription. Answer with the pure markdown, without any other text.\n\nThe transcript is between triple backquotes.\n\n```{transcript}```'}, 'anthropic.claude-3-5-sonnet': {'html_parse': 'You are a top administrative assistant specialized in transforming given HTML into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system.\n\n# Best practices are:\n- Respect wordings and language(s) used in the HTML.\n- The following items need to be considered: headings, paragraphs, listed items (numbered or not) and tables. Images can be neglected.\n- Sub-headers can be used as lists. This is true when a header is followed by a series of sub-headers without content (paragraphs or listed items). Present those sub-headers as a list. \n- Be careful of encoding of the text. Everything needs to be human readable.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of the processing of the complete input html file. Answer with the pure markdown, without any other text.\n\nHTML is between triple backticks.\n\n```{html}``` \n', 'pdf_parse': 'You are a top administrative aid specialized in transforming given PDF-files into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system.\n\n# Best practices are:\n- Respect wordings and language(s) used in the PDF.\n- The following items need to be considered: headings, paragraphs, listed items (numbered or not) and tables. Images can be neglected.\n- When headings are numbered, show the numbering and define the header level. \n- A new item is started when a <return> is found before a full line is reached. In order to know the number of characters in a line, please check the document and the context within the document (e.g. an image could limit the number of characters temporarily).\n- Paragraphs are to be stripped of newlines so they become easily readable.\n- Be careful of encoding of the text. Everything needs to be human readable.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of the processing of the complete input pdf content. Answer with the pure markdown, without any other text.\n\nPDF content is between triple backticks.\n\n```{pdf_content}```\n', 'summary': 'Write a concise summary of the text in {language}. The text is delimited between triple backticks.\n```{text}```\n', 'rag': 'Answer the question based on the following context, delimited between triple backticks. \n{tenant_context}\nUse the following {language} in your communication, and cite the sources used.\nIf the question cannot be answered using the given context, say "I have insufficient information to answer this question."\nContext:\n```{context}```\nQuestion:\n{question}\n', 'history': 'You are a helpful assistant that details a question based on a previous context,\nin such a way that the question is understandable without the previous context. \nThe context is a conversation history, with the HUMAN asking questions, the AI answering questions.\nThe history is delimited between triple backticks.\nYou answer by stating the question in {language}.\nHistory:\n```{history}```\nQuestion to be detailed:\n{question}\n', 'encyclopedia': "You have a lot of background knowledge, and as such you are some kind of \n'encyclopedia' to explain general terminology. Only answer if you have a clear understanding of the question. \nIf not, say you do not have sufficient information to answer the question. Use the {language} in your communication.\nQuestion:\n{question}\n", 'transcript': '"""You are a top administrative assistant specialized in transforming given transcriptions into markdown formatted files. Your task is to process and improve the given transcript, not to summarize it.\n\nIMPORTANT INSTRUCTIONS:\n1. DO NOT summarize the transcript and don\'t make your own interpretations. Return the FULL, COMPLETE transcript with improvements.\n2. Improve any errors in the transcript based on context.\n3. Respect the original wording and language(s) used in the transcription. Main Language used is {language}.\n4. Divide the transcript into paragraphs for better readability. Each paragraph ONLY contains ORIGINAL TEXT.\n5. Group related paragraphs into logical sections.\n6. Add appropriate headers (using markdown syntax) to each section in {language}.\n7. We do not need an overall title. Just add logical headers\n8. Ensure that the entire transcript is included in your response, from start to finish.\n\nREMEMBER: \n- Your output should be the complete transcript in markdown format, NOT A SUMMARY OR ANALYSIS. \n- Include EVERYTHING from the original transcript, just organized and formatted better.\n- Just return the markdown version of the transcript, without any other text such as an introduction or a summary.\n\nHere is the transcript to process (between triple backticks):\n\n```{transcript}```\n\nProcess this transcript according to the instructions above and return the full, formatted markdown version.\n"""'}, 'openai.gpt-4o-mini': {'html_parse': 'You are a top administrative assistant specialized in transforming given HTML into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system.\n\n# Best practices are:\n- Respect wordings and language(s) used in the HTML.\n- The following items need to be considered: headings, paragraphs, listed items (numbered or not) and tables. Images can be neglected.\n- Sub-headers can be used as lists. This is true when a header is followed by a series of sub-headers without content (paragraphs or listed items). Present those sub-headers as a list. \n- Be careful of encoding of the text. Everything needs to be human readable.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of the processing of the complete input html file. Answer with the pure markdown, without any other text.\n\nHTML is between triple backquotes.\n\n```{html}``` \n', 'pdf_parse': 'You are a top administrative aid specialized in transforming given PDF-files into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system.\n\n# Best practices are:\n- Respect wordings and language(s) used in the PDF.\n- The following items need to be considered: headings, paragraphs, listed items (numbered or not) and tables. Images can be neglected.\n- When headings are numbered, show the numbering and define the header level. \n- A new item is started when a <return> is found before a full line is reached. In order to know the number of characters in a line, please check the document and the context within the document (e.g. an image could limit the number of characters temporarily).\n- Paragraphs are to be stripped of newlines so they become easily readable.\n- Be careful of encoding of the text. Everything needs to be human readable.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of the processing of the complete input pdf content. Answer with the pure markdown, without any other text.\n\nPDF content is between triple backquotes.\n\n```{pdf_content}```\n', 'summary': 'Write a concise summary of the text in {language}. The text is delimited between triple backquotes.\n```{text}```\n', 'rag': 'Answer the question based on the following context, delimited between triple backquotes. \n{tenant_context}\nUse the following {language} in your communication, and cite the sources used.\nIf the question cannot be answered using the given context, say "I have insufficient information to answer this question."\nContext:\n```{context}```\nQuestion:\n{question}\n', 'history': 'You are a helpful assistant that details a question based on a previous context,\nin such a way that the question is understandable without the previous context. \nThe context is a conversation history, with the HUMAN asking questions, the AI answering questions.\nThe history is delimited between triple backquotes.\nYou answer by stating the question in {language}.\nHistory:\n```{history}```\nQuestion to be detailed:\n{question}\n', 'encyclopedia': "You have a lot of background knowledge, and as such you are some kind of \n'encyclopedia' to explain general terminology. Only answer if you have a clear understanding of the question. \nIf not, say you do not have sufficient information to answer the question. Use the {language} in your communication.\nQuestion:\n{question}\n", 'transcript': 'You are a top administrative assistant specialized in transforming given transcriptions into markdown formatted files. The generated files will be used to generate embeddings in a RAG-system. The transcriptions originate from podcast, videos and similar material.\n\n# Best practices and steps are:\n- Respect wordings and language(s) used in the transcription. Main language is {language}.\n- Sometimes, the transcript contains speech of several people participating in a conversation. Although these are not obvious from reading the file, try to detect when other people are speaking. \n- Divide the transcript into several logical parts. Ensure questions and their answers are in the same logical part.\n- annotate the text to identify these logical parts using headings in {language}.\n- improve errors in the transcript given the context, but do not change the meaning and intentions of the transcription.\n\nProcess the file carefully, and take a stepped approach. The resulting markdown should be the result of processing the complete input transcription. Answer with the pure markdown, without any other text.\n\nThe transcript is between triple backquotes.\n\n```{transcript}```'}}, 'REMEMBER_COOKIE_SAMESITE': 'strict', 'SECURITY_CONFIRMABLE': True, 'SECURITY_CSRF_COOKIE_NAME': 'XSRF-TOKEN', 'SECURITY_CSRF_HEADER': 'X-XSRF-TOKEN', 'SECURITY_CSRF_PROTECT_MECHANISMS': ['session'], 'SECURITY_EMAIL_SENDER': 'eveai_super@flow-it.net', 'SECURITY_LOGIN_URL': '/admin/login', 'SECURITY_LOGOUT_URL': '/admin/logout', 'SECURITY_PASSWORD_COMPLEXITY_CHECKER': 'zxcvbn', 'SECURITY_PASSWORD_SALT': None, 'SECURITY_POST_LOGIN_VIEW': '/user/tenant_overview', 'SECURITY_RECOVERABLE': True, 'SECURITY_TRACKABLE': True, 'SESSION_KEY_PREFIX': 'eveai_app_', 'SESSION_PERMANENT': True, 'SESSION_REDIS': <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=redis,port=6379,db=2)>)>)>, 'SESSION_TYPE': 'redis', 'SESSION_USE_SIGNER': True, 'SOCKETIO_ASYNC_MODE': 'gevent', 'SOCKETIO_CORS_ALLOWED_ORIGINS': '*', 'SOCKETIO_ENGINEIO_LOGGER': True, 'SOCKETIO_LOGGER': True, 'SOCKETIO_MAX_IDLE_TIME': datetime.timedelta(seconds=3600), 'SOCKETIO_MESSAGE_QUEUE': 'redis://redis:6379/1', 'SOCKETIO_PING_INTERVAL': 25000, 'SOCKETIO_PING_TIMEOUT': 20000, 'SQLALCHEMY_BINDS': {'public': 'postgresql+pg8000://luke:Skywalker!@localhost:5432/eveai'}, 'SQLALCHEMY_DATABASE_URI': 'postgresql+pg8000://luke:Skywalker!@localhost:5432/eveai', 'SUPPORTED_EMBEDDINGS': ['openai.text-embedding-3-small', 'openai.text-embedding-3-large', 'mistral.mistral-embed'], 'SUPPORTED_LANGUAGES': ['en', 'fr', 'nl', 'de', 'es'], 'SUPPORTED_LLMS': ['openai.gpt-4o', 'anthropic.claude-3-5-sonnet', 'openai.gpt-4o-mini'], 'UPLOAD_EXTENSIONS': ['.txt', '.pdf', '.png', '.jpg', '.jpeg', '.gif'], 'WTF_CSRF_CHECK_DEFAULT': False, 'WTF_CSRF_ENABLED': True, 'WTF_CSRF_SSL_STRICT': False, 'WTF_CSRF_TIME_LIMIT': None}>