Thư viện QueriesDịch nhiều câu sử dụng DeepSeek
Dịch nhiều câu sử dụng DeepSeek
Query này lấy nội dung từ nhiều bài viết và dịch các chuỗi đó sang bất kỳ ngôn ngữ nào bằng cách sử dụng DeepSeek.
Để kết nối với API DeepSeek, bạn phải cung cấp biến $apiKey với khóa API.
Bạn có thể ghi đè biến $model (mặc định là "deepseek-chat") bằng mô hình DeepSeek mà bạn muốn sử dụng.
query GetPostContent($limit: Int! = 5, $offset: Int! = 0) {
posts(pagination: {limit: $limit, offset:$offset}, sort: {by: ID, order: ASC}) {
content
@export(
as: "contentItems",
type: LIST
)
}
}
query TranslateContentWithDeepSeek(
$fromLang: String!
$toLang: String!
$apiKey: String!
$systemMessage: String! = "You are a language translator"
$promptTemplate: String! = """
I'm working on internationalizing my application.
I've created a JSON with sentences in {$fromLang}. Please translate the sentences to {$toLang}. If a sentence contains HTML, do not translate inside the HTML tags.
Return a JSON with entry "translations", and the translations as an array, in the same order as in the input.
This is the JSON:
{$encodedContentItems}
"""
$model: String! = "deepseek-chat"
)
@depends(on: "GetPostContent")
{
contentItems: _echo(value: $contentItems)
encodedContentItems: _arrayEncodeAsJSONString(array: $contentItems)
prompt: _strReplaceMultiple(
search: ["{$fromLang}", "{$toLang}", "{$encodedContentItems}"],
replaceWith: [$fromLang, $toLang, $__encodedContentItems],
in: $promptTemplate
)
authorizationHeader: _sprintf(
string: "Bearer %s"
values: [$apiKey]
)
@remove
mistralAIResponse: _sendJSONObjectItemHTTPRequest(input: {
url: "https://api.deepseek.com/chat/completions",
method: POST,
options: {
headers: [
{
name: "Authorization",
value: $__authorizationHeader
},
],
json: {
model: $model,
messages: [
{
role: "system",
content: $systemMessage
},
{
role: "user",
content: $__prompt
},
],
stream: false,
response_format: {
type: "json_object"
}
}
}
})
@underJSONObjectProperty(by: { key: "choices" })
@underArrayItem(index: 0)
@underJSONObjectProperty(by: { path: "message.content" })
@export(as: "jsonEncodedTranslatedContent")
}
query ExtractTranslatedContent
@depends(on: "TranslateContentWithDeepSeek")
{
jsonEncodedTranslatedContent: _echo(value: $jsonEncodedTranslatedContent)
@remove
decodedTranslatedContent: _strDecodeJSONObject(string: $jsonEncodedTranslatedContent)
@remove
translatedContent: _objectProperty(
object: $__decodedTranslatedContent,
by: { key: "translations" }
)
}