gentrich commited on
Commit
59352f7
·
1 Parent(s): c4a74f5

Add brochure code.

Browse files
Files changed (2) hide show
  1. app.py +12 -3
  2. runnable_with_tools.py +1 -5
app.py CHANGED
@@ -39,6 +39,8 @@ TOOLS = {
39
  }
40
 
41
  def make_brochure(company_name: str, company_web_site: str) -> str:
 
 
42
  system = """
43
  You are an assistant that can crate company brochure from company's web site.
44
  You can do this in a few steps:
@@ -57,11 +59,18 @@ def make_brochure(company_name: str, company_web_site: str) -> str:
57
  ('user', user)
58
  ])
59
  prompt = prompt_template.invoke({'company_name': company_name, 'company_web_site': company_web_site})
60
- return model_with_tools.invoke(prompt.to_messages(), max_depth=20).content
 
 
 
 
61
 
62
  load_dotenv()
63
  model = ChatAnthropic(model="claude-3-5-haiku-20241022", temperature=0)
64
  model_with_tools = RunnableWithTools(bound=model.bind_tools([get_web_page]), tools=TOOLS)
65
 
66
- demo = gr.Interface(fn=make_brochure, inputs=["text", "text"], outputs="markdown", flagging_mode="never")
67
- demo.launch()
 
 
 
 
39
  }
40
 
41
  def make_brochure(company_name: str, company_web_site: str) -> str:
42
+ print(f'processing request for {company_name} at {company_web_site}')
43
+
44
  system = """
45
  You are an assistant that can crate company brochure from company's web site.
46
  You can do this in a few steps:
 
59
  ('user', user)
60
  ])
61
  prompt = prompt_template.invoke({'company_name': company_name, 'company_web_site': company_web_site})
62
+ brochure = model_with_tools.invoke(prompt.to_messages(), max_depth=20).content
63
+ print(f'processed request for {company_name} at {company_web_site}')
64
+ print(f'brochure is: \n')
65
+ print(brochure)
66
+ return brochure
67
 
68
  load_dotenv()
69
  model = ChatAnthropic(model="claude-3-5-haiku-20241022", temperature=0)
70
  model_with_tools = RunnableWithTools(bound=model.bind_tools([get_web_page]), tools=TOOLS)
71
 
72
+ app = gr.Interface(fn=make_brochure,
73
+ inputs=[gr.Textbox(label='Company name'), gr.Textbox(label='Company web site')],
74
+ outputs=gr.Markdown(label='Company brochure', value='# Company brochure', show_label=True, container=True),
75
+ flagging_mode="never")
76
+ app.launch()
runnable_with_tools.py CHANGED
@@ -40,11 +40,7 @@ class RunnableWithTools(RunnableSerializable[Input, Output]):
40
  selected_tool = self.tools[tool_call["name"].lower()]
41
  if selected_tool:
42
  tool_msg = selected_tool.invoke(tool_call)
43
- if isinstance(tool_msg, BaseModel):
44
- tool_msg = tool_msg.model_dump()
45
- else:
46
- tool_msg = str(tool_msg)
47
- text += '\n' + tool_msg
48
  input.append(ToolMessage(tool_call_id=tool_call['id'], content=text))
49
  depth += 1
50
  else:
 
40
  selected_tool = self.tools[tool_call["name"].lower()]
41
  if selected_tool:
42
  tool_msg = selected_tool.invoke(tool_call)
43
+ text += '\n' + str(tool_msg)
 
 
 
 
44
  input.append(ToolMessage(tool_call_id=tool_call['id'], content=text))
45
  depth += 1
46
  else: