Skip to content

Django Chain views

django_chain.views

Views for django-chain: API endpoints for prompt, workflow, user interaction, and LLM execution.

This module provides Django class-based and function-based views for managing prompts, workflows, user interactions, and LLM-powered chat or vector search endpoints.

Typical usage example

urlpatterns = [ path('api/', include('django_chain.urls')), ]

PromptListCreateView

Bases: JSONResponseMixin, ModelListMixin, ModelCreateMixin, View

View for listing and creating Prompt objects.

GET: List all prompts (optionally filter by name or active status). POST: Create a new prompt version.

get(request, *args, **kwargs)

List all prompts, optionally filtered by name or active status.

Parameters:

  • request (HttpRequest) –

    The HTTP request object.

Returns:

  • JsonResponse ( JsonResponse ) –

    List of serialized prompts.

post(request, *args, **kwargs)

Create a new prompt version.

Parameters:

  • request (HttpRequest) –

    The HTTP request object.

Returns:

  • JsonResponse ( JsonResponse ) –

    The created prompt or error message.

apply_list_filters(queryset, request)

Apply filters to the queryset based on request parameters.

Parameters:

  • queryset (QuerySet) –

    The queryset to filter.

  • request (HttpRequest) –

    The HTTP request object.

Returns:

  • QuerySet ( QuerySet ) –

    The filtered queryset.

PromptDetailView

Bases: JSONResponseMixin, ModelRetrieveMixin, ModelUpdateMixin, ModelDeleteMixin, View

View for retrieving, updating, or deleting a single Prompt object.

GET: Retrieve a prompt by primary key. PUT: Update a prompt's input variables or template. DELETE: Delete a prompt.

get(request, pk, *args, **kwargs)

Retrieve a prompt by primary key.

Parameters:

  • request (HttpRequest) –

    The HTTP request object.

  • pk (str) –

    The primary key of the prompt.

Returns:

  • JsonResponse ( JsonResponse ) –

    The serialized prompt or error message.

put(request, pk, *args, **kwargs)

Update a prompt's input variables or template.

Parameters:

  • request (HttpRequest) –

    The HTTP request object.

  • pk (str) –

    The primary key of the prompt.

Returns:

  • JsonResponse ( JsonResponse ) –

    The updated prompt or error message.

delete(request, pk, *args, **kwargs)

Delete a prompt by primary key.

Parameters:

  • request (HttpRequest) –

    The HTTP request object.

  • pk (str) –

    The primary key of the prompt.

Returns:

  • JsonResponse ( JsonResponse ) –

    Success message or error message.

serialize_user_interaction(user_interaction, include_logs=False)

Custom serializer for UserInteraction instances. Optionally includes related InteractionLog entries.

chat_view(request)

Handle chat requests.

vector_search_view(request)

Handle vector search requests.