Skip to content

Commit 69b6e8a

Browse files
authored
Use chat model for query rewriting (#1659)
* Use chat model for query rewriting * Snapshots
1 parent 7f3efe5 commit 69b6e8a

File tree

5 files changed

+19
-7
lines changed

5 files changed

+19
-7
lines changed

app/backend/app.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,8 @@ async def setup_clients():
520520
auth_helper=auth_helper,
521521
vision_endpoint=AZURE_VISION_ENDPOINT,
522522
vision_token_provider=token_provider,
523+
chatgpt_model=OPENAI_CHATGPT_MODEL,
524+
chatgpt_deployment=AZURE_OPENAI_CHATGPT_DEPLOYMENT,
523525
gpt4v_deployment=AZURE_OPENAI_GPT4V_DEPLOYMENT,
524526
gpt4v_model=AZURE_OPENAI_GPT4V_MODEL,
525527
embedding_model=OPENAI_EMB_MODEL,

app/backend/approaches/chatreadretrievereadvision.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ def __init__(
3232
blob_container_client: ContainerClient,
3333
openai_client: AsyncOpenAI,
3434
auth_helper: AuthenticationHelper,
35+
chatgpt_model: str,
36+
chatgpt_deployment: Optional[str], # Not needed for non-Azure OpenAI
3537
gpt4v_deployment: Optional[str], # Not needed for non-Azure OpenAI
3638
gpt4v_model: str,
3739
embedding_deployment: Optional[str], # Not needed for non-Azure OpenAI or for retrieval_mode="text"
@@ -48,6 +50,8 @@ def __init__(
4850
self.blob_container_client = blob_container_client
4951
self.openai_client = openai_client
5052
self.auth_helper = auth_helper
53+
self.chatgpt_model = chatgpt_model
54+
self.chatgpt_deployment = chatgpt_deployment
5155
self.gpt4v_deployment = gpt4v_deployment
5256
self.gpt4v_model = gpt4v_model
5357
self.embedding_deployment = embedding_deployment
@@ -107,8 +111,10 @@ async def run_until_final_call(
107111
user_query_request = "Generate search query for: " + original_user_query
108112

109113
query_response_token_limit = 100
114+
query_model = self.chatgpt_model
115+
query_deployment = self.chatgpt_deployment
110116
query_messages = build_messages(
111-
model=self.gpt4v_model,
117+
model=query_model,
112118
system_prompt=self.query_prompt_template,
113119
few_shots=self.query_prompt_few_shots,
114120
past_messages=past_messages,
@@ -117,7 +123,7 @@ async def run_until_final_call(
117123
)
118124

119125
chat_completion: ChatCompletion = await self.openai_client.chat.completions.create(
120-
model=self.gpt4v_deployment if self.gpt4v_deployment else self.gpt4v_model,
126+
model=query_deployment if query_deployment else query_model,
121127
messages=query_messages,
122128
temperature=0.0, # Minimize creativity for search query generation
123129
max_tokens=query_response_token_limit,
@@ -197,9 +203,9 @@ async def run_until_final_call(
197203
"Prompt to generate search query",
198204
[str(message) for message in query_messages],
199205
(
200-
{"model": self.gpt4v_model, "deployment": self.gpt4v_deployment}
201-
if self.gpt4v_deployment
202-
else {"model": self.gpt4v_model}
206+
{"model": query_model, "deployment": query_deployment}
207+
if query_deployment
208+
else {"model": query_model}
203209
),
204210
),
205211
ThoughtStep(

tests/snapshots/test_app/test_chat_vision/client1/result.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
"{'role': 'user', 'content': 'Generate search query for: Are interest rates high?'}"
2525
],
2626
"props": {
27-
"model": "gpt-4"
27+
"deployment": "test-chatgpt",
28+
"model": "gpt-35-turbo"
2829
},
2930
"title": "Prompt to generate search query"
3031
},

tests/snapshots/test_app/test_chat_vision_vectors/client1/result.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
"{'role': 'user', 'content': 'Generate search query for: Are interest rates high?'}"
2525
],
2626
"props": {
27-
"model": "gpt-4"
27+
"deployment": "test-chatgpt",
28+
"model": "gpt-35-turbo"
2829
},
2930
"title": "Prompt to generate search query"
3031
},

tests/test_chatvisionapproach.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ def chat_approach(openai_client, mock_confidential_client_success):
5252
blob_container_client=None,
5353
vision_endpoint="endpoint",
5454
vision_token_provider=lambda: "token",
55+
chatgpt_model="gpt-35-turbo",
56+
chatgpt_deployment="chat",
5557
gpt4v_deployment="gpt-4v",
5658
gpt4v_model="gpt-4v",
5759
embedding_deployment="embeddings",

0 commit comments

Comments
 (0)