Renamed module and imported it.

This commit is contained in:
Maximilian Winter 2024-01-12 18:39:48 +01:00
parent 641214b8e8
commit 3507238cca
2 changed files with 6 additions and 7 deletions

View file

@ -2,13 +2,13 @@
import json
from enum import Enum
from typing import Union
from typing import Union, Optional
import requests
from pydantic import BaseModel, Field
from pydantic_models_to_grammar import generate_gbnf_grammar_and_documentation
import importlib
pydantic_models_to_grammar = importlib.import_module("pydantic-models-to-grammar")
# Function to get completion on the llama.cpp server with grammar.
def create_completion(prompt, grammar):
@ -70,7 +70,7 @@ class Calculator(BaseModel):
# outer_object_content is the name of outer object content.
# model_prefix is the optional prefix for models in the documentation. (Default="Output Model")
# fields_prefix is the prefix for the model fields in the documentation. (Default="Output Fields")
gbnf_grammar, documentation = generate_gbnf_grammar_and_documentation(
gbnf_grammar, documentation = pydantic_models_to_grammar.generate_gbnf_grammar_and_documentation(
pydantic_model_list=[SendMessageToUser, Calculator], outer_object_name="function",
outer_object_content="function_parameters", model_prefix="Function", fields_prefix="Parameters")
@ -115,15 +115,14 @@ class Book(BaseModel):
"""
title: str = Field(..., description="Title of the book.")
author: str = Field(..., description="Author of the book.")
published_year: int = Field(..., description="Publishing year of the book.")
published_year: Optional[int] = Field(..., description="Publishing year of the book.")
keywords: list[str] = Field(..., description="A list of keywords.")
category: Category = Field(..., description="Category of the book.")
summary: str = Field(..., description="Summary of the book.")
# We need no additional parameters other than our list of pydantic models.
gbnf_grammar, documentation = generate_gbnf_grammar_and_documentation([Book])
gbnf_grammar, documentation = pydantic_models_to_grammar.generate_gbnf_grammar_and_documentation([Book])
system_message = "You are an advanced AI, tasked to create a dataset entry in JSON for a Book. The following is the expected output model:\n\n" + documentation