Overview
Concrete tool for chat completion and fill-in-the-middle code completion on GCP Vertex AI provided by the mistralai_gcp Chat and Fim resources.
Description
The GCP Chat resource provides complete(), complete_async(), stream(), and stream_async() — identical to the standard SDK. The Fim resource provides complete() and complete_async() for fill-in-the-middle code generation. All requests are transparently routed to Vertex AI endpoints via URL rewriting. The Fim API takes a prompt (code before cursor) and optional suffix (code after cursor).
Usage
Access chat via client.chat.complete() and FIM via client.fim.complete() on a MistralGoogleCloud client instance.
Code Reference
Source Location
- Repository: client-python
- File: packages/mistralai_gcp/src/mistralai_gcp/chat.py (L1-681), packages/mistralai_gcp/src/mistralai_gcp/fim.py (L1-533)
Signature
# Chat (same as standard SDK)
class Chat:
def complete(self, *, model: str, messages: List[...], ...) -> ChatCompletionResponse: ...
def stream(self, *, model: str, messages: List[...], ...) -> EventStream[CompletionEvent]: ...
# FIM (GCP-only)
class Fim:
def complete(
self,
*,
model: str,
prompt: str,
suffix: Optional[str] = None,
temperature: Optional[float] = None,
top_p: Optional[float] = None,
max_tokens: Optional[int] = None,
random_seed: Optional[int] = None,
stop: Optional[Union[str, List[str]]] = None,
) -> FIMCompletionResponse: ...
async def complete_async(self, *, model: str, prompt: str, ...) -> FIMCompletionResponse: ...
Import
from mistralai_gcp import MistralGoogleCloud
# Access via: client.chat.complete(...) or client.fim.complete(...)
I/O Contract
Inputs (Chat)
| Name |
Type |
Required |
Description
|
| model |
str |
Yes |
Mistral model name (URL auto-rewritten by GCP hook)
|
| messages |
List[ChatCompletionRequestMessage] |
Yes |
Conversation messages
|
Inputs (FIM)
| Name |
Type |
Required |
Description
|
| model |
str |
Yes |
Mistral code model name
|
| prompt |
str |
Yes |
Code before the cursor (prefix)
|
| suffix |
Optional[str] |
No |
Code after the cursor
|
| max_tokens |
Optional[int] |
No |
Maximum generated tokens
|
Outputs
| Name |
Type |
Description
|
| ChatCompletionResponse |
ChatCompletionResponse |
For chat requests
|
| FIMCompletionResponse |
FIMCompletionResponse |
For FIM requests; same structure as ChatCompletionResponse
|
Usage Examples
GCP Chat Completion
import asyncio
from mistralai_gcp import MistralGoogleCloud
client = MistralGoogleCloud(region="europe-west4", project_id="my-project")
async def main():
response = await client.chat.complete_async(
model="mistral-large-latest",
messages=[{"role": "user", "content": "What is Vertex AI?"}],
)
print(response.choices[0].message.content)
asyncio.run(main())
FIM Code Completion
from mistralai_gcp import MistralGoogleCloud
client = MistralGoogleCloud(region="europe-west4", project_id="my-project")
response = client.fim.complete(
model="codestral-latest",
prompt="def fibonacci(n):\n if n <= 1:\n return n\n ",
suffix="\n\nprint(fibonacci(10))",
)
print(response.choices[0].message.content)
Related Pages
Implements Principle
Requires Environment
Uses Heuristic