24 lines
826 B
Python
24 lines
826 B
Python
# persona_tool.py
|
|
|
|
from base_tool import BaseTool
|
|
import openai
|
|
|
|
class PersonaTool(BaseTool):
|
|
def generate_response(self, persona_description, query):
|
|
"""
|
|
Generates a response based on the persona description using OpenAI API.
|
|
|
|
:param persona_description: Description of the persona to be used as a system prompt.
|
|
:param query: The query to be answered by the persona.
|
|
:return: Response from OpenAI API.
|
|
"""
|
|
# Call OpenAI API with the provided persona and query
|
|
response = openai.ChatCompletion.create(
|
|
model="gpt-3.5-turbo",
|
|
messages=[
|
|
{"role": "system", "content": persona_description},
|
|
{"role": "user", "content": query}
|
|
]
|
|
)
|
|
return response.choices[0].message['content']
|