Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Aplikacje LLM i dane medyczne
Używanie dużych modeli językowych z danymi medycznymi: żądanie i odpowiedź API kontekstu, modele chmurowe i lokalne, systemy agentowe, pobieranie vs kontekst i promptowanie z pochodzeniem.
Aplikacja wykorzystująca duży model językowy z danymi medycznymi musi rozwiązać jeden problem, którego model nie potrafi: którą część dokumentacji pacjenta umieścić w podpowiedzi i jak ją oznaczyć, aby model mógł odróżnić fakty od notatek. Anpheros rozwiązuje go po stronie danych za pomocą API kontekstu: na podstawie pacjenta, zadania i budżetu tokenów zwraca odpowiednie sekcje rekordu HL7 FHIR R4 pacjenta, z każdym elementem oznaczonym jego źródłem. Twoja aplikacja wysyła ten kontekst do wybranego modelu – hostowanego lub lokalnego.
Jak połączyć LLM z danymi medycznymi FHIR? Przechowuj rekordy w magazynie FHIR, do którego model nie ma bezpośredniego dostępu – z Anpheros, rekord HL7 FHIR R4 pacjenta – poproś o budżetowany kontekst z oznaczeniem źródła (POST /v1/context) i umieść ten kontekst w podpowiedzi wybranego modelu. Model nigdy nie otrzymuje poświadczeń bazy danych ani API; Twoja aplikacja wykonuje wywołania, w ramach zgody pacjenta.
Anpheros nie uruchamia modeli i nie posiada natywnej integracji z żadnym dostawcą modeli ani lokalnym środowiskiem uruchomieniowym.
Wzorzec
1. your app ── POST /v1/context {patient, task, question, budget_tokens, format} ──► Anpheros
2. Anpheros ── sections + text + omitted + warnings + manifest_id ──────────────────► your app
3. your app ── system prompt + context + user question ─────────────────────────────► the model
4. the model ── answer ───────────────────────────────────────────────────────────────► your app
5. your app ── optional write-back with author_type "ai" ──────────────────────────► Anpheros
Kontekst żądania
curl -X POST https://platform.anpheros.com/v1/context -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' -d '{
"patient": "'$PID'",
"task": "medication review before a cardiology visit",
"question": "How did blood pressure evolve over the last 3 months?",
"budget_tokens": 1500,
"format": "text"
}'
| Pole | Znaczenie |
|---|---|
patient |
identyfikator pacjenta widoczny dla Twoich poświadczeń |
task, question |
co model zrobi; platforma planuje, które części rekordu są istotne |
needs |
opcjonalne jawne potrzeby, na przykład ["labs:4548-4", "vitals:trend:85354-9", "timeline:180d"] |
budget_tokens |
rozmiar kontekstu, 300–8 000 (domyślnie 2 000) |
format |
structured (sekcje JSON) lub text (zwraca również gotowy do użycia blok tekstu) |
window_days |
opcjonalne okno wsteczne |
Odpowiedź kontekstowa
sections— na przykład karta podsumowania, schorzenia, leki, alergie, szczepienia, wyniki badań laboratoryjnych, parametry życiowe z tygodniowymi trendami i znacznikami przed/po leczeniu, objawy, oś czasu i dokumenty. Każdy element zawieraauthor_typeisource.omitted— co nie zmieściło się w budżecie; poinformuj model, że jego kontekst jest niepełny.warnings,provenance_note.text— gdyformatjesttext.manifest_id— zapis, które sekcje i źródła zostały użyte, powiązany z logiem dostępu.- sekcja
ai_notes— wartości napisane wcześniej przez AI pojawiają się tylko tam, oznaczone jako niezweryfikowane, nigdy niezmieszane z sekcjami klinicznymi.
Modele chmurowe
W przypadku modelu hostowanego — od OpenAI, Anthropic, Google, xAI lub innego dostawcy — Twoje zaplecze umieszcza kontekst w monicie i wywołuje API dostawcy. Kontekst opuszcza Twoją infrastrukturę i trafia do tego dostawcy, dlatego:
- upewnij się, że zgoda pacjenta i Twoje powiadomienie o prywatności obejmują wysyłanie danych do tego dostawcy;
- zawrzyj umowę o przetwarzaniu danych z dostawcą, która jest odpowiednia dla danych medycznych;
- wysyłaj tylko to, czego wymaga zadanie — budżet tokenów i jawne
needspomagają w tym.
Modele lokalne
W przypadku modelu uruchamianego samodzielnie — na przykład za pomocą Ollama lub innego lokalnego środowiska uruchomieniowego — jedynym wywołaniem sieciowym przenoszącym dane pacjenta jest połączenie między Twoim zapleczem a Anpheros; prompt i odpowiedź pozostają w Twojej infrastrukturze. Mniejsze modele lokalne mają mniejsze okna kontekstowe: odpowiednio niższe budget_tokens i preferują format: "text".
Systemy agentowe
Kiedy model decyduje, które wywołania wykonać, udostępnij mu narzędzia (kontekst, wyszukiwanie, oś czasu) zamiast surowych poświadczeń, utrzymuj wąskie zakresy i loguj każde manifest_id obok odpowiedzi. Agenci AI i dane medyczne
API kontekstu czy własne pobieranie?
Potok pobierania danych z tekstu swobodnego (tworzenie osadzeń fragmentów dokumentów i ich przeszukiwanie) jest przydatny w przypadku nieustrukturyzowanych notatek. W przypadku ustrukturyzowanych danych medycznych API kontekstu jest zazwyczaj prostsze i bezpieczniejsze: działa na zakodowanych zasobach FHIR, zachowuje pochodzenie danych, zna trendy i okresy leczenia, respektuje zgodę i jest audytowane. Oba podejścia można połączyć — na przykład kontekst z Anpheros plus pobrane fragmenty z zarządzanych przez Ciebie dokumentów.
Promptowanie z pochodzeniem danych
Zachowaj etykiety w prompcie i wyjaśnij modelowi, co one oznaczają:
The context below comes from the patient's record. Each item is labelled with its author type
(patient, practitioner, device, import, derived) and source. Items under ai_notes were written by an
AI earlier and are not verified. Say which items your answer relies on. If the context is marked as
partial, say so. Do not give a diagnosis or change a treatment; suggest discussing it with a clinician.
Powiązane tematy
- Aplikacje AI w opiece zdrowotnej
- Agenci AI i dane medyczne
- Jak zbudować chatbota medycznego z danymi strukturalnymi
- Bezpieczeństwo, prywatność i rezydencja danych
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card