import { CodeGroup } from '../code.tsx' import { Row, Col, Properties, Property, Heading, SubProperty, Paragraph } from '../md.tsx' # Completion App API For high-quality text generation, such as articles, summaries, and translations, use the completion-messages API with user input. Text generation relies on the model parameters and prompt templates set in Dify Prompt Engineering. Create a Completion Message to support the question-and-answer mode. ### Request Body (Optional) Provide user input fields as key-value pairs, corresponding to variables in Prompt Eng. Key is the variable name, Value is the parameter value. If the field type is Select, the submitted Value must be one of the preset choices.
    {!!props.variables.length && props.variables.map( val => ( {val.name ? `${val.name}` : ''} ) )}
- Blocking type, waiting for execution to complete and returning results. (Requests may be interrupted if the process is long) - streaming returns. Implementation of streaming return based on SSE (**[Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)**). The user identifier, defined by the developer, must ensure uniqueness within the app.
```bash {{ title: 'cURL' }} curl --location --request POST 'https://cloud.langgenius.dev/api/completion-messages' \ --header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \ --header 'Content-Type: application/json' \ --data-raw '{ "inputs": {}, "response_mode": "streaming", "user": "abc-123" }' ``` ### blocking ```json {{ title: 'Response' }} { "id": "0b089b9a-24d9-48cc-94f8-762677276261", "answer": "how are you?", "created_at": 1679586667 } ``` ### streaming ```streaming {{ title: 'Response' }} data: {"id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " I", "created_at": 1679586595} data: {"id": "5ad4cb98-f0c7-4085-b384-88c403be6290", "answer": " I", "created_at": 1679586595} ```
--- Rate received messages on behalf of end-users with likes or dislikes. This data is visible in the Logs & Annotations page and used for future model fine-tuning. ### Path Params Message ID ### Request Body like or dislike, null is undo The user identifier, defined by the developer, must ensure uniqueness within the app. ```bash {{ title: 'cURL' }} curl --location --request POST 'https://cloud.langgenius.dev/api/messages/{message_id}/feedbacks' \ --header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \ --header 'Content-Type: application/json' \ --data-raw '{ "rating": "like", "user": "abc-123" }' ``` ```json {{ title: 'Response' }} { "has_more": false, "data": [ { "id": "WAz8eIbvDR60rouK", "username": "FrankMcCallister", "phone_number": "1-800-759-3000", "avatar_url": "https://assets.protocol.chat/avatars/frank.jpg", "display_name": null, "conversation_id": "xgQQXg3hrtjh7AvZ", "created_at": 692233200 }, { "id": "hSIhXBhNe8X1d8Et" // ... } ] } ``` --- Retrieve configured Input parameters, including variable names, field names, types, and default values. Typically used for displaying these fields in a form or filling in default values after the client loads. ### Query The user identifier, defined by the developer, must ensure uniqueness within the app. ```bash {{ title: 'cURL' }} curl --location --request GET 'https://cloud.langgenius.dev/api/parameters?user=abc-123' \ --header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' ``` ```json {{ title: 'Response' }} { "introduction": "nice to meet you", "variables": [ { "key": "book", "name": "Which book?", "description": null, "type": "string", "default": null, "options": null }, { // ... ] } ```