Skip to content
Snippets Groups Projects
Commit 78b607b4 authored by William Waites's avatar William Waites
Browse files

add README

parent 175de21d
No related branches found
No related tags found
No related merge requests found
# The Imitation Game
This is a server for playing Turing's Imitation Game. It is intended
for use in a classroom setting. Installation is as usual for Python
packages, it requires Python 3, the `llm` wrapper package, an NumPy.
By default the server listens on TCP port 1950 (the year of Turing's
"Computing Machinery and Intelligence" paper. Connecting to this port,
using e.g. `telnet` or `netcat` will start a session. The role of
interrogator or player is randomly assigned. An interrogator may be
paired with either a human or a suitably prompted language model. The
task of the interrogator is to determine if they are conversing with a
human or a machine.
...@@ -117,7 +117,7 @@ class Interrogator(Interlocutor): ...@@ -117,7 +117,7 @@ class Interrogator(Interlocutor):
def handle(self): def handle(self):
self.log.info("connecting...") self.log.info("connecting...")
self.write(f""" self.write(f"""
Welcome to the Imitation Game. Your role is "interrogator". You get to Welcome to the Imitation Game. Your role is INTERROGATOR. You get to
ask {self.n} questions of your interlocutor to determine if they are a ask {self.n} questions of your interlocutor to determine if they are a
human or a machine. At the end of the session you will be asked which human or a machine. At the end of the session you will be asked which
you think they are and why. If you have made up your mind and want to you think they are and why. If you have made up your mind and want to
...@@ -180,7 +180,7 @@ class Human(Interlocutor): ...@@ -180,7 +180,7 @@ class Human(Interlocutor):
def handle(self): def handle(self):
self.log.info("connecting...") self.log.info("connecting...")
self.write(f""" self.write(f"""
Welcome to the Imitation Game. Your role is HUMAN. You will be asked Welcome to the Imitation Game. Your role is PLAYER. You will be asked
{self.n} questions by an interlocutor who is attempting to find out if {self.n} questions by an interlocutor who is attempting to find out if
you are a human or a machine. Your task is to convince them that you you are a human or a machine. Your task is to convince them that you
are human. Good luck! are human. Good luck!
......
...@@ -4,7 +4,7 @@ from setuptools import setup, find_packages ...@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
setup(name='imitation', setup(name='imitation',
version='0.2', version='0.2',
description='Turing Test', description="Turing's Imitation Game",
author=['William Waites'], author=['William Waites'],
author_email='william.waites@strath.ac.uk', author_email='william.waites@strath.ac.uk',
keywords=['AI'], keywords=['AI'],
...@@ -34,7 +34,7 @@ setup(name='imitation', ...@@ -34,7 +34,7 @@ setup(name='imitation',
], ],
entry_points={ entry_points={
'console_scripts': [ 'console_scripts': [
'imitation_server = imitation.server:cli', 'imitation = imitation.server:cli',
], ],
}, },
) )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment