Edegan-Chris commited on
Commit
fb4ffe4
·
verified ·
1 Parent(s): 1912f8d

Upload 3 files

Browse files
Files changed (3) hide show
  1. TextGen/ConfigEnv.py +0 -0
  2. TextGen/__init__.py +5 -0
  3. TextGen/router.py +54 -0
TextGen/ConfigEnv.py ADDED
File without changes
TextGen/__init__.py ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+
3
+ app = FastAPI(title="Deploying FastAPI Apps on Huggingface")
4
+
5
+ from TextGen import router
TextGen/router.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from pydantic import BaseModel
3
+
4
+ from .ConfigEnv import config
5
+ from fastapi.middleware.cors import CORSMiddleware
6
+
7
+ from langchain.llms import Clarifai
8
+ from langchain.chains import LLMChain
9
+ from langchain.prompts import PromptTemplate
10
+
11
+ from TextGen import app
12
+
13
+ class Generate(BaseModel):
14
+ text:str
15
+
16
+ def generate_text(prompt: str):
17
+ if prompt == "":
18
+ return {"detail": "Please provide a prompt."}
19
+ else:
20
+ prompt = PromptTemplate(template=prompt, input_variables=['Prompt'])
21
+
22
+ llm = Clarifai(
23
+ pat = config.CLARIFAI_PAT,
24
+ user_id = config.USER_ID,
25
+ app_id = config.APP_ID,
26
+ model_id = config.MODEL_ID,
27
+ model_version_id=config.MODEL_VERSION_ID,
28
+ )
29
+
30
+ llmchain = LLMChain(
31
+ prompt=prompt,
32
+ llm=llm
33
+ )
34
+
35
+ llm_response = llmchain.run({"Prompt": prompt})
36
+ return Generate(text=llm_response)
37
+
38
+
39
+
40
+ app.add_middleware(
41
+ CORSMiddleware,
42
+ allow_origins=["*"],
43
+ allow_credentials=True,
44
+ allow_methods=["*"],
45
+ allow_headers=["*"],
46
+ )
47
+
48
+ @app.get("/", tags=["Home"])
49
+ def api_home():
50
+ return {'detail': 'Welcome to FastAPI TextGen Tutorial!'}
51
+
52
+ @app.post("/api/generate", summary="Generate text from prompt", tags=["Generate"], response_model=Generate)
53
+ def inference(input_prompt: str):
54
+ return generate_text(prompt=input_prompt)