url = <server_url>/gemini/questions/en/
Аргументы:
- recipe_name - название рецепта (str)
- ingredients - список ингредиентов ([str])
- steps - список шагов приготовления рецепта ([str])
- time - время приготовления в минутах (int)Ответ:
json {
'response' : str, # ответ модели
'questions' : [[str]] # Список вопросов для каждого шага (массив для каждого шага)
}import requests, json
response = requests.post(
url=url,
data={
'recipe_name': 'some name',
'ingredients': json.dumps(['ingr1', 'ingr2']),
'steps': json.dumps(['step1','step2']),
'time': 10
}
)
if response.ok:
res = response.json()url = <server_url>/gemini/questions/en/
Аргументы:
- recipe_name - название рецепта (str)
- ingredients - список ингредиентов ([str])
- steps - список шагов приготовления рецепта ([str])
- time - время приготовления в минутах (int)Ответ:
json {
'description' : str # ответ модели
}import requests, json
response = requests.post(
url=url,
data={
'recipe_name': 'some name',
'ingredients': json.dumps(['ingr1', 'ingr2']),
'steps': json.dumps(['step1','step2']),
'time': 10
}
)
if response.ok:
res = response.json()url = <server_url>/gemini/questions/en/
Аргументы:
- recipe_name - название рецепта (str)
- ingredients - список ингредиентов ([str])
- steps - список шагов приготовления рецепта ([str])
- time - время приготовления в минутах (int)
- step_num - номер шага, для которого задается вопрос (int)
- question - вопрос (строка)
[optional]
- history - история ответов на вопросы (массив из json-объектов)
[{
'role' : 'user' | 'model',
'parts' : str # текст вопроса/ответа
}]Ответ:
json {
'user' : {
'role' : 'user',
'parts' : str # запрос к модели
},
'model' : {
'role' :'model',
'parts' : str # ответ модели
},
'answer' : str # ответ модели
}Части 'user' и 'model' можно использовать для построения истории ответов на вопросы.
Пример без истории:
import requests, json
response = requests.post(
url=url,
data={
'recipe_name': 'some name',
'ingredients': json.dumps(['ingr1', 'ingr2']),
'steps': json.dumps(['step1','step2']),
'time': 10,
'step_num' : 3,
'question' : 'How long should the dough be baked for?',
}
)
if response.ok:
res = response.json()С историей:
history = [response.json()['user'], response.json()['model']]
response = requests.post(
url=url,
data={
'recipe_name': 'some name',
'ingredients': json.dumps(['ingr1', 'ingr2']),
'steps': json.dumps(['step1','step2']),
'time': 10,
'step_num' : 3,
'question' : 'How long should the dough be baked for?',
'history' : json.dumps(history)
}
)
if response.ok:
res = response.json()python -m venv venv
.\venv\Scripts\activatepip install -r requirements.txtСоздаем файл с именем .env в папке проекта.
В него добавляем строчку со своим ключом.
GEMINI_API_KEY=<api_key>
В терминале запускаем команду
py .\llm_server\manage.py runserver 8080Номер порта может быть любым. По умолчанию - 8000.