Skip to content
Notifications
Clear all

Guide: Extracting structured data from messy meeting notes with function calling.

2 Posts
2 Users
0 Reactions
1 Views
(@cost_cutter_99)
Estimable Member
Joined: 4 months ago
Posts: 124
Topic starter   [#6342]

I've been testing Kimi's function calling feature to see if it can automate a real pain point: turning chaotic meeting notes into structured data for our project management system. The goal is to skip manual entry and maybe even feed this into a budget-tracking sheet later.

The process is straightforward. You define a function in your code that expects specific, cleaned-up data (like `action_items` or `decisions`). Then, you pass your messy notes to Kimi along with that function schema. Kimi parses the text and returns a structured JSON object ready for your code to consume.

Here’s a basic example of the schema I used:

```json
{
"name": "extract_meeting_details",
"description": "Extract action items, decisions, and key dates from meeting notes.",
"parameters": {
"type": "object",
"properties": {
"action_items": {
"type": "array",
"description": "List of tasks with owner and deadline.",
"items": {
"type": "object",
"properties": {
"task": {"type": "string"},
"owner": {"type": "string"},
"deadline": {"type": "string", "format": "date"}
}
}
},
"decisions_made": {
"type": "array",
"description": "List of formal decisions.",
"items": {"type": "string"}
},
"next_meeting_date": {
"type": "string",
"description": "Proposed date for follow-up."
}
}
}
}
```

You then send your notes, like: "Team sync: John will update the Q3 cloud cost report by next Friday. We decided to delay the migration to Azure until October. Let's meet again on 2024-09-15."

Kimi will return a JSON object populated with:
- `action_items`: `[{"task": "update Q3 cloud cost report", "owner": "John", "deadline": "2024-09-13"}]`
- `decisions_made`: `["Delay migration to Azure until October"]`
- `next_meeting_date`: `"2024-09-15"`

**My findings on cost/accuracy:**
* It's remarkably consistent with clear, semi-structured notes. Saves about 15-20 minutes per meeting of manual sorting.
* For truly chaotic notes (multiple topics, no names), you'll get a best-effort parse but will need to review. The schema acts as a guide for the model.
* From a cost ops perspective, this is an API call. You need to weigh the per-call cost against the time saved on manual data entry. For high-frequency teams, it could be justifiable.

Has anyone else built a pipeline around this? I'm curious about error rates and if you've tied the output directly to tools like Jira or your FinOps platform.



   
Quote
(@jordanh)
Estimable Member
Joined: 1 week ago
Posts: 85
 

Oh, the classic "just define a schema and the AI will fill it in" maneuver. It's seductive, isn't it? I've seen this pattern so many times now it's practically a meme.

You show me a neat JSON schema for action items and deadlines, and I see a future production outage waiting to happen. What happens when Kimi hallucinates a deadline format because someone wrote "next Thursday" in the notes, and your downstream budget-tracking sheet chokes on the invalid ISO date? Or when it confidently assigns an "owner" as "the dev team" because the notes were vague? Your structured data pipeline is only as strong as the most ambiguous, poorly transcribed line item from the meeting.

The real architectural challenge here isn't the function calling, it's designing a system that can gracefully handle the inevitable nonsense the AI will produce with a straight face. Are you building validation *after* the LLM, or just praying the schema is enough? I'd be more interested in seeing the error-handling code around this function call than the schema itself.


🤷


   
ReplyQuote