samuel-moreira commited on
Commit
5d0f8a4
1 Parent(s): 7850b02

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +31 -31
main.py CHANGED
@@ -1,32 +1,32 @@
1
- from ctransformers import AutoModelForCausalLM
2
- from fastapi import FastAPI
3
- from pydantic import BaseModel
4
-
5
-
6
- llm = AutoModelForCausalLM.from_pretrained(
7
- "zephyr-7b-beta.Q4_K_S.gguf",
8
- model_type='llama3',
9
- max_new_tokens=3000,
10
- threads=5,
11
- context_length = 4096)
12
-
13
- #Pydantic object
14
- class validation(BaseModel):
15
- prompt: str
16
- #Fast API
17
- app = FastAPI()
18
-
19
- @app.post("/llm_on_cpu")
20
- async def stream(item: validation):
21
- system_prompt = """Leia o currículo e classifique as entidades no meu estilo.
22
- Respeite o formato de saída JSON.
23
- Retorne APENAS O DICIONÁRIO JSON e nada mais.
24
- O nome dos campos sempre deve estar em português do Brasil.
25
- Respeite o nome dos campos. São eles: Nome, Email, Telefone, Localização, Experiência(e suas subchaves são Cargo, Empresa, Descrição, Data de Início e Data de Término), Formação(e suas subchaves são Formação, Instituição e Data de Conclusão) e Conhecimentos(suas subchaves são Conhecimento e Instituição).
26
- Geralmente a descrição da experiência vem descrita logo após o cargo. Procure e inclua esses dados no campo Descrição de cada Experiência.]
27
- Acrescente todas as informações que encontrar, todas devem ser classificadas nos seus respectivos campos. Não deixe passar nada.
28
- Caso não encontre alguma informação, retorne o campo com Null."""
29
- E_INST = "</s>"
30
- user = "<|user|>"
31
- prompt = f"{system_prompt}{E_INST}\n{user}\n{item.prompt}{E_INST}"
32
  return llm(prompt)
 
1
+ from ctransformers import AutoModelForCausalLM
2
+ from fastapi import FastAPI
3
+ from pydantic import BaseModel
4
+
5
+
6
+ llm = AutoModelForCausalLM.from_pretrained(
7
+ "zephyr-7b-beta.Q4_K_S.gguf",
8
+ model_type='llama3',
9
+ max_new_tokens=2000,
10
+ threads=10,
11
+ context_length = 4096)
12
+
13
+ #Pydantic object
14
+ class validation(BaseModel):
15
+ prompt: str
16
+ #Fast API
17
+ app = FastAPI()
18
+
19
+ @app.post("/llm_on_cpu")
20
+ async def stream(item: validation):
21
+ system_prompt = """Leia o currículo e classifique as entidades no meu estilo.
22
+ Respeite o formato de saída JSON.
23
+ Retorne APENAS O DICIONÁRIO JSON e nada mais.
24
+ O nome dos campos sempre deve estar em português do Brasil.
25
+ Respeite o nome dos campos. São eles: Nome, Email, Telefone, Localização, Experiência(e suas subchaves são Cargo, Empresa, Descrição, Data de Início e Data de Término), Formação(e suas subchaves são Formação, Instituição e Data de Conclusão) e Conhecimentos(suas subchaves são Conhecimento e Instituição).
26
+ Geralmente a descrição da experiência vem descrita logo após o cargo. Procure e inclua esses dados no campo Descrição de cada Experiência.]
27
+ Acrescente todas as informações que encontrar, todas devem ser classificadas nos seus respectivos campos. Não deixe passar nada.
28
+ Caso não encontre alguma informação, retorne o campo com Null."""
29
+ E_INST = "</s>"
30
+ user = "<|user|>"
31
+ prompt = f"{system_prompt}{E_INST}\n{user}\n{item.prompt}{E_INST}"
32
  return llm(prompt)