Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: Chat rating button #901

Open
1 task done
finnless opened this issue Sep 9, 2023 · 10 comments
Open
1 task done

Enhancement: Chat rating button #901

finnless opened this issue Sep 9, 2023 · 10 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@finnless
Copy link
Contributor

finnless commented Sep 9, 2023

Contact Details

No response

What features would you like to see added?

ChatGPT has a rating system for messages. This would be very useful for LibreChat for users who need moderation tools or want a feedback system.

This is what it looks like:

image

If the user clicks thumbs up or down, a pop up appears where they can add a message along with their rating:

image

These are the form of the request and response when submitting the rating:

curl 'https://chat.openai.com/backend-api/conversation/message_feedback' \
  -H 'authority: chat.openai.com' \
  -H 'accept: */*' \
  -H 'accept-language: en-US' \
  -H 'authorization: Bearer ...' \
  -H 'content-type: application/json' \
  -H 'cookie: ...' \
  -H 'origin: https://chat.openai.com' \
  -H 'referer: https://chat.openai.com/c/8ab211cf-....-....-....-5e5a998af0b2' \
  -H 'sec-ch-ua: "Chromium";v="116", "Not)A;Brand";v="24", "Brave";v="116"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-origin' \
  -H 'sec-gpc: 1' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36' \
  --data-raw '{"message_id":"996e5f20-....-....-....-67afc4b193ce","conversation_id":"8ab211cf-....-....-....-5e5a998af0b2","rating":"thumbsUp","text":"message body","tags":[]}' \
  --compressed
{
  "id": "996e5f20-....-....-....-67afc4b193ce",
  "conversation_id": "8ab211cf-....-....-....-5e5a998af0b2",
  "user_id": "user-....",
  "rating": "thumbsUp",
  "create_time": "2023-09-09T09:59:40.281350+00:00",
  "workspace_id": null,
  "content": "{\"text\": \"message body\"}",
  "embedded_conversation": "KLUv/W...YNwAtP8rKGJHEWiJg4PVjLowgqmcnYvoQZ6YN0wnwePyG0V2raVIDdveO59kNjWQJmrPPMZvFHk9Uf4NZY/8Vg==",
  "storage_protocol": "zstd::1.5.5.1"
}

More details

Hope this feature makes it in!

Which components are impacted by your request?

General, UI, Endpoints

Pictures

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@finnless finnless added the enhancement New feature or request label Sep 9, 2023
@danny-avila
Copy link
Owner

I could really see this being integral to a future training feature, like prefer this kind of response, as I'm sure the main reason it exists for OpenAI is LLM training

@danny-avila danny-avila added the good first issue Good for newcomers label Feb 21, 2024
@hmrc87
Copy link

hmrc87 commented May 1, 2024

This would make me move from chainlit to librechat - is this on a roadmap?

@danny-avila
Copy link
Owner

This would make me move from chainlit to librechat - is this on a roadmap?

Yes it is!

@hmrc87
Copy link

hmrc87 commented May 1, 2024

Great, thanks for the quick answer. Was just listening to the practical.ai episode :)

@jumpei-kurata
Copy link

I am about to embark on this task. However, I am tripping up on the environment building part.
When I do npm run backend:dev, I am getting the following error.
I am trying to develop using devcontainer on a Mac VSCode.
Do I need to have vectordb settings etc in docker-compose.yml?

2024-09-16 03:31:36 info: [Optional] Redis not initialized. Note: Redis support is experimental.
2024-09-16 03:32:14 error: KeyvMongo connection error: connection timed out
2024-09-16 03:32:14 error: There was an uncaught error: connection timed out
[nodemon] app crashed - waiting for file changes before starting...

@fuegovic
Copy link
Collaborator

@jumpei-kurata you need to configure the mongodb connection

See: https://www.librechat.ai/docs/development/get_started#prepare-librechat

@jumpei-kurata
Copy link

@fuegovic Thank you.
I think this is not a MongoDB setting but a vectorDB setting. I am getting the following error:
I am trying to develop with .devcontainer on vscode. There may be a problem with the following docker-compose.yml.

vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error rag_api | 2024-09-21 03:25:58,352 - root - INFO - Initialized embeddings of type: <class 'langchain_openai.embeddings.base.OpenAIEmbeddings'> rag_api | /usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py:322: LangChainPendingDeprecationWarning: Please use JSONB instead of JSON for metadata. This change will allow for more efficient querying that involves filtering based on metadata.Please note that filtering operators have been changed when using JSOB metadata to be prefixed with a $ sign to avoid name collisions with columns. If you're using an existing database, you will need to create adb migration for your metadata column to be JSONB and update your queries to use the new operators. rag_api | warn_deprecated( rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | psycopg2.OperationalError: could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 383, in create_vector_extension rag_api | session.execute(statement) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2306, in execute rag_api | return self._execute_internal( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2181, in _execute_internal rag_api | conn = self._connection_for_bind(bind) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2050, in _connection_for_bind rag_api | return trans._connection_for_bind(engine, execution_options) rag_api | File "<string>", line 2, in _connection_for_bind rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go rag_api | ret_value = fn(self, *arg, **kw) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1144, in _connection_for_bind rag_api | conn = bind.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3279, in connect rag_api | return self._connection_cls(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ rag_api | Connection._handle_dbapi_exception_noconnection( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2443, in _handle_dbapi_exception_noconnection rag_api | raise sqlalchemy_exception.with_traceback(exc_info[2]) from e rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/app/main.py", line 46, in <module> rag_api | from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check rag_api | File "/app/psql.py", line 3, in <module> rag_api | from config import DSN, logger rag_api | File "/app/config.py", line 232, in <module> rag_api | vector_store = get_vector_store( rag_api | File "/app/store_factory.py", line 20, in get_vector_store rag_api | return AsyncPgVector( rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance rag_api | return wrapped(self, *args, **kwargs) rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__ rag_api | self.__post_init__() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 348, in __post_init__ rag_api | self.create_vector_extension() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 386, in create_vector_extension rag_api | raise Exception(f"Failed to create vector extension: {e}") from e rag_api | Exception: Failed to create vector extension: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.351+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.351+00:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.352+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.353+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.353+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.354+00:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"main","msg":"Multi threading initialized"} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.354+00:00"},"s":"I", "c":"TENANT_M", "id":7091600, "ctx":"main","msg":"Starting TenantMigrationAccessBlockerRegistry"} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.354+00:00"},"s":"I", "c":"CONTROL", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"665fcff507b0"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.354+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"7.0.14","gitVersion":"ce59cfc6a3c5e5c067dca0d30697edd68d4f5188","openSSLVersion":"OpenSSL 3.0.2 15 Mar 2022","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2204","distarch":"aarch64","target_arch":"aarch64"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.354+00:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"22.04"}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.354+00:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"*"},"security":{"authorization":"disabled"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.359+00:00"},"s":"I", "c":"STORAGE", "id":22270, "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/data/db","storageEngine":"wiredTiger"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:25:59.363+00:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=3407M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,remove=true,path=journal,compressor=snappy),builtin_extension_config=(zstd=(compression_level=6)),file_manager=(close_idle_time=600,close_scan_interval=10,close_handle_minimum=2000),statistics_log=(wait=0),json_output=(error,message),verbose=[recovery_progress:1,checkpoint_progress:1,compact_progress:1,backup:0,checkpoint:0,compact:0,evict:0,history_store:0,recovery:0,rts:0,salvage:0,tiered:0,timestamp:0,transaction:0,verify:0,log:0],"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.154+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889160,"ts_usec":154922,"thread":"1:0xffffbdf6b040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.174+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889160,"ts_usec":174495,"thread":"1:0xffffbdf6b040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.192+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889160,"ts_usec":192322,"thread":"1:0xffffbdf6b040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.195+00:00"},"s":"W", "c":"STORAGE", "id":22347, "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.195+00:00"},"s":"F", "c":"STORAGE", "id":28595, "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"1: Operation not permitted"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.195+00:00"},"s":"F", "c":"ASSERT", "id":23091, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":676}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:00.195+00:00"},"s":"F", "c":"ASSERT", "id":23092, "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"} rag_api | 2024-09-21 03:26:00,665 - root - INFO - Initialized embeddings of type: <class 'langchain_openai.embeddings.base.OpenAIEmbeddings'> rag_api | /usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py:322: LangChainPendingDeprecationWarning: Please use JSONB instead of JSON for metadata. This change will allow for more efficient querying that involves filtering based on metadata.Please note that filtering operators have been changed when using JSOB metadata to be prefixed with a $ sign to avoid name collisions with columns. If you're using an existing database, you will need to create adb migration for your metadata column to be JSONB and update your queries to use the new operators. rag_api | warn_deprecated( rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | psycopg2.OperationalError: could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 383, in create_vector_extension rag_api | session.execute(statement) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2306, in execute rag_api | return self._execute_internal( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2181, in _execute_internal rag_api | conn = self._connection_for_bind(bind) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2050, in _connection_for_bind rag_api | return trans._connection_for_bind(engine, execution_options) rag_api | File "<string>", line 2, in _connection_for_bind rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go rag_api | ret_value = fn(self, *arg, **kw) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1144, in _connection_for_bind rag_api | conn = bind.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3279, in connect rag_api | return self._connection_cls(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ rag_api | Connection._handle_dbapi_exception_noconnection( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2443, in _handle_dbapi_exception_noconnection rag_api | raise sqlalchemy_exception.with_traceback(exc_info[2]) from e rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/app/main.py", line 46, in <module> rag_api | from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check rag_api | File "/app/psql.py", line 3, in <module> rag_api | from config import DSN, logger rag_api | File "/app/config.py", line 232, in <module> rag_api | vector_store = get_vector_store( rag_api | File "/app/store_factory.py", line 20, in get_vector_store rag_api | return AsyncPgVector( rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance rag_api | return wrapped(self, *args, **kwargs) rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__ rag_api | self.__post_init__() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 348, in __post_init__ rag_api | self.create_vector_extension() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 386, in create_vector_extension rag_api | raise Exception(f"Failed to create vector extension: {e}") from e rag_api | Exception: Failed to create vector extension: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.561+00:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.562+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.563+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"main","msg":"Multi threading initialized"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"TENANT_M", "id":7091600, "ctx":"main","msg":"Starting TenantMigrationAccessBlockerRegistry"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"CONTROL", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"665fcff507b0"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"7.0.14","gitVersion":"ce59cfc6a3c5e5c067dca0d30697edd68d4f5188","openSSLVersion":"OpenSSL 3.0.2 15 Mar 2022","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2204","distarch":"aarch64","target_arch":"aarch64"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"22.04"}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.564+00:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"*"},"security":{"authorization":"disabled"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.569+00:00"},"s":"I", "c":"STORAGE", "id":22270, "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/data/db","storageEngine":"wiredTiger"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:03.576+00:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=3407M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,remove=true,path=journal,compressor=snappy),builtin_extension_config=(zstd=(compression_level=6)),file_manager=(close_idle_time=600,close_scan_interval=10,close_handle_minimum=2000),statistics_log=(wait=0),json_output=(error,message),verbose=[recovery_progress:1,checkpoint_progress:1,compact_progress:1,backup:0,checkpoint:0,compact:0,evict:0,history_store:0,recovery:0,rts:0,salvage:0,tiered:0,timestamp:0,transaction:0,verify:0,log:0],"}} rag_api | 2024-09-21 03:26:03,647 - root - INFO - Initialized embeddings of type: <class 'langchain_openai.embeddings.base.OpenAIEmbeddings'> rag_api | /usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py:322: LangChainPendingDeprecationWarning: Please use JSONB instead of JSON for metadata. This change will allow for more efficient querying that involves filtering based on metadata.Please note that filtering operators have been changed when using JSOB metadata to be prefixed with a $ sign to avoid name collisions with columns. If you're using an existing database, you will need to create adb migration for your metadata column to be JSONB and update your queries to use the new operators. rag_api | warn_deprecated( rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | psycopg2.OperationalError: could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 383, in create_vector_extension rag_api | session.execute(statement) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2306, in execute rag_api | return self._execute_internal( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2181, in _execute_internal rag_api | conn = self._connection_for_bind(bind) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2050, in _connection_for_bind rag_api | return trans._connection_for_bind(engine, execution_options) rag_api | File "<string>", line 2, in _connection_for_bind rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go rag_api | ret_value = fn(self, *arg, **kw) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1144, in _connection_for_bind rag_api | conn = bind.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3279, in connect rag_api | return self._connection_cls(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ rag_api | Connection._handle_dbapi_exception_noconnection( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2443, in _handle_dbapi_exception_noconnection rag_api | raise sqlalchemy_exception.with_traceback(exc_info[2]) from e rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/app/main.py", line 46, in <module> rag_api | from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check rag_api | File "/app/psql.py", line 3, in <module> rag_api | from config import DSN, logger rag_api | File "/app/config.py", line 232, in <module> rag_api | vector_store = get_vector_store( rag_api | File "/app/store_factory.py", line 20, in get_vector_store rag_api | return AsyncPgVector( rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance rag_api | return wrapped(self, *args, **kwargs) rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__ rag_api | self.__post_init__() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 348, in __post_init__ rag_api | self.create_vector_extension() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 386, in create_vector_extension rag_api | raise Exception(f"Failed to create vector extension: {e}") from e rag_api | Exception: Failed to create vector extension: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.344+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889164,"ts_usec":344761,"thread":"1:0xffff838cf040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.367+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889164,"ts_usec":367839,"thread":"1:0xffff838cf040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.387+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889164,"ts_usec":387118,"thread":"1:0xffff838cf040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.390+00:00"},"s":"W", "c":"STORAGE", "id":22347, "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.390+00:00"},"s":"F", "c":"STORAGE", "id":28595, "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"1: Operation not permitted"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.390+00:00"},"s":"F", "c":"ASSERT", "id":23091, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":676}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:04.390+00:00"},"s":"F", "c":"ASSERT", "id":23092, "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"} rag_api | 2024-09-21 03:26:08,154 - root - INFO - Initialized embeddings of type: <class 'langchain_openai.embeddings.base.OpenAIEmbeddings'> rag_api | /usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py:322: LangChainPendingDeprecationWarning: Please use JSONB instead of JSON for metadata. This change will allow for more efficient querying that involves filtering based on metadata.Please note that filtering operators have been changed when using JSOB metadata to be prefixed with a $ sign to avoid name collisions with columns. If you're using an existing database, you will need to create adb migration for your metadata column to be JSONB and update your queries to use the new operators. rag_api | warn_deprecated( rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | psycopg2.OperationalError: could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 383, in create_vector_extension rag_api | session.execute(statement) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2306, in execute rag_api | return self._execute_internal( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2181, in _execute_internal rag_api | conn = self._connection_for_bind(bind) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2050, in _connection_for_bind rag_api | return trans._connection_for_bind(engine, execution_options) rag_api | File "<string>", line 2, in _connection_for_bind rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go rag_api | ret_value = fn(self, *arg, **kw) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1144, in _connection_for_bind rag_api | conn = bind.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3279, in connect rag_api | return self._connection_cls(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ rag_api | Connection._handle_dbapi_exception_noconnection( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2443, in _handle_dbapi_exception_noconnection rag_api | raise sqlalchemy_exception.with_traceback(exc_info[2]) from e rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/app/main.py", line 46, in <module> rag_api | from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check rag_api | File "/app/psql.py", line 3, in <module> rag_api | from config import DSN, logger rag_api | File "/app/config.py", line 232, in <module> rag_api | vector_store = get_vector_store( rag_api | File "/app/store_factory.py", line 20, in get_vector_store rag_api | return AsyncPgVector( rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance rag_api | return wrapped(self, *args, **kwargs) rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__ rag_api | self.__post_init__() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 348, in __post_init__ rag_api | self.create_vector_extension() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 386, in create_vector_extension rag_api | raise Exception(f"Failed to create vector extension: {e}") from e rag_api | Exception: Failed to create vector extension: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.057+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.057+00:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.057+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.059+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.059+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.059+00:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"main","msg":"Multi threading initialized"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.060+00:00"},"s":"I", "c":"TENANT_M", "id":7091600, "ctx":"main","msg":"Starting TenantMigrationAccessBlockerRegistry"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.060+00:00"},"s":"I", "c":"CONTROL", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"665fcff507b0"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.060+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"7.0.14","gitVersion":"ce59cfc6a3c5e5c067dca0d30697edd68d4f5188","openSSLVersion":"OpenSSL 3.0.2 15 Mar 2022","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2204","distarch":"aarch64","target_arch":"aarch64"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.060+00:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"22.04"}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.060+00:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"*"},"security":{"authorization":"disabled"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.066+00:00"},"s":"I", "c":"STORAGE", "id":22270, "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/data/db","storageEngine":"wiredTiger"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.068+00:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=3407M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,remove=true,path=journal,compressor=snappy),builtin_extension_config=(zstd=(compression_level=6)),file_manager=(close_idle_time=600,close_scan_interval=10,close_handle_minimum=2000),statistics_log=(wait=0),json_output=(error,message),verbose=[recovery_progress:1,checkpoint_progress:1,compact_progress:1,backup:0,checkpoint:0,compact:0,evict:0,history_store:0,recovery:0,rts:0,salvage:0,tiered:0,timestamp:0,transaction:0,verify:0,log:0],"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.768+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889171,"ts_usec":768387,"thread":"1:0xffffa36d9040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.779+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889171,"ts_usec":779918,"thread":"1:0xffffa36d9040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.789+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889171,"ts_usec":789957,"thread":"1:0xffffa36d9040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.791+00:00"},"s":"W", "c":"STORAGE", "id":22347, "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.791+00:00"},"s":"F", "c":"STORAGE", "id":28595, "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"1: Operation not permitted"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.791+00:00"},"s":"F", "c":"ASSERT", "id":23091, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":676}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:11.791+00:00"},"s":"F", "c":"ASSERT", "id":23092, "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"} rag_api | 2024-09-21 03:26:15,851 - root - INFO - Initialized embeddings of type: <class 'langchain_openai.embeddings.base.OpenAIEmbeddings'> rag_api | /usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py:322: LangChainPendingDeprecationWarning: Please use JSONB instead of JSON for metadata. This change will allow for more efficient querying that involves filtering based on metadata.Please note that filtering operators have been changed when using JSOB metadata to be prefixed with a $ sign to avoid name collisions with columns. If you're using an existing database, you will need to create adb migration for your metadata column to be JSONB and update your queries to use the new operators. rag_api | warn_deprecated( rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | psycopg2.OperationalError: could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 383, in create_vector_extension rag_api | session.execute(statement) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2306, in execute rag_api | return self._execute_internal( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2181, in _execute_internal rag_api | conn = self._connection_for_bind(bind) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2050, in _connection_for_bind rag_api | return trans._connection_for_bind(engine, execution_options) rag_api | File "<string>", line 2, in _connection_for_bind rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go rag_api | ret_value = fn(self, *arg, **kw) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1144, in _connection_for_bind rag_api | conn = bind.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3279, in connect rag_api | return self._connection_cls(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ rag_api | Connection._handle_dbapi_exception_noconnection( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2443, in _handle_dbapi_exception_noconnection rag_api | raise sqlalchemy_exception.with_traceback(exc_info[2]) from e rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/app/main.py", line 46, in <module> rag_api | from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check rag_api | File "/app/psql.py", line 3, in <module> rag_api | from config import DSN, logger rag_api | File "/app/config.py", line 232, in <module> rag_api | vector_store = get_vector_store( rag_api | File "/app/store_factory.py", line 20, in get_vector_store rag_api | return AsyncPgVector( rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance rag_api | return wrapped(self, *args, **kwargs) rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__ rag_api | self.__post_init__() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 348, in __post_init__ rag_api | self.create_vector_extension() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 386, in create_vector_extension rag_api | raise Exception(f"Failed to create vector extension: {e}") from e rag_api | Exception: Failed to create vector extension: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error LibreChat | 2024-09-21 03:26:22 error: KeyvMongo connection error: getaddrinfo ENOTFOUND mongodb LibreChat | 2024-09-21 03:26:22 error: There was an uncaught error: getaddrinfo ENOTFOUND mongodb LibreChat exited with code 0 LibreChat | LibreChat | > LibreChat@v0.7.5-rc2 backend LibreChat | > cross-env NODE_ENV=production node api/server/index.js LibreChat | LibreChat | 2024-09-21 03:26:23 info: [Optional] Redis not initialized. Note: Redis support is experimental. chat-meilisearch | 2024-09-21T03:26:24.444694Z INFO HTTP request{method=POST host="meilisearch:7700" route=/indexes query_parameters= user_agent=node status_code=202}: meilisearch: close time.busy=1.87ms time.idle=15.8ms chat-meilisearch | 2024-09-21T03:26:24.461925Z INFO HTTP request{method=POST host="meilisearch:7700" route=/indexes query_parameters= user_agent=node status_code=202}: meilisearch: close time.busy=1.63ms time.idle=33.3ms chat-meilisearch | 2024-09-21T03:26:24.469609Z INFO index_scheduler: Batch failed Index convosalready exists. chat-meilisearch | 2024-09-21T03:26:24.491029Z INFO index_scheduler: Batch failed Indexmessages already exists. chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.803+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.804+00:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.806+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.808+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.808+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.808+00:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"main","msg":"Multi threading initialized"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.808+00:00"},"s":"I", "c":"TENANT_M", "id":7091600, "ctx":"main","msg":"Starting TenantMigrationAccessBlockerRegistry"} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.809+00:00"},"s":"I", "c":"CONTROL", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"665fcff507b0"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.809+00:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"7.0.14","gitVersion":"ce59cfc6a3c5e5c067dca0d30697edd68d4f5188","openSSLVersion":"OpenSSL 3.0.2 15 Mar 2022","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu2204","distarch":"aarch64","target_arch":"aarch64"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.809+00:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"22.04"}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.809+00:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"*"},"security":{"authorization":"disabled"}}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.819+00:00"},"s":"I", "c":"STORAGE", "id":22270, "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/data/db","storageEngine":"wiredTiger"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:24.823+00:00"},"s":"I", "c":"STORAGE", "id":22315, "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=3407M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,remove=true,path=journal,compressor=snappy),builtin_extension_config=(zstd=(compression_level=6)),file_manager=(close_idle_time=600,close_scan_interval=10,close_handle_minimum=2000),statistics_log=(wait=0),json_output=(error,message),verbose=[recovery_progress:1,checkpoint_progress:1,compact_progress:1,backup:0,checkpoint:0,compact:0,evict:0,history_store:0,recovery:0,rts:0,salvage:0,tiered:0,timestamp:0,transaction:0,verify:0,log:0],"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.535+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889185,"ts_usec":535905,"thread":"1:0xffffa7e6b040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.546+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889185,"ts_usec":546024,"thread":"1:0xffffa7e6b040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.555+00:00"},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1726889185,"ts_usec":555756,"thread":"1:0xffffa7e6b040","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.557+00:00"},"s":"W", "c":"STORAGE", "id":22347, "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.557+00:00"},"s":"F", "c":"STORAGE", "id":28595, "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"1: Operation not permitted"}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.557+00:00"},"s":"F", "c":"ASSERT", "id":23091, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":676}} chat-mongodb | {"t":{"$date":"2024-09-21T03:26:25.557+00:00"},"s":"F", "c":"ASSERT", "id":23092, "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"} rag_api | 2024-09-21 03:26:30,045 - root - INFO - Initialized embeddings of type: <class 'langchain_openai.embeddings.base.OpenAIEmbeddings'> rag_api | /usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py:322: LangChainPendingDeprecationWarning: Please use JSONB instead of JSON for metadata. This change will allow for more efficient querying that involves filtering based on metadata.Please note that filtering operators have been changed when using JSOB metadata to be prefixed with a $ sign to avoid name collisions with columns. If you're using an existing database, you will need to create adb migration for your metadata column to be JSONB and update your queries to use the new operators. rag_api | warn_deprecated( rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | psycopg2.OperationalError: could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 383, in create_vector_extension rag_api | session.execute(statement) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2306, in execute rag_api | return self._execute_internal( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2181, in _execute_internal rag_api | conn = self._connection_for_bind(bind) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2050, in _connection_for_bind rag_api | return trans._connection_for_bind(engine, execution_options) rag_api | File "<string>", line 2, in _connection_for_bind rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go rag_api | ret_value = fn(self, *arg, **kw) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1144, in _connection_for_bind rag_api | conn = bind.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3279, in connect rag_api | return self._connection_cls(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 147, in __init__ rag_api | Connection._handle_dbapi_exception_noconnection( rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2443, in _handle_dbapi_exception_noconnection rag_api | raise sqlalchemy_exception.with_traceback(exc_info[2]) from e rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ rag_api | self._dbapi_connection = engine.raw_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3303, in raw_connection rag_api | return self.pool.connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 449, in connect rag_api | return _ConnectionFairy._checkout(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout rag_api | fairy = _ConnectionRecord.checkout(pool) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout rag_api | rec = pool._do_get() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get rag_api | return self._create_connection() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection rag_api | return _ConnectionRecord(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__ rag_api | self.__connect() rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect rag_api | with util.safe_reraise(): rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ rag_api | raise exc_value.with_traceback(exc_tb) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect rag_api | self.dbapi_connection = connection = pool._invoke_creator(self) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 643, in connect rag_api | return dialect.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 616, in connect rag_api | return self.loaded_dbapi.connect(*cargs, **cparams) rag_api | File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect rag_api | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) rag_api | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) rag_api | rag_api | The above exception was the direct cause of the following exception: rag_api | rag_api | Traceback (most recent call last): rag_api | File "/app/main.py", line 46, in <module> rag_api | from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check rag_api | File "/app/psql.py", line 3, in <module> rag_api | from config import DSN, logger rag_api | File "/app/config.py", line 232, in <module> rag_api | vector_store = get_vector_store( rag_api | File "/app/store_factory.py", line 20, in get_vector_store rag_api | return AsyncPgVector( rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance rag_api | return wrapped(self, *args, **kwargs) rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__ rag_api | self.__post_init__() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 348, in __post_init__ rag_api | self.create_vector_extension() rag_api | File "/usr/local/lib/python3.10/site-packages/langchain_community/vectorstores/pgvector.py", line 386, in create_vector_extension rag_api | raise Exception(f"Failed to create vector extension: {e}") from e rag_api | Exception: Failed to create vector extension: (psycopg2.OperationalError) could not translate host name "vectordb" to address: Name or service not known rag_api | rag_api | (Background on this error at: https://sqlalche.me/e/20/e3q8) vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error vectordb | exec /usr/local/bin/docker-entrypoint.sh: exec format error

@greendinosaur
Copy link

@jumpei-kurata are you still getting an error message when starting the app? I am keen to see this feature also.

@greendinosaur
Copy link

What would happen to the data entered? For my use case, it would be helpful to capture this data locally and send it off to the LLM as training data. I would like to capture it locally for reflection purposes so users can reflect on what is working / not working for them. Once it's captured, it could be shown back to the users.

@hmrc87
Copy link

hmrc87 commented Oct 14, 2024

Have a look at literal.ai (chainlit) approach which does much more with it. Users can create collections of "bad" conversations and use them as input for automated tests etc. I think having this feedback in an accessible way is key for a successful chat application

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

6 participants