• Главная
  • Курсы
  • События
  • Блог
  • Контакты
  • Магазин
    • Загрузки
  • Партнерка
  • Обо мне
Есть вопросы? Звоните:
+7 (917) 449 09 97
admin@nizamov.school
РегистрацияВход
nizamov.school
  • Главная
  • Курсы
  • События
  • Блог
  • Контакты
  • Магазин
    • Загрузки
  • Партнерка
  • Обо мне

CHAT GPT 1C

МИКРОСЕРВИС PYTHON FASTAPI
  • Главная
  • Блог
  • Blog
  • CHAT GPT 1C. МИКРОСЕРВИС PYTHON FASTAPI

CHAT GPT 1C. МИКРОСЕРВИС PYTHON FASTAPI

  • Опубликовано Илья Низамов
  • Разделы Blog
  • Дата 17.09.2023
  • Комментарии Нет комментариев
gpt 1c

Подписывайтесь в соц сетях. Там провожу конкурсы и публикую еще больше контента.

Vk Youtube Telegram

Привет программисты 1С! Скажу сразу, в этом уроке будет минимум 1С, но тот способ который я покажу является самым простым для получения доступа к chatgpt из 1С.

В этом уроке chat gpt 1c создадим микросервис на Python с помощью FastAPI, который отправляет запросы к chat gpt. Потом создадим отработку в 1С, которая будет отправлять запросы и получать ответы от chat gpt через наш микросервис.

Возможно в следующих уроках я буду усложнять пример, попробую адаптировать chatgpt для программистов 1С. В общем подписывайся на канал, жми лайк и колокольчик, а если решил заказать разработку по интеграции с chatgpt у меня звоните +79174490997

МИКРОСЕРВИС PYTHON FASTAPI С ОТПРАВКОЙ ЗАПРОСОВ К CHAT GPT

Обновляем PIP

python.exe -m pip install --upgrade pip

Создаем .env файл для хранения ключа
Прописываем токен который получили в консоли OpenAI

OPENAI_API_KEY=

Для работы с env установим библиотеку django-environ

pip install django-environ

Устанавливаем библиотеку для работы OpenAI

pip install openai

Для работы с HTTP запросами устанавливаем FastAPI

pip install fastapi

Устанавливаем uvicorn – асинхронный web сервер

pip install uvicorn

Создаем скрипт main.py

# Импортируем необходимые библиотеки
import environ
import openai
from fastapi import FastAPI
from pydantic import BaseModel
# Считываем ключи из env файла
env = environ.Env()
environ.Env.read_env()
# Создаем экземпляр класса FastAPI
app = FastAPI()
# Указываем API ключ для работы с OpenAI
openai.api_key = env('OPENAI_API_KEY')
# Создаем функцию выполняющую запрос к ChatGPT
def chat_with_gpt(system, question):
result = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": system},
{"role": "user", "content": question}
],
temperature=0.5
)

return result['choices'][0]['message']['content']
# Создаем класс для валидации данных
class ChatData(BaseModel):
system: str
question: str
# Создаем асинхронную функцию для обработки post запросов из 1С.
@app.post('/chatgpt', status_code=200)
async def process_data(payload: ChatData):
# Получаем данные и проводим их валидацию
data = payload.model_dump()
# Для отладки можем вывести в консоль то что получили из запроса
print(data)
# Выполняем запрос к ChatGPT
response = chat_with_gpt(data["system"], data["question"])
# Возвращаем обратно результат запроса от ChatGPT
return {'gpt_response': response}

Запускаем сервер и тестируем отправку запросов к chat gpt

uvicorn main:app --reload

Останавливаем сервер и создаем requirements.txt

pip freeze > requirements.txt

Установку всех пакетов из этого файла можно произвести командой

pip install -r requirements.txt

Обработка для запросов к chat gpt из 1c

Создаем форму с текстовыми реквизитами и размещаем их на форме.

Создаем команду для отправки запросов и размещаем ее в командной панели

Обработчик команды

&НаКлиенте
Процедура Отправить(Команда)
	
	ОчиститьСообщения();
	Результат = "";
	
	// Проверяем заполнение полей
	Если Не ЗначениеЗаполнено(Роль) ИЛИ Не ЗначениеЗаполнено(Вопрос) Тогда
		Сообщить("Заполните обязательные поля ""Роль"" и ""Вопрос""");
		Возврат;	
	КонецЕсли; 
	
	// Создаем данные для тела запроса
	ДанныеЗапроса = Новый Структура;
	ДанныеЗапроса.Вставить("system", Роль);
	ДанныеЗапроса.Вставить("question", Вопрос);
	
	// Преобразуем структуру в JSON
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, ДанныеЗапроса);
	ДанныеJSON = ЗаписьJSON.Закрыть();		
	
	// Отправляем запрос
	HTTPСоединение = Новый HTTPСоединение("localhost", 8000);
	HTTPЗапрос = Новый HTTPЗапрос("chatgpt");
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
	HTTPЗапрос.УстановитьТелоИзСтроки(ДанныеJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
	
	РезультатЗапроса = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
	
	// Выводим ответ
	Результат = "Код ответа от сервера: " + РезультатЗапроса.КодСостояния + Символы.ПС + Символы.ВК + РезультатЗапроса.ПолучитьТелоКакСтроку();
	
КонецПроцедуры

Примеры результатов запросов к chat gpt 1c

chat gpt 1c

Меняем роль, но вопрос оставляем тот же. Честно говоря я не спец в хоккее, но мне кажется что chat gpt просто придумала ответ. Вот такие случаи научимся отсекать в следующих уроках.

chat gpt python

Запишись на тренинг

ЗАКРОЙ ВСЕ ВОПРОСЫ ПО РАБОТЕ С HTTP В 1С ЗА ОДНО ЗАНЯТИЕ
ЗАПИСАТЬСЯ
Скачать исходники из урока
author avatar
Илья Низамов

Предыдущая запись

PYINSTALLER FASTAPI UVICORN. УПАКОВЫВАЕМ В EXE ФАЙЛ
17.09.2023

Следующая запись

ChatGPT Антиспам. Часть 1
05.02.2024

Вам также может понравиться

gigachat
GIGACHAT ИЛИ CHATGPT ИИ МЕНЕДЖЕР ДЛЯ 1С
15 мая, 2024
gigachat ии менеджер
ИИ МЕНЕДЖЕР НА БАЗЕ GIGACHAT
12 февраля, 2024
chatgpt антиспам
ChatGPT Антиспам. Часть 1
5 февраля, 2024

Оставьте ответ Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

Рубрики

  • Blog

Ссылки

  • Политика конфиденциальности
  • Публичная оферта

Сайт создан в NIZAMOV.studio

Регистрация с помощью:

Войти Vkontakte

Вход через логин и пароль

Забыли пароль?

Нет аккаунта? Регистрируйся прямо сейчас

Register a new account

Are you a member? Login now