Open Server Architecture for Machine Translation
Python
Switch branches/tags
Nothing to show
Pull request Compare This branch is 18 commits ahead, 143 commits behind cfedermann:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dashboard
media
protobuf
templates
workers
.gitignore
LICENSE.textile
README.textile
__init__.py
manage.py
settings.py
urls.py
views.py

README.textile

Welcome to the mt-serverland wiki!

MT Server Land is an open-source architecture for MT, developed by DFKI’s MT Group in Saarbrücken.

Documentation

  • See [[license]] for more information.
  • The [[system architecture]] is described here.
  • [[API Interface]] planning goes here.

Please note: Added a Bing! worker server using a sample appID from http://www.bing.com/community/forums/p/658908/9597507.aspx.

Required packages

  • Python 2.6.x
  • django 1.2.3
  • django-piston 0.2.2
  • python-protobuf 2.3.0

Quick Setup Guide

1. Install Python 2.6.×.

2. Install django 1.2.x, do NOT use django-svn as this is NOT TESTED and likely to break things.
If you are updating from a previous django version, REMOVE the django folder from your Python’s
site-packages folder BEFORE installing the new version!

3. Extract data to a folder named serverland:
git clone git://github.com/cfedermann/mt-serverland.git serverland
Do NOT name the folder mt-serverland as this does not work with Python!

4. Install django-piston and python-protobuf.

5. Prepare development database (See next section)

6. python manage.py runserver

7. Point your browser to http://127.0.0.1:8000

8. mkdir serverland/messages, otherwise not .message files can be created!

More details to be added soon, in case of problems, drop me an email: cfedermann<at>dfki.de.

Setting Up Development Database

Use python manage.py syncdb to create the necessary database file. Answer “yes”
when creation of the superuser account is proposed and enter a username, an email and
the corresponding password. This user will have ALL privileges.

Setting Up Worker Servers

You can find several worker implementations within workers/. The dummy worker will
block for a certain amount of seconds and then return an all-uppercase version of the input
text it received. Other workers (such as the Google, Bing and Yahoo! workers) connect to
external translation services and create real actual translations. To start a worker server,
move into the root folder of your MT Server Land installation, do not change into the
workers directory!

A sample session with the dummy worker is shown below:

claymore:serverland cfedermann$ PYTHONPATH=. python2.6 workers/start_worker.py 
	usage: workers/start_worker.py <worker> <host> <port> [logfile]
	registered worker servers:
	- LucyWorker
	- GoogleWorker
	- DummyWorker
	- BingWorker
	- YahooWorker
claymore:serverland cfedermann$ PYTHONPATH=. python2.6 workers/start_worker.py GoogleWorker localhost 1234 /tmp/my-logfile.txt
INFO:GoogleWorker:GoogleWorker listening on localhost:1234
INFO:GoogleWorker:Started GoogleWorker instance, serving via XML-RPC.
...
^Z
[1]+  Stopped                 PYTHONPATH=. python2.6 workers/start_worker.py GoogleWorker localhost 1234 /tmp/my-logfile.txt
claymore:serverland cfedermann$ bg
[1]+ PYTHONPATH=. python2.6 workers/start_worker.py GoogleWorker localhost 1234 /tmp/my-logfile.txt &
claymore:serverland cfedermann$ PYTHONPATH=. python2.6 workers/stop_worker.py 
	usage: workers/stop_worker.py <host> <port>
claymore:serverland cfedermann$ PYTHONPATH=. python2.6 workers/stop_worker.py localhost 1234
INFO:GoogleWorker:Stopped GoogleWorker instance.
localhost - - [15/Sep/2010 13:46:31] "POST / HTTP/1.0" 200 -
claymore:serverland cfedermann$ 
[1]+  Done                    PYTHONPATH=. python2.6 workers/start_worker.py GoogleWorker localhost 1234 /tmp/my-logfile.txt
claymore:serverland cfedermann$ 

Before you can actually use a worker server inside the MT Server Land application, you
have to create a corresponding WorkerServer instance inside the django admin backend
at http://127.0.0.1:8000/admin/dashboard/workerserver/.

Important: make sure you enter the hostname including the http:// prefix!