Compare commits

...

58 Commits

Author SHA1 Message Date
GabeKoga
59a5f51fd7 remove extra folder 2024-03-22 18:55:17 -03:00
GabeKoga
375946c15a Fixed: use absolute import, run main as app 2024-03-19 18:15:35 -03:00
João Moura
637bd885cf adding auto flake 2024-03-11 23:27:19 -03:00
João Moura
337afe228f cutting new version with proper imports 2024-03-11 23:27:04 -03:00
João Moura
4541835487 adding autoflake 2024-03-11 22:56:14 -03:00
João Moura
04d9603449 cutting new version 2024-03-11 22:55:56 -03:00
João Moura
671a8d0180 preparring new version that autoloads env 2024-03-11 22:19:47 -03:00
João Moura
3950878690 preparring to cut new version 2024-03-11 19:54:27 -03:00
João Moura
eaac627600 updating CLI template and guaranteeing tasks order 2024-03-11 19:53:34 -03:00
João Moura
35f8919e73 Preparing new version 2024-03-11 17:37:12 -03:00
João Moura
cb5a528550 Improving agent logging 2024-03-11 17:05:54 -03:00
João Moura
1f95d7b982 Improve tempalte readme 2024-03-11 17:05:20 -03:00
Abe Gong
46971ee985 Fix typo in Tools.md (#300) 2024-03-11 16:45:28 -03:00
Selim Erhan
e67009ee2e Update Create-Custom-Tools.md (#311)
Added the langchain "Tool" functionality by creating a python function and then adding the functionality of that function to the tool by 'func' variable in the 'Tool' function.
2024-03-11 16:44:04 -03:00
Johan
9d3da98251 Update Tools.md (#326)
* Update Tools.md

Fixing typo on the instantiation part

* Update Tools.md

Update tool naming
2024-03-11 16:41:14 -03:00
Bill Chambers
b94de6e947 Update Crews.md (#331) 2024-03-11 16:40:45 -03:00
Chris Pang
f8a1d4f414 added langchain callback to agents (#333)
Co-authored-by: Chris Pang <chris_pang@racv.com.au>
2024-03-11 16:40:10 -03:00
Merbin J Anselm
7deb268de8 docs: fix formatting in Human-Input-on-Execution.md (#335) 2024-03-11 16:38:59 -03:00
João Moura
47b5cbd211 adding initial CLI support 2024-03-11 16:37:32 -03:00
João Moura
a4e9b9ccfe removing double space on logs 2024-03-11 16:23:00 -03:00
João Moura
99be4f5a61 Overridding classes __repr__ 2024-03-05 10:12:49 -03:00
João Moura
ba28ab1680 adding support for agents and tasks to be defined of configs 2024-03-05 01:26:07 -03:00
João Moura
e51b8aadae fix readme 2024-03-05 00:31:52 -03:00
João Moura
33354aa07e udpatign readme example 2024-03-05 00:29:55 -03:00
João Moura
730b71fad8 update serper doc 2024-03-04 11:15:49 -03:00
João Moura
364cf216a0 updating docs disclaimer 2024-03-04 09:59:01 -03:00
João Moura
3cb48ac562 updating docs 2024-03-04 01:29:27 -03:00
João Moura
ea65283023 updating docs 2024-03-03 22:43:51 -03:00
João Moura
d2003cc32d fix docs path 2024-03-03 22:18:48 -03:00
João Moura
1766e27337 Adding tool specific docs 2024-03-03 22:14:53 -03:00
João Moura
442c324243 Updating dependencies, cutting new version 2024-03-03 21:23:42 -03:00
João Moura
3134711240 Updating Docs 2024-03-03 20:54:15 -03:00
João Moura
546fc965f8 updating README 2024-03-03 20:54:15 -03:00
João Moura
9ab45d9118 preparing new version 2024-03-03 20:54:15 -03:00
João Moura
b1ae86757b preparing 0.17.0rc0 2024-03-03 20:54:15 -03:00
João Moura
42eeec5897 Update inner tool usage logic to support both regular and function calling 2024-03-03 20:54:15 -03:00
João Moura
c12283bb16 Small docs update 2024-03-03 20:54:15 -03:00
João Moura
b856b21fc6 updating tests 2024-03-03 20:54:15 -03:00
Jay Mathis
72a0d1edef Update README.md (#301)
Fix a very minor typo
2024-03-03 12:41:35 -03:00
heyfixit
c0a0e01cf6 fix directory typo (#295) 2024-03-03 12:41:14 -03:00
João Moura
78bf008c36 cutting a new version addressin backward compatibility 2024-02-28 12:04:13 -03:00
Hongbo
5857c22daf correct a typo in tool_usage.py (#276) 2024-02-28 09:25:27 -03:00
Gordon Stein
5f73ba1371 Update en.json (#281) 2024-02-28 09:24:44 -03:00
Selim Erhan
4c09835abc Update Tools.md (#283)
Added the link to LangChain built-in toolkits
2024-02-28 09:22:51 -03:00
João Moura
0a025901c5 cutting new versions that doens't include cli just yet 2024-02-28 09:16:13 -03:00
João Moura
9768e4518f Fixing bug preparing new version 2024-02-28 09:09:37 -03:00
João Moura
1f802ccb5a removing logs and preping new version 2024-02-28 03:44:23 -03:00
João Moura
e1306a8e6a removing necessary crewai-tools dependency 2024-02-28 03:44:23 -03:00
João Moura
997c906b5f adding support for input interpolation for tasks and agents 2024-02-28 03:44:23 -03:00
João Moura
2530196cf8 fixing tests 2024-02-28 03:44:23 -03:00
João Moura
340bea3271 Adding ability to track tools_errors and delegations 2024-02-28 03:44:23 -03:00
João Moura
3df3bba756 changing method naming to increment 2024-02-28 03:44:23 -03:00
João Moura
a9863fe670 Adding overall usage_metrics to crew and not adding delegation tools if there no agents the allow delegation 2024-02-28 03:44:23 -03:00
João Moura
7b49b4e985 Adding initial formatting error counting and token counter 2024-02-28 03:44:23 -03:00
João Moura
577db88f8e Updating README 2024-02-28 03:44:23 -03:00
João Moura
01a2e650a4 Adding write job description example 2024-02-28 03:44:23 -03:00
BR
cd9f7931c9 Fix Creating-a-Crew-and-kick-it-off.md so it can run (#280)
* Fix Creating-a-Crew-and-kick-it-off.md

- Update deps to include `crewai[tools]`
- Remove invalid `max_inter` arg from Task constructor call

* Update Creating-a-Crew-and-kick-it-off.md

---------

Co-authored-by: João Moura <joaomdmoura@gmail.com>
2024-02-27 14:23:19 -03:00
João Moura
2b04ae4e4a updating docs 2024-02-26 15:54:06 -03:00
113 changed files with 60452 additions and 49904 deletions

View File

@@ -1,11 +1,11 @@
repos:
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.12.1
hooks:
- id: black
language_version: python3.11
files: \.(py)$
exclude: 'src/crewai/cli/templates/(crew|main)\.py'
- repo: https://github.com/pycqa/isort
rev: 5.13.2

View File

@@ -24,6 +24,7 @@
- [Key Features](#key-features)
- [Examples](#examples)
- [Quick Tutorial](#quick-tutorial)
- [Write Job Descriptions](#write-job-descriptions)
- [Trip Planner](#trip-planner)
- [Stock Analysis](#stock-analysis)
- [Connecting Your Crew to a Model](#connecting-your-crew-to-a-model)
@@ -48,16 +49,10 @@ To get started with CrewAI, follow these simple steps:
pip install crewai
```
If you want to also install crewai-tools, which is a package with tools that can be used by the agents, but more dependencies, you can install it with:
If you want to also install crewai-tools, which is a package with tools that can be used by the agents, but more dependencies, you can install it with, example bellow uses it:
```shell
pip install crewai[tools]
```
The example below also uses DuckDuckGo's Search. You can install it with `pip` too:
```shell
pip install duckduckgo-search
pip install 'crewai[tools]'
```
### 2. Setting Up Your Crew
@@ -65,19 +60,18 @@ pip install duckduckgo-search
```python
import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool
os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY"
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key
# You can choose to use a local model through Ollama for example. See https://docs.crewai.com/how-to/LLM-Connections/ for more information.
# osOPENAI_API_BASE='http://localhost:11434/v1'
# OPENAI_MODEL_NAME='openhermes' # Adjust based on available model
# OPENAI_API_KEY=''
# Install duckduckgo-search for this example:
# !pip install -U duckduckgo-search
# os.environ["OPENAI_API_BASE"] = 'http://localhost:11434/v1'
# os.environ["OPENAI_MODEL_NAME"] ='openhermes' # Adjust based on available model
# os.environ["OPENAI_API_KEY"] ='sk-111111111111111111111111111111111111111111111111'
from langchain_community.tools import DuckDuckGoSearchRun
search_tool = DuckDuckGoSearchRun()
search_tool = SerperDevTool()
# Define your agents with roles and goals
researcher = Agent(
@@ -113,8 +107,8 @@ writer = Agent(
# Create tasks for your agents
task1 = Task(
description="""Conduct a comprehensive analysis of the latest advancements in AI in 2024.
Identify key trends, breakthrough technologies, and potential industry impacts.
Your final answer MUST be a full analysis report""",
Identify key trends, breakthrough technologies, and potential industry impacts.""",
expected_output="Full analysis report in bullet points",
agent=researcher
)
@@ -122,8 +116,8 @@ task2 = Task(
description="""Using the insights provided, develop an engaging blog
post that highlights the most significant AI advancements.
Your post should be informative yet accessible, catering to a tech-savvy audience.
Make it sound cool, avoid complex words so it doesn't sound like AI.
Your final answer MUST be the full blog post of at least 4 paragraphs.""",
Make it sound cool, avoid complex words so it doesn't sound like AI.""",
expected_output="Full blog post of at least 4 paragraphs",
agent=writer
)
@@ -151,7 +145,7 @@ In addition to the sequential process, you can use the hierarchical process, whi
- **Processes Driven**: Currently only supports `sequential` task execution and `hierarchical` processes, but more complex processes like consensual and autonomous are being worked on.
- **Save output as file**: Save the output of individual tasks as a file, so you can use it later.
- **Parse output as Pydantic or Json**: Parse the output of individual tasks as a Pydantic model or as a Json if you want to.
- **Works with Open Source Models**: Run your crew using Open AI or open source models refer to the [Connect crewAI to LLMs](https://docs.crewai.com/how-to/LLM-Connections/) page for details on configuring you agents' connections to models, even ones running locally!
- **Works with Open Source Models**: Run your crew using Open AI or open source models refer to the [Connect crewAI to LLMs](https://docs.crewai.com/how-to/LLM-Connections/) page for details on configuring your agents' connections to models, even ones running locally!
![CrewAI Mind Map](./docs/crewAI-mindmap.png "CrewAI Mind Map")
@@ -168,6 +162,12 @@ You can test different real life examples of AI crews in the [crewAI-examples re
[![CrewAI Tutorial](https://img.youtube.com/vi/tnejrr-0a94/maxresdefault.jpg)](https://www.youtube.com/watch?v=tnejrr-0a94 "CrewAI Tutorial")
### Write Job Descriptions
[Check out code for this example](https://github.com/joaomdmoura/crewAI-examples/tree/main/job-posting) or watch a video below:
[![Jobs postings](https://img.youtube.com/vi/u98wEMz-9to/maxresdefault.jpg)](https://www.youtube.com/watch?v=u98wEMz-9to "Jobs postings")
### Trip Planner
[Check out code for this example](https://github.com/joaomdmoura/crewAI-examples/tree/main/trip_planner) or watch a video below:

View File

@@ -10,30 +10,31 @@ description: What are crewAI Agents and how to use them.
<li class='leading-3'>Perform tasks</li>
<li class='leading-3'>Make decisions</li>
<li class='leading-3'>Communicate with other agents</li>
<ul>
<br/>
Think of an agent as a member of a team, with specific skills and a particular job to do. Agents can have different roles like 'Researcher', 'Writer', or 'Customer Support', each contributing to the overall goal of the crew.
## Agent Attributes
| Attribute | Description |
| :------------------ | :----------------------------------- |
| **Role** | Defines the agent's function within the crew. It determines the kind of tasks the agent is best suited for. |
| **Goal** | The individual objective that the agent aims to achieve. It guides the agent's decision-making process. |
| **Backstory** | Provides context to the agent's role and goal, enriching the interaction and collaboration dynamics. |
| **LLM** | The language model used by the agent to process and generate text. Defaults to using OpenAI's GPT-4 (`ChatOpenAI`), unless another model is specified through the environment variable "OPENAI_MODEL_NAME". |
| **Tools** | Set of capabilities or functions that the agent can use to perform tasks. Tools can be shared or exclusive to specific agents. It's an attribute that can be set during the initialization of an agent. |
| **Function Calling LLM** | The language model used by this agent to call functions. It is an optional field and, if not provided, the behavior of defaulting to the main `llm` is implicit. |
| **Max Iter** | The maximum number of iterations the agent can perform before being forced to give its best answer. Default is `15`. |
| **Max RPM** | The maximum number of requests per minute the agent can perform to avoid rate limits. It's optional and can be left unspecified. |
| **Verbose** | Enables detailed logging of the agent's execution for debugging or monitoring purposes when set to True. Default is `False` |
| **Allow Delegation**| Agents can delegate tasks or questions to one another, ensuring that each task is handled by the most suitable agent. |
| **Step Callback** | A function that is called after each step of the agent. This can be used to log the agent's actions or to perform other operations. It will overwrite the crew `step_callback`. |
| **Memory** | Indicates whether the agent should have memory or not, with a default value of False. This impacts the agent's ability to remember past interactions. Default is `False` |
| Attribute | Description |
| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Role** | Defines the agent's function within the crew. It determines the kind of tasks the agent is best suited for. |
| **Goal** | The individual objective that the agent aims to achieve. It guides the agent's decision-making process. |
| **Backstory** | Provides context to the agent's role and goal, enriching the interaction and collaboration dynamics. |
| **LLM** *(optional)* | The language model used by the agent to process and generate text. It dynamically fetches the model name from the `OPENAI_MODEL_NAME` environment variable, defaulting to "gpt-4" if not specified. |
| **Tools** *(optional)* | Set of capabilities or functions that the agent can use to perform tasks. Tools can be shared or exclusive to specific agents. It's an attribute that can be set during the initialization of an agent, with a default value of an empty list. |
| **Function Calling LLM** *(optional)* | If passed, this agent will use this LLM to execute function calling for tools instead of relying on the main LLM output. |
| **Max Iter** *(optional)* | The maximum number of iterations the agent can perform before being forced to give its best answer. Default is `15`. |
| **Max RPM** *(optional)* | The maximum number of requests per minute the agent can perform to avoid rate limits. It's optional and can be left unspecified, with a default value of `None`. |
| **Verbose** *(optional)* | Enables detailed logging of the agent's execution for debugging or monitoring purposes when set to True. Default is `False`. |
| **Allow Delegation** *(optional)* | Agents can delegate tasks or questions to one another, ensuring that each task is handled by the most suitable agent. Default is `True`. |
| **Step Callback** *(optional)* | A function that is called after each step of the agent. This can be used to log the agent's actions or to perform other operations. It will overwrite the crew `step_callback`. |
| **Memory** *(optional)* | Indicates whether the agent should have memory or not, with a default value of False. This impacts the agent's ability to remember past interactions. Default is `False`. |
## Creating an Agent
!!! note "Agent Interaction"
Agents can interact with each other using the CrewAI's built-in delegation and communication mechanisms.<br/>This allows for dynamic task management and problem-solving within the crew.
Agents can interact with each other using crewAI's built-in delegation and communication mechanisms. This allows for dynamic task management and problem-solving within the crew.
To create an agent, you would typically initialize an instance of the `Agent` class with the desired properties. Here's a conceptual example including all attributes:
@@ -49,7 +50,7 @@ agent = Agent(
to the business.
You're currently working on a project to analyze the
performance of our marketing campaigns.""",
tools=[my_tool1, my_tool2], # Optional
tools=[my_tool1, my_tool2], # Optional, defaults to an empty list
llm=my_llm, # Optional
function_calling_llm=my_llm, # Optional
max_iter=15, # Optional

View File

@@ -14,15 +14,16 @@ description: Exploring the dynamics of agent collaboration within the CrewAI fra
## Enhanced Attributes for Improved Collaboration
The `Crew` class has been enriched with several attributes to support advanced functionalities:
- **Language Model Management (`manager_llm`, `function_calling_llm`)**: Manages language models for executing tasks and tools, facilitating sophisticated agent-tool interactions.
- **Language Model Management (`manager_llm`, `function_calling_llm`)**: Manages language models for executing tasks and tools, facilitating sophisticated agent-tool interactions. It's important to note that `manager_llm` is mandatory when using a hierarchical process for ensuring proper execution flow.
- **Process Flow (`process`)**: Defines the execution logic (e.g., sequential, hierarchical) to streamline task distribution and execution.
- **Verbose Logging (`verbose`)**: Offers detailed logging capabilities for monitoring and debugging purposes.
- **Verbose Logging (`verbose`)**: Offers detailed logging capabilities for monitoring and debugging purposes. It supports both integer and boolean types to indicate the verbosity level.
- **Configuration (`config`)**: Allows extensive customization to tailor the crew's behavior according to specific requirements.
- **Rate Limiting (`max_rpm`)**: Ensures efficient utilization of resources by limiting requests per minute.
- **Internationalization Support (`language`)**: Facilitates operation in multiple languages, enhancing global usability.
- **Execution and Output Handling (`full_output`)**: Distinguishes between full and final outputs for nuanced control over task results.
- **Callback and Telemetry (`step_callback`)**: Integrates callbacks for step-wise execution monitoring and telemetry for performance analytics.
- **Crew Sharing (`share_crew`)**: Enables sharing of crew information with CrewAI for continuous improvement.
- **Crew Sharing (`share_crew`)**: Enables sharing of crew information with CrewAI for continuous improvement and training models.
- **Usage Metrics (`usage_metrics`)**: Store all metrics for the language model (LLM) usage during all tasks' execution, providing insights into operational efficiency and areas for improvement, you can check it after the crew execution.
## Delegation: Dividing to Conquer
Delegation enhances functionality by allowing agents to intelligently assign tasks or seek help, thereby amplifying the crew's overall capability.
@@ -34,4 +35,4 @@ Setting up a crew involves defining the roles and capabilities of each agent. Cr
Consider a crew with a researcher agent tasked with data gathering and a writer agent responsible for compiling reports. The integration of advanced language model management and process flow attributes allows for more sophisticated interactions, such as the writer delegating complex research tasks to the researcher or querying specific information, thereby facilitating a seamless workflow.
## Conclusion
The integration of advanced attributes and functionalities into the CrewAI framework significantly enriches the agent collaboration ecosystem. These enhancements not only simplify interactions but also offer unprecedented flexibility and control, paving the way for sophisticated AI-driven solutions capable of tackling complex tasks through intelligent collaboration and delegation.
The integration of advanced attributes and functionalities into the CrewAI framework significantly enriches the agent collaboration ecosystem. These enhancements not only simplify interactions but also offer unprecedented flexibility and control, paving the way for sophisticated AI-driven solutions capable of tackling complex tasks through intelligent collaboration and delegation.

View File

@@ -9,20 +9,20 @@ description: Understanding and utilizing crews in the crewAI framework.
## Crew Attributes
| Attribute | Description |
| :------------------- | :----------------------------------------------------------- |
| **Tasks** | A list of tasks assigned to the crew. |
| **Agents** | A list of agents that are part of the crew. |
| **Process** | The process flow (e.g., sequential, hierarchical) the crew follows. |
| **Verbose** | The verbosity level for logging during execution. |
| **Manager LLM** | The language model used by the manager agent in a hierarchical process. **Required when using a hierarchical process.** |
| **Function Calling LLM** | The language model used by all agents in the crew for calling functions. If none is passed, the main LLM for each agent will be used. |
| **Config** | Optional configuration settings for the crew, in `Json` or `Dict[str, Any]` format. |
| **Max RPM** | Maximum requests per minute the crew adheres to during execution. |
| **Language** | Language used for the crew, defaults to English. |
| **Full Output** | Whether the crew should return the full output with all tasks outputs or just the final output. |
| **Step Callback** | A function that is called after each step of every agent. This can be used to log the agent's actions or to perform other operations; it won't override the agent-specific `step_callback`. |
| **Share Crew** | Whether you want to share the complete crew information and execution with the crewAI team to make the library better, and allow us to train models. |
| Attribute | Description |
| :---------------------- | :----------------------------------------------------------- |
| **Tasks** | A list of tasks assigned to the crew. |
| **Agents** | A list of agents that are part of the crew. |
| **Process** *(optional)* | The process flow (e.g., sequential, hierarchical) the crew follows. |
| **Verbose** *(optional)* | The verbosity level for logging during execution. |
| **Manager LLM** *(optional)* | The language model used by the manager agent in a hierarchical process. **Required when using a hierarchical process.** |
| **Function Calling LLM** *(optional)* | If passed, the crew will use this LLM to do function calling for tools for all agents in the crew. Each agent can have its own LLM, which overrides the crew's LLM for function calling. |
| **Config** *(optional)* | Optional configuration settings for the crew, in `Json` or `Dict[str, Any]` format. |
| **Max RPM** *(optional)* | Maximum requests per minute the crew adheres to during execution. |
| **Language** *(optional)* | Language used for the crew, defaults to English. |
| **Full Output** *(optional)* | Whether the crew should return the full output with all tasks outputs or just the final output. |
| **Step Callback** *(optional)* | A function that is called after each step of every agent. This can be used to log the agent's actions or to perform other operations; it won't override the agent-specific `step_callback`. |
| **Share Crew** *(optional)* | Whether you want to share the complete crew information and execution with the crewAI team to make the library better, and allow us to train models. |
!!! note "Crew Max RPM"
The `max_rpm` attribute sets the maximum number of requests per minute the crew can perform to avoid rate limits and will override individual agents' `max_rpm` settings if you set it.
@@ -47,12 +47,19 @@ researcher = Agent(
writer = Agent(
role='Content Writer',
goal='Write engaging articles on AI discoveries'
goal='Write engaging articles on AI discoveries',
verbose=True
)
# Create tasks for the agents
research_task = Task(description='Identify breakthrough AI technologies', agent=researcher)
write_article_task = Task(description='Draft an article on the latest AI technologies', agent=writer)
research_task = Task(
description='Identify breakthrough AI technologies',
agent=researcher
)
write_article_task = Task(
description='Draft an article on the latest AI technologies',
agent=writer
)
# Assemble the crew with a sequential process
my_crew = Crew(
@@ -60,14 +67,25 @@ my_crew = Crew(
tasks=[research_task, write_article_task],
process=Process.sequential,
full_output=True,
verbose=True
verbose=True,
)
```
## Crew Usage Metrics
After the crew execution, you can access the `usage_metrics` attribute to view the language model (LLM) usage metrics for all tasks executed by the crew. This provides insights into operational efficiency and areas for improvement.
```python
# Access the crew's usage metrics
crew = Crew(agents=[agent1, agent2], tasks=[task1, task2])
crew.kickoff()
print(crew.usage_metrics)
```
## Crew Execution Process
- **Sequential Process**: Tasks are executed one after another, allowing for a linear flow of work.
- **Hierarchical Process**: A manager agent coordinates the crew, delegating tasks and validating outcomes before proceeding. **Note**: A `manager_llm` is required for this process.
- **Hierarchical Process**: A manager agent coordinates the crew, delegating tasks and validating outcomes before proceeding. **Note**: A `manager_llm` is required for this process and it's essential for validating the process flow.
### Kicking Off a Crew
@@ -77,4 +95,4 @@ Once your crew is assembled, initiate the workflow with the `kickoff()` method.
# Start the crew's task execution
result = my_crew.kickoff()
print(result)
```
```

View File

@@ -10,26 +10,37 @@ description: Detailed guide on workflow management through processes in CrewAI,
## Process Implementations
- **Sequential**: Executes tasks sequentially, ensuring tasks are completed in an orderly progression.
- **Hierarchical**: Organizes tasks in a managerial hierarchy, where tasks are delegated and executed based on a structured chain of command, the manager for delegation is automatically created by crewAI.
- **Consensual (Planned)**: A future process type aiming for collaborative decision-making among agents on task execution, introducing a more democratic approach to task management within CrewAI.
- **Hierarchical**: Organizes tasks in a managerial hierarchy, where tasks are delegated and executed based on a structured chain of command. Note: A manager language model (`manager_llm`) must be specified in the crew to enable the hierarchical process, allowing for the creation and management of tasks by the manager.
- **Consensual Process (Planned)**: Currently under consideration for future development, this process type aims for collaborative decision-making among agents on task execution, introducing a more democratic approach to task management within CrewAI. As of now, it is not implemented in the codebase.
## The Role of Processes in Teamwork
Processes enable individual agents to operate as a cohesive unit, streamlining their efforts to achieve common objectives with efficiency and coherence.
## Assigning Processes to a Crew
Specify the process type upon crew creation to set the execution strategy:
To assign a process to a crew, specify the process type upon crew creation to set the execution strategy. Note: For a hierarchical process, ensure to define `manager_llm` for the manager agent.
```python
from crewai import Crew
from crewai.process import Process
from langchain_openai import ChatOpenAI
# Example: Creating a crew with a sequential process
crew = Crew(agents=my_agents, tasks=my_tasks, process=Process.sequential)
crew = Crew(
agents=my_agents,
tasks=my_tasks,
process=Process.sequential
)
# Example: Creating a crew with a hierarchical process
crew = Crew(agents=my_agents, tasks=my_tasks, process=Process.hierarchical)
# Ensure to provide a manager_llm
crew = Crew(
agents=my_agents,
tasks=my_tasks,
process=Process.hierarchical,
manager_llm=ChatOpenAI(model="gpt-4")
)
```
**Note:** Ensure `my_agents` and `my_tasks` are defined prior to creating a `Crew` object.
**Note:** Ensure `my_agents` and `my_tasks` are defined prior to creating a `Crew` object, and for the hierarchical process, `manager_llm` is also required.
## Sequential Process
This method mirrors dynamic team workflows, progressing through tasks in a thoughtful and systematic manner. Task execution follows the predefined order in the task list, with the output of one task serving as context for the next.
@@ -37,13 +48,13 @@ This method mirrors dynamic team workflows, progressing through tasks in a thoug
To customize task context, utilize the `context` parameter in the `Task` class to specify outputs that should be used as context for subsequent tasks.
## Hierarchical Process
Emulates a corporate hierarchy. A "manager" agent is automatically created so it oversees task execution, including planning, delegation, and validation. Tasks are not pre-assigned; the manager allocates tasks to agents, reviews outputs, and assesses task completion.
Emulates a corporate hierarchy, crewAI creates a manager automatically for you, requiring the specification of a manager language model (`manager_llm`) for the manager agent. This agent oversees task execution, including planning, delegation, and validation. Tasks are not pre-assigned; the manager allocates tasks to agents based on their capabilities, reviews outputs, and assesses task completion.
## Process Class: Detailed Overview
The `Process` class is implemented as an enumeration (`Enum`), ensuring type safety and restricting process values to the defined types (`sequential` and `hierarchical`). This design choice guarantees that only valid processes are utilized within the CrewAI framework.
The `Process` class is implemented as an enumeration (`Enum`), ensuring type safety and restricting process values to the defined types (`sequential`, `hierarchical`, and future `consensual`). This design choice guarantees that only valid processes are utilized within the CrewAI framework.
## Planned Future Processes
- **Consensual Process**: A collaborative decision-making process among agents on task execution is planned but not currently implemented. This future enhancement will introduce a more democratic approach to task management within CrewAI.
- **Consensual Process**: This collaborative decision-making process among agents on task execution is under consideration but not currently implemented. This future enhancement aims to introduce a more democratic approach to task management within CrewAI.
## Conclusion
The structured collaboration facilitated by processes within CrewAI is crucial for enabling systematic teamwork among agents. Documentation will be updated to reflect new processes and enhancements, ensuring users have access to the most current and comprehensive information.
The structured collaboration facilitated by processes within CrewAI is crucial for enabling systematic teamwork among agents. Documentation will be regularly updated to reflect new processes and enhancements, ensuring users have access to the most current and comprehensive information.

View File

@@ -15,12 +15,12 @@ Tasks in CrewAI can be designed to require collaboration between agents. For exa
| :------------- | :----------------------------------- |
| **Description** | A clear, concise statement of what the task entails. |
| **Agent** | Optionally, you can specify which agent is responsible for the task. If not, the crew's process will determine who takes it on. |
| **Expected Output** *(optional)* | Clear and detailed definition of expected output for the task. |
| **Expected Output** | Clear and detailed definition of expected output for the task. |
| **Tools** *(optional)* | These are the functions or capabilities the agent can utilize to perform the task. They can be anything from simple actions like 'search' to more complex interactions with other agents or APIs. |
| **Async Execution** *(optional)* | If the task should be executed asynchronously. This indicates that the crew will not wait for the task to be completed to continue with the next task. |
| **Async Execution** *(optional)* | Indicates whether the task should be executed asynchronously, allowing the crew to continue with the next task without waiting for completion. |
| **Context** *(optional)* | Other tasks that will have their output used as context for this task. If a task is asynchronous, the system will wait for that to finish before using its output as context. |
| **Output JSON** *(optional)* | Takes a pydantic model and returns the output as a JSON object. **Agent LLM needs to be using OpenAI client, could be Ollama for example but using the OpenAI wrapper** |
| **Output Pydantic** *(optional)* | Takes a pydantic model and returns the output as a pydantic object. **Agent LLM needs to be using OpenAI client, could be Ollama for example but using the OpenAI wrapper** |
| **Output JSON** *(optional)* | Takes a pydantic model and returns the output as a JSON object. **Agent LLM needs to be using an OpenAI client, could be Ollama for example but using the OpenAI wrapper** |
| **Output Pydantic** *(optional)* | Takes a pydantic model and returns the output as a pydantic object. **Agent LLM needs to be using an OpenAI client, could be Ollama for example but using the OpenAI wrapper** |
| **Output File** *(optional)* | Takes a file path and saves the output of the task on it. |
| **Callback** *(optional)* | A function to be executed after the task is completed. |
@@ -48,10 +48,10 @@ Tools from the [crewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) and
```python
import os
os.environ["OPENAI_API_KEY"] = "Your Key"
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key
from crewai import Agent, Task, Crew
from langchain.agents import Tool
from langchain_community.tools import DuckDuckGoSearchRun
from crewai_tools import SerperDevTool
research_agent = Agent(
role='Researcher',
@@ -62,9 +62,7 @@ research_agent = Agent(
verbose=True
)
# Install duckduckgo-search for this example:
# !pip install -U duckduckgo-search
search_tool = DuckDuckGoSearchRun()
search_tool = SerperDevTool()
task = Task(
description='Find and summarize the latest AI news',
@@ -87,16 +85,25 @@ This demonstrates how tasks with specific tools can override an agent's default
## Referring to Other Tasks
In crewAI, the output of one task is automatically relayed into the next one, but you can specifically define what tasks' output should be used as context for another task.
In crewAI, the output of one task is automatically relayed into the next one, but you can specifically define what tasks' output, including multiple should be used as context for another task.
This is useful when you have a task that depends on the output of another task that is not performed immediately after it. This is done through the `context` attribute of the task:
```python
# ...
research_task = Task(
research_ai_task = Task(
description='Find and summarize the latest AI news',
expected_output='A bullet list summary of the top 5 most important AI news',
async_execution=True,
agent=research_agent,
tools=[search_tool]
)
research_ops_task = Task(
description='Find and summarize the latest AI Ops news',
expected_output='A bullet list summary of the top 5 most important AI Ops news',
async_execution=True,
agent=research_agent,
tools=[search_tool]
)
@@ -105,7 +112,7 @@ write_blog_task = Task(
description="Write a full blog post about the importance of AI and its latest news",
expected_output='Full blog post that is 4 paragraphs long',
agent=writer_agent,
context=[research_task]
context=[research_ai_task, research_ops_task]
)
#...
@@ -146,7 +153,7 @@ write_article = Task(
## Callback Mechanism
You can define a callback function that will be executed after the task is completed. This is useful for tasks that need to trigger some side effect after they are completed, while the crew is still running.
The callback function is executed after the task is completed, allowing for actions or notifications to be triggered based on the task's outcome.
```python
# ...
@@ -217,5 +224,4 @@ These validations help in maintaining the consistency and reliability of task ex
## Conclusion
Tasks are the driving force behind the actions of agents in crewAI. By properly defining tasks and their outcomes, you set the stage for your AI agents to work effectively, either independently or as a collaborative unit.
Equipping tasks with appropriate tools and following robust validation practices is crucial for maximizing CrewAI's potential, ensuring agents are effectively prepared for their assignments and that tasks are executed as intended.
Tasks are the driving force behind the actions of agents in crewAI. By properly defining tasks and their outcomes, you set the stage for your AI agents to work effectively, either independently or as a collaborative unit. Equipping tasks with appropriate tools, understanding the execution process, and following robust validation practices are crucial for maximizing CrewAI's potential, ensuring agents are effectively prepared for their assignments and that tasks are executed as intended.

View File

@@ -12,82 +12,80 @@ CrewAI tools empower agents with capabilities ranging from web searching and dat
## Key Characteristics of Tools
- **Utility**: Designed for various tasks such as web searching, data analysis, content generation, and agent collaboration.
- **Integration**: Enhances agent capabilities by integrating tools directly into their workflow.
- **Customizability**: Offers flexibility to develop custom tools or use existing ones, catering to specific agent needs.
- **Utility**: Crafted for tasks such as web searching, data analysis, content generation, and agent collaboration.
- **Integration**: Boosts agent capabilities by seamlessly integrating tools into their workflow.
- **Customizability**: Provides the flexibility to develop custom tools or utilize existing ones, catering to the specific needs of agents.
## Using crewAI Tools
crewAI comes with a series to built-in tools that can be used to extend the capabilities of your agents. Start by installing our extra tools package:
To enhance your agents' capabilities with crewAI tools, begin by installing our extra tools package:
```bash
pip install crewai[tools]
pip install 'crewai[tools]'
```
Here is an example on how to use them:
Here's an example demonstrating their use:
```python
import os
from crewai import Agent, Task, Crew
# Importing some of the crewAI tools
# Importing crewAI tools
from crewai_tools import (
DirectoryReadTool,
FileReadTool,
SeperDevTool,
SerperDevTool,
WebsiteSearchTool
)
# get a free account in serper.dev
os.environ["SERPER_API_KEY"] = "Your Key"
# Set up API keys
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key
os.environ["OPENAI_API_KEY"] = "Your Key"
# Instantiate tools
# Assumes this ./blog-posts exists with existing blog posts on it
docs_tools = DirectoryReadTool(directory='./blog-posts')
file_read_tool = FileReadTool()
search_tool = SeperDevTool()
website_rag = WebsiteSearchTool()
docs_tool = DirectoryReadTool(directory='./blog-posts')
file_tool = FileReadTool()
search_tool = SerperDevTool()
web_rag_tool = WebsiteSearchTool()
# Create agents
researcher = Agent(
role='Market Research Analyst',
goal='Provide up-to-date market analysis of the AI industry',
backstory='An expert analyst with a keen eye for market trends.',
tools=[search_tool, website_rag],
tools=[search_tool, web_rag_tool],
verbose=True
)
writer = Agent(
role='Content Writer',
goal='Write amazing, super engaging blog post about the AI industry',
goal='Craft engaging blog posts about the AI industry',
backstory='A skilled writer with a passion for technology.',
tools=[docs_tools, file_read_tool],
tools=[docs_tool, file_tool],
verbose=True
)
# Create tasks
# Define tasks
research = Task(
description='Research the AI industry and provide a summary of the latest most trending matters and developments.',
expected_output='A summary of the top 3 latest most trending matters and developments in the AI industry with you unique take on why they matter.',
description='Research the latest trends in the AI industry and provide a summary.',
expected_output='A summary of the top 3 trending developments in the AI industry with a unique perspective on their significance.',
agent=researcher
)
write = Task(
description='Write an engaging blog post about the AI industry, using the summary provided by the research analyst. Read the latest blog posts in the directory to get inspiration.',
expected_output='A 4 paragraph blog post formatted as markdown with proper subtitles about the latest trends that is engaging and informative and funny, avoid complex words and make it easy to read.',
description='Write an engaging blog post about the AI industry, based on the research analysts summary. Draw inspiration from the latest blog posts in the directory.',
expected_output='A 4-paragraph blog post formatted in markdown with engaging, informative, and accessible content, avoiding complex jargon.',
agent=writer,
output_file='blog-posts/new_post.md' # The final blog post will be written here
output_file='blog-posts/new_post.md' # The final blog post will be saved here
)
# Create a crew
# Assemble a crew
crew = Crew(
agents=[researcher, writer],
tasks=[research, write],
verbose=2
)
# Execute the tasks
# Execute tasks
crew.kickoff()
```
@@ -140,7 +138,7 @@ Here is a list of the available tools and their descriptions:
To create your own crewAI tools you will need to install our extra tools package:
```bash
pip install crewai[tools]
pip install 'crewai[tools]'
```
Once you do that there are two main ways for one to create a crewAI tool:
@@ -156,7 +154,7 @@ class MyCustomTool(BaseTool):
def _run(self, argument: str) -> str:
# Implementation goes here
pass
return "Result from custom tool"
```
Define a new class inheriting from `BaseTool`, specifying `name`, `description`, and the `_run` method for operational logic.
@@ -183,7 +181,7 @@ from unstructured.partition.html import partition_html
# Annotate the function with the tool decorator from crewAI
@tool("Integration with a given API")
def integtation_tool(argument: str) -> str:
def integration_tool(argument: str) -> str:
"""Integration with a given API"""
# Code here
return resutls # string to be sent back to the agent
@@ -193,13 +191,14 @@ agent = Agent(
role='Research Analyst',
goal='Provide up-to-date market analysis',
backstory='An expert analyst with a keen eye for market trends.',
tools=[integtation_tool]
tools=[integration_tool]
)
```
## Using LangChain Tools
!!! info "LangChain Integration"
CrewAI seamlessly integrates with LangChains comprehensive toolkit for search-based queries and more:
CrewAI seamlessly integrates with LangChains comprehensive toolkit for search-based queries and more, here are the available built-in tools that are offered by Langchain [LangChain Toolkit](https://python.langchain.com/docs/integrations/tools/)
:
```python
from crewai import Agent
@@ -229,4 +228,4 @@ agent = Agent(
```
## Conclusion
Tools are crucial for extending the capabilities of CrewAI agents, allowing them to undertake a diverse array of tasks and collaborate efficiently. When building your AI solutions with CrewAI, consider both custom and existing tools to empower your agents and foster a dynamic AI ecosystem.
Tools are pivotal in extending the capabilities of CrewAI agents, enabling them to undertake a broad spectrum of tasks and collaborate effectively. When building solutions with CrewAI, leverage both custom and existing tools to empower your agents and enhance the AI ecosystem.

View File

@@ -0,0 +1,91 @@
---
title: Creating your own Tools
description: Guide on how to create and use custom tools within the crewAI framework.
---
## Creating your own Tools
!!! example "Custom Tool Creation"
Developers can craft custom tools tailored for their agents needs or utilize pre-built options:
To create your own crewAI tools you will need to install our extra tools package:
```bash
pip install 'crewai[tools]'
```
Once you do that there are two main ways for one to create a crewAI tool:
### Subclassing `BaseTool`
```python
from crewai_tools import BaseTool
class MyCustomTool(BaseTool):
name: str = "Name of my tool"
description: str = "Clear description for what this tool is useful for, you agent will need this information to use it."
def _run(self, argument: str) -> str:
# Implementation goes here
return "Result from custom tool"
```
Define a new class inheriting from `BaseTool`, specifying `name`, `description`, and the `_run` method for operational logic.
### Utilizing the `tool` Decorator
For a simpler approach, create a `Tool` object directly with the required attributes and a functional logic.
```python
from crewai_tools import tool
@tool("Name of my tool")
def my_tool(question: str) -> str:
"""Clear description for what this tool is useful for, you agent will need this information to use it."""
# Function logic here
```
```python
import json
import requests
from crewai import Agent
from crewai.tools import tool
from unstructured.partition.html import partition_html
# Annotate the function with the tool decorator from crewAI
@tool("Integration with a given API")
def integtation_tool(argument: str) -> str:
"""Integration with a given API"""
# Code here
return resutls # string to be sent back to the agent
# Assign the scraping tool to an agent
agent = Agent(
role='Research Analyst',
goal='Provide up-to-date market analysis',
backstory='An expert analyst with a keen eye for market trends.',
tools=[integtation_tool]
)
```
### Using the `Tool` function from langchain
For another simple approach, create a function in python directly with the required attributes and a functional logic.
```python
def combine(a, b):
return a + b
```
Then you can add that function into the your tool by using 'func' variable in the Tool function.
```python
from langchain.agents import Tool
math_tool = Tool(
name="Math tool",
func=math_tool,
description="Useful for adding two numbers together, in other words combining them."
)
```

View File

@@ -7,11 +7,11 @@ description: A comprehensive guide to creating a dynamic CrewAI team for your pr
Embark on your CrewAI journey by setting up your environment and initiating your AI crew with enhanced features. This guide ensures a seamless start, incorporating the latest updates.
## Step 0: Installation
Install CrewAI and any necessary packages for your project. The `duckduckgo-search` package is highlighted here for enhanced search capabilities.
Install CrewAI and any necessary packages for your project.
```shell
pip install crewai
pip install duckduckgo-search
pip install 'crewai[tools]'
```
## Step 1: Assemble Your Agents
@@ -19,24 +19,24 @@ Define your agents with distinct roles, backstories, and now, enhanced capabilit
```python
import os
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key
os.environ["OPENAI_API_KEY"] = "Your Key"
from crewai import Agent
from langchain_community.tools import DuckDuckGoSearchRun
search_tool = DuckDuckGoSearchRun()
# Topic for the crew run
topic = 'AI in healthcare'
from crewai_tools import SerperDevTool
search_tool = SerperDevTool()
# Creating a senior researcher agent with memory and verbose mode
researcher = Agent(
role='Senior Researcher',
goal=f'Uncover groundbreaking technologies in {topic}',
goal='Uncover groundbreaking technologies in {topic}',
verbose=True,
memory=True,
backstory="""Driven by curiosity, you're at the forefront of
innovation, eager to explore and share knowledge that could change
the world.""",
backstory=(
"Driven by curiosity, you're at the forefront of"
"innovation, eager to explore and share knowledge that could change"
"the world."
),
tools=[search_tool],
allow_delegation=True
)
@@ -44,12 +44,14 @@ researcher = Agent(
# Creating a writer agent with custom tools and delegation capability
writer = Agent(
role='Writer',
goal=f'Narrate compelling tech stories about {topic}',
goal='Narrate compelling tech stories about {topic}',
verbose=True,
memory=True,
backstory="""With a flair for simplifying complex topics, you craft
engaging narratives that captivate and educate, bringing new
discoveries to light in an accessible manner.""",
backstory=(
"With a flair for simplifying complex topics, you craft"
"engaging narratives that captivate and educate, bringing new"
"discoveries to light in an accessible manner."
),
tools=[search_tool],
allow_delegation=False
)
@@ -63,22 +65,25 @@ from crewai import Task
# Research task
research_task = Task(
description=f"""Identify the next big trend in {topic}.
Focus on identifying pros and cons and the overall narrative.
Your final report should clearly articulate the key points,
its market opportunities, and potential risks.""",
description=(
"Identify the next big trend in {topic}."
"Focus on identifying pros and cons and the overall narrative."
"Your final report should clearly articulate the key points"
"its market opportunities, and potential risks."
),
expected_output='A comprehensive 3 paragraphs long report on the latest AI trends.',
max_inter=3,
tools=[search_tool],
agent=researcher,
)
# Writing task with language model configuration
write_task = Task(
description=f"""Compose an insightful article on {topic}.
Focus on the latest trends and how it's impacting the industry.
This article should be easy to understand, engaging, and positive.""",
expected_output=f'A 4 paragraph article on {topic} advancements fromated as markdown.',
description=(
"Compose an insightful article on {topic}."
"Focus on the latest trends and how it's impacting the industry."
"This article should be easy to understand, engaging, and positive."
),
expected_output='A 4 paragraph article on {topic} advancements formatted as markdown.',
tools=[search_tool],
agent=writer,
async_execution=False,
@@ -101,11 +106,11 @@ crew = Crew(
```
## Step 4: Kick It Off
Initiate the process with your enhanced crew ready. Observe as your agents collaborate, leveraging their new capabilities for a successful project outcome.
Initiate the process with your enhanced crew ready. Observe as your agents collaborate, leveraging their new capabilities for a successful project outcome. You can also pass the inputs that will be interpolated into the agents and tasks.
```python
# Starting the task execution process with enhanced feedback
result = crew.kickoff()
result = crew.kickoff(inputs={'topic': 'AI in healthcare'})
print(result)
```

View File

@@ -17,6 +17,7 @@ Beyond the basic attributes, CrewAI allows for deeper customization to enhance a
### Language Model Customization
Agents can be customized with specific language models (`llm`) and function-calling language models (`function_calling_llm`), offering advanced control over their processing and decision-making abilities.
By default crewAI agents are ReAct agents, but by setting the `function_calling_llm` you can turn them into a function calling agents.
### Enabling Memory for Agents
CrewAI supports memory for agents, enabling them to remember past interactions. This feature is critical for tasks requiring awareness of previous contexts or decisions.
@@ -25,48 +26,48 @@ CrewAI supports memory for agents, enabling them to remember past interactions.
Adjusting an agent's performance and monitoring its operations are crucial for efficient task execution.
### Verbose Mode and RPM Limit
- **Verbose Mode**: Enables detailed logging of an agent's actions, useful for debugging and optimization.
- **Verbose Mode**: Enables detailed logging of an agent's actions, useful for debugging and optimization. Specifically, it provides insights into agent execution processes, aiding in the optimization of performance.
- **RPM Limit**: Sets the maximum number of requests per minute (`max_rpm`), controlling the agent's query frequency to external services.
### Maximum Iterations for Task Execution
The `max_iter` attribute allows users to define the maximum number of iterations an agent can perform for a single task, preventing infinite loops or excessively long executions.
The `max_iter` attribute allows users to define the maximum number of iterations an agent can perform for a single task, preventing infinite loops or excessively long executions. The default value is set to 15, providing a balance between thoroughness and efficiency. Once the agent approaches this number it will try it's best to give a good answer.
## Customizing Agents and Tools
Agents are customized by defining their attributes and tools during initialization. Tools are critical for an agent's functionality, enabling them to perform specialized tasks. In this example we will use the crewAI tools package to create a tool for a research analyst agent.
```shell
pip install crewai[tools]
pip install 'crewai[tools]'
```
### Example: Assigning Tools to an Agent
```python
import os
from crewai import Agent
from crewai_tools import SeperDevTool
from crewai_tools import SerperDevTool
# Set API keys for tool initialization
os.environ["OPENAI_API_KEY"] = "Your Key"
os.environ["SERPER_API_KEY"] = "Your Key"
# Initialize a search tool
search_tool = SeperDevTool()
search_tool = SerperDevTool()
# Initialize the agent with advanced options
agent = Agent(
role='Research Analyst',
goal='Provide up-to-date market analysis',
backstory='An expert analyst with a keen eye for market trends.',
tools=[serper_tool],
tools=[search_tool],
memory=True,
verbose=True,
max_rpm=10, # Optinal: Limit requests to 10 per minute, preventing API abuse
max_iter=5, # Optional: Limit task iterations to 5 before the agent tried to gives its best answer
max_rpm=10, # Optional: Limit requests to 10 per minute, preventing API abuse
max_iter=5, # Optional: Limit task iterations to 5 before the agent tries to give its best answer
allow_delegation=False
)
```
## Delegation and Autonomy
Controlling an agent's ability to delegate tasks or ask questions is vital for tailoring its autonomy and collaborative dynamics within the CrewAI framework.
Controlling an agent's ability to delegate tasks or ask questions is vital for tailoring its autonomy and collaborative dynamics within the crewAI framework. By default, the `allow_delegation` attribute is set to `True`, enabling agents to seek assistance or delegate tasks as needed. This default behavior promotes collaborative problem-solving and efficiency within the crewAI ecosystem.
### Example: Disabling Delegation for an Agent
```python
@@ -79,4 +80,4 @@ agent = Agent(
```
## Conclusion
Customizing agents in CrewAI by setting their roles, goals, backstories, and tools, alongside advanced options like language model customization, memory, and performance settings, equips a nuanced and capable AI team ready for complex challenges.
Customizing agents in CrewAI by setting their roles, goals, backstories, and tools, alongside advanced options like language model customization, memory, performance settings, and delegation preferences, equips a nuanced and capable AI team ready for complex challenges.

View File

@@ -1,60 +1,61 @@
---
title: Implementing the Hierarchical Process in CrewAI
description: Understanding and applying the hierarchical process within your CrewAI projects, with updates reflecting the latest coding practices.
description: A comprehensive guide to understanding and applying the hierarchical process within your CrewAI projects, updated to reflect the latest coding practices and functionalities.
---
## Introduction
The hierarchical process in CrewAI introduces a structured approach to managing tasks, mimicking traditional organizational hierarchies for efficient task delegation and execution. This ensures a systematic workflow that enhances project outcomes.
The hierarchical process in CrewAI introduces a structured approach to task management, simulating traditional organizational hierarchies for efficient task delegation and execution. This systematic workflow enhances project outcomes by ensuring tasks are handled with optimal efficiency and accuracy.
!!! note "Complexity and Efficiency"
The hierarchical process is designed to leverage advanced models like GPT-4, optimizing token usage while handling complex tasks with greater efficiency.
## Hierarchical Process Overview
Tasks within this process are managed through a clear hierarchy, where a 'manager' agent coordinates the workflow, delegates tasks, and validates outcomes, ensuring a streamlined and effective execution process.
By default, tasks in CrewAI are managed through a sequential process. However, adopting a hierarchical approach allows for a clear hierarchy in task management, where a 'manager' agent coordinates the workflow, delegates tasks, and validates outcomes for streamlined and effective execution. This manager agent is automatically created by crewAI so you don't need to worry about it.
### Key Features
- **Task Delegation**: A manager agent is responsible for allocating tasks among crew members based on their roles and capabilities.
- **Result Validation**: The manager evaluates the outcomes to ensure they meet the required standards before moving forward.
- **Efficient Workflow**: Emulates corporate structures, offering an organized and familiar approach to task management.
- **Task Delegation**: A manager agent allocates tasks among crew members based on their roles and capabilities.
- **Result Validation**: The manager evaluates outcomes to ensure they meet the required standards.
- **Efficient Workflow**: Emulates corporate structures, providing an organized approach to task management.
## Implementing the Hierarchical Process
To adopt the hierarchical process, define a crew with a designated manager and establish a clear chain of command for task execution. This structure is crucial for maintaining an orderly and efficient workflow.
To utilize the hierarchical process, it's essential to explicitly set the process attribute to `Process.hierarchical`, as the default behavior is `Process.sequential`. Define a crew with a designated manager and establish a clear chain of command.
!!! note "Tools and Agent Assignment"
Tools should be assigned at the agent level, not the task level, to facilitate task delegation and execution by the designated agents under the manager's guidance.
Assign tools at the agent level to facilitate task delegation and execution by the designated agents under the manager's guidance.
!!! note "Manager LLM Configuration"
A manager LLM is automatically assigned to the crew, eliminating the need for manual definition. However, configuring the `manager_llm` parameter is necessary to tailor the manager's decision-making process.
!!! note "Manager LLM Requirement"
Configuring the `manager_llm` parameter is crucial for the hierarchical process. The system requires a manager LLM to be set up for proper function, ensuring tailored decision-making.
```python
from langchain_openai import ChatOpenAI
from crewai import Crew, Process, Agent
# Agents are defined without specifying a manager explicitly
# Agents are defined with an optional tools parameter
researcher = Agent(
role='Researcher',
goal='Conduct in-depth analysis',
# tools = [...]
role='Researcher',
goal='Conduct in-depth analysis',
# tools=[] # This can be optionally specified; defaults to an empty list
)
writer = Agent(
role='Writer',
goal='Create engaging content',
# tools = [...]
role='Writer',
goal='Create engaging content',
# tools=[] # Optionally specify tools; defaults to an empty list
)
# Establishing the crew with a hierarchical process
project_crew = Crew(
tasks=[...], # Tasks to be delegated and executed under the manager's supervision
agents=[researcher, writer],
manager_llm=ChatOpenAI(temperature=0, model="gpt-4"), # Defines the manager's decision-making engine
process=Process.hierarchical # Specifies the hierarchical management approach
tasks=[...], # Tasks to be delegated and executed under the manager's supervision
agents=[researcher, writer],
manager_llm=ChatOpenAI(temperature=0, model="gpt-4"), # Mandatory for hierarchical process
process=Process.hierarchical # Specifies the hierarchical management approach
)
```
### Workflow in Action
1. **Task Assignment**: The manager strategically assigns tasks, considering each agent's role and skills.
2. **Execution and Review**: Agents complete their tasks, followed by a thorough review by the manager to ensure quality standards.
3. **Sequential Task Progression**: The manager ensures tasks are completed in a logical order, facilitating smooth project progression.
1. **Task Assignment**: The manager assigns tasks strategically, considering each agent's capabilities.
2. **Execution and Review**: Agents complete their tasks, with the manager ensuring quality standards.
3. **Sequential Task Progression**: Despite being a hierarchical process, tasks follow a logical order for smooth progression, facilitated by the manager's oversight.
## Conclusion
Adopting the hierarchical process in CrewAI facilitates a well-organized and efficient approach to project management. By structuring tasks and delegations within a clear hierarchy, it enhances both productivity and quality control, making it an ideal strategy for managing complex projects.
Adopting the hierarchical process in crewAI, with the correct configurations and understanding of the system's capabilities, facilitates an organized and efficient approach to project management.

View File

@@ -1,6 +1,11 @@
---
title: Human Input on Execution
description: Comprehensive guide on integrating CrewAI with human input during execution in complex decision-making processes or when needed help during complex tasks.
---
# Human Input in Agent Execution
Human input is crucial in numerous agent execution scenarios, enabling agents to request additional information or clarification when necessary. This feature is particularly useful in complex decision-making processes or when agents require further details to complete a task effectively.
Human input plays a pivotal role in several agent execution scenarios, enabling agents to seek additional information or clarification when necessary. This capability is invaluable in complex decision-making processes or when agents need more details to complete a task effectively.
## Using Human Input with CrewAI
@@ -8,25 +13,35 @@ Incorporating human input with CrewAI is straightforward, enhancing the agent's
### Example:
```shell
pip install crewai
pip install 'crewai[tools]'
```
```python
import os
from crewai import Agent, Task, Crew, Process
from langchain_community.tools import DuckDuckGoSearchRun
from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool
from langchain.agents import load_tools
search_tool = DuckDuckGoSearchRun()
os.environ["SERPER_API_KEY"] = "Your Key" # serper.dev API key
os.environ["OPENAI_API_KEY"] = "Your Key"
# Loading Human Tools
human_tools = load_tools(["human"])
search_tool = SerperDevTool()
# Define your agents with roles and goals
# Define your agents with roles, goals, and tools
researcher = Agent(
role='Senior Research Analyst',
goal='Uncover cutting-edge developments in AI and data science',
backstory="""You are a Senior Research Analyst at a leading tech think tank.
Your expertise lies in identifying emerging trends and technologies in AI and
data science. You have a knack for dissecting complex data and presenting
actionable insights.""",
backstory=(
"You are a Senior Research Analyst at a leading tech think tank."
"Your expertise lies in identifying emerging trends and technologies in AI and data science."
"You have a knack for dissecting complex data and presenting actionable insights."
),
verbose=True,
allow_delegation=False,
tools=[search_tool]+human_tools # Passing human tools to the agent
@@ -34,31 +49,33 @@ researcher = Agent(
writer = Agent(
role='Tech Content Strategist',
goal='Craft compelling content on tech advancements',
backstory="""You are a renowned Tech Content Strategist, known for your insightful
and engaging articles on technology and innovation. With a deep understanding of
the tech industry, you transform complex concepts into compelling narratives.""",
backstory=(
"You are a renowned Tech Content Strategist, known for your insightful and engaging articles on technology and innovation."
"With a deep understanding of the tech industry, you transform complex concepts into compelling narratives."
),
verbose=True,
allow_delegation=True
)
# Create tasks for your agents
task1 = Task(
description="""Conduct a comprehensive analysis of the latest advancements in AI in 2024.
Identify key trends, breakthrough technologies, and potential industry impacts.
Compile your findings in a detailed report.
Make sure to check with a human if the draft is good before finalizing your answer.""",
description=(
"Conduct a comprehensive analysis of the latest advancements in AI in 2024."
"Identify key trends, breakthrough technologies, and potential industry impacts."
"Compile your findings in a detailed report."
"Make sure to check with a human if the draft is good before finalizing your answer."
),
expected_output='A comprehensive full report on the latest AI advancements in 2024, leave nothing out',
agent=researcher
agent=researcher,
)
task2 = Task(
description="""Using the insights from the researcher's report, develop an engaging blog
post that highlights the most significant AI advancements.
Your post should be informative yet accessible, catering to a tech-savvy audience.
Aim for a narrative that captures the essence of these breakthroughs and their
implications for the future.
Your final answer MUST be the full blog post of at least 3 paragraphs.""",
expected_output='A compelling 3 paragraphs blog post formated as markdown about the latest AI advancements in 2024',
description=(
"Using the insights from the researcher's report, develop an engaging blog post that highlights the most significant AI advancements."
"Your post should be informative yet accessible, catering to a tech-savvy audience."
"Aim for a narrative that captures the essence of these breakthroughs and their implications for the future."
),
expected_output='A compelling 3 paragraphs blog post formatted as markdown about the latest AI advancements in 2024',
agent=writer
)
@@ -74,4 +91,4 @@ result = crew.kickoff()
print("######################")
print(result)
```
```

View File

@@ -1,6 +1,6 @@
---
title: Connect CrewAI to LLMs
description: Guide on integrating CrewAI with various Large Language Models (LLMs).
description: Comprehensive guide on integrating CrewAI with various Large Language Models (LLMs), including detailed class attributes and methods.
---
## Connect CrewAI to LLMs
@@ -10,15 +10,22 @@ description: Guide on integrating CrewAI with various Large Language Models (LLM
CrewAI offers flexibility in connecting to various LLMs, including local models via [Ollama](https://ollama.ai) and different APIs like Azure. It's compatible with all [LangChain LLM](https://python.langchain.com/docs/integrations/llms/) components, enabling diverse integrations for tailored AI solutions.
## CrewAI Agent Overview
The `Agent` class in CrewAI is central to implementing AI solutions. Here's a brief overview:
The `Agent` class is the cornerstone for implementing AI solutions in CrewAI. Here's an updated overview reflecting the latest codebase changes:
- **Attributes**:
- `role`: Defines the agent's role within the solution.
- `goal`: Specifies the agent's objective.
- `backstory`: Provides a background story to the agent.
- `llm`: Indicates the Large Language Model the agent uses.
- `function_calling_llm` *Optinal*: Will turn the ReAct crewAI agent into a function calling agent.
- `max_iter`: Maximum number of iterations for an agent to execute a task, default is 15.
- `memory`: Enables the agent to retain information during the execution.
- `max_rpm`: Sets the maximum number of requests per minute.
- `verbose`: Enables detailed logging of the agent's execution.
- `allow_delegation`: Allows the agent to delegate tasks to other agents, default is `True`.
- `tools`: Specifies the tools available to the agent for task execution.
- `step_callback`: Provides a callback function to be executed after each step.
### Example Changing OpenAI's GPT model
```python
# Required
os.environ["OPENAI_MODEL_NAME"]="gpt-4-0125-preview"

View File

@@ -43,6 +43,11 @@ Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By
Getting Started
</a>
</li>
<li>
<a href="./how-to/Create-Custom-Tools">
Create Custom Tools
</a>
</li>
<li>
<a href="./how-to/Sequential">
Using Sequential Process

View File

@@ -1,8 +1,12 @@
---
title: Telemetry
description: Understanding the telemetry data collected by CrewAI and how it contributes to the enhancement of the library.
---
## Telemetry
CrewAI utilizes anonymous telemetry to gather usage statistics with the primary goal of enhancing the library. Our focus is on improving and developing the features, integrations, and tools most utilized by our users.
It's pivotal to understand that **NO data is collected** concerning prompts, task descriptions, agents' backstories or goals, usage of tools, API calls, responses, any data processed by the agents, or secrets and environment variables.
It's pivotal to understand that **NO data is collected** concerning prompts, task descriptions, agents' backstories or goals, usage of tools, API calls, responses, any data processed by the agents, or secrets and environment variables, with the exception of the conditions mentioned. When the `share_crew` feature is enabled, detailed data including task descriptions, agents' backstories or goals, and other specific attributes are collected to provide deeper insights while respecting user privacy.
### Data Collected Includes:
- **Version of CrewAI**: Assessing the adoption rate of our latest version helps us understand user needs and guide our updates.
@@ -16,8 +20,8 @@ It's pivotal to understand that **NO data is collected** concerning prompts, tas
- **Roles of Agents within a Crew**: Understanding the various roles agents play aids in crafting better tools, integrations, and examples.
- **Tool Usage**: Identifying which tools are most frequently used allows us to prioritize improvements in those areas.
### Opt-In Futher Telemetry Sharing
Users can choose to share their complete telemetry data by enabling the `share_crew` attribute to `True` in their crew configurations. This opt-in approach respects user privacy and aligns with data protection standards by ensuring users have control over their data sharing preferences.
### Opt-In Further Telemetry Sharing
Users can choose to share their complete telemetry data by enabling the `share_crew` attribute to `True` in their crew configurations. This opt-in approach respects user privacy and aligns with data protection standards by ensuring users have control over their data sharing preferences. Enabling `share_crew` results in the collection of detailed `crew` and `task` execution data, including `goal`, `backstory`, `context`, and `output` of tasks. This enables a deeper insight into usage patterns while respecting the user's choice to share.
### Updates and Revisions
We are committed to maintaining the accuracy and transparency of our documentation. Regular reviews and updates are performed to ensure our documentation accurately reflects the latest developments of our codebase and telemetry practices. Users are encouraged to review this section for the most current information on our data collection practices and how they contribute to the improvement of CrewAI.

View File

@@ -0,0 +1,37 @@
# CSVSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is used to perform a RAG (Retrieval-Augmented Generation) search within a CSV file's content. It allows users to semantically search for queries in the content of a specified CSV file. This feature is particularly useful for extracting information from large CSV datasets where traditional search methods might be inefficient. All tools with "Search" in their name, including CSVSearchTool, are RAG tools designed for searching different sources of data.
## Installation
Install the crewai_tools package
```shell
pip install 'crewai[tools]'
```
## Example
```python
from crewai_tools import CSVSearchTool
# Initialize the tool with a specific CSV file. This setup allows the agent to only search the given CSV file.
tool = CSVSearchTool(csv='path/to/your/csvfile.csv')
# OR
# Initialize the tool without a specific CSV file. Agent will need to provide the CSV path at runtime.
tool = CSVSearchTool()
```
## Arguments
- `csv` : The path to the CSV file you want to search. This is a mandatory argument if the tool was initialized without a specific CSV file; otherwise, it is optional.

View File

View File

@@ -0,0 +1,35 @@
# DOCXSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The DOCXSearchTool is a RAG tool designed for semantic searching within DOCX documents. It enables users to effectively search and extract relevant information from DOCX files using query-based searches. This tool is invaluable for data analysis, information management, and research tasks, streamlining the process of finding specific information within large document collections.
## Installation
Install the crewai_tools package by running the following command in your terminal:
```shell
pip install 'crewai[tools]'
```
## Example
The following example demonstrates initializing the DOCXSearchTool to search within any DOCX file's content or with a specific DOCX file path.
```python
from crewai_tools import DOCXSearchTool
# Initialize the tool to search within any DOCX file's content
tool = DOCXSearchTool()
# OR
# Initialize the tool with a specific DOCX file, so the agent can only search the content of the specified DOCX file
tool = DOCXSearchTool(docx='path/to/your/document.docx')
```
## Arguments
- `docx`: An optional file path to a specific DOCX document you wish to search. If not provided during initialization, the tool allows for later specification of any DOCX file's content path for searching.

View File

@@ -0,0 +1,36 @@
# DirectoryReadTool
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The DirectoryReadTool is a highly efficient utility designed for the comprehensive listing of directory contents. It recursively navigates through the specified directory, providing users with a detailed enumeration of all files, including those nested within subdirectories. This tool is indispensable for tasks requiring a thorough inventory of directory structures or for validating the organization of files within directories.
## Installation
Install the `crewai_tools` package to use the DirectoryReadTool in your project. If you haven't added this package to your environment, you can easily install it with pip using the following command:
```shell
pip install 'crewai[tools]'
```
This installs the latest version of the `crewai_tools` package, allowing access to the DirectoryReadTool and other utilities.
## Example
The DirectoryReadTool is simple to use. The code snippet below shows how to set up and use the tool to list the contents of a specified directory:
```python
from crewai_tools import DirectoryReadTool
# Initialize the tool so the agent can read any directory's content it learns about during execution
tool = DirectoryReadTool()
# OR
# Initialize the tool with a specific directory, so the agent can only read the content of the specified directory
tool = DirectoryReadTool(directory='/path/to/your/directory')
```
## Arguments
The DirectoryReadTool requires minimal configuration for use. The essential argument for this tool is as follows:
- `directory`: **Optional** A argument that specifies the path to the directory whose contents you wish to list. It accepts both absolute and relative paths, guiding the tool to the desired directory for content listing.

View File

@@ -0,0 +1,33 @@
# DirectorySearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is designed to perform a semantic search for queries within the content of a specified directory. Utilizing the RAG (Retrieval-Augmented Generation) methodology, it offers a powerful means to semantically navigate through the files of a given directory. The tool can be dynamically set to search any directory specified at runtime or can be pre-configured to search within a specific directory upon initialization.
## Installation
To start using the DirectorySearchTool, you need to install the crewai_tools package. Execute the following command in your terminal:
```shell
pip install 'crewai[tools]'
```
## Example
The following examples demonstrate how to initialize the DirectorySearchTool for different use cases and how to perform a search:
```python
from crewai_tools import DirectorySearchTool
# To enable searching within any specified directory at runtime
tool = DirectorySearchTool()
# Alternatively, to restrict searches to a specific directory
tool = DirectorySearchTool(directory='/path/to/directory')
```
## Arguments
- `directory` : This string argument specifies the directory within which to search. It is mandatory if the tool has not been initialized with a directory; otherwise, the tool will only search within the initialized directory.

View File

@@ -0,0 +1,32 @@
# FileReadTool
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The FileReadTool is a versatile component of the crewai_tools package, designed to streamline the process of reading and retrieving content from files. It is particularly useful in scenarios such as batch text file processing, runtime configuration file reading, and data importation for analytics. This tool supports various text-based file formats including `.txt`, `.csv`, `.json` and more, and adapts its functionality based on the file type, for instance, converting JSON content into a Python dictionary for easy use.
## Installation
Install the crewai_tools package to use the FileReadTool in your projects:
```shell
pip install 'crewai[tools]'
```
## Example
To get started with the FileReadTool:
```python
from crewai_tools import FileReadTool
# Initialize the tool to read any files the agents knows or lean the path for
file_read_tool = FileReadTool()
# OR
# Initialize the tool with a specific file path, so the agent can only read the content of the specified file
file_read_tool = FileReadTool(file_path='path/to/your/file.txt')
```
## Arguments
- `file_path`: The path to the file you want to read. It accepts both absolute and relative paths. Ensure the file exists and you have the necessary permissions to access it.

View File

@@ -0,0 +1,42 @@
# GitHubSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The GitHubSearchTool is a Read, Append, and Generate (RAG) tool specifically designed for conducting semantic searches within GitHub repositories. Utilizing advanced semantic search capabilities, it sifts through code, pull requests, issues, and repositories, making it an essential tool for developers, researchers, or anyone in need of precise information from GitHub.
## Installation
To use the GitHubSearchTool, first ensure the crewai_tools package is installed in your Python environment:
```shell
pip install 'crewai[tools]'
```
This command installs the necessary package to run the GitHubSearchTool along with any other tools included in the crewai_tools package.
## Example
Heres how you can use the GitHubSearchTool to perform semantic searches within a GitHub repository:
```python
from crewai_tools import GitHubSearchTool
# Initialize the tool for semantic searches within a specific GitHub repository
tool = GitHubSearchTool(
github_repo='https://github.com/example/repo',
content_types=['code', 'issue'] # Options: code, repo, pr, issue
)
# OR
# Initialize the tool for semantic searches within a specific GitHub repository, so the agent can search any repository if it learns about during its execution
tool = GitHubSearchTool(
content_types=['code', 'issue'] # Options: code, repo, pr, issue
)
```
## Arguments
- `github_repo` : The URL of the GitHub repository where the search will be conducted. This is a mandatory field and specifies the target repository for your search.
- `content_types` : Specifies the types of content to include in your search. You must provide a list of content types from the following options: `code` for searching within the code, `repo` for searching within the repository's general information, `pr` for searching within pull requests, and `issue` for searching within issues. This field is mandatory and allows tailoring the search to specific content types within the GitHub repository.

View File

@@ -0,0 +1,33 @@
# JSONSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is used to perform a RAG search within a JSON file's content. It allows users to initiate a search with a specific JSON path, focusing the search operation within that particular JSON file. If the path is provided at initialization, the tool restricts its search scope to the specified JSON file, thereby enhancing the precision of search results.
## Installation
Install the crewai_tools package by executing the following command in your terminal:
```shell
pip install 'crewai[tools]'
```
## Example
Below are examples demonstrating how to use the JSONSearchTool for searching within JSON files. You can either search any JSON content or restrict the search to a specific JSON file.
```python
from crewai_tools import JSONSearchTool
# Example 1: Initialize the tool for a general search across any JSON content. This is useful when the path is known or can be discovered during execution.
tool = JSONSearchTool()
# Example 2: Initialize the tool with a specific JSON path, limiting the search to a particular JSON file.
tool = JSONSearchTool(json_path='./path/to/your/file.json')
```
## Arguments
- `json_path` (str): An optional argument that defines the path to the JSON file to be searched. This parameter is only necessary if the tool is initialized without a specific JSON path. Providing this argument restricts the search to the specified JSON file.

View File

@@ -0,0 +1,35 @@
# MDXSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The MDX Search Tool, a key component of the `crewai_tools` package, is designed for advanced market data extraction, offering invaluable support to researchers and analysts requiring immediate market insights in the AI sector. With its ability to interface with various data sources and tools, it streamlines the process of acquiring, reading, and organizing market data efficiently.
## Installation
To utilize the MDX Search Tool, ensure the `crewai_tools` package is installed. If not already present, install it using the following command:
```shell
pip install 'crewai[tools]'
```
## Example
Configuring and using the MDX Search Tool involves setting up environment variables and utilizing the tool within a crewAI project for market research. Here's a simple example:
```python
from crewai_tools import MDXSearchTool
# Initialize the tool so the agent can search any MDX content if it learns about during its execution
tool = MDXSearchTool()
# OR
# Initialize the tool with a specific MDX file path for exclusive search within that document
tool = MDXSearchTool(mdx='path/to/your/document.mdx')
```
## Arguments
- mdx: **Optional** The MDX path for the search. Can be provided at initialization

View File

@@ -0,0 +1,35 @@
# PDFSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The PDFSearchTool is a RAG tool designed for semantic searches within PDF content. It allows for inputting a search query and a PDF document, leveraging advanced search techniques to find relevant content efficiently. This capability makes it especially useful for extracting specific information from large PDF files quickly.
## Installation
To get started with the PDFSearchTool, first, ensure the crewai_tools package is installed with the following command:
```shell
pip install 'crewai[tools]'
```
## Example
Here's how to use the PDFSearchTool to search within a PDF document:
```python
from crewai_tools import PDFSearchTool
# Initialize the tool allowing for any PDF content search if the path is provided during execution
tool = PDFSearchTool()
# OR
# Initialize the tool with a specific PDF path for exclusive search within that document
tool = PDFSearchTool(pdf='path/to/your/document.pdf')
```
## Arguments
- `pdf`: **Optinal** The PDF path for the search. Can be provided at initialization or within the `run` method's arguments. If provided at initialization, the tool confines its search to the specified document.

View File

@@ -0,0 +1,34 @@
# PGSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is designed to facilitate semantic searches within PostgreSQL database tables. Leveraging the RAG (Retrieve and Generate) technology, the PGSearchTool provides users with an efficient means of querying database table content, specifically tailored for PostgreSQL databases. It simplifies the process of finding relevant data through semantic search queries, making it an invaluable resource for users needing to perform advanced queries on extensive datasets within a PostgreSQL database.
## Installation
To install the `crewai_tools` package and utilize the PGSearchTool, execute the following command in your terminal:
```shell
pip install 'crewai[tools]'
```
## Example
Below is an example showcasing how to use the PGSearchTool to conduct a semantic search on a table within a PostgreSQL database:
```python
from crewai_tools import PGSearchTool
# Initialize the tool with the database URI and the target table name
tool = PGSearchTool(db_uri='postgresql://user:password@localhost:5432/mydatabase', table_name='employees')
```
## Arguments
The PGSearchTool requires the following arguments for its operation:
- `db_uri`: A string representing the URI of the PostgreSQL database to be queried. This argument is mandatory and must include the necessary authentication details and the location of the database.
- `table_name`: A string specifying the name of the table within the database on which the semantic search will be performed. This argument is mandatory.

View File

@@ -0,0 +1,30 @@
# ScrapeWebsiteTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
A tool designed to extract and read the content of a specified website. It is capable of handling various types of web pages by making HTTP requests and parsing the received HTML content. This tool can be particularly useful for web scraping tasks, data collection, or extracting specific information from websites.
## Installation
Install the crewai_tools package
```shell
pip install 'crewai[tools]'
```
## Example
```python
from crewai_tools import ScrapeWebsiteTool
# To enable scrapping any website it finds during it's execution
tool = ScrapeWebsiteTool()
# Initialize the tool with the website URL, so the agent can only scrap the content of the specified website
tool = ScrapeWebsiteTool(website_url='https://www.example.com')
```
## Arguments
- `website_url` : Mandatory website URL to read the file. This is the primary input for the tool, specifying which website's content should be scraped and read.

View File

@@ -0,0 +1,36 @@
# SeleniumScrapingTool
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is designed for efficient web scraping, enabling users to extract content from web pages. It supports targeted scraping by allowing the specification of a CSS selector for desired elements. The flexibility of the tool enables it to be used on any website URL provided by the user, making it a versatile tool for various web scraping needs.
## Installation
Install the crewai_tools package
```
pip install 'crewai[tools]'
```
## Example
```python
from crewai_tools import SeleniumScrapingTool
# Example 1: Scrape any website it finds during its execution
tool = SeleniumScrapingTool()
# Example 2: Scrape the entire webpage
tool = SeleniumScrapingTool(website_url='https://example.com')
# Example 3: Scrape a specific CSS element from the webpage
tool = SeleniumScrapingTool(website_url='https://example.com', css_element='.main-content')
# Example 4: Scrape using optional parameters for customized scraping
tool = SeleniumScrapingTool(website_url='https://example.com', css_element='.main-content', cookie={'name': 'user', 'value': 'John Doe'})
```
## Arguments
- `website_url`: Mandatory. The URL of the website to scrape.
- `css_element`: Mandatory. The CSS selector for a specific element to scrape from the website.
- `cookie`: Optional. A dictionary containing cookie information. This parameter allows the tool to simulate a session with cookie information, providing access to content that may be restricted to logged-in users.
- `wait_time`: Optional. The number of seconds the tool waits after loading the website and after setting a cookie, before scraping the content. This allows for dynamic content to load properly.

View File

@@ -0,0 +1,33 @@
# SerperDevTool Documentation
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is designed to perform a semantic search for a specified query from a text's content across the internet. It utilizes the [serper.dev](https://serper.dev) API to fetch and display the most relevant search results based on the query provided by the user.
## Installation
To incorporate this tool into your project, follow the installation instructions below:
```shell
pip install 'crewai[tools]'
```
## Example
The following example demonstrates how to initialize the tool and execute a search with a given query:
```python
from crewai_tools import SerperDevTool
# Initialize the tool for internet searching capabilities
tool = SerperDevTool()
```
## Steps to Get Started
To effectively use the `SerperDevTool`, follow these steps:
1. **Package Installation**: Confirm that the `crewai[tools]` package is installed in your Python environment.
2. **API Key Acquisition**: Acquire a `serper.dev` API key by registering for a free account at `serper.dev`.
3. **Environment Configuration**: Store your obtained API key in an environment variable named `SERPER_API_KEY` to facilitate its use by the tool.
## Conclusion
By integrating the `SerperDevTool` into Python projects, users gain the ability to conduct real-time, relevant searches across the internet directly from their applications. By adhering to the setup and usage guidelines provided, incorporating this tool into projects is streamlined and straightforward.

View File

@@ -0,0 +1,37 @@
# TXTSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is used to perform a RAG (Retrieval-Augmented Generation) search within the content of a text file. It allows for semantic searching of a query within a specified text file's content, making it an invaluable resource for quickly extracting information or finding specific sections of text based on the query provided.
## Installation
To use the TXTSearchTool, you first need to install the crewai_tools package. This can be done using pip, a package manager for Python. Open your terminal or command prompt and enter the following command:
```shell
pip install 'crewai[tools]'
```
This command will download and install the TXTSearchTool along with any necessary dependencies.
## Example
The following example demonstrates how to use the TXTSearchTool to search within a text file. This example shows both the initialization of the tool with a specific text file and the subsequent search within that file's content.
```python
from crewai_tools import TXTSearchTool
# Initialize the tool to search within any text file's content the agent learns about during its execution
tool = TXTSearchTool()
# OR
# Initialize the tool with a specific text file, so the agent can search within the given text file's content
tool = TXTSearchTool(txt='path/to/text/file.txt')
```
## Arguments
- `txt` (str): **Optinal**. The path to the text file you want to search. This argument is only required if the tool was not initialized with a specific text file; otherwise, the search will be conducted within the initially provided text file.

View File

@@ -0,0 +1,35 @@
# WebsiteSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is specifically crafted for conducting semantic searches within the content of a particular website. Leveraging a Retrieval-Augmented Generation (RAG) model, it navigates through the information provided on a given URL. Users have the flexibility to either initiate a search across any website known or discovered during its usage or to concentrate the search on a predefined, specific website.
## Installation
Install the crewai_tools package by executing the following command in your terminal:
```shell
pip install 'crewai[tools]'
```
## Example
To utilize the WebsiteSearchTool for different use cases, follow these examples:
```python
from crewai_tools import WebsiteSearchTool
# To enable the tool to search any website the agent comes across or learns about during its operation
tool = WebsiteSearchTool()
# OR
# To restrict the tool to only search within the content of a specific website.
tool = WebsiteSearchTool(website='https://example.com')
```
## Arguments
- `website` : An optional argument that specifies the valid website URL to perform the search on. This becomes necessary if the tool is initialized without a specific website. In the `WebsiteSearchToolSchema`, this argument is mandatory. However, in the `FixedWebsiteSearchToolSchema`, it becomes optional if a website is provided during the tool's initialization, as it will then only search within the predefined website's content.

View File

@@ -0,0 +1,35 @@
# XMLSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The XMLSearchTool is a cutting-edge RAG tool engineered for conducting semantic searches within XML files. Ideal for users needing to parse and extract information from XML content efficiently, this tool supports inputting a search query and an optional XML file path. By specifying an XML path, users can target their search more precisely to the content of that file, thereby obtaining more relevant search outcomes.
## Installation
To start using the XMLSearchTool, you must first install the crewai_tools package. This can be easily done with the following command:
```shell
pip install 'crewai[tools]'
```
## Example
Here are two examples demonstrating how to use the XMLSearchTool. The first example shows searching within a specific XML file, while the second example illustrates initiating a search without predefining an XML path, providing flexibility in search scope.
```python
from crewai_tools.tools.xml_search_tool import XMLSearchTool
# Allow agents to search within any XML file's content as it learns about their paths during execution
tool = XMLSearchTool()
# OR
# Initialize the tool with a specific XML file path for exclusive search within that document
tool = XMLSearchTool(xml='path/to/your/xmlfile.xml')
```
## Arguments
- `xml`: This is the path to the XML file you wish to search. It is an optional parameter during the tool's initialization but must be provided either at initialization or as part of the `run` method's arguments to execute a search.

View File

@@ -0,0 +1,35 @@
# XMLSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
The XMLSearchTool is a cutting-edge RAG tool engineered for conducting semantic searches within XML files. Ideal for users needing to parse and extract information from XML content efficiently, this tool supports inputting a search query and an optional XML file path. By specifying an XML path, users can target their search more precisely to the content of that file, thereby obtaining more relevant search outcomes.
## Installation
To start using the XMLSearchTool, you must first install the crewai_tools package. This can be easily done with the following command:
```shell
pip install 'crewai[tools]'
```
## Example
Here are two examples demonstrating how to use the XMLSearchTool. The first example shows searching within a specific XML file, while the second example illustrates initiating a search without predefining an XML path, providing flexibility in search scope.
```python
from crewai_tools.tools.xml_search_tool import XMLSearchTool
# Allow agents to search within any XML file's content as it learns about their paths during execution
tool = XMLSearchTool()
# OR
# Initialize the tool with a specific XML file path for exclusive search within that document
tool = XMLSearchTool(xml='path/to/your/xmlfile.xml')
```
## Arguments
- `xml`: This is the path to the XML file you wish to search. It is an optional parameter during the tool's initialization but must be provided either at initialization or as part of the `run` method's arguments to execute a search.

View File

@@ -0,0 +1,35 @@
# YoutubeChannelSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is designed to perform semantic searches within a specific Youtube channel's content. Leveraging the RAG (Retrieval-Augmented Generation) methodology, it provides relevant search results, making it invaluable for extracting information or finding specific content without the need to manually sift through videos. It streamlines the search process within Youtube channels, catering to researchers, content creators, and viewers seeking specific information or topics.
## Installation
To utilize the YoutubeChannelSearchTool, the `crewai_tools` package must be installed. Execute the following command in your shell to install:
```shell
pip install 'crewai[tools]'
```
## Example
To begin using the YoutubeChannelSearchTool, follow the example below. This demonstrates initializing the tool with a specific Youtube channel handle and conducting a search within that channel's content.
```python
from crewai_tools import YoutubeChannelSearchTool
# Initialize the tool to search within any Youtube channel's content the agent learns about during its execution
tool = YoutubeChannelSearchTool()
# OR
# Initialize the tool with a specific Youtube channel handle to target your search
tool = YoutubeChannelSearchTool(youtube_channel_handle='@exampleChannel')
```
## Arguments
- `youtube_channel_handle` : A mandatory string representing the Youtube channel handle. This parameter is crucial for initializing the tool to specify the channel you want to search within. The tool is designed to only search within the content of the provided channel handle.

View File

@@ -0,0 +1,38 @@
# YoutubeVideoSearchTool
!!! note "Depend on OpenAI"
All RAG tools at the moment can only use openAI to generate embeddings, we are working on adding support for other providers.
!!! note "Experimental"
We are still working on improving tools, so there might be unexpected behavior or changes in the future.
## Description
This tool is part of the `crewai_tools` package and is designed to perform semantic searches within Youtube video content, utilizing Retrieval-Augmented Generation (RAG) techniques. It is one of several "Search" tools in the package that leverage RAG for different sources. The YoutubeVideoSearchTool allows for flexibility in searches; users can search across any Youtube video content without specifying a video URL, or they can target their search to a specific Youtube video by providing its URL.
## Installation
To utilize the YoutubeVideoSearchTool, you must first install the `crewai_tools` package. This package contains the YoutubeVideoSearchTool among other utilities designed to enhance your data analysis and processing tasks. Install the package by executing the following command in your terminal:
```
pip install 'crewai[tools]'
```
## Example
To integrate the YoutubeVideoSearchTool into your Python projects, follow the example below. This demonstrates how to use the tool both for general Youtube content searches and for targeted searches within a specific video's content.
```python
from crewai_tools import YoutubeVideoSearchTool
# General search across Youtube content without specifying a video URL, so the agent can search within any Youtube video content it learns about irs url during its operation
tool = YoutubeVideoSearchTool()
# Targeted search within a specific Youtube video's content
tool = YoutubeVideoSearchTool(youtube_video_url='https://youtube.com/watch?v=example')
```
## Arguments
The YoutubeVideoSearchTool accepts the following initialization arguments:
- `youtube_video_url`: An optional argument at initialization but required if targeting a specific Youtube video. It specifies the Youtube video URL path you want to search within.

View File

@@ -128,11 +128,32 @@ nav:
- Collaboration: 'core-concepts/Collaboration.md'
- How to Guides:
- Getting Started: 'how-to/Creating-a-Crew-and-kick-it-off.md'
- Create Custom Tools: 'how-to/Create-Custom-Tools.md'
- Using Sequential Process: 'how-to/Sequential.md'
- Using Hierarchical Process: 'how-to/Hierarchical.md'
- Connecting to any LLM: 'how-to/LLM-Connections.md'
- Customizing Agents: 'how-to/Customizing-Agents.md'
- Human Input on Execution: 'how-to/Human-Input-on-Execution.md'
- Tools Docs:
- Google Serper Search: 'tools/SerperDevTool.md'
- Scrape Website: 'tools/ScrapeWebsiteTool.md'
- Directory Read: 'tools/DirectoryReadTool.md'
- File Read: 'tools/FileReadTool.md'
- Selenium Scraper: 'tools/SeleniumScrapingTool.md'
- Directory RAG Search: 'tools/DirectorySearchTool.md'
- PDF RAG Search: 'tools/PDFSearchTool.md'
- TXT RAG Search: 'tools/TXTSearchTool.md'
- CSV RAG Search: 'tools/CSVSearchTool.md'
- XML RAG Search: 'tools/XMLSearchTool.md'
- JSON RAG Search: 'tools/JSONSearchTool.md'
- Docx Rag Search: 'tools/DOCXSearchTool.md'
- MDX RAG Search: 'tools/MDXSearchTool.md'
- PG RAG Search: 'tools/PGSearchTool.md'
- Website RAG Search: 'tools/WebsiteSearchTool.md'
- Github RAG Search: 'tools/GitHubSearchTool.md'
- Code Docs RAG Search: 'tools/CodeDocsSearchTool.md'
- Youtube Video RAG Search: 'tools/YoutubeVideoSearchTool.md'
- Youtube Chanel RAG Search: 'tools/YoutubeChannelSearchTool.md'
- Examples:
- Trip Planner Crew: https://github.com/joaomdmoura/crewAI-examples/tree/main/trip_planner"
- Create Instagram Post: https://github.com/joaomdmoura/crewAI-examples/tree/main/instagram_post"

844
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
[tool.poetry]
name = "crewai"
version = "0.14.4"
version = "0.22.5"
description = "Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks."
authors = ["Joao Moura <joao@crewai.com>"]
readme = "README.md"
@@ -9,24 +8,25 @@ packages = [
{ include = "crewai", from = "src" },
]
[tool.poetry.urls]
Homepage = "https://crewai.io"
Homepage = "https://crewai.com"
Documentation = "https://github.com/joaomdmoura/CrewAI/wiki/Index"
Repository = "https://github.com/joaomdmoura/crewai"
[tool.poetry.dependencies]
python = ">=3.10,<=3.13"
pydantic = "^2.4.2"
langchain = "^0.1.0"
openai = "^1.7.1"
langchain = "^0.1.10"
openai = "^1.13.3"
langchain-openai = "^0.0.5"
opentelemetry-api = "^1.22.0"
opentelemetry-sdk = "^1.22.0"
opentelemetry-exporter-otlp-proto-http = "^1.22.0"
instructor = "^0.5.2"
regex = "^2023.12.25"
crewai-tools = { version = "^0.0.12", optional = true }
crewai-tools = { version = "^0.0.15", optional = true }
click = "^8.1.7"
python-dotenv = "1.0.0"
[tool.poetry.extras]
tools = ["crewai-tools"]
@@ -44,18 +44,20 @@ mkdocs-material = {extras = ["imaging"], version = "^9.5.7"}
mkdocs-material-extensions = "^1.3.1"
pillow = "^10.2.0"
cairosvg = "^2.7.1"
crewai_tools = "^0.0.15"
[tool.isort]
profile = "black"
known_first_party = ["crewai"]
[tool.poetry.group.test.dependencies]
pytest = "^8.0.0"
pytest-vcr = "^1.0.2"
python-dotenv = "1.0.0"
[tool.poetry.scripts]
crewai = "crewai.cli.cli:crewai"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

View File

@@ -1,13 +1,13 @@
import os
import uuid
from typing import Any, List, Optional, Tuple
from typing import Any, Dict, List, Optional, Tuple
from crewai_tools import BaseTool as CrewAITool
from langchain.agents.agent import RunnableAgent
from langchain.agents.tools import tool as LangChainTool
from langchain.memory import ConversationSummaryMemory
from langchain.tools.render import render_text_description
from langchain_core.agents import AgentAction
from langchain_core.callbacks import BaseCallbackHandler
from langchain_openai import ChatOpenAI
from pydantic import (
UUID4,
@@ -23,6 +23,7 @@ from pydantic_core import PydanticCustomError
from crewai.agents import CacheHandler, CrewAgentExecutor, CrewAgentParser, ToolsHandler
from crewai.utilities import I18N, Logger, Prompts, RPMController
from crewai.utilities.token_counter_callback import TokenCalcHandler, TokenProcess
class Agent(BaseModel):
@@ -36,6 +37,7 @@ class Agent(BaseModel):
role: The role of the agent.
goal: The objective of the agent.
backstory: The backstory of the agent.
config: Dict representation of agent configuration.
llm: The language model that will run the agent.
function_calling_llm: The language model that will the tool calling for this agent, it overrides the crew function_calling_llm.
max_iter: Maximum number of iterations for an agent to execute a task.
@@ -45,13 +47,16 @@ class Agent(BaseModel):
allow_delegation: Whether the agent is allowed to delegate tasks to other agents.
tools: Tools at agents disposal
step_callback: Callback to be executed after each step of the agent execution.
callbacks: A list of callback functions from the langchain library that are triggered during the agent's execution process
"""
__hash__ = object.__hash__ # type: ignore
_logger: Logger = PrivateAttr()
_rpm_controller: RPMController = PrivateAttr(default=None)
_request_within_rpm_limit: Any = PrivateAttr(default=None)
_token_process: TokenProcess = TokenProcess()
formatting_errors: int = 0
model_config = ConfigDict(arbitrary_types_allowed=True)
id: UUID4 = Field(
default_factory=uuid.uuid4,
@@ -61,6 +66,10 @@ class Agent(BaseModel):
role: str = Field(description="Role of the agent")
goal: str = Field(description="Objective of the agent")
backstory: str = Field(description="Backstory of the agent")
config: Optional[Dict[str, Any]] = Field(
description="Configuration for the agent",
default=None,
)
max_rpm: Optional[int] = Field(
default=None,
description="Maximum number of requests per minute for the agent execution to be respected.",
@@ -103,6 +112,13 @@ class Agent(BaseModel):
function_calling_llm: Optional[Any] = Field(
description="Language model that will run the agent.", default=None
)
callbacks: Optional[List[InstanceOf[BaseCallbackHandler]]] = Field(
default=None, description="Callback to be executed"
)
def __init__(__pydantic_self__, **data):
config = data.pop("config", {})
super().__init__(**config, **data)
@field_validator("id", mode="before")
@classmethod
@@ -112,6 +128,14 @@ class Agent(BaseModel):
"may_not_set_field", "This field is not to be set by the user.", {}
)
@model_validator(mode="after")
def set_attributes_based_on_config(self) -> "Agent":
"""Set attributes based on the agent configuration."""
if self.config:
for key, value in self.config.items():
setattr(self, key, value)
return self
@model_validator(mode="after")
def set_private_attrs(self):
"""Set private attributes."""
@@ -123,8 +147,12 @@ class Agent(BaseModel):
return self
@model_validator(mode="after")
def check_agent_executor(self) -> "Agent":
"""Check if the agent executor is set."""
def set_agent_executor(self) -> "Agent":
"""set agent executor is set."""
if hasattr(self.llm, "model_name"):
self.llm.callbacks = [
TokenCalcHandler(self.llm.model_name, self._token_process)
]
if not self.agent_executor:
self.set_cache_handler(self.cache_handler)
return self
@@ -145,6 +173,8 @@ class Agent(BaseModel):
Returns:
Output of the agent
"""
self.tools_handler.last_used_tool = {}
task_prompt = task.prompt()
if context:
@@ -156,6 +186,7 @@ class Agent(BaseModel):
self.create_agent_executor(tools=tools)
self.agent_executor.tools = tools
self.agent_executor.task = task
self.agent_executor.tools_description = render_text_description(tools)
self.agent_executor.tools_names = self.__tools_names(tools)
@@ -219,6 +250,7 @@ class Agent(BaseModel):
"step_callback": self.step_callback,
"tools_handler": self.tools_handler,
"function_calling_llm": self.function_calling_llm,
"callbacks": self.callbacks,
}
if self._rpm_controller:
@@ -243,25 +275,26 @@ class Agent(BaseModel):
)
bind = self.llm.bind(stop=[self.i18n.slice("observation")])
inner_agent = agent_args | execution_prompt | bind | CrewAgentParser()
inner_agent = agent_args | execution_prompt | bind | CrewAgentParser(agent=self)
self.agent_executor = CrewAgentExecutor(
agent=RunnableAgent(runnable=inner_agent), **executor_args
)
def _parse_tools(self, tools: List[Any]) -> List[LangChainTool]:
"""Parse tools to be used for the task."""
tools_list = []
for tool in tools:
if isinstance(tool, CrewAITool):
tools_list.append(tool.to_langchain())
else:
tools_list.append(tool)
return tools_list
def interpolate_inputs(self, inputs: Dict[str, Any]) -> None:
"""Interpolate inputs into the agent description and backstory."""
if inputs:
self.role = self.role.format(**inputs)
self.goal = self.goal.format(**inputs)
self.backstory = self.backstory.format(**inputs)
def increment_formatting_errors(self) -> None:
"""Count the formatting errors of the agent."""
self.formatting_errors += 1
def format_log_to_str(
self,
intermediate_steps: List[Tuple[AgentAction, str]],
observation_prefix: str = "Result: ",
observation_prefix: str = "Observation: ",
llm_prefix: str = "",
) -> str:
"""Construct the scratchpad that lets the agent continue its thought process."""
@@ -271,6 +304,26 @@ class Agent(BaseModel):
thoughts += f"\n{observation_prefix}{observation}\n{llm_prefix}"
return thoughts
def _parse_tools(self, tools: List[Any]) -> List[LangChainTool]:
"""Parse tools to be used for the task."""
# tentatively try to import from crewai_tools import BaseTool as CrewAITool
tools_list = []
try:
from crewai_tools import BaseTool as CrewAITool
for tool in tools:
if isinstance(tool, CrewAITool):
tools_list.append(tool.to_langchain())
else:
tools_list.append(tool)
except ModuleNotFoundError:
for tool in tools:
tools_list.append(tool)
return tools_list
@staticmethod
def __tools_names(tools) -> str:
return ", ".join([t.name for t in tools])
def __repr__(self):
return f"Agent(role={self.role}, goal={self.goal}, backstory={self.backstory})"

View File

@@ -27,6 +27,7 @@ class CrewAgentExecutor(AgentExecutor):
request_within_rpm_limit: Any = None
tools_handler: InstanceOf[ToolsHandler] = None
max_iterations: Optional[int] = 15
have_forced_answer: bool = False
force_answer_max_iterations: Optional[int] = None
step_callback: Optional[Any] = None
@@ -36,7 +37,9 @@ class CrewAgentExecutor(AgentExecutor):
return values
def _should_force_answer(self) -> bool:
return True if self.iterations == self.force_answer_max_iterations else False
return (
self.iterations == self.force_answer_max_iterations
) and not self.have_forced_answer
def _call(
self,
@@ -103,6 +106,13 @@ class CrewAgentExecutor(AgentExecutor):
Override this to take control of how the agent makes and acts on choices.
"""
try:
if self._should_force_answer():
error = self._i18n.errors("force_final_answer")
output = AgentAction("_Exception", error, error)
self.have_forced_answer = True
yield AgentStep(action=output, observation=error)
return
intermediate_steps = self._prepare_intermediate_steps(intermediate_steps)
# Call the LLM to see what to do.
output = self.agent.plan(
@@ -111,23 +121,6 @@ class CrewAgentExecutor(AgentExecutor):
**inputs,
)
if self._should_force_answer():
if isinstance(output, AgentFinish):
yield output
return
if isinstance(output, AgentAction):
output = output
else:
raise ValueError(
f"Unexpected output type from agent: {type(output)}"
)
yield AgentStep(
action=output, observation=self._i18n.errors("force_final_answer")
)
return
except OutputParserException as e:
if isinstance(self.handle_parsing_errors, bool):
raise_error = not self.handle_parsing_errors
@@ -140,11 +133,11 @@ class CrewAgentExecutor(AgentExecutor):
"again, pass `handle_parsing_errors=True` to the AgentExecutor. "
f"This is the error: {str(e)}"
)
text = str(e)
str(e)
if isinstance(self.handle_parsing_errors, bool):
if e.send_to_llm:
observation = f"\n{str(e.observation)}"
text = str(e.llm_output)
str(e.llm_output)
else:
observation = ""
elif isinstance(self.handle_parsing_errors, str):
@@ -153,22 +146,22 @@ class CrewAgentExecutor(AgentExecutor):
observation = f"\n{self.handle_parsing_errors(e)}"
else:
raise ValueError("Got unexpected type of `handle_parsing_errors`")
output = AgentAction("_Exception", observation, text)
output = AgentAction("_Exception", observation, "")
if run_manager:
run_manager.on_agent_action(output, color="green")
tool_run_kwargs = self.agent.tool_run_logging_kwargs()
observation = ExceptionTool().run(
output.tool_input,
verbose=self.verbose,
verbose=False,
color=None,
callbacks=run_manager.get_child() if run_manager else None,
**tool_run_kwargs,
)
if self._should_force_answer():
yield AgentStep(
action=output, observation=self._i18n.errors("force_final_answer")
)
error = self._i18n.errors("force_final_answer")
output = AgentAction("_Exception", error, error)
yield AgentStep(action=output, observation=error)
return
yield AgentStep(action=output, observation=observation)
@@ -192,8 +185,8 @@ class CrewAgentExecutor(AgentExecutor):
tools_description=self.tools_description,
tools_names=self.tools_names,
function_calling_llm=self.function_calling_llm,
llm=self.llm,
task=self.task,
action=agent_action,
)
tool_calling = tool_usage.parse(agent_action.log)

View File

@@ -1,4 +1,5 @@
from typing import Union
import re
from typing import Any, Union
from langchain.agents.output_parsers import ReActSingleInputOutputParser
from langchain_core.agents import AgentAction, AgentFinish
@@ -6,13 +7,14 @@ from langchain_core.exceptions import OutputParserException
from crewai.utilities import I18N
TOOL_USAGE_SECTION = "Use Tool:"
FINAL_ANSWER_ACTION = "Final Answer:"
FINAL_ANSWER_AND_TOOL_ERROR_MESSAGE = "I tried to use a tool and give a final answer at the same time, I must choose only one."
MISSING_ACTION_AFTER_THOUGHT_ERROR_MESSAGE = "I did it wrong. Invalid Format: I missed the 'Action:' after 'Thought:'. I will do right next, and don't use a tool I have already used.\n"
MISSING_ACTION_INPUT_AFTER_ACTION_ERROR_MESSAGE = "I did it wrong. Invalid Format: I missed the 'Action Input:' after 'Action:'. I will do right next, and don't use a tool I have already used.\n"
FINAL_ANSWER_AND_PARSABLE_ACTION_ERROR_MESSAGE = "I did it wrong. Tried to both perform Action and give a Final Answer at the same time, I must do one or the other"
class CrewAgentParser(ReActSingleInputOutputParser):
"""Parses Crew-style LLM calls that have a single tool input.
"""Parses ReAct-style LLM calls that have a single tool input.
Expects output to be in one of two formats.
@@ -20,41 +22,69 @@ class CrewAgentParser(ReActSingleInputOutputParser):
should be in the below format. This will result in an AgentAction
being returned.
```
Use Tool: All context for using the tool here
```
Thought: agent thought here
Action: search
Action Input: what is the temperature in SF?
If the output signals that a final answer should be given,
should be in the below format. This will result in an AgentFinish
being returned.
```
Thought: agent thought here
Final Answer: The temperature is 100 degrees
```
"""
_i18n: I18N = I18N()
agent: Any = None
def parse(self, text: str) -> Union[AgentAction, AgentFinish]:
includes_answer = FINAL_ANSWER_ACTION in text
includes_tool = TOOL_USAGE_SECTION in text
if includes_tool:
regex = (
r"Action\s*\d*\s*:[\s]*(.*?)[\s]*Action\s*\d*\s*Input\s*\d*\s*:[\s]*(.*)"
)
action_match = re.search(regex, text, re.DOTALL)
if action_match:
if includes_answer:
raise OutputParserException(f"{FINAL_ANSWER_AND_TOOL_ERROR_MESSAGE}")
raise OutputParserException(
f"{FINAL_ANSWER_AND_PARSABLE_ACTION_ERROR_MESSAGE}: {text}"
)
action = action_match.group(1).strip()
action_input = action_match.group(2)
tool_input = action_input.strip(" ")
tool_input = tool_input.strip('"')
return AgentAction("", "", text)
return AgentAction(action, tool_input, text)
elif includes_answer:
return AgentFinish(
{"output": text.split(FINAL_ANSWER_ACTION)[-1].strip()}, text
)
format = self._i18n.slice("format_without_tools")
error = f"{format}"
raise OutputParserException(
error,
observation=error,
llm_output=text,
send_to_llm=True,
)
if not re.search(r"Action\s*\d*\s*:[\s]*(.*?)", text, re.DOTALL):
self.agent.increment_formatting_errors()
raise OutputParserException(
f"Could not parse LLM output: `{text}`",
observation=f"{MISSING_ACTION_AFTER_THOUGHT_ERROR_MESSAGE}\n{self._i18n.slice('final_answer_format')}",
llm_output=text,
send_to_llm=True,
)
elif not re.search(
r"[\s]*Action\s*\d*\s*Input\s*\d*\s*:[\s]*(.*)", text, re.DOTALL
):
self.agent.increment_formatting_errors()
raise OutputParserException(
f"Could not parse LLM output: `{text}`",
observation=MISSING_ACTION_INPUT_AFTER_ACTION_ERROR_MESSAGE,
llm_output=text,
send_to_llm=True,
)
else:
format = self._i18n.slice("format_without_tools")
error = f"{format}"
self.agent.increment_formatting_errors()
raise OutputParserException(
error,
observation=error,
llm_output=text,
send_to_llm=True,
)

View File

19
src/crewai/cli/cli.py Normal file
View File

@@ -0,0 +1,19 @@
import click
from .create_crew import create_crew
@click.group()
def crewai():
"""Top-level command group for crewai."""
@crewai.command()
@click.argument("project_name")
def create(project_name):
"""Create a new crew."""
create_crew(project_name)
if __name__ == "__main__":
crewai()

View File

@@ -0,0 +1,79 @@
import os
from pathlib import Path
import click
def create_crew(name):
"""Create a new crew."""
folder_name = name.replace(" ", "_").replace("-", "_").lower()
class_name = name.replace("_", " ").replace("-", " ").title().replace(" ", "")
click.secho(f"Creating folder {folder_name}...", fg="green", bold=True)
if not os.path.exists(folder_name):
os.mkdir(folder_name)
os.mkdir(folder_name + "/tests")
os.mkdir(folder_name + "/src")
os.mkdir(folder_name + "/src/tools")
os.mkdir(folder_name + "/src/config")
with open(folder_name + "/.env", "w") as file:
file.write("OPENAI_API_KEY=YOUR_API_KEY")
else:
click.secho(
f"\tFolder {folder_name} already exists. Please choose a different name.",
fg="red",
)
return
package_dir = Path(__file__).parent
templates_dir = package_dir / "templates"
# List of template files to copy
root_template_files = [
".gitignore",
"pyproject.toml",
"README.md",
]
tools_template_files = ["tools/custom_tool.py", "tools/__init__.py"]
config_template_files = ["config/agents.yaml", "config/tasks.yaml"]
src_template_files = ["__init__.py", "main.py", "crew.py"]
for file_name in root_template_files:
src_file = templates_dir / file_name
dst_file = Path(folder_name) / file_name
copy_template(src_file, dst_file, name, class_name, folder_name)
for file_name in src_template_files:
src_file = templates_dir / file_name
dst_file = Path(folder_name) / "src" / file_name
copy_template(src_file, dst_file, name, class_name, folder_name)
for file_name in tools_template_files:
src_file = templates_dir / file_name
dst_file = Path(folder_name) / "src" / file_name
copy_template(src_file, dst_file, name, class_name, folder_name)
for file_name in config_template_files:
src_file = templates_dir / file_name
dst_file = Path(folder_name) / "src" / file_name
copy_template(src_file, dst_file, name, class_name, folder_name)
click.secho(f"Crew {name} created successfully!", fg="green", bold=True)
def copy_template(src, dst, name, class_name, folder_name):
"""Copy a file from src to dst."""
with open(src, "r") as file:
content = file.read()
# Interpolate the content
content = content.replace("{{name}}", name)
content = content.replace("{{crew_name}}", class_name)
content = content.replace("{{folder_name}}", folder_name)
# Write the interpolated content to the new file
with open(dst, "w") as file:
file.write(content)
click.secho(f" - Created {dst}", fg="green")

2
src/crewai/cli/templates/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.env
__pycache__/

View File

@@ -0,0 +1,57 @@
# {{crew_name}} Crew
Welcome to the {{crew_name}} Crew project, powered by [crewAI](https://crewai.com). This template is designed to help you set up a multi-agent AI system with ease, leveraging the powerful and flexible framework provided by crewAI. Our goal is to enable your agents to collaborate effectively on complex tasks, maximizing their collective intelligence and capabilities.
## Installation
Ensure you have Python >=3.10 <=3.13 installed on your system. This project uses [Poetry](https://python-poetry.org/) for dependency management and package handling, offering a seamless setup and execution experience.
First, if you haven't already, install Poetry:
```bash
pip install poetry
```
Next, navigate to your project directory and install the dependencies:
1. First lock the dependencies and then install them:
```bash
poetry lock
```
```bash
poetry install
```
### Customizing
**Add you `OPENAI_API_KEY` on the `.env` file**
- Modify `src/{{folder_name}}/config/agents.yaml` to define your agents
- Modify `src/{{folder_name}}/config/tasks.yaml` to define your tasks
- Modify `src/{{folder_name}}/crew.py` to add your own logic, tools and specific args
- Modify `src/{{folder_name}}/main.py` to add custom inputs for your agents and tasks
## Running the Project
To kickstart your crew of AI agents and begin task execution, run this from the root folder of your project:
```bash
poetry run {{folder_name}}
```
This command initializes the {{name}} Crew, assembling the agents and assigning them tasks as defined in your configuration.
This example, unmodified, will run the create a `report.md` file with the output of a research on LLMs in the root folser
## Understanding Your Crew
The {{name}} Crew is composed of multiple AI agents, each with unique roles, goals, and tools. These agents collaborate on a series of tasks, defined in `config/tasks.yaml`, leveraging their collective skills to achieve complex objectives. The `config/agents.yaml` file outlines the capabilities and configurations of each agent in your crew.
## Support
For support, questions, or feedback regarding the {{crew_name}} Crew or crewAI.
- Visit our [documentation](https://docs.crewai.com)
- Reach out to us through our [GitHub repository](https://github.com/joaomdmoura/crewai)
- [Joing our Discord](https://discord.com/invite/X4JWnZnxPb)
- [Chat wtih our docs](https://chatg.pt/DWjSBZn)
Let's create wonders together with the power and simplicity of crewAI.

View File

View File

@@ -0,0 +1,19 @@
researcher:
role: >
{topic} Senior Data Researcher
goal: >
Uncover cutting-edge developments in {topic}
backstory: >
You're a seasoned researcher with a knack for uncovering the latest
developments in {topic}. Known for your ability to find the most relevant
information and present it in a clear and concise manner.
reporting_analyst:
role: >
{topic} Reporting Analyst
goal: >
Create detailed reports based on {topic} data analysis and research findings
backstory: >
You're a meticulous analyst with a keen eye for detail. You're known for
your ability to turn complex data into clear and concise reports, making
it easy for others to understand and act on the information you provide.

View File

@@ -0,0 +1,15 @@
research_task:
description: >
Conduct a thorough research about {topic}
Make sure you find any interesting and relevant information given
the current year is 2024.
expected_output: >
A list with 10 bullet points of the most relevant information about {topic}
reporting_task:
description: >
Review the context you got and expand each topic into a full section for a report.
Make sure the report is detailed and contains any and all relevant information.
expected_output: >
A fully fledge reports with the mains topics, each with a full section of information.
Formated as markdown with out '```'

View File

@@ -0,0 +1,55 @@
from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task
# Uncomment the following line to use an example of a custom tool
# from {{folder_name}}.tools.custom_tool import MyCustomTool
# Check our tools documentations for more information on how to use them
# from crewai_tools import SerperDevTool
@CrewBase
class {{crew_name}}Crew():
"""{{crew_name}} crew"""
agents_config = 'config/agents.yaml'
tasks_config = 'config/tasks.yaml'
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
# tools=[MyCustomTool()], # Example of custom tool, loaded on the beginning of file
verbose=True
)
@agent
def reporting_analyst(self) -> Agent:
return Agent(
config=self.agents_config['reporting_analyst'],
verbose=True
)
@task
def research_task(self) -> Task:
return Task(
config=self.tasks_config['research_task'],
agent=self.researcher()
)
@task
def reporting_task(self) -> Task:
return Task(
config=self.tasks_config['reporting_task'],
agent=self.reporting_analyst(),
output_file='report.md'
)
@crew
def crew(self) -> Crew:
"""Creates the {{crew_name}} crew"""
return Crew(
agents=self.agents, # Automatically created by the @agent decorator
tasks=self.tasks, # Automatically created by the @task decorator
process=Process.sequential,
verbose=2,
# process=Process.hierarchical, # In case you wanna use that instead https://docs.crewai.com/how-to/Hierarchical/
)

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env python
from crew import {{crew_name}}Crew
def run():
# Replace with your inputs, it will automatically interpolate any tasks and agents information
inputs = {
'topic': 'AI LLMs'
}
{{crew_name}}Crew().crew().kickoff(inputs=inputs)
if __name__ == "__main__":
run()

View File

@@ -0,0 +1,16 @@
[tool.poetry]
name = "{{folder_name}}"
version = "0.1.0"
description = "{{name}} using crewAI"
authors = ["Your Name <you@example.com>"]
[tool.poetry.dependencies]
python = ">=3.10,<=3.13"
crewai = {extras = ["tools"], version = "^0.22.2"}
[tool.poetry.scripts]
{{folder_name}} = "{{folder_name}}.main:run"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

View File

@@ -0,0 +1,10 @@
from crewai_tools import BaseTool
class MyCustomTool(BaseTool):
name: str = "Name of my tool"
description: str = "Clear description for what this tool is useful for, you agent will need this information to use it."
def _run(self, argument: str) -> str:
# Implementation goes here
return "this is an example of a tool output, ignore it and move along."

View File

@@ -2,6 +2,7 @@ import json
import uuid
from typing import Any, Dict, List, Optional, Union
from langchain_core.callbacks import BaseCallbackHandler
from pydantic import (
UUID4,
BaseModel,
@@ -19,7 +20,7 @@ from crewai.agent import Agent
from crewai.agents.cache import CacheHandler
from crewai.process import Process
from crewai.task import Task
from crewai.telemtry import Telemetry
from crewai.telemetry import Telemetry
from crewai.tools.agent_tools import AgentTools
from crewai.utilities import I18N, Logger, RPMController
@@ -32,6 +33,7 @@ class Crew(BaseModel):
tasks: List of tasks assigned to the crew.
agents: List of agents part of this crew.
manager_llm: The language model that will run manager agent.
manager_callbacks: The callback handlers to be executed by the manager agent when hierarchical process is used
function_calling_llm: The language model that will run the tool calling for all the agents.
process: The process flow that the crew will follow (e.g., sequential).
verbose: Indicates the verbosity level for logging during execution.
@@ -53,6 +55,10 @@ class Crew(BaseModel):
agents: List[Agent] = Field(default_factory=list)
process: Process = Field(default=Process.sequential)
verbose: Union[int, bool] = Field(default=0)
usage_metrics: Optional[dict] = Field(
default=None,
description="Metrics for the LLM usage during all tasks execution.",
)
full_output: Optional[bool] = Field(
default=False,
description="Whether the crew should return the full output with all tasks outputs or just the final output.",
@@ -60,6 +66,10 @@ class Crew(BaseModel):
manager_llm: Optional[Any] = Field(
description="Language model that will run the agent.", default=None
)
manager_callbacks: Optional[List[InstanceOf[BaseCallbackHandler]]] = Field(
default=None,
description="A list of callback handlers to be executed by the manager agent when hierarchical process is used",
)
function_calling_llm: Optional[Any] = Field(
description="Language model that will run the agent.", default=None
)
@@ -173,9 +183,10 @@ class Crew(BaseModel):
del task_config["agent"]
return Task(**task_config, agent=task_agent)
def kickoff(self) -> str:
def kickoff(self, inputs: Optional[Dict[str, Any]] = {}) -> str:
"""Starts the crew to work on its assigned tasks."""
self._execution_span = self._telemetry.crew_execution_span(self)
self._interpolate_inputs(inputs)
for agent in self.agents:
agent.i18n = I18N(language=self.language)
@@ -187,35 +198,51 @@ class Crew(BaseModel):
agent.step_callback = self.step_callback
agent.create_agent_executor()
if self.process == Process.sequential:
return self._run_sequential_process()
if self.process == Process.hierarchical:
return self._run_hierarchical_process()
metrics = []
raise NotImplementedError(
f"The process '{self.process}' is not implemented yet."
)
if self.process == Process.sequential:
result = self._run_sequential_process()
elif self.process == Process.hierarchical:
result, manager_metrics = self._run_hierarchical_process()
metrics.append(manager_metrics)
else:
raise NotImplementedError(
f"The process '{self.process}' is not implemented yet."
)
metrics = metrics + [
agent._token_process.get_summary() for agent in self.agents
]
self.usage_metrics = {
key: sum([m[key] for m in metrics if m is not None]) for key in metrics[0]
}
return result
def _run_sequential_process(self) -> str:
"""Executes tasks sequentially and returns the final output."""
task_output = ""
for task in self.tasks:
if task.agent is not None and task.agent.allow_delegation:
if task.agent.allow_delegation:
agents_for_delegation = [
agent for agent in self.agents if agent != task.agent
]
task.tools += AgentTools(agents=agents_for_delegation).tools()
if len(self.agents) > 1 and len(agents_for_delegation) > 0:
task.tools += AgentTools(agents=agents_for_delegation).tools()
role = task.agent.role if task.agent is not None else "None"
self._logger.log("debug", f"Working Agent: {role}")
self._logger.log("info", f"Starting Task: {task.description}")
self._logger.log("debug", f"== Working Agent: {role}", color="bold_yellow")
self._logger.log(
"info", f"== Starting Task: {task.description}", color="bold_yellow"
)
output = task.execute(context=task_output)
if not task.async_execution:
task_output = output
role = task.agent.role if task.agent is not None else "None"
self._logger.log("debug", f"[{role}] Task output: {task_output}\n\n")
self._logger.log("debug", f"== [{role}] Task output: {task_output}\n\n")
self._finish_execution(task_output)
return self._format_output(task_output)
@@ -242,12 +269,15 @@ class Crew(BaseModel):
agent=manager, context=task_output, tools=manager.tools
)
self._logger.log(
"debug", f"[{manager.role}] Task output: {task_output}\n\n"
)
self._logger.log("debug", f"[{manager.role}] Task output: {task_output}")
self._finish_execution(task_output)
return self._format_output(task_output)
return self._format_output(task_output), manager._token_process.get_summary()
def _interpolate_inputs(self, inputs: Dict[str, Any]) -> str:
"""Interpolates the inputs in the tasks and agents."""
[task.interpolate_inputs(inputs) for task in self.tasks]
[agent.interpolate_inputs(inputs) for agent in self.agents]
def _format_output(self, output: str) -> str:
"""Formats the output of the crew execution."""
@@ -263,3 +293,6 @@ class Crew(BaseModel):
if self.max_rpm:
self._rpm_controller.stop_rpm_counter()
self._telemetry.end_crew(self, output)
def __repr__(self):
return f"Crew(id={self.id}, process={self.process}, number_of_agents={len(self.agents)}, number_of_tasks={len(self.tasks)})"

View File

@@ -0,0 +1,2 @@
from .annotations import agent, crew, task
from .crew_base import CrewBase

View File

@@ -0,0 +1,47 @@
tasks_order = []
def task(func):
func.is_task = True
tasks_order.append(func.__name__)
return func
def agent(func):
func.is_agent = True
return func
def crew(func):
def wrapper(self, *args, **kwargs):
instantiated_tasks = []
instantiated_agents = []
agent_roles = set()
# Iterate over tasks_order to maintain the defined order
for task_name in tasks_order:
possible_task = getattr(self, task_name)
if callable(possible_task):
task_instance = possible_task()
instantiated_tasks.append(task_instance)
if hasattr(task_instance, "agent"):
agent_instance = task_instance.agent
if agent_instance.role not in agent_roles:
instantiated_agents.append(agent_instance)
agent_roles.add(agent_instance.role)
# Instantiate any additional agents not already included by tasks
for attr_name in dir(self):
possible_agent = getattr(self, attr_name)
if callable(possible_agent) and hasattr(possible_agent, "is_agent"):
temp_agent_instance = possible_agent()
if temp_agent_instance.role not in agent_roles:
instantiated_agents.append(temp_agent_instance)
agent_roles.add(temp_agent_instance.role)
self.agents = instantiated_agents
self.tasks = instantiated_tasks
return func(self, *args, **kwargs)
return wrapper

View File

@@ -0,0 +1,45 @@
import inspect
import os
from pathlib import Path
import yaml
from dotenv import load_dotenv
load_dotenv()
def CrewBase(cls):
class WrappedClass(cls):
is_crew_class = True
base_directory = None
for frame_info in inspect.stack():
if "site-packages" not in frame_info.filename:
base_directory = Path(frame_info.filename).parent.resolve()
break
if base_directory is None:
raise Exception(
"Unable to dynamically determine the project's base directory, you must run it from the project's root directory."
)
original_agents_config_path = getattr(
cls, "agents_config", "config/agents.yaml"
)
original_tasks_config_path = getattr(cls, "tasks_config", "config/tasks.yaml")
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.agents_config = self.load_yaml(
os.path.join(self.base_directory, self.original_agents_config_path)
)
self.tasks_config = self.load_yaml(
os.path.join(self.base_directory, self.original_tasks_config_path)
)
@staticmethod
def load_yaml(config_path: str):
with open(config_path, "r") as file:
return yaml.safe_load(file)
return WrappedClass

View File

@@ -1,6 +1,6 @@
import threading
import uuid
from typing import Any, List, Optional, Type
from typing import Any, Dict, List, Optional, Type
from langchain_openai import ChatOpenAI
from pydantic import UUID4, BaseModel, Field, field_validator, model_validator
@@ -20,19 +20,24 @@ class Task(BaseModel):
__hash__ = object.__hash__ # type: ignore
used_tools: int = 0
tools_errors: int = 0
delegations: int = 0
i18n: I18N = I18N()
thread: threading.Thread = None
description: str = Field(description="Description of the actual task.")
expected_output: str = Field(
description="Clear definition of expected output for the task."
)
config: Optional[Dict[str, Any]] = Field(
description="Configuration for the agent",
default=None,
)
callback: Optional[Any] = Field(
description="Callback to be executed after the task is completed.", default=None
)
agent: Optional[Agent] = Field(
description="Agent responsible for execution the task.", default=None
)
expected_output: Optional[str] = Field(
description="Clear definition of expected output for the task.",
default=None,
)
context: Optional[List["Task"]] = Field(
description="Other tasks that will have their output used as context for this task.",
default=None,
@@ -66,6 +71,10 @@ class Task(BaseModel):
description="Unique identifier for the object, not set by user.",
)
def __init__(__pydantic_self__, **data):
config = data.pop("config", {})
super().__init__(**config, **data)
@field_validator("id", mode="before")
@classmethod
def _deny_user_set_id(cls, v: Optional[UUID4]) -> None:
@@ -74,6 +83,14 @@ class Task(BaseModel):
"may_not_set_field", "This field is not to be set by the user.", {}
)
@model_validator(mode="after")
def set_attributes_based_on_config(self) -> "Task":
"""Set attributes based on the agent configuration."""
if self.config:
for key, value in self.config.items():
setattr(self, key, value)
return self
@model_validator(mode="after")
def check_tools(self):
"""Check if the tools are set."""
@@ -164,13 +181,26 @@ class Task(BaseModel):
"""
tasks_slices = [self.description]
if self.expected_output:
output = self.i18n.slice("expected_output").format(
expected_output=self.expected_output
)
tasks_slices = [self.description, output]
output = self.i18n.slice("expected_output").format(
expected_output=self.expected_output
)
tasks_slices = [self.description, output]
return "\n".join(tasks_slices)
def interpolate_inputs(self, inputs: Dict[str, Any]) -> None:
"""Interpolate inputs into the task description and expected output."""
if inputs:
self.description = self.description.format(**inputs)
self.expected_output = self.expected_output.format(**inputs)
def increment_tools_errors(self) -> None:
"""Increment the tools errors counter."""
self.tools_errors += 1
def increment_delegations(self) -> None:
"""Increment the delegations counter."""
self.delegations += 1
def _export_output(self, result: str) -> Any:
exported_result = result
instructions = "I'm gonna convert this raw text into valid JSON."
@@ -214,3 +244,6 @@ class Task(BaseModel):
with open(self.output_file, "w") as file:
file.write(result)
return None
def __repr__(self):
return f"Task(description={self.description}, expected_output={self.expected_output})"

View File

@@ -46,7 +46,7 @@ class Telemetry:
)
self.provider = TracerProvider(resource=self.resource)
processor = BatchSpanProcessor(
OTLPSpanExporter(endpoint=f"{telemetry_endpoint}/v1/traces", timeout=25)
OTLPSpanExporter(endpoint=f"{telemetry_endpoint}/v1/traces", timeout=15)
)
self.provider.add_span_processor(processor)
self.ready = True

View File

@@ -20,24 +20,24 @@ class AgentTools(BaseModel):
func=self.delegate_work,
name="Delegate work to co-worker",
description=self.i18n.tools("delegate_work").format(
coworkers="\n".join([f"- {agent.role}" for agent in self.agents])
coworkers=[f"{agent.role}" for agent in self.agents]
),
),
StructuredTool.from_function(
func=self.ask_question,
name="Ask question to co-worker",
description=self.i18n.tools("ask_question").format(
coworkers="\n".join([f"- {agent.role}" for agent in self.agents])
coworkers=[f"{agent.role}" for agent in self.agents]
),
),
]
def delegate_work(self, coworker: str, task: str, context: str):
"""Useful to delegate a specific task to a coworker."""
"""Useful to delegate a specific task to a coworker passing all necessary context and names."""
return self._execute(coworker, task, context)
def ask_question(self, coworker: str, question: str, context: str):
"""Useful to ask a question, opinion or take from a coworker."""
"""Useful to ask a question, opinion or take from a coworker passing all necessary context and names."""
return self._execute(coworker, question, context)
def _execute(self, agent, task, context):
@@ -59,5 +59,9 @@ class AgentTools(BaseModel):
)
agent = agent[0]
task = Task(description=task, agent=agent)
task = Task(
description=task,
agent=agent,
expected_output="Your best answer to your coworker asking you this, accounting for the context shared.",
)
return agent.execute_task(task, context)

View File

@@ -1,3 +1,4 @@
import ast
from textwrap import dedent
from typing import Any, List, Union
@@ -5,7 +6,7 @@ from langchain_core.tools import BaseTool
from langchain_openai import ChatOpenAI
from crewai.agents.tools_handler import ToolsHandler
from crewai.telemtry import Telemetry
from crewai.telemetry import Telemetry
from crewai.tools.tool_calling import InstructorToolCalling, ToolCalling
from crewai.utilities import I18N, Converter, ConverterError, Printer
@@ -30,7 +31,6 @@ class ToolUsage:
tools: List of tools available for the agent.
tools_description: Description of the tools available for the agent.
tools_names: Names of the tools available for the agent.
llm: Language model to be used for the tool usage.
function_calling_llm: Language model to be used for the tool usage.
"""
@@ -41,27 +41,30 @@ class ToolUsage:
tools_description: str,
tools_names: str,
task: Any,
llm: Any,
function_calling_llm: Any,
action: Any,
) -> None:
self._i18n: I18N = I18N()
self._printer: Printer = Printer()
self._telemetry: Telemetry = Telemetry()
self._run_attempts: int = 1
self._max_parsing_attempts: int = 3
self._remeber_format_after_usages: int = 3
self._remember_format_after_usages: int = 3
self.tools_description = tools_description
self.tools_names = tools_names
self.tools_handler = tools_handler
self.tools = tools
self.task = task
self.llm = function_calling_llm or llm
self.action = action
self.function_calling_llm = function_calling_llm
# Set the maximum parsing attempts for bigger models
if (isinstance(self.llm, ChatOpenAI)) and (self.llm.openai_api_base == None):
if self.llm.model_name in OPENAI_BIGGER_MODELS:
if (isinstance(self.function_calling_llm, ChatOpenAI)) and (
self.function_calling_llm.openai_api_base == None
):
if self.function_calling_llm.model_name in OPENAI_BIGGER_MODELS:
self._max_parsing_attempts = 2
self._remeber_format_after_usages = 4
self._remember_format_after_usages = 4
def parse(self, tool_string: str):
"""Parse the tool string and return the tool calling."""
@@ -73,14 +76,16 @@ class ToolUsage:
if isinstance(calling, ToolUsageErrorException):
error = calling.message
self._printer.print(content=f"\n\n{error}\n", color="red")
self.task.increment_tools_errors()
return error
try:
tool = self._select_tool(calling.tool_name)
except Exception as e:
error = getattr(e, "message", str(e))
self.task.increment_tools_errors()
self._printer.print(content=f"\n\n{error}\n", color="red")
return error
return f"{self._use(tool_string=tool_string, tool=tool, calling=calling)}\n\n{self._i18n.slice('final_answer_format')}"
return f"{self._use(tool_string=tool_string, tool=tool, calling=calling)}"
def _use(
self,
@@ -91,19 +96,18 @@ class ToolUsage:
if self._check_tool_repeated_usage(calling=calling):
try:
result = self._i18n.errors("task_repeated_usage").format(
tool=calling.tool_name,
tool_input=", ".join(
[str(arg) for arg in calling.arguments.values()]
),
tool_names=self.tools_names
)
self._printer.print(content=f"\n\n{result}\n", color="yellow")
self._telemetry.tool_repeated_usage(
llm=self.llm, tool_name=tool.name, attempts=self._run_attempts
llm=self.function_calling_llm,
tool_name=tool.name,
attempts=self._run_attempts,
)
result = self._format_result(result=result)
return result
except Exception:
pass
self.task.increment_tools_errors()
result = self.tools_handler.cache.read(
tool=calling.tool_name, input=calling.arguments
@@ -111,29 +115,53 @@ class ToolUsage:
if not result:
try:
if calling.tool_name in [
"Delegate work to co-worker",
"Ask question to co-worker",
]:
self.task.increment_delegations()
if calling.arguments:
result = tool._run(**calling.arguments)
try:
acceptable_args = tool.args_schema.schema()["properties"].keys()
arguments = {
k: v
for k, v in calling.arguments.items()
if k in acceptable_args
}
result = tool._run(**arguments)
except Exception:
if tool.args_schema:
arguments = calling.arguments
result = tool._run(**arguments)
else:
arguments = calling.arguments.values()
result = tool._run(*arguments)
else:
result = tool._run()
except Exception as e:
self._run_attempts += 1
if self._run_attempts > self._max_parsing_attempts:
self._telemetry.tool_usage_error(llm=self.llm)
self._telemetry.tool_usage_error(llm=self.function_calling_llm)
error_message = self._i18n.errors("tool_usage_exception").format(
error=e
error=e, tool=tool.name, tool_inputs=tool.description
)
error = ToolUsageErrorException(
f'\n{error_message}.\nMoving one then. {self._i18n.slice("format").format(tool_names=self.tools_names)}'
f'\n{error_message}.\nMoving on then. {self._i18n.slice("format").format(tool_names=self.tools_names)}'
).message
self.task.increment_tools_errors()
self._printer.print(content=f"\n\n{error_message}\n", color="red")
return error
self.task.increment_tools_errors()
return self.use(calling=calling, tool_string=tool_string)
self.tools_handler.on_tool_use(calling=calling, output=result)
self._printer.print(content=f"\n\n{result}\n", color="yellow")
self._telemetry.tool_usage(
llm=self.llm, tool_name=tool.name, attempts=self._run_attempts
llm=self.function_calling_llm,
tool_name=tool.name,
attempts=self._run_attempts,
)
result = self._format_result(result=result)
return result
@@ -145,7 +173,7 @@ class ToolUsage:
return result
def _should_remember_format(self) -> None:
return self.task.used_tools % self._remeber_format_after_usages == 0
return self.task.used_tools % self._remember_format_after_usages == 0
def _remember_format(self, result: str) -> None:
result = str(result)
@@ -166,7 +194,15 @@ class ToolUsage:
for tool in self.tools:
if tool.name.lower().strip() == tool_name.lower().strip():
return tool
raise Exception(f"Tool '{tool_name}' not found.")
self.task.increment_tools_errors()
if tool_name and tool_name != "":
raise Exception(
f"Action '{tool_name}' don't exist, these are the only available Actions: {self.tools_description}"
)
else:
raise Exception(
f"I forgot the Action name, these are the only available Actions: {self.tools_description}"
)
def _render(self) -> str:
"""Render the tool name and description in plain text."""
@@ -194,33 +230,57 @@ class ToolUsage:
self, tool_string: str
) -> Union[ToolCalling, InstructorToolCalling]:
try:
model = InstructorToolCalling if self._is_gpt(self.llm) else ToolCalling
converter = Converter(
text=f"Only tools available:\n###\n{self._render()}\n\nReturn a valid schema for the tool, the tool name must be exactly equal one of the options, use this text to inform the valid ouput schema:\n\n{tool_string}```",
llm=self.llm,
model=model,
instructions=dedent(
"""\
The schema should have the following structure, only two keys:
- tool_name: str
- arguments: dict (with all arguments being passed)
if self.function_calling_llm:
model = (
InstructorToolCalling
if self._is_gpt(self.function_calling_llm)
else ToolCalling
)
converter = Converter(
text=f"Only tools available:\n###\n{self._render()}\n\nReturn a valid schema for the tool, the tool name must be exactly equal one of the options, use this text to inform the valid ouput schema:\n\n{tool_string}```",
llm=self.function_calling_llm,
model=model,
instructions=dedent(
"""\
The schema should have the following structure, only two keys:
- tool_name: str
- arguments: dict (with all arguments being passed)
Example:
{"tool_name": "tool name", "arguments": {"arg_name1": "value", "arg_name2": 2}}""",
),
max_attemps=1,
)
calling = converter.to_pydantic()
Example:
{"tool_name": "tool name", "arguments": {"arg_name1": "value", "arg_name2": 2}}""",
),
max_attemps=1,
)
calling = converter.to_pydantic()
if isinstance(calling, ConverterError):
raise calling
if isinstance(calling, ConverterError):
raise calling
else:
tool_name = self.action.tool
tool = self._select_tool(tool_name)
try:
arguments = ast.literal_eval(self.action.tool_input)
except Exception:
return ToolUsageErrorException(
f'{self._i18n.errors("tool_arguments_error")}'
)
if not isinstance(arguments, dict):
return ToolUsageErrorException(
f'{self._i18n.errors("tool_arguments_error")}'
)
calling = ToolCalling(
tool_name=tool.name,
arguments=arguments,
log=tool_string,
)
except Exception as e:
self._run_attempts += 1
if self._run_attempts > self._max_parsing_attempts:
self._telemetry.tool_usage_error(llm=self.llm)
self._telemetry.tool_usage_error(llm=self.function_calling_llm)
self.task.increment_tools_errors()
self._printer.print(content=f"\n\n{e}\n", color="red")
return ToolUsageErrorException(
f'{self._i18n.errors("tool_usage_error")}\n{self._i18n.slice("format").format(tool_names=self.tools_names)}'
f'{self._i18n.errors("tool_usage_error").format(error=e)}\nMoving on then. {self._i18n.slice("format").format(tool_names=self.tools_names)}'
)
return self._tool_calling(tool_string)

View File

@@ -5,26 +5,27 @@
"backstory": "You are a seasoned manager with a knack for getting the best out of your team.\nYou are also known for your ability to delegate work to the right people, and to ask the right questions to get the best out of your team.\nEven though you don't perform tasks by yourself, you have a lot of experience in the field, which allows you to properly evaluate the work of your team members."
},
"slices": {
"observation": "\nResult",
"task": "\n\nCurrent Task: {input}\n\n Begin! This is VERY important to you, your job depends on it!\n\n",
"observation": "\nObservation",
"task": "\n\nCurrent Task: {input}\n\nBegin! This is VERY important to you, use the tools available and give your best Final Answer, your job depends on it!\n\nThought: ",
"memory": "This is the summary of your work so far:\n{chat_history}",
"role_playing": "You are {role}.\n{backstory}\n\nYour personal goal is: {goal}",
"tools": "I have access to ONLY the following tools, I can use only these, use one at time:\n\n{tools}\n\nTo use a tool I MUST use the exact following format:\n\n```\nUse Tool: the tool I wanna use, should be one of [{tool_names}] and absolute all relevant input and context for using the tool, I must use only one tool at once.\nResult: [result of the tool]\n```\n\nTo give my final answer I'll use the exact following format:\n\n```\nFinal Answer: [my expected final answer, entire content of my most complete final answer goes here]\n```\nI MUST use these formats, my jobs depends on it!",
"no_tools": "To give my final answer use the exact following format:\n\n```\nFinal Answer: [my expected final answer, entire content of my most complete final answer goes here]\n```\nI MUST use these formats, my jobs depends on it!",
"format": "I MUST either use a tool (use one at time) OR give my best final answer. To use a single tool I MUST use the exact following format:\n\n```\nUse Tool: the tool I wanna use, should be one of [{tool_names}] and absolute all relevant input and context for using the tool, I must use only one tool at once.\nResult: [result of the tool]\n```\n\nTo give my final answer use the exact following format:\n\n```\nFinal Answer: [my expected final answer, entire content of my most complete final answer goes here]\n```\nI MUST use these formats, my jobs depends on it!",
"final_answer_format": "If I don't need to use any more tools, I must make sure use the correct format to give my final answer:\n\n```Final Answer: [my expected final answer, entire content of my most complete final answer goes here]```\n I MUST use these formats, my jobs depends on it!",
"format_without_tools": "\nSorry, I didn't use the right format. I MUST either use a tool (among the available ones), OR give my best final answer.\nI just remembered the expected formats I must follow:\n\n```\nUse Tool: the tool I wanna use, and absolute all relevant input and context for using the tool, I must use only one tool at once.\nResult: [result of the tool]\n```\nOR\n```\nFinal Answer: [my expected final answer, entire content of my most complete final answer goes here]\n```\n",
"task_with_context": "{task}\nThis is the context you're working with:\n{context}",
"expected_output": "Your final answer must be: {expected_output}"
"role_playing": "You are {role}. {backstory}\nYour personal goal is: {goal}",
"tools": "\n\nYou ONLY have access to the following tools, and should NEVER make up tools that are not listed here:\n\n{tools}\n\nUse the following format:\n\nThought: you should always think about what to do\nAction: the action to take, only one name of [{tool_names}], just the name, exactly as it's written.\nAction Input: the input to the action, just a simple a python dictionary using \" to wrap keys and values.\nObservation: the result of the action\n\nOnce all necessary information is gathered:\n\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question\n",
"no_tools": "To give my best complete final answer to the task use the exact following format:\n\nThought: I now can give a great answer\nFinal Answer: my best complete final answer to the task.\nYour final answer must be the great and the most complete as possible, it must be outcome described.\n\nI MUST use these formats, my job depends on it!\n\nThought: ",
"format": "I MUST either use a tool (use one at time) OR give my best final answer. To Use the following format:\n\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action, dictionary\nObservation: the result of the action\n... (this Thought/Action/Action Input/Observation can repeat N times)\nThought: I now can give a great answer\nFinal Answer: my best complete final answer to the task.\nYour final answer must be the great and the most complete as possible, it must be outcome described\n\n ",
"final_answer_format": "If you don't need to use any more tools, you must give your best complete final answer, make sure it satisfy the expect criteria, use the EXACT format below:\n\nThought: I now can give a great answer\nFinal Answer: my best complete final answer to the task.\n\n",
"format_without_tools": "\nSorry, I didn't use the right format. I MUST either use a tool (among the available ones), OR give my best final answer.\nI just remembered the expected format I must follow:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action\nObservation: the result of the action\n... (this Thought/Action/Action Input/Observation can repeat N times)\nThought: I now can give a great answer\nFinal Answer: my best complete final answer to the task\nYour final answer must be the great and the most complete as possible, it must be outcome described\n\n",
"task_with_context": "{task}\n\nThis is the context you're working with:\n{context}",
"expected_output": "\nThis is the expect criteria for your final answer: {expected_output} \n you MUST return the actual complete content as the final answer, not a summary."
},
"errors": {
"unexpected_format": "\nSorry, I didn't use the expected format, I MUST either use a tool (use one at time) OR give my best final answer.\n",
"force_final_answer": "Actually, I used too many tools, so I'll stop now and give you my absolute BEST Final answer NOW, using exaclty the expected format bellow:\n\n```\nFinal Answer: [my expected final answer, entire content of my most complete final answer goes here]\n```\nI MUST use these formats, my jobs depends on it!",
"force_final_answer": "Tool won't be use because it's time to give your final answer. Don't use tools and just your absolute BEST Final answer.",
"agent_tool_unexsiting_coworker": "\nError executing tool. Co-worker mentioned not found, it must to be one of the following options:\n{coworkers}\n",
"task_repeated_usage": "I already used the {tool} tool with input {tool_input}. So I already know that and must stop using it with same input. \nI could give my best complete final answer if I'm ready, using exaclty the expected format bellow:\n\n```\nFinal Answer: [my expected final answer, entire content of my most complete final answer goes here]\n```\nI MUST use these formats, my jobs depends on it!",
"tool_usage_error": "It seems we encountered an unexpected error while trying to use the tool.",
"task_repeated_usage": "I tried reusing the same input, I must stop using this action input. I'll try something else instead.\n\n",
"tool_usage_error": "I encountered an error: {error}",
"tool_arguments_error": "Error: the Action Input is not a valid key, value dictionary.",
"wrong_tool_name": "You tried to use the tool {tool}, but it doesn't exist. You must use one of the following tools, use one at time: {tools}.",
"tool_usage_exception": "It seems we encountered an unexpected error while trying to use the tool. This was the error: {error}"
"tool_usage_exception": "I encountered an error while trying to use the tool. This was the error: {error}.\n Tool {tool} accepts these inputs: {tool_inputs}"
},
"tools": {
"delegate_work": "Delegate a specific task to one of the following co-workers: {coworkers}\nThe input to this tool should be the coworker, the task you want them to do, and ALL necessary context to exectue the task, they know nothing about the task, so share absolute everything you know, don't reference things but instead explain them.",

View File

@@ -78,8 +78,8 @@ class Converter(BaseModel):
)
parser = CrewPydanticOutputParser(pydantic_object=self.model)
new_prompt = HumanMessage(content=self.text) + SystemMessage(
content=self.instructions
new_prompt = SystemMessage(content=self.instructions) + HumanMessage(
content=self.text
)
return new_prompt | self.llm | parser

View File

@@ -1,11 +1,16 @@
from crewai.utilities.printer import Printer
class Logger:
_printer = Printer()
def __init__(self, verbose_level=0):
verbose_level = (
2 if isinstance(verbose_level, bool) and verbose_level else verbose_level
)
self.verbose_level = verbose_level
def log(self, level, message):
def log(self, level, message, color="bold_green"):
level_map = {"debug": 1, "info": 2}
if self.verbose_level and level_map.get(level, 0) <= self.verbose_level:
print(f"[{level.upper()}]: {message}")
self._printer.print(f"[{level.upper()}]: {message}", color=color)

View File

@@ -4,9 +4,19 @@ class Printer:
self._print_yellow(content)
elif color == "red":
self._print_red(content)
elif color == "bold_green":
self._print_bold_green(content)
elif color == "bold_yellow":
self._print_bold_yellow(content)
else:
print(content)
def _print_bold_yellow(self, content):
print("\033[1m\033[93m {}\033[00m".format(content))
def _print_bold_green(self, content):
print("\033[1m\033[92m {}\033[00m".format(content))
def _print_yellow(self, content):
print("\033[93m {}\033[00m".format(content))

View File

@@ -27,7 +27,9 @@ class PydanticSchemaParser(BaseModel):
field_type = field.annotation
if get_origin(field_type) is list:
list_item_type = get_args(field_type)[0]
if issubclass(list_item_type, BaseModel):
if isinstance(list_item_type, type) and issubclass(
list_item_type, BaseModel
):
nested_schema = self._get_model_schema(list_item_type, depth + 1)
return f"List[\n{nested_schema}\n{' ' * 4 * depth}]"
else:

View File

@@ -0,0 +1,60 @@
from typing import Any, Dict, List
import tiktoken
from langchain.callbacks.base import BaseCallbackHandler
from langchain.schema import LLMResult
class TokenProcess:
total_tokens: int = 0
prompt_tokens: int = 0
completion_tokens: int = 0
successful_requests: int = 0
def sum_prompt_tokens(self, tokens: int):
self.prompt_tokens = self.prompt_tokens + tokens
self.total_tokens = self.total_tokens + tokens
def sum_completion_tokens(self, tokens: int):
self.completion_tokens = self.completion_tokens + tokens
self.total_tokens = self.total_tokens + tokens
def sum_successful_requests(self, requests: int):
self.successful_requests = self.successful_requests + requests
def get_summary(self) -> str:
return {
"total_tokens": self.total_tokens,
"prompt_tokens": self.prompt_tokens,
"completion_tokens": self.completion_tokens,
"successful_requests": self.successful_requests,
}
class TokenCalcHandler(BaseCallbackHandler):
model: str = ""
token_cost_process: TokenProcess
def __init__(self, model, token_cost_process):
self.model = model
self.token_cost_process = token_cost_process
def on_llm_start(
self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any
) -> None:
if "gpt" in self.model:
encoding = tiktoken.encoding_for_model(self.model)
else:
encoding = tiktoken.get_encoding("cl100k_base")
if self.token_cost_process == None:
return
for prompt in prompts:
self.token_cost_process.sum_prompt_tokens(len(encoding.encode(prompt)))
async def on_llm_new_token(self, token: str, **kwargs) -> None:
self.token_cost_process.sum_completion_tokens(1)
def on_llm_end(self, response: LLMResult, **kwargs: Any) -> None:
self.token_cost_process.sum_successful_requests(1)

View File

@@ -4,11 +4,13 @@ from unittest.mock import patch
import pytest
from langchain.tools import tool
from langchain_core.exceptions import OutputParserException
from langchain_openai import ChatOpenAI
from crewai import Agent, Crew, Task
from crewai.agents.cache import CacheHandler
from crewai.agents.executor import CrewAgentExecutor
from crewai.agents.parser import CrewAgentParser
from crewai.tools.tool_calling import InstructorToolCalling
from crewai.tools.tool_usage import ToolUsage
from crewai.utilities import RPMController
@@ -64,10 +66,14 @@ def test_agent_without_memory():
llm=ChatOpenAI(temperature=0, model="gpt-4"),
)
task = Task(description="How much is 1 + 1?", agent=no_memory_agent)
task = Task(
description="How much is 1 + 1?",
agent=no_memory_agent,
expected_output="the result of the math operation.",
)
result = no_memory_agent.execute_task(task)
assert result == "1 + 1 equals 2."
assert result == "The result of the math operation 1 + 1 is 2."
assert no_memory_agent.agent_executor.memory is None
assert memory_agent.agent_executor.memory is not None
@@ -81,10 +87,14 @@ def test_agent_execution():
allow_delegation=False,
)
task = Task(description="How much is 1 + 1?", agent=agent)
task = Task(
description="How much is 1 + 1?",
agent=agent,
expected_output="the result of the math operation.",
)
output = agent.execute_task(task)
assert output == "1 + 1 equals 2."
assert output == "The result of the math operation 1 + 1 is 2."
@pytest.mark.vcr(filter_headers=["authorization"])
@@ -102,7 +112,11 @@ def test_agent_execution_with_tools():
allow_delegation=False,
)
task = Task(description="What is 3 times 4?", agent=agent)
task = Task(
description="What is 3 times 4?",
agent=agent,
expected_output="The result of the multiplication.",
)
output = agent.execute_task(task)
assert output == "The result of 3 times 4 is 12."
@@ -124,14 +138,18 @@ def test_logging_tool_usage():
)
assert agent.tools_handler.last_used_tool == {}
task = Task(description="What is 3 times 4?", agent=agent)
task = Task(
description="What is 3 times 4?",
agent=agent,
expected_output="The result of the multiplication.",
)
# force cleaning cache
agent.tools_handler.cache = CacheHandler()
output = agent.execute_task(task)
tool_usage = InstructorToolCalling(
tool_name=multiplier.name, arguments={"first_number": 3, "second_number": 4}
)
assert output == "The result of multiplying 3 by 4 is 12."
assert output == "12"
assert agent.tools_handler.last_used_tool.tool_name == tool_usage.tool_name
assert agent.tools_handler.last_used_tool.arguments == tool_usage.arguments
@@ -155,8 +173,16 @@ def test_cache_hitting():
verbose=True,
)
task1 = Task(description="What is 2 times 6?", agent=agent)
task2 = Task(description="What is 3 times 3?", agent=agent)
task1 = Task(
description="What is 2 times 6?",
agent=agent,
expected_output="The result of the multiplication.",
)
task2 = Task(
description="What is 3 times 3?",
agent=agent,
expected_output="The result of the multiplication.",
)
output = agent.execute_task(task1)
output = agent.execute_task(task2)
@@ -166,7 +192,9 @@ def test_cache_hitting():
}
task = Task(
description="What is 2 times 6 times 3? Return only the number", agent=agent
description="What is 2 times 6 times 3? Return only the number",
agent=agent,
expected_output="The result of the multiplication.",
)
output = agent.execute_task(task)
assert output == "36"
@@ -182,9 +210,10 @@ def test_cache_hitting():
task = Task(
description="What is 2 times 6? Ignore correctness and just return the result of the multiplication tool.",
agent=agent,
expected_output="The result of the multiplication.",
)
output = agent.execute_task(task)
assert output == "The result of the multiplication of 2 and 6 is 0."
assert output == "0"
read.assert_called_with(
tool="multiplier", input={"first_number": 2, "second_number": 6}
)
@@ -204,9 +233,13 @@ def test_agent_execution_with_specific_tools():
allow_delegation=False,
)
task = Task(description="What is 3 times 4", agent=agent)
task = Task(
description="What is 3 times 4",
agent=agent,
expected_output="The result of the multiplication.",
)
output = agent.execute_task(task=task, tools=[multiplier])
assert output == "12"
assert output == "The result of the multiplication is 12."
@pytest.mark.vcr(filter_headers=["authorization"])
@@ -230,6 +263,7 @@ def test_agent_custom_max_iterations():
) as private_mock:
task = Task(
description="The final answer is 42. But don't give it yet, instead keep using the `get_final_answer` tool.",
expected_output="The final answer",
)
agent.execute_task(
task=task,
@@ -257,7 +291,8 @@ def test_agent_repeated_tool_usage(capsys):
)
task = Task(
description="The final answer is 42. But don't give it until I tell you so, instead keep using the `get_final_answer` tool."
description="The final answer is 42. But don't give it until I tell you so, instead keep using the `get_final_answer` tool.",
expected_output="The final answer",
)
# force cleaning cache
agent.tools_handler.cache = CacheHandler()
@@ -268,7 +303,7 @@ def test_agent_repeated_tool_usage(capsys):
captured = capsys.readouterr()
assert "Final Answer: 42" in captured.out
assert "The final answer is 42." in captured.out
@pytest.mark.vcr(filter_headers=["authorization"])
@@ -288,7 +323,8 @@ def test_agent_moved_on_after_max_iterations():
)
task = Task(
description="The final answer is 42. But don't give it yet, instead keep using the `get_final_answer` tool. Until you're told you could give my final answer if I'm ready."
description="The final answer is 42. But don't give it yet, instead keep using the `get_final_answer` tool over and over until you're told you can give yout final answer.",
expected_output="The final answer",
)
output = agent.execute_task(
task=task,
@@ -318,16 +354,14 @@ def test_agent_respect_the_max_rpm_set(capsys):
with patch.object(RPMController, "_wait_for_next_minute") as moveon:
moveon.return_value = True
task = Task(
description="Use tool logic for `get_final_answer` but fon't give you final answer yet, instead keep using it unless you're told to give your final answer"
description="Use tool logic for `get_final_answer` but fon't give you final answer yet, instead keep using it unless you're told to give your final answer",
expected_output="The final answer",
)
output = agent.execute_task(
task=task,
tools=[get_final_answer],
)
assert (
output
== 'The result of using the `get_final_answer` tool with the input "test input" is 42.'
)
assert output == "42"
captured = capsys.readouterr()
assert "Max RPM reached, waiting for next minute to start." in captured.out
moveon.assert_called()
@@ -355,7 +389,8 @@ def test_agent_respect_the_max_rpm_set_over_crew_rpm(capsys):
)
task = Task(
description="Don't give a Final Answer, instead keep using the `get_final_answer` tool.",
description="Use tool logic for `get_final_answer` but fon't give you final answer yet, instead keep using it unless you're told to give your final answer",
expected_output="The final answer",
tools=[get_final_answer],
agent=agent,
)
@@ -388,6 +423,7 @@ def test_agent_without_max_rpm_respet_crew_rpm(capsys):
backstory="test backstory",
max_rpm=10,
verbose=True,
allow_delegation=False,
)
agent2 = Agent(
@@ -396,15 +432,16 @@ def test_agent_without_max_rpm_respet_crew_rpm(capsys):
backstory="test backstory2",
max_iter=2,
verbose=True,
allow_delegation=False,
)
tasks = [
Task(
description="Just say hi.",
agent=agent1,
description="Just say hi.", agent=agent1, expected_output="Your greeting."
),
Task(
description="Don't give a Final Answer, instead keep using the `get_final_answer` tool non-stop",
description="NEVER give a Final Answer, instead keep using the `get_final_answer` tool non-stop",
expected_output="The final answer",
tools=[get_final_answer],
agent=agent2,
),
@@ -416,7 +453,7 @@ def test_agent_without_max_rpm_respet_crew_rpm(capsys):
moveon.return_value = True
crew.kickoff()
captured = capsys.readouterr()
assert "Action: get_final_answer" in captured.out
assert "get_final_answer" in captured.out
assert "Max RPM reached, waiting for next minute to start." in captured.out
moveon.assert_called_once()
@@ -428,7 +465,7 @@ def test_agent_error_on_parsing_tool(capsys):
from langchain.tools import tool
@tool
def get_final_answer(anything: str) -> float:
def get_final_answer() -> float:
"""Get the final answer but don't give it yet, just re-use this
tool non-stop."""
return 42
@@ -442,12 +479,18 @@ def test_agent_error_on_parsing_tool(capsys):
tasks = [
Task(
description="Use the get_final_answer tool.",
expected_output="The final answer",
agent=agent1,
tools=[get_final_answer],
)
]
crew = Crew(agents=[agent1], tasks=tasks, verbose=2)
crew = Crew(
agents=[agent1],
tasks=tasks,
verbose=2,
function_calling_llm=ChatOpenAI(model="gpt-4-0125-preview"),
)
with patch.object(ToolUsage, "_render") as force_exception:
force_exception.side_effect = Exception("Error on parsing tool.")
@@ -478,6 +521,7 @@ def test_agent_remembers_output_format_after_using_tools_too_many_times():
tasks = [
Task(
description="Use tool logic for `get_final_answer` but fon't give you final answer yet, instead keep using it unless you're told to give your final answer",
expected_output="The final answer",
agent=agent1,
tools=[get_final_answer],
)
@@ -496,10 +540,15 @@ def test_agent_use_specific_tasks_output_as_context(capsys):
agent2 = Agent(role="test role2", goal="test goal2", backstory="test backstory2")
say_hi_task = Task(description="Just say hi.", agent=agent1)
say_bye_task = Task(description="Just say bye.", agent=agent1)
say_hi_task = Task(
description="Just say hi.", agent=agent1, expected_output="Your greeting."
)
say_bye_task = Task(
description="Just say bye.", agent=agent1, expected_output="Your farewell."
)
answer_task = Task(
description="Answer accordingly to the context you got.",
expected_output="Your answer.",
context=[say_hi_task],
agent=agent2,
)
@@ -535,6 +584,7 @@ def test_agent_step_callback():
essay = Task(
description="Write and then review an small paragraph on AI until it's AMAZING",
expected_output="The final paragraph.",
agent=agent1,
)
tasks = [essay]
@@ -569,6 +619,7 @@ def test_agent_function_calling_llm():
essay = Task(
description="Write and then review an small paragraph on AI until it's AMAZING",
expected_output="The final paragraph.",
agent=agent1,
)
tasks = [essay]
@@ -576,3 +627,56 @@ def test_agent_function_calling_llm():
crew.kickoff()
private_mock.assert_called()
def test_agent_count_formatting_error():
from unittest.mock import patch
agent1 = Agent(
role="test role",
goal="test goal",
backstory="test backstory",
verbose=True,
)
parser = CrewAgentParser()
parser.agent = agent1
with patch.object(Agent, "increment_formatting_errors") as mock_count_errors:
test_text = "This text does not match expected formats."
with pytest.raises(OutputParserException):
parser.parse(test_text)
mock_count_errors.assert_called_once()
def test_agent_llm_uses_token_calc_handler_with_llm_has_model_name():
agent1 = Agent(
role="test role",
goal="test goal",
backstory="test backstory",
verbose=True,
)
assert len(agent1.llm.callbacks) == 1
assert agent1.llm.callbacks[0].__class__.__name__ == "TokenCalcHandler"
assert agent1.llm.callbacks[0].model == "gpt-4"
assert (
agent1.llm.callbacks[0].token_cost_process.__class__.__name__ == "TokenProcess"
)
def test_agent_definition_based_on_dict():
config = {
"role": "test role",
"goal": "test goal",
"backstory": "test backstory",
"verbose": True,
}
agent = Agent(config=config)
assert agent.role == "test role"
assert agent.goal == "test goal"
assert agent.backstory == "test backstory"
assert agent.verbose == True
assert agent.tools == []

View File

@@ -1,29 +1,26 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalTOOLS:\n------\nYou have access to only the following
tools:\n\n(\"get_final_answer: get_final_answer(numbers) -> float - Get the
final answer but don''t give it yet, just re-use this\\n tool non-stop.\",)\n\nTo
use a tool, please use the exact following format:\n\n```\nThought: Do I need
to use a tool? Yes\nAction: the tool you wanna use, should be one of [get_final_answer],
just the name.\nAction Input: Any and all relevant information input and context
for using the tool\nObservation: the result of using the tool\n```\n\nWhen you
have a response for your task, or if you do not need to use a tool, you MUST
use the format:\n\n```\nThought: Do I need to use a tool? No\nFinal Answer:
[your response here]```This is the summary of your work so far:\nBegin! This
is VERY important to you, your job depends on it!\n\nCurrent Task: The final
answer is 42. But don''t give it yet, instead keep using the `get_final_answer`
tool.\n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"], "stream": true,
"temperature": 0.7}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goalTo give my best complete final answer to the task
use the exact following format:\n\nThought: I now can give a great answer\nFinal
Answer: my best complete final answer to the task.\nYour final answer must be
the great and the most complete as possible, it must be outcome described.\n\nI
MUST use these formats, my job depends on it!\n\nThought: \n\nCurrent Task:
The final answer is 42. But don''t give it yet, instead keep using the `get_final_answer`
tool.\n\nThis is the expect criteria for your final answer: The final answer
\n you MUST return the actual complete content as the final answer, not a summary.\n\nBegin!
This is VERY important to you, use the tools available and give your best Final
Answer, your job depends on it!\n\nThought: \n"}], "model": "gpt-4", "n": 1,
"stop": ["\nObservation"], "stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '1144'
- '953'
content-type:
- application/json
host:
@@ -48,90 +45,475 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Okay"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Do"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
let"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''s"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
take"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
this"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
step"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
by"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
step"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"get"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Yes"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
craft"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
get"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
It"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''s"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
crucial"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
that"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Input"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
most"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
complete"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
accurate"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
possible"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
job"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
depends"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
on"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
it"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
has"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
be"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"42"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"42"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhrNESkXDcWpz9wMmVDnG7NCSWdF","object":"chat.completion.chunk","created":1707810673,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
but"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
can"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''t"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
give"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
it"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
yet"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
By"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
using"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"get"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
in"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
conjunction"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
with"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
information"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
provided"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
specific"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
requirement"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
of"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
giving"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
complete"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
accurate"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
response"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
have"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
determined"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
that"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"42"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
This"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
not"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
an"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
approximation"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
but"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
comprehensive"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
solution"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
task"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
at"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
hand"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQvbq8CKyjQ3gv70NEWiYMxtNQ3","object":"chat.completion.chunk","created":1709396605,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -142,7 +524,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 854b7c230d17963f-SJC
- 85e2bb2dbcba6b03-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -150,14 +532,14 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Tue, 13 Feb 2024 07:51:13 GMT
- Sat, 02 Mar 2024 16:23:25 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=NFb4H263Krk9Xr5qV1Ptu9blCVbFcyg1S93yd9V3EKs-1707810673-1-AQNacdg58H0w+6ASjroSAKAOJjd/zBe3YTh2wxFl31Po2s5KRxRKeNVpvyuztgWptRmoZ8TY6DYFXv6usPcAFbk=;
path=/; expires=Tue, 13-Feb-24 08:21:13 GMT; domain=.api.openai.com; HttpOnly;
- __cf_bm=tUbxDZyFP7g2u__SkaxvbsOPVFNHnHEO8DM.9LciRLU-1709396605-1.0.1.1-SE2dRJfQmHyv1WOfkKS.wgqE9dl5rSQl84LHZvDvtTJEzAk7ihMPsJHVWPKkh76ml1BB9nrk0oAibJWB7ngF4A;
path=/; expires=Sat, 02-Mar-24 16:53:25 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=44lfswKyrmuvCjCVUHHy8KWhx1htUCS9U2auSStgf9Y-1707810673564-0-604800000;
- _cfuvid=k.1hp2iDpBJMeA9Ap0rAiTWHKZ7y_ReUdKgzVUG43eo-1709396605957-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
@@ -168,9 +550,9 @@ interactions:
openai-model:
- gpt-4-0613
openai-organization:
- user-z7g4wmlazxqvc5wjyaaaocfz
- crewai-iuxna1
openai-processing-ms:
- '236'
- '246'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -182,234 +564,13 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299737'
- '299783'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 52ms
- 43ms
x-request-id:
- req_fa1aac5fc97191a0abae61124cc03583
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "system", "content": "\n The
schema should have the following structure, only two key:\n -
tool_name: str\n - arguments: dict (with all
arguments being passed)\n\n Example:\n {\"tool_name\":
\"tool_name\", \"arguments\": {\"arg_name1\": \"value\", \"arg_name2\": 2}}\n "},
{"role": "user", "content": "Tools available:\n\nTool Name: get_final_answer\nTool
Description: get_final_answer(numbers) -> float - Get the final answer but don''t
give it yet, just re-use this\n tool non-stop.\nTool Arguments: {''numbers'':
{}}\n\nReturn a valid schema for the tool, use this text to inform a valid ouput
schema:\n\nTool Name: get_final_answer\nTool Arguments: 42```"}], "model": "gpt-4",
"function_call": {"name": "InstructorToolCalling"}, "functions": [{"name": "InstructorToolCalling",
"description": "Correctly extracted `InstructorToolCalling` with all the required
parameters with correct types", "parameters": {"properties": {"tool_name": {"description":
"The name of the tool to be called.", "title": "Tool Name", "type": "string"},
"arguments": {"description": "A dictinary of arguments to be passed to the tool.",
"title": "Arguments", "type": "object"}}, "required": ["arguments", "tool_name"],
"type": "object"}}]}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '1427'
content-type:
- application/json
cookie:
- __cf_bm=NFb4H263Krk9Xr5qV1Ptu9blCVbFcyg1S93yd9V3EKs-1707810673-1-AQNacdg58H0w+6ASjroSAKAOJjd/zBe3YTh2wxFl31Po2s5KRxRKeNVpvyuztgWptRmoZ8TY6DYFXv6usPcAFbk=;
_cfuvid=44lfswKyrmuvCjCVUHHy8KWhx1htUCS9U2auSStgf9Y-1707810673564-0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1yRT4/TMBDF7/kUozm3KC3bP8oNcUBcEAgOiwiKXHeamLVnInvCsqry3ZHTbra7
F8t6b94vL+NzAYDuiBWg7Yza0PvlPnbx67cTDZ/uy5/p+2P3xbj0tH/4++E+9rjICTn8IavPqXdW
Qu9JnfDFtpGMUqauduVuvyq3u81kBDmSz7G21+Xdstyu3l8TnThLCSv4VQAAnKczd+Mj/cMKysWz
Eigl0xJW8xAARvFZQZOSS2pYcfFiWmElznV58P7GOA1sc+vGGu9fAQGQTZiQnzlpHKxK/CHiPxrv
Hbc3eAA0sR0Cseb+eK4ZoEYV8U1m1FhBjS1pc3JsfGM4PVKscXGZm7N5bspmlYdwoDhpd+ssjjWP
OH9zvN7GeSte2j7KIb35STw5dqlrIpkknOsllf4CypDf0/aHVwvFPkrotVF5IM7A9Xpz4eHLQ9+4
26uposbf6JtVcW2I6SkphbyAlmIf3fwYxVj8BwAA//8DABjz3GiDAgAA
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 854b7c31fc7a963f-SJC
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Tue, 13 Feb 2024 07:51:17 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- user-z7g4wmlazxqvc5wjyaaaocfz
openai-processing-ms:
- '2301'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299791'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 41ms
x-request-id:
- req_a23b1391462f62f6d37b5f2eed7a87bd
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Progressively summarize the
lines of conversation provided, adding onto the previous summary returning a
new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks
of artificial intelligence. The AI thinks artificial intelligence is a force
for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial
intelligence is a force for good?\nAI: Because artificial intelligence will
help humans reach their full potential.\n\nNew summary:\nThe human asks what
the AI thinks of artificial intelligence. The AI thinks artificial intelligence
is a force for good because it will help humans reach their full potential.\nEND
OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: The final
answer is 42. But don''t give it yet, instead keep using the `get_final_answer`
tool.\nAI: Agent stopped due to iteration limit or time limit.\n\nNew summary:"}],
"model": "gpt-4", "n": 1, "stream": false, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '997'
content-type:
- application/json
cookie:
- __cf_bm=NFb4H263Krk9Xr5qV1Ptu9blCVbFcyg1S93yd9V3EKs-1707810673-1-AQNacdg58H0w+6ASjroSAKAOJjd/zBe3YTh2wxFl31Po2s5KRxRKeNVpvyuztgWptRmoZ8TY6DYFXv6usPcAFbk=;
_cfuvid=44lfswKyrmuvCjCVUHHy8KWhx1htUCS9U2auSStgf9Y-1707810673564-0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1RRwWobMRC971cMuuRim3XixotvKb2UXgo2LXUpRtZOVmokjaqZpS3B/16kdbz0
IsR7em+e3rw2AMr1agfKWC0mJL/sss17bPfH9ybsP3Sfz8fD8enr/pf/5r98UouioPNPNPKmWhkK
yaM4ihNtMmrB4rretttu3T5uu0oE6tEX2ZBkuVm2j+uHq8KSM8hqB98bAIDXepZsscc/agft4g0J
yKwHVLvbIwCVyRdEaWbHoqOoxUwaioKxxj1YBDsGHUHQewaxCE8fQayWen92UXvQkX9jBsewuV/A
eRRwkSWPRhicgBC8ICYY2cWhyu4GlFPVnibtHQiRX8Fh8s/IiWLP8yA9YBSwmoGFUsIe+hGLc0Zt
bPHVEZxg1qVWoAziAoJ3wclKXf92uZXiaUiZzqXAOHp/w59ddGxPGTVTLAWUaZP80gD8qOWP//Wp
UqaQ5CT0gpHrDh8mPzXveWY3766kkGg/4/frrrkmVPyXBUMpaMCcsqu7KDmbS/MPAAD//wMAYCiB
8YICAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 854b7c415c96963f-SJC
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Tue, 13 Feb 2024 07:51:22 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- user-z7g4wmlazxqvc5wjyaaaocfz
openai-processing-ms:
- '3959'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299765'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 46ms
x-request-id:
- req_6c49ee2193171b6ac31e93ff0cbc68bc
- req_63db6935f9ea21d7c0e13a34ea96ff2f
status:
code: 200
message: OK

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +1,26 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalTOOLS:\n------\nYou have access to only the following
tools:\n\n('''',)\n\nTo use a tool, please use the exact following format:\n\n```\nThought:
Do I need to use a tool? Yes\nAction: the tool you wanna use, should be one
of [], just the name.\nAction Input: Any and all relevant information input
and context for using the tool\nObservation: the result of using the tool\n```\n\nWhen
you have a response for your task, or if you do not need to use a tool, you
MUST use the format:\n\n```\nThought: Do I need to use a tool? No\nFinal Answer:
[your response here]```This is the summary of your work so far:\nBegin! This
is VERY important to you, your job depends on it!\n\nCurrent Task: How much
is 1 + 1?\n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"], "stream":
true, "temperature": 0.7}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goalTo give my best complete final answer to the task
use the exact following format:\n\nThought: I now can give a great answer\nFinal
Answer: my best complete final answer to the task.\nYour final answer must be
the great and the most complete as possible, it must be outcome described.\n\nI
MUST use these formats, my job depends on it!\n\nThought: \n\nCurrent Task:
How much is 1 + 1?\n\nThis is the expect criteria for your final answer: the
result of the math operation. \n you MUST return the actual complete content
as the final answer, not a summary.\n\nBegin! This is VERY important to you,
use the tools available and give your best Final Answer, your job depends on
it!\n\nThought: \n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"],
"stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '910'
- '894'
content-type:
- application/json
host:
@@ -45,96 +45,131 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
know"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Do"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
that"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
mathematical"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
operation"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
No"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
+"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
equals"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhqV7v2vJn9mItSSNAgGlWjFjunr","object":"chat.completion.chunk","created":1707810619,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
result"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
of"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
math"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
operation"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
+"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQTlwEunjDEDofsGxMyjUHlDUgs","object":"chat.completion.chunk","created":1709396577,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -145,7 +180,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 854b7ad5eb40985b-SJC
- 85e2ba7e6baaa4a4-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -153,14 +188,14 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Tue, 13 Feb 2024 07:50:20 GMT
- Sat, 02 Mar 2024 16:22:57 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=EvpdC3JMPVDn4EoPqnjI6Dw9566m_Megc7okPPYugVY-1707810620-1-AbXyR61/nIN+vn+77nUW7x7HZOpRKZePAUYlsrs5sz1AXL0V/qs1y1OZwmEqURxym0nAJ/mjTASYl4JfBEJpzHQ=;
path=/; expires=Tue, 13-Feb-24 08:20:20 GMT; domain=.api.openai.com; HttpOnly;
- __cf_bm=nXec8HYJnh4Rn1QRDNXzg.1rd.W.EiYNxbdthhiZsOk-1709396577-1.0.1.1-vtpiT4ASoM0Dy4B4sHj2gHRT6MgVjs0yCyFgayAB7Zuv4cd2nQWchGJWeHRS1KkixeNO7et2fyyPaSe.vNStKg;
path=/; expires=Sat, 02-Mar-24 16:52:57 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=PJG0SnIiVNEZyl138tw.yk6u25UvB9jEQH0CQpbKGv8-1707810620263-0-604800000;
- _cfuvid=PD0znK6604iGLoXkKUr5RsY.y_qQMrBUy4_vL0RRy08-1709396577433-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
@@ -171,9 +206,9 @@ interactions:
openai-model:
- gpt-4-0613
openai-organization:
- user-z7g4wmlazxqvc5wjyaaaocfz
- crewai-iuxna1
openai-processing-ms:
- '268'
- '162'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -185,119 +220,13 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299795'
- '299797'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 40ms
x-request-id:
- req_ff710fda6fdf55d2cfacbb56fd42654c
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Progressively summarize the
lines of conversation provided, adding onto the previous summary returning a
new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks
of artificial intelligence. The AI thinks artificial intelligence is a force
for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial
intelligence is a force for good?\nAI: Because artificial intelligence will
help humans reach their full potential.\n\nNew summary:\nThe human asks what
the AI thinks of artificial intelligence. The AI thinks artificial intelligence
is a force for good because it will help humans reach their full potential.\nEND
OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: How much
is 1 + 1?\nAI: 1 + 1 equals 2.\n\nNew summary:"}], "model": "gpt-4", "n": 1,
"stream": false, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
connection:
- keep-alive
content-length:
- '885'
content-type:
- application/json
cookie:
- __cf_bm=EvpdC3JMPVDn4EoPqnjI6Dw9566m_Megc7okPPYugVY-1707810620-1-AbXyR61/nIN+vn+77nUW7x7HZOpRKZePAUYlsrs5sz1AXL0V/qs1y1OZwmEqURxym0nAJ/mjTASYl4JfBEJpzHQ=;
_cfuvid=PJG0SnIiVNEZyl138tw.yk6u25UvB9jEQH0CQpbKGv8-1707810620263-0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
H4sIAAAAAAAAA1SQT0/CQBDF7/0Uk71aSFu0kN44YMSDB2PUxBiybId2Yf+xO40awnc3WwroZQ/v
N2/2zTskAEzWrAImWk5COzWa+Xb/vq038+JZLV+f9ILu3UI8vDWPpftiaXTY9RYFnV1jYbVTSNKa
ExYeOWHcmk+z6SzPyiLvgbY1qmhrHI1uR1mZTwZHa6XAwCr4SAAADv0bs5kav1kFWXpWNIbAG2TV
ZQiAeauiwngIMhA3xNIrFNYQmj7uS4vQdpob4GEXgFqE+RLIguBKdIoTQg43kKfATX3GHoOzpo7j
nE4ccN9xFaAYs+Gf4yWgso3zdh2PMZ1SF30jjQztyiMP1sQwgaw72Y8JwGdfRPfvNua81Y5WZHdo
4sL8rjztY9fOr7SYDpAscfXHNZskQ0IWfgKhXm2kadA7L/teYs7kmPwCAAD//wMAP9y0ZQ4CAAA=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 854b7ae0ba19985b-SJC
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Tue, 13 Feb 2024 07:50:24 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- user-z7g4wmlazxqvc5wjyaaaocfz
openai-processing-ms:
- '2690'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299794'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 41ms
x-request-id:
- req_9eace1f06c51682bcb91a3b2808f3f55
- req_031c5d635ad63d17d3865b3691401085
status:
code: 200
message: OK

View File

@@ -1,12 +1,21 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalTo complete the task you MUST follow the format:\n\n```\nFinal
Answer: [your most complete final answer goes here]\n``` You must use these
formats, my life depends on it.This is the summary of your work so far:\nBegin!
This is VERY important to you, your job depends on it!\n\nCurrent Task: What
is 3 times 4\n"}], "model": "gpt-4", "n": 1, "stop": ["\nResult"], "stream":
true, "temperature": 0.7}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goal\n\nYou ONLY have access to the following tools,
and should NEVER make up tools that are not listed here:\n\nmultiplier: multiplier(first_number:
int, second_number: int) -> float - Useful for when you need to multiply two
numbers together.\n\nUse the following format:\n\nThought: you should always
think about what to do\nAction: the action to take, only one name of [multiplier],
just the name, exactly as it''s written.\nAction Input: the input to the action,
just a simple a python dictionary using \" to wrap keys and values.\nObservation:
the result of the action\n\nOnce all necessary information is gathered:\n\nThought:
I now know the final answer\nFinal Answer: the final answer to the original
input question\n\n\nCurrent Task: What is 3 times 4\n\nThis is the expect criteria
for your final answer: The result of the multiplication. \n you MUST return
the actual complete content as the final answer, not a summary.\n\nBegin! This
is VERY important to you, use the tools available and give your best Final Answer,
your job depends on it!\n\nThought: \n"}], "model": "gpt-4", "n": 1, "stop":
["\nObservation"], "stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
@@ -15,7 +24,7 @@ interactions:
connection:
- keep-alive
content-length:
- '511'
- '1267'
content-type:
- application/json
host:
@@ -40,27 +49,139 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
multiply"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAN3ZtdzWEuH23HGRoPRRtzvfGBZ","object":"chat.completion.chunk","created":1708396925,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
by"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"multi"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"plier"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Input"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"{\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"first"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_number"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":",\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"second"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_number"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"}\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQr05JWhma2mzBiHSxWgnaqxGsk","object":"chat.completion.chunk","created":1709396601,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -71,7 +192,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 858364efbe7e01b0-GRU
- 85e2bb185cc60309-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -79,14 +200,14 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Tue, 20 Feb 2024 02:42:05 GMT
- Sat, 02 Mar 2024 16:23:22 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=A4_gsEewjfI_cxZT.kzwJOFlNMwGcVQ79F2fvRwT0GU-1708396925-1.0-Acz2vnKqtu4QQDdoAEAvUGGWPfgH2233lNKW2S0hpo4P7GLtP1zHbDcmpxbJKfZnVlmOgzQjlTUGTtkAn4jqBOc=;
path=/; expires=Tue, 20-Feb-24 03:12:05 GMT; domain=.api.openai.com; HttpOnly;
- __cf_bm=7xt.evHqNHg.kYDcuSIOrcvpMtvbxgx1wKETTtKy8SY-1709396602-1.0.1.1-CsnMKefRtILqxvafEEHz4lmjZivT5_XhbZUlN4Vo0KudwSQ9Xoqg.qM7cLY4IlvsEMFktSJ9JvzfyeS.c39wWw;
path=/; expires=Sat, 02-Mar-24 16:53:22 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=jbzd0_VB5OSlOP6ehIcdvPI61zEtxDnSKYD1UiuNCFw-1708396925948-0.0-604800000;
- _cfuvid=4RaRnBJyviJKlQqJBMi0.odo7Txw_ovYAy9XQ3T2bX8-1709396602467-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
@@ -99,7 +220,7 @@ interactions:
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '261'
- '285'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -111,29 +232,35 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299890'
- '299706'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 22ms
- 58ms
x-request-id:
- req_5d13f96a4d7cb8b5c7b58fc21d96c80f
- req_22ba080f8a2efe9894a1399e42043b2c
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Progressively summarize the
lines of conversation provided, adding onto the previous summary returning a
new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks
of artificial intelligence. The AI thinks artificial intelligence is a force
for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial
intelligence is a force for good?\nAI: Because artificial intelligence will
help humans reach their full potential.\n\nNew summary:\nThe human asks what
the AI thinks of artificial intelligence. The AI thinks artificial intelligence
is a force for good because it will help humans reach their full potential.\nEND
OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: What
is 3 times 4\nAI: 12\n\nNew summary:"}], "model": "gpt-4", "n": 1, "stream":
false, "temperature": 0.7}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goal\n\nYou ONLY have access to the following tools,
and should NEVER make up tools that are not listed here:\n\nmultiplier: multiplier(first_number:
int, second_number: int) -> float - Useful for when you need to multiply two
numbers together.\n\nUse the following format:\n\nThought: you should always
think about what to do\nAction: the action to take, only one name of [multiplier],
just the name, exactly as it''s written.\nAction Input: the input to the action,
just a simple a python dictionary using \" to wrap keys and values.\nObservation:
the result of the action\n\nOnce all necessary information is gathered:\n\nThought:
I now know the final answer\nFinal Answer: the final answer to the original
input question\n\n\nCurrent Task: What is 3 times 4\n\nThis is the expect criteria
for your final answer: The result of the multiplication. \n you MUST return
the actual complete content as the final answer, not a summary.\n\nBegin! This
is VERY important to you, use the tools available and give your best Final Answer,
your job depends on it!\n\nThought: \nI need to multiply 3 by 4.\n\nAction:
\nmultiplier\n\nAction Input: \n{\n \"first_number\": 3,\n \"second_number\":
4\n}\n\nObservation: 12\n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"],
"stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
@@ -142,12 +269,12 @@ interactions:
connection:
- keep-alive
content-length:
- '871'
- '1410'
content-type:
- application/json
cookie:
- __cf_bm=A4_gsEewjfI_cxZT.kzwJOFlNMwGcVQ79F2fvRwT0GU-1708396925-1.0-Acz2vnKqtu4QQDdoAEAvUGGWPfgH2233lNKW2S0hpo4P7GLtP1zHbDcmpxbJKfZnVlmOgzQjlTUGTtkAn4jqBOc=;
_cfuvid=jbzd0_VB5OSlOP6ehIcdvPI61zEtxDnSKYD1UiuNCFw-1708396925948-0.0-604800000
- __cf_bm=7xt.evHqNHg.kYDcuSIOrcvpMtvbxgx1wKETTtKy8SY-1709396602-1.0.1.1-CsnMKefRtILqxvafEEHz4lmjZivT5_XhbZUlN4Vo0KudwSQ9Xoqg.qM7cLY4IlvsEMFktSJ9JvzfyeS.c39wWw;
_cfuvid=4RaRnBJyviJKlQqJBMi0.odo7Txw_ovYAy9XQ3T2bX8-1709396602467-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
@@ -170,28 +297,112 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
IRQIACBK2nT3Muk0P0HircDgoOmp5f+7CW4f72isiqKxeOJlYRhgAfeiNUQjzuZGxZCcdyiyGfn8
9lcAnL9Tgm+zl/7NeB2OhpXDYraaq5dXv324/dmO3mx/+H39eaI3DhkIgO51od56SRS5GOi5sxSI
XD6n3imR1skoH1fjrALfGPeuNCU49X1YhEmV5lKzMzd/Ux0l7gQA/M5aAPveDymRBKvghcEoiT8B
bJ1WlOBL1827/sX2DAiVtHVDEjyfKTSI2H3pll2Pjz0rO+gdHD4c5CiftYHizdgrO0jBNvne4XPe
z5BmEXXC/8rtaTf1rXvtKGEHrTFI+GY8FdeaoQS73vktvH8BPBihPtzrEX3rjO+ferdUtqNEWozP
MmjvCoNk6ah8j0AFc9M6EVpixuAfeZrM7VS1vp3bJG0HrcW/MAAD
string: 'data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
now"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
know"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
result"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
of"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
multiplication"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQt0i99z2noUfcUGQrA5jpUMedV","object":"chat.completion.chunk","created":1709396603,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 858364f3f9c101b0-GRU
- 85e2bb256a680309-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- br
Content-Type:
- application/json
- text/event-stream
Date:
- Tue, 20 Feb 2024 02:42:07 GMT
- Sat, 02 Mar 2024 16:23:24 GMT
Server:
- cloudflare
Transfer-Encoding:
@@ -205,7 +416,7 @@ interactions:
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '737'
- '269'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -217,13 +428,13 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299798'
- '299675'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 40ms
- 65ms
x-request-id:
- req_afa9aab4213989f7a5f167139b479a8c
- req_ec672e63b5c9b9abf5f9dc430aed379c
status:
code: 200
message: OK

View File

@@ -1,18 +1,21 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalYou have access to ONLY the following tools, use
one at time:\n\nmultiplier: multiplier(first_number: int, second_number: int)
-> float - Useful for when you need to multiply two numbers together.\n\nTo
use a tool you MUST use the exact following format:\n\n```\nUse Tool: the tool
you wanna use, should be one of [multiplier] and absolute all relevant input
and context for using the tool, you must use only one tool at once.\nResult:
[result of the tool]\n```\n\nTo complete the task you MUST follow the format:\n\n```\nFinal
Answer: [THE MOST COMPLETE ANSWE WITH ALL CONTEXT, DO NOT LEAVE ANYTHING OUT]\n```
You must use these formats, my life depends on it.This is the summary of your
work so far:\nBegin! This is VERY important to you, your job depends on it!\n\nCurrent
Task: What is 3 times 4?\n"}], "model": "gpt-4", "n": 1, "stop": ["\nResult"],
"stream": true, "temperature": 0.7}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goal\n\nYou ONLY have access to the following tools,
and should NEVER make up tools that are not listed here:\n\nmultiplier: multiplier(first_number:
int, second_number: int) -> float - Useful for when you need to multiply two
numbers together.\n\nUse the following format:\n\nThought: you should always
think about what to do\nAction: the action to take, only one name of [multiplier],
just the name, exactly as it''s written.\nAction Input: the input to the action,
just a simple a python dictionary using \" to wrap keys and values.\nObservation:
the result of the action\n\nOnce all necessary information is gathered:\n\nThought:
I now know the final answer\nFinal Answer: the final answer to the original
input question\n\n\nCurrent Task: What is 3 times 4?\n\nThis is the expect criteria
for your final answer: The result of the multiplication. \n you MUST return
the actual complete content as the final answer, not a summary.\n\nBegin! This
is VERY important to you, use the tools available and give your best Final Answer,
your job depends on it!\n\nThought: \n"}], "model": "gpt-4", "n": 1, "stop":
["\nObservation"], "stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
@@ -21,7 +24,7 @@ interactions:
connection:
- keep-alive
content-length:
- '1003'
- '1268'
content-type:
- application/json
host:
@@ -46,82 +49,143 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
multiplier"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
multiply"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
with"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
first"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_number"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
second"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_number"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
together"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMHBJxGwYmDm0whtJ7ryA3FNzz9","object":"chat.completion.chunk","created":1708396877,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"multi"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"plier"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Input"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"{\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"first"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_number"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":",\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"second"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"_number"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"}\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQUCNDddQkY4w3pF6T7U64HPPLY","object":"chat.completion.chunk","created":1709396578,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -132,7 +196,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 858363c36d03a4ba-GRU
- 85e2ba85cf500126-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -140,14 +204,14 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Tue, 20 Feb 2024 02:41:18 GMT
- Sat, 02 Mar 2024 16:22:58 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=pxRSwqCB1TUHGyPk7A3gNpxP.p.GG4odLvnn1enCzA0-1708396878-1.0-AbvCo+vNuHWyCl3Gm6D//s2A4XFGiLKt9NtnD5752PrzioOdLnmpwWLpDreFWIOxV13kHVhfEi1Y2KMEjaxfDtY=;
path=/; expires=Tue, 20-Feb-24 03:11:18 GMT; domain=.api.openai.com; HttpOnly;
- __cf_bm=wOO.fPfMTZeViJAXOrDQJ1N01e0qoe7CWIKH7TZrfUY-1709396578-1.0.1.1-S5c7jfwe_6L.D7meG2rnZiDmTNen7Zb_M.SrAL1rKbbN8lcbC0MhRIT6VCdyzOesw7jGHGnz1bb0v5qo.wCipw;
path=/; expires=Sat, 02-Mar-24 16:52:58 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=ZXYFqXlrgq6ZaXX8prqOY4rU1o6I8IG2Hu4kEeiJ7Rw-1708396878059-0.0-604800000;
- _cfuvid=f5uxBBVtyepcIKs_Xuooj_3swQvvq47nfiq3uPXT4QM-1709396578680-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
@@ -160,7 +224,7 @@ interactions:
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '334'
- '192'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -172,35 +236,35 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299770'
- '299707'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 46ms
- 58ms
x-request-id:
- req_78cdca068954cd60d8c31a21a1591022
- req_36899f2b4e934fac8af1542bd3396235
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Tools available:\n\nTool Name:
multiplier\nTool Description: multiplier(first_number: int, second_number: int)
-> float - Useful for when you need to multiply two numbers together.\nTool
Arguments: {''first_number'': {''type'': ''integer''}, ''second_number'': {''type'':
''integer''}}\n\nReturn a valid schema for the tool, the tool name must be equal
one of the options, use this text to inform a valid ouput schema:\nUse Tool:
multiplier, with the first_number as 3 and the second_number as 4.```"}, {"role":
"system", "content": "The schema should have the following structure, only two
keys:\n- tool_name: str\n- arguments: dict (with all arguments being passed)\n\nExample:\n{\"tool_name\":
\"tool_name\", \"arguments\": {\"arg_name1\": \"value\", \"arg_name2\": 2}}\n"}],
"model": "gpt-4", "tool_choice": {"type": "function", "function": {"name": "InstructorToolCalling"}},
"tools": [{"type": "function", "function": {"name": "InstructorToolCalling",
"description": "Correctly extracted `InstructorToolCalling` with all the required
parameters with correct types", "parameters": {"properties": {"tool_name": {"description":
"The name of the tool to be called.", "title": "Tool Name", "type": "string"},
"arguments": {"description": "A dictinary of arguments to be passed to the tool.",
"title": "Arguments", "type": "object"}}, "required": ["arguments", "tool_name"],
"type": "object"}}}]}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goal\n\nYou ONLY have access to the following tools,
and should NEVER make up tools that are not listed here:\n\nmultiplier: multiplier(first_number:
int, second_number: int) -> float - Useful for when you need to multiply two
numbers together.\n\nUse the following format:\n\nThought: you should always
think about what to do\nAction: the action to take, only one name of [multiplier],
just the name, exactly as it''s written.\nAction Input: the input to the action,
just a simple a python dictionary using \" to wrap keys and values.\nObservation:
the result of the action\n\nOnce all necessary information is gathered:\n\nThought:
I now know the final answer\nFinal Answer: the final answer to the original
input question\n\n\nCurrent Task: What is 3 times 4?\n\nThis is the expect criteria
for your final answer: The result of the multiplication. \n you MUST return
the actual complete content as the final answer, not a summary.\n\nBegin! This
is VERY important to you, use the tools available and give your best Final Answer,
your job depends on it!\n\nThought: \nI need to multiply 3 and 4 together.\n\nAction:
\nmultiplier\n\nAction Input: \n{\n \"first_number\": 3,\n \"second_number\":
4\n}\n\nObservation: 12\n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"],
"stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
@@ -209,12 +273,12 @@ interactions:
connection:
- keep-alive
content-length:
- '1427'
- '1421'
content-type:
- application/json
cookie:
- __cf_bm=pxRSwqCB1TUHGyPk7A3gNpxP.p.GG4odLvnn1enCzA0-1708396878-1.0-AbvCo+vNuHWyCl3Gm6D//s2A4XFGiLKt9NtnD5752PrzioOdLnmpwWLpDreFWIOxV13kHVhfEi1Y2KMEjaxfDtY=;
_cfuvid=ZXYFqXlrgq6ZaXX8prqOY4rU1o6I8IG2Hu4kEeiJ7Rw-1708396878059-0.0-604800000
- __cf_bm=wOO.fPfMTZeViJAXOrDQJ1N01e0qoe7CWIKH7TZrfUY-1709396578-1.0.1.1-S5c7jfwe_6L.D7meG2rnZiDmTNen7Zb_M.SrAL1rKbbN8lcbC0MhRIT6VCdyzOesw7jGHGnz1bb0v5qo.wCipw;
_cfuvid=f5uxBBVtyepcIKs_Xuooj_3swQvvq47nfiq3uPXT4QM-1709396578680-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
@@ -237,176 +301,103 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
IcwMACBG6nT3Mv39HEJtBWDlfDIkUSsylf33pxoESBftQaG1aL0L/QQogsFceHRxRAucFqhYm2tz
s96t5BBRvoD23r8IoM4owHSr6tQG0100Oxcnr+XV8f7r2Pl9o5vdneHLw8nn8/mjZScC6JP3PK05
mZ6LgaW9g5CRy1/lGQWG88FivJwt5gviGeuz3FCAm1B3J93BbDjmern1Os0rCrxFAPD3NgF47v2I
AoNOK+mFoVIAfwSw9CanAFVV6apWrmYHANLWzQq4xhjiUu29iVNljHD8if59g0n6qzImnqv64GV5
Xy8vxpunqgqHt4OP64f5o0y8e/EnDIrywOjFULQxITAH0CmrkHriQrh/z5f33ps9ZYx2m85cgIu9
QQH+SQdI7S44ZXNJAclj6teC0Xkp2UFRnJikwAVAcq3Lqo63wlqRFBh3qFRMeXh9OJEOaKVrqQPa
toCbXuGYdirW0fhNKH1SrQzD9HhIvBXZGgVY1T6I8dsIWJnMsLGCMwylt6GOa/+Ru4oCo2lBaJ0A
IY8nFfxMAkDzRotJNEqWGQtuxGvtNnkZSm1BRtRGAw==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 858363ccdaa8a4ba-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- br
Content-Type:
- application/json
Date:
- Tue, 20 Feb 2024 02:41:20 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '1805'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299805'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 38ms
x-request-id:
- req_2267942750c31c5ca2874ac7955f01ba
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalYou have access to ONLY the following tools, use
one at time:\n\nmultiplier: multiplier(first_number: int, second_number: int)
-> float - Useful for when you need to multiply two numbers together.\n\nTo
use a tool you MUST use the exact following format:\n\n```\nUse Tool: the tool
you wanna use, should be one of [multiplier] and absolute all relevant input
and context for using the tool, you must use only one tool at once.\nResult:
[result of the tool]\n```\n\nTo complete the task you MUST follow the format:\n\n```\nFinal
Answer: [THE MOST COMPLETE ANSWE WITH ALL CONTEXT, DO NOT LEAVE ANYTHING OUT]\n```
You must use these formats, my life depends on it.This is the summary of your
work so far:\nBegin! This is VERY important to you, your job depends on it!\n\nCurrent
Task: What is 3 times 4?\nUse Tool: multiplier, with the first_number as 3 and
the second_number as 4.\nResult: 12\nIf you don''t need to use any more tools,
use the correct format for your final answer:\n\n```Final Answer: [your most
complete final answer goes here]```\nThought: "}], "model": "gpt-4", "n": 1,
"stop": ["\nResult"], "stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '1257'
content-type:
- application/json
cookie:
- __cf_bm=pxRSwqCB1TUHGyPk7A3gNpxP.p.GG4odLvnn1enCzA0-1708396878-1.0-AbvCo+vNuHWyCl3Gm6D//s2A4XFGiLKt9NtnD5752PrzioOdLnmpwWLpDreFWIOxV13kHVhfEi1Y2KMEjaxfDtY=;
_cfuvid=ZXYFqXlrgq6ZaXX8prqOY4rU1o6I8IG2Hu4kEeiJ7Rw-1708396878059-0.0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
now"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
know"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
result"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
of"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
times"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8uAMLnUD3TMLOxxlfdFdC7pXnV7ML","object":"chat.completion.chunk","created":1708396881,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMQVJc8UgDc0jJZVRgEWZu2ted30","object":"chat.completion.chunk","created":1709396579,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -417,7 +408,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 858363d9ea45a4ba-GRU
- 85e2ba8e18320126-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -425,7 +416,7 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Tue, 20 Feb 2024 02:41:21 GMT
- Sat, 02 Mar 2024 16:23:00 GMT
Server:
- cloudflare
Transfer-Encoding:
@@ -439,7 +430,7 @@ interactions:
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '269'
- '270'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -451,119 +442,13 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299708'
- '299672'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 58ms
- 65ms
x-request-id:
- req_45e08b4c819934e33f9b4554aa25a548
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Progressively summarize the
lines of conversation provided, adding onto the previous summary returning a
new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks
of artificial intelligence. The AI thinks artificial intelligence is a force
for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial
intelligence is a force for good?\nAI: Because artificial intelligence will
help humans reach their full potential.\n\nNew summary:\nThe human asks what
the AI thinks of artificial intelligence. The AI thinks artificial intelligence
is a force for good because it will help humans reach their full potential.\nEND
OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: What
is 3 times 4?\nAI: The result of 3 times 4 is 12.\n\nNew summary:"}], "model":
"gpt-4", "n": 1, "stream": false, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '900'
content-type:
- application/json
cookie:
- __cf_bm=pxRSwqCB1TUHGyPk7A3gNpxP.p.GG4odLvnn1enCzA0-1708396878-1.0-AbvCo+vNuHWyCl3Gm6D//s2A4XFGiLKt9NtnD5752PrzioOdLnmpwWLpDreFWIOxV13kHVhfEi1Y2KMEjaxfDtY=;
_cfuvid=ZXYFqXlrgq6ZaXX8prqOY4rU1o6I8IG2Hu4kEeiJ7Rw-1708396878059-0.0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
IWAIACDGO/f6GHXvdMsf4wYM5VBp4/+7CS73Pt5RYwHtjT+wskCzPFxDNN3mE39EbaJ2m9q/vwJg
9U4JvpUvw5t2yl+MKwcHQ3x1OpmvFu3m195scn4xW1Vv8714oCcA2tc6exuYNAgxUCtrIPBy+VL2
Tol4Hi3S5WyxSA6/aPueKUqwcIM/8aNZnLIWS1u9ZT0l7gQA/K46APvetygRebsQhSFQAt8A7KzK
KMGXvq/64cXoSibEtHVjEjwvMzSIOHzpm77Hx8mVHXyWLwPqjm2UDRuDzZGijlYDkwDnWMjD1n/v
kVG4yQhXPeIkoJrsX98jZQvX2deeEmZUyg7IAYee6m0tUIL9YJ0I/V8AD35pj6a+ouusdsPTYJvM
9JSIpwuZiFfQQHDJbDR+TKDJ1BYToSXjs/wzT3lliqxzXeUmrxmVEv/CAAM=
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 858363e08e96a4ba-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- br
Content-Type:
- application/json
Date:
- Tue, 20 Feb 2024 02:41:23 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '1506'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299790'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 42ms
x-request-id:
- req_47af60e4e16d4cf08c4a07328530376e
- req_738d754c4ba72de190f6b56f0c8adf80
status:
code: 200
message: OK

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,23 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalYou have access to ONLY the following tools, use
one at time:\n\nget_final_answer: get_final_answer(anything: str) -> float -
Get the final answer but don''t give it yet, just re-use this\n tool
non-stop.\n\nTo use a tool you MUST use the exact following format:\n\n```\nUse
Tool: the tool you wanna use, should be one of [get_final_answer] and absolute
all relevant input and context for using the tool, you must use only one tool
at once.\nResult: [result of the tool]\n```\n\nTo give your final answer use
the exact following format:\n\n```\nFinal Answer: [THE MOST COMPLETE ANSWE WITH
ALL CONTEXT, DO NOT LEAVE ANYTHING OUT]\n```\nI MUST use these formats, my jobs
depends on it!This is the summary of your work so far:\n\n\nCurrent Task: The
final answer is 42. But don''t give it until I tell you so, instead keep using
the `get_final_answer` tool.\n\n Begin! This is VERY important to you, your
job depends on it!\n\n\n"}], "model": "gpt-4-0125-preview", "n": 1, "stop":
["\nResult"], "stream": true, "temperature": 0.7}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goal\n\nYou ONLY have access to the following tools,
and should NEVER make up tools that are not listed here:\n\nget_final_answer:
get_final_answer(anything: str) -> float - Get the final answer but don''t give
it yet, just re-use this\n tool non-stop.\n\nUse the following format:\n\nThought:
you should always think about what to do\nAction: the action to take, only one
name of [get_final_answer], just the name, exactly as it''s written.\nAction
Input: the input to the action, just a simple a python dictionary using \" to
wrap keys and values.\nObservation: the result of the action\n\nOnce all necessary
information is gathered:\n\nThought: I now know the final answer\nFinal Answer:
the final answer to the original input question\n\n\nCurrent Task: The final
answer is 42. But don''t give it until I tell you so, instead keep using the
`get_final_answer` tool.\n\nThis is the expect criteria for your final answer:
The final answer \n you MUST return the actual complete content as the final
answer, not a summary.\n\nBegin! This is VERY important to you, use the tools
available and give your best Final Answer, your job depends on it!\n\nThought:
\n"}], "model": "gpt-4-0125-preview", "n": 1, "stop": ["\nObservation"], "stream":
true, "temperature": 0.7}'
headers:
accept:
- application/json
@@ -23,7 +26,7 @@ interactions:
connection:
- keep-alive
content-length:
- '1145'
- '1376'
content-type:
- application/json
host:
@@ -48,30 +51,287 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"content":"Use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"content":"
Tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
Since"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
task"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
find"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
which"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
already"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
stated"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"42"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
but"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"''m"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
instructed"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"get"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
not"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
reveal"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
it"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
until"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
told"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
so"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
should"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
confirm"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
statement"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
get"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSlvb0E49ZRvWth5FKSw9Me8O4a","object":"chat.completion.chunk","created":1708543351,"model":"gpt-4-0125-preview","system_fingerprint":"fp_f084bcfc79","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"Action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
Input"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
{\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"anything"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"What"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
value"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
that"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
must"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
not"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
be"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
revealed"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"
yet"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"?\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{"content":"}\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR2TroDPeeO49vNMIh2jMubpkMn","object":"chat.completion.chunk","created":1709396612,"model":"gpt-4-0125-preview","system_fingerprint":"fp_70b2088885","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -82,7 +342,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 85915bc79a85a537-GRU
- 85e2bb5bc890012d-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -90,14 +350,14 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Wed, 21 Feb 2024 19:22:31 GMT
- Sat, 02 Mar 2024 16:23:33 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=yNWN6xxJzIde4UgAgONRHE3BZJmmCPGu7Ch2r8cft9A-1708543351-1.0-ASCEMu/lL3CxJvBcFTc1tUBtRrna4KuvHkF7gIGXFGT7IzdbHGcbdzKpMclXH0YRkPX7kIeGPEhgHxYfptOxLlM=;
path=/; expires=Wed, 21-Feb-24 19:52:31 GMT; domain=.api.openai.com; HttpOnly;
- __cf_bm=ZqPBOMK5l2N8sCKgMTw.fnA8PLivFFZM7e8jtoAH6cA-1709396613-1.0.1.1-nXQQHXPi9zxUKswFkIcFdgv8.cKf_5aARG8H1UrOU_Kx9tgUijicvQQV1KpO9zwVgvWkNxGn0GrK6GnSPhcPlg;
path=/; expires=Sat, 02-Mar-24 16:53:33 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=rc0f50rp.We1R7UrhqtjVUfOr0VA90lt_6hQ5eO2240-1708543351878-0.0-604800000;
- _cfuvid=mOj7JzBX9ePJt4.4OjW7EKPTpXIX6wLyyHVuC4c9ybg-1709396613350-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
@@ -110,7 +370,7 @@ interactions:
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '595'
- '633'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -122,35 +382,39 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '799739'
- '799683'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 19ms
- 23ms
x-request-id:
- req_5811f8911568932229521026f504c92b
- req_3f5e24a144aea3cf18fb7bfb7b803414
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Tools available:\n###\nTool
Name: get_final_answer\nTool Description: get_final_answer(anything: str) ->
float - Get the final answer but don''t give it yet, just re-use this\n tool
non-stop.\nTool Arguments: {''anything'': {''type'': ''string''}}\n\nReturn
a valid schema for the tool, the tool name must be equal one of the options,
use this text to inform a valid ouput schema:\nUse Tool: get_final_answer```"},
{"role": "system", "content": "The schema should have the following structure,
only two keys:\n- tool_name: str\n- arguments: dict (with all arguments being
passed)\n\nExample:\n{\"tool_name\": \"tool name\", \"arguments\": {\"arg_name1\":
\"value\", \"arg_name2\": 2}}"}], "model": "gpt-4-0125-preview", "tool_choice":
{"type": "function", "function": {"name": "InstructorToolCalling"}}, "tools":
[{"type": "function", "function": {"name": "InstructorToolCalling", "description":
"Correctly extracted `InstructorToolCalling` with all the required parameters
with correct types", "parameters": {"properties": {"tool_name": {"description":
"The name of the tool to be called.", "title": "Tool Name", "type": "string"},
"arguments": {"anyOf": [{"type": "object"}, {"type": "null"}], "description":
"A dictinary of arguments to be passed to the tool.", "title": "Arguments"}},
"required": ["arguments", "tool_name"], "type": "object"}}}]}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goal\n\nYou ONLY have access to the following tools,
and should NEVER make up tools that are not listed here:\n\nget_final_answer:
get_final_answer(anything: str) -> float - Get the final answer but don''t give
it yet, just re-use this\n tool non-stop.\n\nUse the following format:\n\nThought:
you should always think about what to do\nAction: the action to take, only one
name of [get_final_answer], just the name, exactly as it''s written.\nAction
Input: the input to the action, just a simple a python dictionary using \" to
wrap keys and values.\nObservation: the result of the action\n\nOnce all necessary
information is gathered:\n\nThought: I now know the final answer\nFinal Answer:
the final answer to the original input question\n\n\nCurrent Task: The final
answer is 42. But don''t give it until I tell you so, instead keep using the
`get_final_answer` tool.\n\nThis is the expect criteria for your final answer:
The final answer \n you MUST return the actual complete content as the final
answer, not a summary.\n\nBegin! This is VERY important to you, use the tools
available and give your best Final Answer, your job depends on it!\n\nThought:
\nThought: Since my task is to find the final answer which is already stated
as 42, but I''m instructed to use the `get_final_answer` tool and not reveal
it until told so, I should use the tool to confirm the statement.\n\nAction:
get_final_answer\n\nAction Input: {\"anything\": \"What is the value that must
not be revealed yet?\"}\n\nObservation: 42\n"}], "model": "gpt-4-0125-preview",
"n": 1, "stop": ["\nObservation"], "stream": true, "temperature": 0.7}'
headers:
accept:
- application/json
@@ -159,12 +423,12 @@ interactions:
connection:
- keep-alive
content-length:
- '1393'
- '1727'
content-type:
- application/json
cookie:
- __cf_bm=yNWN6xxJzIde4UgAgONRHE3BZJmmCPGu7Ch2r8cft9A-1708543351-1.0-ASCEMu/lL3CxJvBcFTc1tUBtRrna4KuvHkF7gIGXFGT7IzdbHGcbdzKpMclXH0YRkPX7kIeGPEhgHxYfptOxLlM=;
_cfuvid=rc0f50rp.We1R7UrhqtjVUfOr0VA90lt_6hQ5eO2240-1708543351878-0.0-604800000
- __cf_bm=ZqPBOMK5l2N8sCKgMTw.fnA8PLivFFZM7e8jtoAH6cA-1709396613-1.0.1.1-nXQQHXPi9zxUKswFkIcFdgv8.cKf_5aARG8H1UrOU_Kx9tgUijicvQQV1KpO9zwVgvWkNxGn0GrK6GnSPhcPlg;
_cfuvid=mOj7JzBX9ePJt4.4OjW7EKPTpXIX6wLyyHVuC4c9ybg-1709396613350-0.0.1.1-604800000
host:
- api.openai.com
user-agent:
@@ -187,142 +451,160 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
IZgMACD+N1V3LdO/N7tV1pTS8HEYIZmEpuae///mg0OL9qBoLVr3RK+AEgw7aZhNwQ/+P9DHdE4f
YzyNShGHvMC2zx4SIpgUjKBWslYu2vascS9u+7kt3ieft1fvT8OPLL74/ufNJj2t0EqIEJa/WtWc
TMfFwDLBQ8jI5Xs6BaP+tDcbj4bD8YD4yIVUWzBCHuv2qN3rD8btKOmy3nDvroJRugKjn4SI6DCa
EOH79yMw6rVWSW8MFQz4JyKUwWowgqwqU9XS12gBQPq6WUa+sZa4VIdghZLWCsd79DAHynpVWive
Vu7zPLvdngyfR0/bbzNW5evqu76SiW8v7uKhKE+MXgxFG2MCc0Tw0vGrVz6U++9C+RqCPZHWGp9v
5hLh0gtghAN/sne8dJqDceS6Fpnx0grpq40uOVqcrcLBDhwGhFXSq+dbaiqZa47/fygE/VcPmNOL
yvyrfh1syGMZllVhkAYPEa8cWwMjVHWIYvz/hGhhEsPmli8hlsHFWtThT/sKjAaTUUNghQAh98cF
/DQCQPMG03lyShaZCTZEZnyuy1gaCzmALIqsNxstVaamcyT/iQED
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 85915bcfcd52a537-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- br
Content-Type:
- application/json
Date:
- Wed, 21 Feb 2024 19:22:34 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0125-preview
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '1629'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '800000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '799825'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 13ms
x-request-id:
- req_fdf979d873b6bedc600dbe2d9a119f05
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalYou have access to ONLY the following tools, use
one at time:\n\nget_final_answer: get_final_answer(anything: str) -> float -
Get the final answer but don''t give it yet, just re-use this\n tool
non-stop.\n\nTo use a tool you MUST use the exact following format:\n\n```\nUse
Tool: the tool you wanna use, should be one of [get_final_answer] and absolute
all relevant input and context for using the tool, you must use only one tool
at once.\nResult: [result of the tool]\n```\n\nTo give your final answer use
the exact following format:\n\n```\nFinal Answer: [THE MOST COMPLETE ANSWE WITH
ALL CONTEXT, DO NOT LEAVE ANYTHING OUT]\n```\nI MUST use these formats, my jobs
depends on it!This is the summary of your work so far:\n\n\nCurrent Task: The
final answer is 42. But don''t give it until I tell you so, instead keep using
the `get_final_answer` tool.\n\n Begin! This is VERY important to you, your
job depends on it!\n\n\nUse Tool: get_final_answer\nResult: 42\n\nIf you don''t
need to use any more tools, make sure use the correct format to give your final
answer:\n\n```Final Answer: [entire content of your most complete final answer
goes here]```\n You MUST use these formats, your jobs depends on it!\n"}], "model":
"gpt-4-0125-preview", "n": 1, "stop": ["\nResult"], "stream": true, "temperature":
0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '1430'
content-type:
- application/json
cookie:
- __cf_bm=yNWN6xxJzIde4UgAgONRHE3BZJmmCPGu7Ch2r8cft9A-1708543351-1.0-ASCEMu/lL3CxJvBcFTc1tUBtRrna4KuvHkF7gIGXFGT7IzdbHGcbdzKpMclXH0YRkPX7kIeGPEhgHxYfptOxLlM=;
_cfuvid=rc0f50rp.We1R7UrhqtjVUfOr0VA90lt_6hQ5eO2240-1708543351878-0.0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
now"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
know"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{"content":"42"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"42"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8umSotD3VfmGvWS89RCR98d94YN56","object":"chat.completion.chunk","created":1708543354,"model":"gpt-4-0125-preview","system_fingerprint":"fp_d0c0cfacb3","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
But"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
don"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"''t"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
give"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
it"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
until"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
tell"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
you"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
so"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
instead"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
keep"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
using"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"get"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"_final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"_answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"`"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMR6TUPT9bDW7OP4LESvqX2D07w6","object":"chat.completion.chunk","created":1709396616,"model":"gpt-4-0125-preview","system_fingerprint":"fp_00ceb2df5b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -333,7 +615,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 85915bdb9be6a537-GRU
- 85e2bb747bc3012d-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -341,7 +623,7 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Wed, 21 Feb 2024 19:22:34 GMT
- Sat, 02 Mar 2024 16:23:36 GMT
Server:
- cloudflare
Transfer-Encoding:
@@ -355,7 +637,7 @@ interactions:
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '475'
- '249'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -367,121 +649,13 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '799670'
- '799598'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 24ms
- 30ms
x-request-id:
- req_d2c8ba56102d51a77a7088ed56eaf8c5
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "Progressively summarize the
lines of conversation provided, adding onto the previous summary returning a
new summary.\n\nEXAMPLE\nCurrent summary:\nThe human asks what the AI thinks
of artificial intelligence. The AI thinks artificial intelligence is a force
for good.\n\nNew lines of conversation:\nHuman: Why do you think artificial
intelligence is a force for good?\nAI: Because artificial intelligence will
help humans reach their full potential.\n\nNew summary:\nThe human asks what
the AI thinks of artificial intelligence. The AI thinks artificial intelligence
is a force for good because it will help humans reach their full potential.\nEND
OF EXAMPLE\n\nCurrent summary:\n\n\nNew lines of conversation:\nHuman: The final
answer is 42. But don''t give it until I tell you so, instead keep using the
`get_final_answer` tool.\nAI: 42\n\nNew summary:"}], "model": "gpt-4-0125-preview",
"n": 1, "stream": false, "temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '977'
content-type:
- application/json
cookie:
- __cf_bm=yNWN6xxJzIde4UgAgONRHE3BZJmmCPGu7Ch2r8cft9A-1708543351-1.0-ASCEMu/lL3CxJvBcFTc1tUBtRrna4KuvHkF7gIGXFGT7IzdbHGcbdzKpMclXH0YRkPX7kIeGPEhgHxYfptOxLlM=;
_cfuvid=rc0f50rp.We1R7UrhqtjVUfOr0VA90lt_6hQ5eO2240-1708543351878-0.0-604800000
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: !!binary |
IeAJACB+6vR3L9PTzSGteIsy/V6pBkw7C5ukH94CGShuhxt9PTrq+fS3C7MAp4FHvyUYeGC9TXz6
g3Bnt6t3TwIgnZAExXno4tpU3rKrX8xmf9xeH+5e3vT3k12v3PXzZM2zzSf1BEAcFSp2nLwfYhBq
bkggc/meSkhitBguZ9PJZDZDPqo5URVJUGacN/WGo/HMy5Iu1Y57N2cdK0sSPwIATqcZQPPvpyQx
7EEhGkOTJPwJoJYrRRIUWqutCxtHPYJe+bolCXrNFQZFHDRSiu3AjzvrKzjGTrs85yoBf0p1E1YI
G7tTbd+tjraYjnPqR4zOKgFRkCnnsxC/EsAxV2pcFSZ9FC9k6ia6ngAhdao6IOqFmgLbTsd9uoO4
XP6u4sy0HFmSaLqqwkFhOeQ38VojCbKOjYjoIoA/J487vx2Qabk2zndcqsa+GZWJ6F17FHI6Wr1v
GOjh7Hg0ElYKyvW/4qe6yVRrWu3z7dT46XA5jeI0XqxIXIQBAw==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 85915be1aca3a537-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Encoding:
- br
Content-Type:
- application/json
Date:
- Wed, 21 Feb 2024 19:22:37 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0125-preview
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '2510'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '800000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '799774'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 16ms
x-request-id:
- req_5850b110143112eb39fed9077edbe8f8
- req_0eba12496454c279bc61ab9d84c7eea0
status:
code: 200
message: OK

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,530 @@
interactions:
- request:
body: !!binary |
CvcXCiQKIgoMc2VydmljZS5uYW1lEhIKEGNyZXdBSS10ZWxlbWV0cnkSzhcKEgoQY3Jld2FpLnRl
bGVtZXRyeRLlBwoQQqP1ewdlJ8eWOgAf3nagOBIINaPxkxssPbIqDENyZXcgQ3JlYXRlZDABOZDU
O0J//7gXQcA9PkJ//7gXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMTYuM0oaCg5weXRob25fdmVy
c2lvbhIICgYzLjExLjdKMQoHY3Jld19pZBImCiQ5NDA4MmFhNS0zNmI0LTQyNGYtYWU4Ni1hNzUx
NTgxYWFhNWJKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKFQoNY3Jld19sYW5ndWFnZRIE
CgJlbkoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRz
EgIYAUrMAgoLY3Jld19hZ2VudHMSvAIKuQJbeyJpZCI6ICI1ZWY4NDU5My1jYWExLTQ3ZDAtOTQ0
MC1lZTk0YzY0YzM4YjIiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgIm1lbW9yeV9lbmFibGVkPyI6
IGZhbHNlLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMTUsICJtYXhfcnBtIjogbnVs
bCwgImkxOG4iOiAiZW4iLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9uYW1lXCI6
IFwiZ3B0LTRcIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0T3BlbkFJ
XCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiB0cnVlLCAidG9vbHNfbmFtZXMiOiBbXX1dSooB
CgpjcmV3X3Rhc2tzEnwKelt7ImlkIjogImRhMjE2NjM4LWU0ODktNDk2Ni1iM2NhLWE0OTk2Mzk2
YjRlMyIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNo
ZXIiLCAidG9vbHNfbmFtZXMiOiBbXX1dSigKCHBsYXRmb3JtEhwKGm1hY09TLTE0LjMtYXJtNjQt
YXJtLTY0Yml0ShwKEHBsYXRmb3JtX3JlbGVhc2USCAoGMjMuMy4wShsKD3BsYXRmb3JtX3N5c3Rl
bRIICgZEYXJ3aW5KewoQcGxhdGZvcm1fdmVyc2lvbhJnCmVEYXJ3aW4gS2VybmVsIFZlcnNpb24g
MjMuMy4wOiBXZWQgRGVjIDIwIDIxOjMwOjU5IFBTVCAyMDIzOyByb290OnhudS0xMDAwMi44MS41
fjcvUkVMRUFTRV9BUk02NF9UNjAzMEoKCgRjcHVzEgIYDHoCGAES5gcKEN5fDdSVtOXq6TIY6xBA
9IkSCL9iOJN+f2NaKgxDcmV3IENyZWF0ZWQwATkAou5Cf/+4F0EoPPBCf/+4F0oaCg5jcmV3YWlf
dmVyc2lvbhIICgYwLjE2LjNKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMS43SjEKB2NyZXdfaWQS
JgokMmIwMjAwZGMtNGFiZS00Y2UzLTgwMTEtMTYyMmFmNTE0NWRlShwKDGNyZXdfcHJvY2VzcxIM
CgpzZXF1ZW50aWFsShUKDWNyZXdfbGFuZ3VhZ2USBAoCZW5KGgoUY3Jld19udW1iZXJfb2ZfdGFz
a3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAFKzQIKC2NyZXdfYWdlbnRzEr0CCroC
W3siaWQiOiAiM2NiZjczODctNDNlMC00ZGRkLThkMTYtZDU4NGUwY2MyMWU4IiwgInJvbGUiOiAi
UmVzZWFyY2hlciIsICJtZW1vcnlfZW5hYmxlZD8iOiBmYWxzZSwgInZlcmJvc2U/IjogZmFsc2Us
ICJtYXhfaXRlciI6IDE1LCAibWF4X3JwbSI6IG51bGwsICJpMThuIjogImVuIiwgImxsbSI6ICJ7
XCJuYW1lXCI6IG51bGwsIFwibW9kZWxfbmFtZVwiOiBcImdwdC00XCIsIFwidGVtcGVyYXR1cmVc
IjogMC43LCBcImNsYXNzXCI6IFwiQ2hhdE9wZW5BSVwifSIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/
IjogZmFsc2UsICJ0b29sc19uYW1lcyI6IFtdfV1KigEKCmNyZXdfdGFza3MSfAp6W3siaWQiOiAi
NmMxN2FhMjMtMDU4Zi00ZDA3LTk1YjItYzgwYzBkMjQ1YWVjIiwgImFzeW5jX2V4ZWN1dGlvbj8i
OiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJ0b29sc19uYW1lcyI6IFtdfV1K
KAoIcGxhdGZvcm0SHAoabWFjT1MtMTQuMy1hcm02NC1hcm0tNjRiaXRKHAoQcGxhdGZvcm1fcmVs
ZWFzZRIICgYyMy4zLjBKGwoPcGxhdGZvcm1fc3lzdGVtEggKBkRhcndpbkp7ChBwbGF0Zm9ybV92
ZXJzaW9uEmcKZURhcndpbiBLZXJuZWwgVmVyc2lvbiAyMy4zLjA6IFdlZCBEZWMgMjAgMjE6MzA6
NTkgUFNUIDIwMjM7IHJvb3Q6eG51LTEwMDAyLjgxLjV+Ny9SRUxFQVNFX0FSTTY0X1Q2MDMwSgoK
BGNwdXMSAhgMegIYARLmBwoQngJJFR63bnmhXZu1jBEeXxIIXOKEjBdnaVgqDENyZXcgQ3JlYXRl
ZDABOWDZjg+A/7gXQbhrkA+A/7gXShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuMTYuM0oaCg5weXRo
b25fdmVyc2lvbhIICgYzLjExLjdKMQoHY3Jld19pZBImCiQ3ODY5ZmExMi1iN2IzLTRjYWEtYTBh
Ni1hNTEyYmY1NGE3NTZKHAoMY3Jld19wcm9jZXNzEgwKCnNlcXVlbnRpYWxKFQoNY3Jld19sYW5n
dWFnZRIECgJlbkoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2Zf
YWdlbnRzEgIYAUrNAgoLY3Jld19hZ2VudHMSvQIKugJbeyJpZCI6ICI4MDY4ZGVlYS1lMmMxLTRi
MTctOTI1Mi1mMmI1YzJmZTcwZmMiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgIm1lbW9yeV9lbmFi
bGVkPyI6IGZhbHNlLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMTUsICJtYXhfcnBt
IjogbnVsbCwgImkxOG4iOiAiZW4iLCAibGxtIjogIntcIm5hbWVcIjogbnVsbCwgXCJtb2RlbF9u
YW1lXCI6IFwiZ3B0LTRcIiwgXCJ0ZW1wZXJhdHVyZVwiOiAwLjcsIFwiY2xhc3NcIjogXCJDaGF0
T3BlbkFJXCJ9IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgInRvb2xzX25hbWVzIjog
W119XUqKAQoKY3Jld190YXNrcxJ8CnpbeyJpZCI6ICI2YTIzZTdmZS1jNDFiLTRkZWEtYTgzYy03
ZDU0M2EzMzJkOTQiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJS
ZXNlYXJjaGVyIiwgInRvb2xzX25hbWVzIjogW119XUooCghwbGF0Zm9ybRIcChptYWNPUy0xNC4z
LWFybTY0LWFybS02NGJpdEocChBwbGF0Zm9ybV9yZWxlYXNlEggKBjIzLjMuMEobCg9wbGF0Zm9y
bV9zeXN0ZW0SCAoGRGFyd2luSnsKEHBsYXRmb3JtX3ZlcnNpb24SZwplRGFyd2luIEtlcm5lbCBW
ZXJzaW9uIDIzLjMuMDogV2VkIERlYyAyMCAyMTozMDo1OSBQU1QgMjAyMzsgcm9vdDp4bnUtMTAw
MDIuODEuNX43L1JFTEVBU0VfQVJNNjRfVDYwMzBKCgoEY3B1cxICGAx6AhgB
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate, br
Connection:
- keep-alive
Content-Length:
- '3066'
Content-Type:
- application/x-protobuf
User-Agent:
- OTel-OTLP-Exporter-Python/1.23.0
method: POST
uri: http://telemetry.crewai.com:4318/v1/traces
response:
body:
string: "\n\0"
headers:
Content-Length:
- '2'
Content-Type:
- application/x-protobuf
Date:
- Sat, 02 Mar 2024 16:29:45 GMT
status:
code: 200
message: OK
- request:
body: '{"messages": [{"role": "user", "content": "You are Researcher. You''re
love to sey howdy.\nYour personal goal is: Be super empathetic.To give my best
complete final answer to the task use the exact following format:\n\nThought:
I now can give a great answer\nFinal Answer: my best complete final answer to
the task.\nYour final answer must be the great and the most complete as possible,
it must be outcome described.\n\nI MUST use these formats, my job depends on
it!\n\nThought: \n\nCurrent Task: say howdy\n\nThis is the expect criteria for
your final answer: Howdy! \n you MUST return the actual complete content as
the final answer, not a summary.\n\nBegin! This is VERY important to you, use
the tools available and give your best Final Answer, your job depends on it!\n\nThought:
\n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"], "stream": true,
"temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '881'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
muster"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
all"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
empathy"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
put"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
it"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
into"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
action"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
consider"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
receiver"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''s"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
feelings"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
perspective"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
situation"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
make"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
this"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
greeting"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
warm"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
welcoming"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
as"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
possible"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
This"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
more"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
than"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
just"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
\""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"how"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"dy"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\";"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
it"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''s"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
genuine"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
heartfelt"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
greeting"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
How"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"dy"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
hope"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
you"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''re"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
having"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
wonderful"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
day"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''m"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
here"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
ready"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
make"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
your"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
day"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
even"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
better"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Let"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"''s"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
have"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
great"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
time"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
together"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMX2EZExiFxwtsYhzkItHeeyKFFc","object":"chat.completion.chunk","created":1709396984,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 85e2c470dbf71acd-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Type:
- text/event-stream
Date:
- Sat, 02 Mar 2024 16:29:45 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=Nx0bcmWEQFG_g6v1zkZz84sSA1OR14xTocpsSC62dBU-1709396985-1.0.1.1-6PgK6mieiNVMiUog66e0v_pjbnks6SL.nHIXfgwif3eY9D1w0E2XbxrHsKWViNbmuuZOtYE90qhztzwYywubLw;
path=/; expires=Sat, 02-Mar-24 16:59:45 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=4yvFYJreqN9A2bYUvZOoRS1PWyIJLTU3rU6XDaVXHqM-1709396985404-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '464'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299800'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 39ms
x-request-id:
- req_4285558512febc2d55f043276b3df12f
status:
code: 200
message: OK
version: 1

File diff suppressed because it is too large Load Diff

View File

@@ -1,25 +1,26 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are test role.\ntest backstory\n\nYour
personal goal is: test goalTOOLS:\n------\nYou have access to only the following
tools:\n\n('''',)\n\nTo use a tool, please use the exact following format:\n\n```\nThought:
Do I need to use a tool? Yes\nAction: the tool you wanna use, should be one
of [], just the name.\nAction Input: Any and all relevant information input
and context for using the tool\nObservation: the result of using the tool\n```\n\nWhen
you have a response for your task, or if you do not need to use a tool, you
MUST use the format:\n\n```\nThought: Do I need to use a tool? No\nFinal Answer:
[your response here]```Begin! This is VERY important to you, your job depends
on it!\n\nCurrent Task: How much is 1 + 1?\n"}], "model": "gpt-4", "n": 1, "stop":
["\nObservation"], "stream": true, "temperature": 0.0}'
body: '{"messages": [{"role": "user", "content": "You are test role. test backstory\nYour
personal goal is: test goalTo give my best complete final answer to the task
use the exact following format:\n\nThought: I now can give a great answer\nFinal
Answer: my best complete final answer to the task.\nYour final answer must be
the great and the most complete as possible, it must be outcome described.\n\nI
MUST use these formats, my job depends on it!\n\nThought: \n\nCurrent Task:
How much is 1 + 1?\n\nThis is the expect criteria for your final answer: the
result of the math operation. \n you MUST return the actual complete content
as the final answer, not a summary.\n\nBegin! This is VERY important to you,
use the tools available and give your best Final Answer, your job depends on
it!\n\nThought: \n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"],
"stream": true, "temperature": 0.0}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '868'
- '894'
content-type:
- application/json
host:
@@ -44,96 +45,125 @@ interactions:
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
string: 'data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Thought"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"After"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
performing"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Do"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
simple"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
mathematical"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
operation"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
need"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
have"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
determined"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
use"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
result"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
tool"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
No"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
The"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
result"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
of"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
math"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
operation"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
+"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
equals"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8rhoWQPa2JkVfJ3R7p3stqT2DXung","object":"chat.completion.chunk","created":1707810496,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: {"id":"chatcmpl-8yMQQCt3v497dultu61jvOn3AXn78","object":"chat.completion.chunk","created":1709396574,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
@@ -144,7 +174,7 @@ interactions:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 854b77d38d4215f1-SJC
- 85e2ba6fab3c00e2-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
@@ -152,14 +182,14 @@ interactions:
Content-Type:
- text/event-stream
Date:
- Tue, 13 Feb 2024 07:48:17 GMT
- Sat, 02 Mar 2024 16:22:55 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=MzxC1xo7LqfNVrkSGvbsQwFovwE9BGVOVvKdxJ6iNGs-1707810497-1-AT9+DPA/J8Vj8DV63FFZ7Ofu50U6fltHzYuk8IAFOCmfEyoE/gRDFNAMT3cpkIGc9QYP9vePmgaRrOwn3jlaE1c=;
path=/; expires=Tue, 13-Feb-24 08:18:17 GMT; domain=.api.openai.com; HttpOnly;
- __cf_bm=09iVxN7bwlVc0TOtlGcpB8mZ55hs7xkV5JkSvyZmXeA-1709396575-1.0.1.1-C7tjZLqYGDjJhtaAZHFCR9god.pwKUu0O7dDT2HwtxUSD2zbrIAQREJgs18nwxSzs_gEBRLVnzvWbVmuEgvSzw;
path=/; expires=Sat, 02-Mar-24 16:52:55 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=Xh3ZuwMifgbaylPyq.F1cxXIU.lHdsLsy_556QRUXxw-1707810497093-0-604800000;
- _cfuvid=w1UiKQatN4AJulvq5e_n4Ig5WkrlgE0uDrsUjcQ0Ffo-1709396575463-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
@@ -170,9 +200,9 @@ interactions:
openai-model:
- gpt-4-0613
openai-organization:
- user-z7g4wmlazxqvc5wjyaaaocfz
- crewai-iuxna1
openai-processing-ms:
- '325'
- '284'
openai-version:
- '2020-10-01'
strict-transport-security:
@@ -184,13 +214,13 @@ interactions:
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299805'
- '299798'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 38ms
- 40ms
x-request-id:
- req_be41ae797dc113ec3cc04303015e8597
- req_6a11314dbfc3a808fac698822b35640c
status:
code: 200
message: OK

View File

@@ -0,0 +1,334 @@
interactions:
- request:
body: '{"messages": [{"role": "user", "content": "You are Researcher. You''re
love to sey howdy.\nYour personal goal is: Be super empathetic.To give my best
complete final answer to the task use the exact following format:\n\nThought:
I now can give a great answer\nFinal Answer: my best complete final answer to
the task.\nYour final answer must be the great and the most complete as possible,
it must be outcome described.\n\nI MUST use these formats, my job depends on
it!\n\nThought: \n\nCurrent Task: say howdy\n\nThis is the expect criteria for
your final answer: Howdy! \n you MUST return the actual complete content as
the final answer, not a summary.\n\nBegin! This is VERY important to you, use
the tools available and give your best Final Answer, your job depends on it!\n\nThought:
\n"}], "model": "gpt-4", "n": 1, "stop": ["\nObservation"], "stream": true,
"temperature": 0.7}'
headers:
accept:
- application/json
accept-encoding:
- gzip, deflate, br
connection:
- keep-alive
content-length:
- '881'
content-type:
- application/json
host:
- api.openai.com
user-agent:
- OpenAI/Python 1.12.0
x-stainless-arch:
- arm64
x-stainless-async:
- 'false'
x-stainless-lang:
- python
x-stainless-os:
- MacOS
x-stainless-package-version:
- 1.12.0
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.11.7
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: 'data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
must"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
greet"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
in"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
friendly"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
warm"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
manner"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
showing"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
empathy"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
kindness"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
the"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
recipient"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
This"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
is"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
crucial"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
for"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
personal"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
goal"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
also"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
for"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
my"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
job"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Final"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Answer"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
How"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"dy"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
hope"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
this"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
message"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
finds"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
you"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
well"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
and"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
brings"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
smile"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
to"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
your"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
face"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
Have"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
a"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
fantastic"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"
day"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-8yMWz25sw9PDbmUOBNq9V1iJ6jvNh","object":"chat.completion.chunk","created":1709396981,"model":"gpt-4-0613","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]
'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 85e2c45b4abc4d2f-GRU
Cache-Control:
- no-cache, must-revalidate
Connection:
- keep-alive
Content-Type:
- text/event-stream
Date:
- Sat, 02 Mar 2024 16:29:41 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=kWjBWTjLtuLL57wtiIGPnz1W_AUrAHEcA445ie2rbIg-1709396981-1.0.1.1-JLvi6DZyKB8U8MN.GpgEupI3_Mx4OY1krKoXLZRKftPUp8EO8JR9z59RcECIes0_EyrWfvt6hSnvCh9j3rHQqA;
path=/; expires=Sat, 02-Mar-24 16:59:41 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=S9QWAyHqLa3ZvyQaB0OLd3ZwInwEVcVTrIjB9dJyJ.Q-1709396981692-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400
openai-model:
- gpt-4-0613
openai-organization:
- crewai-iuxna1
openai-processing-ms:
- '268'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '10000'
x-ratelimit-limit-tokens:
- '300000'
x-ratelimit-remaining-requests:
- '9999'
x-ratelimit-remaining-tokens:
- '299800'
x-ratelimit-reset-requests:
- 6ms
x-ratelimit-reset-tokens:
- 39ms
x-request-id:
- req_751e7644c368ac8a65b2ff632f7b2fe3
status:
code: 200
message: OK
version: 1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More