Nick Jordan commited on
Commit
ddbc89c
·
1 Parent(s): 7b5b11f

chore: add announcements

Browse files
Files changed (1) hide show
  1. app.py +67 -47
app.py CHANGED
@@ -5,45 +5,55 @@ from datetime import datetime
5
  # Organization details
6
  ORG_NAME = "Narrative I/O"
7
  DESCRIPTION = """
8
- Narrative I/O is at the forefront of data transformation and enrichment. We specialize in:
9
 
10
- * Building scalable data enrichment pipelines
11
- * Developing cutting-edge machine learning models
12
- * Creating efficient data processing solutions
13
- * Enabling businesses to leverage their data assets effectively/
14
 
15
- Our platform combines advanced ML capabilities with robust data processing to deliver
16
- actionable insights and enhanced data quality for our clients.
17
  """
18
 
19
  # News/Announcements
20
  ANNOUNCEMENTS = [
21
  {
22
- "date": "2024-03-15",
23
- "title": "New Model Release",
24
- "content": "Introducing our latest data enrichment model for enhanced entity resolution."
25
  },
26
  {
27
- "date": "2024-02-28",
28
- "title": "Dataset Publication",
29
- "content": "Released a new benchmark dataset for entity matching evaluation."
30
- }
31
- ]
32
-
33
- # Public Models
34
- PUBLIC_MODELS = [
35
  {
36
- "name": "entity-matcher-v1",
37
- "description": "High-performance entity matching model",
38
- "link": "https://huggingface.co/Narrative-IO/entity-matcher-v1"
39
  },
40
  {
41
- "name": "data-enrichment-v2",
42
- "description": "Advanced data enrichment pipeline",
43
- "link": "https://huggingface.co/Narrative-IO/data-enrichment-v2"
44
  }
45
  ]
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  # Public Datasets
48
  PUBLIC_DATASETS = [
49
  {
@@ -56,15 +66,8 @@ PUBLIC_DATASETS = [
56
  # Demo configurations
57
  DEMOS = [
58
  {
59
- "title": "Entity Matching Demo",
60
- "description": "Try our entity matching model with your own data",
61
- "function": lambda x, y: f"Similarity score: {0.85}" # Placeholder function
62
  },
63
- {
64
- "title": "Data Quality Assessment",
65
- "description": "Check your data quality metrics",
66
- "function": lambda x: {"completeness": 0.95, "accuracy": 0.92} # Placeholder function
67
- }
68
  ]
69
 
70
  # Custom CSS for styling
@@ -101,12 +104,16 @@ h2, strong, h3 {
101
  margin-bottom: 15px;
102
  }
103
 
104
- p, span, li {
105
  font-size: 14px;
106
  color: #415290; /* text-color-secondary */
107
  margin-bottom: 15px;
108
  }
109
 
 
 
 
 
110
  .news-item {
111
  padding: 10px 0;
112
  border-bottom: 1px solid #ced4da; /* surface-d */
@@ -143,8 +150,20 @@ def create_organization_page():
143
  gr.Markdown(f"# {ORG_NAME}", elem_classes="title")
144
  gr.Markdown(DESCRIPTION)
145
  with gr.Row():
146
- gr.Button("Website", link="https://narrative.io", elem_classes="gr-button")
147
- gr.Button("GitHub", link="https://github.com/narrative-io", elem_classes="gr-button")
 
 
 
 
 
 
 
 
 
 
 
 
148
 
149
  # News and Announcements
150
  with gr.Column(elem_classes="card"):
@@ -153,27 +172,28 @@ def create_organization_page():
153
  with gr.Row(elem_classes="news-item"):
154
  gr.Markdown(f"""
155
  **{announcement['title']}**
156
- <span class="news-date">{format_date(announcement['date'])}</span>
157
  {announcement['content']}
158
  """)
159
 
160
  # Interactive Demos
161
  with gr.Column(elem_classes="card"):
162
  gr.Markdown("## Interactive Demos")
 
163
 
164
  # Right section (1/3 width)
165
  with gr.Column(scale=1):
166
- # Public Models card
167
- with gr.Column(elem_classes="card"):
168
- gr.Markdown("## Public Models")
169
- for model in PUBLIC_MODELS:
170
- with gr.Row(elem_classes="model-item"):
171
- gr.Markdown(f"""
172
- **{model['name']}**
173
- {model['description']}
174
- [View Model]({model['link']})
175
- """)
176
- gr.Markdown("[View All Models →](https://huggingface.co/collections/narrative-io/public-models-6777e756fe3748f33c403a31)", elem_classes="view-all-link")
177
 
178
  # Public Datasets card
179
  with gr.Column(elem_classes="card"):
 
5
  # Organization details
6
  ORG_NAME = "Narrative I/O"
7
  DESCRIPTION = """
8
+ Narrative I/O builds tools and infrastructure for data processing and ML model development:
9
 
10
+ * Data normalization and schema standardization
11
+ * LLM fine-tuning and deployment infrastructure
12
+ * Function calling and tool integration frameworks
13
+ * Open-source ML model and dataset publishing
14
 
15
+ Our platform focuses on solving practical data integration challenges through
16
+ standardized APIs, normalized schemas, and deployable ML models.
17
  """
18
 
19
  # News/Announcements
20
  ANNOUNCEMENTS = [
21
  {
22
+ "date": "2025-01-07",
23
+ "title": "🚀Narrative Model Studio Released",
24
+ "content": "Today we're making Narrative Model Studio available to the public. [Model Studio](https://www.narrative.io/products/model-studio) is a platform to make it easy for *anyone* to train a LLM. Model Studio build's on top of our best in class Data Collaboration Platoform and Data Marketplace to all users to source, normalize, and package data for training, with not technical expertise required. That data can then be used to fine-tune an LLM for enterprise specific use cases and further deployed to inference endpoints."
25
  },
26
  {
27
+ "date": "2025-01-07",
28
+ "title": "🔄 Rosetta Stone 2.0 Private Model Release",
29
+ "content": "Today we are releasing our [Rosetta Stone 2.0](https://www.narrative.io/products/rosetta-stone) Private Model. When we started Narrative we set out to make it easier for everyone to work with data. One of the biggest challenges we found users faced was the lack of a normalization layer across different data sources, both internally and externally. We build Rosetta Stone to tackle this problem by using AI to normalize data to a common ontology and syntax, and making that normalized data directly queryable. Rosetta Stone 2.0 builds on the first version by leveraging the latest LLM Models and fine tuning them to perform even better than the first version. This release also marks the first time that the model is available for users to host on their own infrastructure, further reducing governance and compliance burdens."
30
+ },
 
 
 
 
31
  {
32
+ "date": "2025-01-07",
33
+ "title": "🎯 Public Function Calling Models + Dataset Released",
34
+ "content": "Today we're excited to announce the release of our specialized function calling models and accompanying dataset. We've launched both 3B and 8B parameter models (with a 70B version coming soon) that have been meticulously fine-tuned for function calling applications. These models are built on our newly created normalized function calling dataset, which standardizes the approach to tool use in LLMs. Our implementation adopts a more standardized JSON schema for function calls, coupled with token enforcement through our [LLM Tools](https://github.com/narrative-io/narrative-llm-tools) to ensure models consistently respond using available functions. This makes these models particularly well-suited for enterprise applications where LLMs operate as backend processors, making tool calls on users' behalf rather than generating direct responses (though user interaction is still possible through a dedicated respond_to_user tool)."
35
  },
36
  {
37
+ "date": "2025-01-07",
38
+ "title": "🛠️ Narrative LLM Tools Released",
39
+ "content": "Today, we're excited to announce the release of our [LLM Tools Github repository](https://github.com/narrative-io/narrative-llm-tools). Narrative LLM Tools are a collection of tools that make it easier to use LLMs trained in Narrative's Model Studio alongside HuggingFace's Inference Endpoints."
40
  }
41
  ]
42
 
43
+ # Public Models
44
+ # PUBLIC_MODELS = [
45
+ # {
46
+ # "name": "entity-matcher-v1",
47
+ # "description": "High-performance entity matching model",
48
+ # "link": "https://huggingface.co/Narrative-IO/entity-matcher-v1"
49
+ # },
50
+ # {
51
+ # "name": "data-enrichment-v2",
52
+ # "description": "Advanced data enrichment pipeline",
53
+ # "link": "https://huggingface.co/Narrative-IO/data-enrichment-v2"
54
+ # }
55
+ # ]
56
+
57
  # Public Datasets
58
  PUBLIC_DATASETS = [
59
  {
 
66
  # Demo configurations
67
  DEMOS = [
68
  {
69
+ "title": "Coming Soon",
 
 
70
  },
 
 
 
 
 
71
  ]
72
 
73
  # Custom CSS for styling
 
104
  margin-bottom: 15px;
105
  }
106
 
107
+ p, span, li, em {
108
  font-size: 14px;
109
  color: #415290; /* text-color-secondary */
110
  margin-bottom: 15px;
111
  }
112
 
113
+ em {
114
+ font-style: italic;
115
+ }
116
+
117
  .news-item {
118
  padding: 10px 0;
119
  border-bottom: 1px solid #ced4da; /* surface-d */
 
150
  gr.Markdown(f"# {ORG_NAME}", elem_classes="title")
151
  gr.Markdown(DESCRIPTION)
152
  with gr.Row():
153
+ gr.HTML("""
154
+ <div style="display: flex; gap: 20px;">
155
+ <a href="https://narrative.io" target="_blank" class="icon-link">
156
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="#0922A6">
157
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"/>
158
+ </svg>
159
+ </a>
160
+ <a href="https://github.com/narrative-io" target="_blank" class="icon-link">
161
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="#0922A6">
162
+ <path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2z"/>
163
+ </svg>
164
+ </a>
165
+ </div>
166
+ """)
167
 
168
  # News and Announcements
169
  with gr.Column(elem_classes="card"):
 
172
  with gr.Row(elem_classes="news-item"):
173
  gr.Markdown(f"""
174
  **{announcement['title']}**
175
+ ### {format_date(announcement['date'])}
176
  {announcement['content']}
177
  """)
178
 
179
  # Interactive Demos
180
  with gr.Column(elem_classes="card"):
181
  gr.Markdown("## Interactive Demos")
182
+ gr.Markdown("Coming Soon")
183
 
184
  # Right section (1/3 width)
185
  with gr.Column(scale=1):
186
+ # # Public Models card
187
+ # with gr.Column(elem_classes="card"):
188
+ # gr.Markdown("## Public Models")
189
+ # for model in PUBLIC_MODELS:
190
+ # with gr.Row(elem_classes="model-item"):
191
+ # gr.Markdown(f"""
192
+ # **{model['name']}**
193
+ # {model['description']}
194
+ # [View Model]({model['link']})
195
+ # """)
196
+ # gr.Markdown("[View All Models →](https://huggingface.co/collections/narrative-io/public-models-6777e756fe3748f33c403a31)", elem_classes="view-all-link")
197
 
198
  # Public Datasets card
199
  with gr.Column(elem_classes="card"):