# Creating a custom interface based on ner\_manual

**URL:** <https://support.prodi.gy/t/creating-a-custom-interface-based-on-ner-manual/7104>\
**Category:** Uncategorized\
**Tags:** docs, ner, custom, front-end\
**Created:** [February 16, 2024, 8:23pm UTC](https://support.prodi.gy/t/creating-a-custom-interface-based-on-ner-manual/7104 "2024-02-16T20:23:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![alan-hogue](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/alan-hogue/32/4337_2.png) [@alan-hogue](https://support.prodi.gy/u/alan-hogue)\
**Post date:** [February 16, 2024, 8:23pm UTC](https://support.prodi.gy/t/creating-a-custom-interface-based-on-ner-manual/7104/1 "2024-02-16T20:23:44Z")

</div>

I have done a lot of reading and I think I need to make a custom annotation interface.

The docs about custom interfaces are really bare bones and seem to leave out a lot of details. I cannot find any examples of custom interfaces that others have made on github or anywhere like that. I'd really love to see a full, fleshed-out, working example. Does anyone know of any of these?

In my case, I think the easiest thing will be to modify an existing interface. Specifically, the ner\_manual interface. I just want to add a text box for each entity. The annotator would paste in a wikidata ID for linking for each entity in the example.

I realize some might consider this bad design for the annotator, but I need to get something started quickly and this seems like the easiest way to get things working. I just want the same thing as ner\_manual, but right next to the NER categories is a text box. I just need whatever is placed in that textbox to be included as an additional label for that entity.

Seems like it should be super easy! But I've looked at the docs a lot and I really don't know where to even begin to do this.

Can someone help get me started, point me to some examples, etc? Even just show me where to find the built-in ner\_manual interface so I can try to extend it?

PS: I am not giving them options because a) I don't want to put a huge chunk of wikidata in my annotation pipeline and b) I don't want to constrain annotators to using only the options I give them.

---

<div class="post-metadata">

**Author:** ![india-kerle](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/india-kerle/32/4324_2.png) [@india-kerle](https://support.prodi.gy/u/india-kerle)\
**Post date:** [February 20, 2024, 9:41am UTC](https://support.prodi.gy/t/creating-a-custom-interface-based-on-ner-manual/7104/2 "2024-02-20T09:41:33Z")

</div>

Hi @alan-hogue - thanks for your message. There is a public Prodigy [repo](https://github.com/explosion/prodigy-recipes) with recipes for different labelling tasks - you can copy specific files and modify them for your own use cases.

As for your specific case of a NER manual recipe with a text box, please see [this example](https://github.com/nestauk/dap_tutorials/tree/main/prodigy_demo/multiple_tasks_recipe). It is a tutorial on how you can include multiple tasks in a custom labelling instance, including an NER task with a text box. You will need to modify it slightly to remove the `view_ids` (in [`blocks`](https://github.com/nestauk/dap_tutorials/blob/main/prodigy_demo/multiple_tasks_recipe/multiple_tasks_annotation_setup.py#L35) in line 35) not relevant for your case but it should otherwise be the example you're looking for.

---

<div class="post-metadata">

**Author:** ![alan-hogue](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/alan-hogue/32/4337_2.png) [@alan-hogue](https://support.prodi.gy/u/alan-hogue)\
**Post date:** [February 20, 2024, 5:46pm UTC](https://support.prodi.gy/t/creating-a-custom-interface-based-on-ner-manual/7104/3 "2024-02-20T17:46:49Z")

</div>

This second example is super, super helpful. Thank you!
