Repository navigation
ConvokitAI PR - #359
ConvokitAI PR#359ClaireOka wants to merge 44 commits into
Conversation
seperated convokitai.py into seperate files: corpus.py, speaker.py, utterance.py, etc. to test current convokitai format in a google colab notebook, run !pip install --force-reinstall --no-deps git+https://github.com/ClaireOka/ConvoKit.git@master and then do import convokitai
convokitai-simulation package to run CA simulations -> which is trying to retrieve from docker image
… function for assistants and speakers
Assistant class is now called PrivateAssistant and mediators should be called public assistants.
Assistant class is now called PrivateAssistant and mediators should be called public assistants.
… into convokitai-eval
…okit pyproject.toml
…o 5.0, changed docker image back to claireoka for testing purposes for docker image i do not have permission to make the image public so after the PR is reviewed this image should be changed to ghcr.io/cornellnlp/convoarena-backend:v0.3 and the package in cornellnlp should be made public
ethanxia4
left a comment
There was a problem hiding this comment.
Most of the PR looks good to me. The main convokit website will need to be modified, which can be a separate PR. The new datasets should be straightforward and I assume we will add convokitai in some form to the tools page as well. I'm happy to do that in this PR or a separate.
There was a problem hiding this comment.
Do we have a way of making the python version requirement clear to users, given that the requirement is different from standard convokit? I didn't see anything in the documentation, but I could have missed it.
There was a problem hiding this comment.
Same thing with convokitai-simulation, do we have a way of making the python version requirement clear to users, given that the requirement is different from standard convokit?
There was a problem hiding this comment.
I don't think the requirement is clear at the moment. I can add clearer instructions to the documentation later today.
Edit: updated documentation
Description
This PR adds ConvoKit AI, a set of packages for representing, simulating, and evaluating conversations that involve AI agents, together with three new datasets in the ConvoKit AI format. Type of change: new feature, new datasets, and documentation.
NOTE:
Before approving this PR change DEFAULT_IMAGE in convokitai-simulation/dl-container.py to be 'ghcr.io/cornellnlp/convoarena-backend:v0.3' and make the convoarena package on CornellNLP to be public.
1.
convokitai: the ConvoKit AI data model (convokit/convokitai/)convokit.modelwith AI-specific fields while staying a drop-in replacement:convokitai.Corpusworks anywhereconvokit.Corpusdoes, including with existing transformers.Speaker.is_ai, andSpeaker.ai_metawith a generationconfigand arole(e.g."participant","public assistant"for a mediator).PrivateAssistantandSupportrepresent AI assistants that privately help speakers outside the main conversation, and the messages they send.Speaker.generate()andPrivateAssistant.generate()produce new messages throughconvokit.genai.Conversation.get_transcript(supports=True)interleaves supports with the utterances they reply to.convokit.Corpus.setup.py(package_dir) and imported as a top-level package:pip install convokit, thenimport convokitai.2.
convokitai_evaluation: transformers for AI-mediated conversations (convokit/convokitai_evaluation/)CIG: conversational information gain, an LLM rating (1–4) of how much each utterance adds to what the group already knew.ClaimTracker: tracks each speaker's atomic claims through the conversation, then measures how far participants converge and whether their final claims came from the mediator or another participant.MediatorRedirection: applies the existingconvokit.redirectionto multi-party conversations with a mediator.3.
convokitai-simulation: AI agent simulations (convokit/convokitai-simulation/)convokitaiCorpus.udockeron Colab). It can also run on a user's own Firebase deployment. Currently takes docker image off of ClaireOka.deliberate_lab/), unmodified.4. New datasets (in the ConvoKit AI format, with download entries in
download_config.jsonand demo notebooks underdatasets/)habermas-machine-corpusmathdial-corpusllm-facilitation-corpus5. Documentation and versioning
convokitai.rst,convokitAISimulation.rstandconvokitAIEvaluation.rst, in a new "ConvoKit AI" section of the docs index.docs/source/conf.pyadds the package folders tosys.pathso autodoc can import them.setup.pyanddocs/source/conf.py.convokitai_evaluationandconvokitai-simulationdeclareconvokit>=4.2, the first version that bundlesconvokitai.Motivation and Context
Conversations increasingly include AI participants: LLM agents, AI mediators that speak in a conversation, and private assistants that coach individual speakers. ConvoKit's data model has no way to mark which speakers are AI, record how their messages were generated, or represent assistant messages that only some speakers see. ConvoKit AI adds this while keeping full compatibility with existing corpora and transformers.
The simulation and evaluation packages build on the format: one to generate AI-mediated conversations at scale, the other to measure how mediators affect them. The three datasets give researchers ready-to-use AI and human–AI conversation data in the new format.
Other information
pip install convokitonly includesconvokitaiafter that.README.md,docs/source/index.rstandwebsite/docs/source/index.rst, andreleaseinwebsite/docs/source/conf.py.pip install "git+https://github.com/CornellNLP/ConvoKit.git@master".convokitai_evaluationandconvokitai-simulationare not included in theconvokitinstall. They install from their subfolders, e.g.pip install "git+https://github.com/CornellNLP/ConvoKit.git@master#subdirectory=convokit/convokitai_evaluation".ghcr.io/claireoka/deliberate-lab-backend:v0.2. You may want to host it under the CornellNLP organization.convokitai-simulation/deliberate_lab/is copied from Deliberate Lab. Its license notice should be kept with it.CornellNLP/ConvoKitonmaster, so they work once this is merged.